Esp8266
Выходные провел за изучением замечательного чипа от компании Espressif - ESP8266. Сказать, что чип мне понравился это ничего не сказать.
Киллер-фича чипа - дешевый wifi. Цена чипа при заказе у китайцев выходит около ста двадцати рублей. При этом на борту достаточно памяти чтобы залить прошивку позволяющую исполнять скрипты на lua! Да это реальный убийца Arduino! Теперь для создания прототипа устройства не надо знать даже Си!
Прикладной проект нашелся сразу - делаю новую версию поливалки для комнатных растений. Первая версия сделанная на базе virt2real приказала долго жить - не знаю, что с ней случилось, но wifi на этой железке с самого начала был не очень. Через несколько месяцев после запуска начались проблемы с доступностью устройства а вскоре устройство вообще перестало подключаться по wifi, хотя поливать продолжало исправно. Что случилось с устройством я при возможности постараюсь разобраться, но для задачи полива - virt2real - это явный оверхеад - поэтому когда вышел esp8266 я сразу понял где он мне понадобится.
Мощный насос для воды, который когда включается гудит как реактивый самолет и может перекачать пятидесятилитровую канистру за несколько минут, заменил несколькими перистальтическими помпами, работающими значительно тише и для задач полива подходящими как нельзя лучше.
Блок реле взял готовый, купленный у китайцев, блок питания на 7.5 вольт из запасов, стабилизатор на 3.3 вольта - готовый, от макетной платы.
Устройство делает запрос на удаленный сайт в интернет раз в час, при этом скрипт на сайте проверяет нужно ли поливать и если нужно сообщает об этом устройству, которое включает полив на нужное количество секунд.
Из недостатков - у ESP-01 выведены всего два GPIO - значит пока я могу поливать только два растения. Умельцы подпаивают прям к ногам чипа еще четыре проволчки чтобы получить дополнительные порты - мои скиллы пайки мне пока такого не позволяют - я чесно пытался, смог подпаять только один да и то не очень хорошо, поэтому с расширением количества портов я пока повременю, для прототипа мне пока портов хватит. Если нужно больше портов следует брать другие платы, благо сейчас их выбор достаточно большой.
Сейчас это чудо стоит у меня на подоконнике и вхолостую щелкает релешками - нет пока уверенности в надежности, да и онлайн часть системы пока не готова. Когда доделаю - обязательно поделюсь новостями.
Оно летает
За майские праздники узнал много нового.
1. Перемотать бесколлекторный двигатель квадрокоптера - проще простого.
2. Если измеренный диаметр проволоки - 0.3 мм - не нужно покупать проволоку ПЭТВ-2 0.3 - в наименовании проволоки 0.3 - это диаметр медной жилы - а там еще есть лаковая изоляция, так что у ПЭТВ-2 0.3 диаметр оказывается 0.4 мм!
3. Вспомнил курс ТАУ политеха и то как работают ПИД-регуляторы.
И самое главное. Самое основное. ESCи нового только что собранного квадрокоптера требуют калибровки. Похоже, что мои ESCи были отрегулированы для работы с трех баночными аккумуляторами, а у меня используется - четырех-баночный. Из-за этого на моторы подавалось повышенное напряжение из-за чего коптер взмывал под небеса от самого нежного движения стиков. Из-за этого я поломал немало лопастей, из-за этого разбился в хлам первый коптер.
После калибровки коптер стал послушным словно ягненок и устойчивый как скала (ну почти).
Еще есть над чем работать, но, в целом, прогресс есть. Вот видео одного из первых полетов с новыми настройками. Видео с квадрокоптера снималось при помощи телефона закрепленного вместо камеры.
Дистанционное выключение компьютера с Pebble
Часы Pebble Watch удобны тем, что в руках программиста их можно использовать для самых разных целей. Мне например, часто бывает нужно включать или выключать компьютеры, офисные или домашние, в то время как я нахожусь от них на расстоянии. Сама задача включения и выключения компов на расстоянии является хотя и не тривиальной, но все-же, довольно простой, и в это статье не рассматривается, хотя, если кому нужно, оформлю в отдельный пост опискание того как это сделано у меня. Скажу лишь, что скрипты, которые это делают доступны из интернет и для того, чтобы выполнить действие,, например включить компьютер, я просто делаю HTTP запрос на определенный адрес.
В данном же посте я хочу показать пример как сделать запрос на HTTP адрес из часов Pebble. Вот код приложения. Он элементарный. Вот видео как оно работает:
Загруженность эфира в Wifi диапазоне
Давно подзревал, что роутеры у соседей мне сильно мешают, но никогда не подозревал насколько. Самым загруженным оказался канал №1 - похоже все дешевые китайские роуторы включая мой используют его в режиме Auto - хотя, по идее, должны выбирать самый неиспользуемый канал. При помощи простенькой программы для телефона Wifi Analizer можно наглядно посмотреть какие сети есть поблизости и на каких диапазонах. Перенастроил свой роутер на незанятый канал - посмотрим как будет теперь работать.