Делаем продвинутую гирлянду на новогоднюю елку с интеграцией в MajorDoMo.
Новый год стремительно приближается, в связи с чем вновь актуален вопрос о гирлянде на елку.
Ширпотребные китайские гирлянды, у которых провода толщиной с волос и под напряжением 220 вольт, а изоляция разваливается от одного взгляда, решено было выкинуть куда подальше.
Новая гирлянда сделана на базе адресуемых RGB-светодиодов WS2812, управляемых с помощью контроллера ESP8266. Все светодиоды WS2812 в гирлянде могут управляться абсолютно независимо и светить любым из 16777216 цветов. Питается гирлянда от безопасных 5 вольт, от любой 2-амперной зарядки для смартфона.
|||
|||
Прошивку использовал готовую - McLighting v2 (https://github.com/toblum/McLighting) Подробный мануал по прошивке ESP8266 из среды Arduino и первому запуску расписан здесь.
В прошивке имеется порядка 50 разных эффектов, есть web-интерфейс, а также HTTP REST-API, WebSocket-API, MQTT-API.
Для интеграции с MajorDoMo я использовал HTTP REST-API.
Примеры запросов управления.
getUrl('http://IP/off', 0);
getUrl('http://IP/all?r='.gg('ws2812_red').'&g='.gg('ws2812_green').'&b='.gg('ws2812_blue'), 0);
getUrl('http://IP/set_brightness?p=' . gg('ws2812_bright'), 0);
getUrl('http://IP/set_mode?m=' . gg('ws2812_mode') .'&r='.gg('ws2812_red').'&g='.gg('ws2812_green').'&b='.gg('ws2812_blue', 0));
Набросал элементы управления в меню, также добавил включение и выключение в Telegram, в шаблоны поведения для реакции на фразы "ёлочка гори" и "ёлочка потухни".
|||
Кроме того, повесил функционал (вкл/выкл/смена режима) на беспроводную кнопку Xiaomi, которая всегда валяется под руками.
Бюджет - сама лента на 50 диодов 700 р., ESP8266 200 р., корпус 50 р. или что-то подручное, блок питания - зарядка от телефона на 2А, не знаю сколько они стоят, пусть 300 р. Прошивка бесплатная. Итого 1250 р.