UPDATE: Последние версии прошивки LightHub уже успешно обновляются по воздуху без использования описанного ниже костыля. Логгирование LightHub тоже уже умеет делать в syslog, так что актуальность несколько утратилась. Но так как этот подход тоже может кому-то оказаться полезным (в случае Меги OTA требует бутлоадера optiboot) - статью оставляю
Сегодня обнаружил, что после установки моего контроллера умного дома на Arduino Mega 2560 на его постоянное место под потолком будет крайне тяжело до него добираться, чтобы загрузить новую прошивку через USB кабель
Более того, на обьекте еще полным ходом идет ремонт и идеально было бы получить возможность заменять прошивку удаленно, через построенный между обьектами VPN
Недолгий поиск вывел меня на великолепный проект на Github
Если коротко, то добавив к контроллеру недорогой WiFi модуль ESP8266, мы получаем возможность как заливать новую прошивку в AVR так и получать доступ к отладочной информации из последовательного порта контроллера просто подключив этот модуль к сети WiFi
В качестве бонуса получаем возможность из кода контроллера использовать механизм MQTT для подписки на топики и публикации и дергать внешние вебсервисы.
И это все без дополнительного Ethernet shield. Через одно единственное последовательное соединение между Mega 2560 и ESP8266
Библиотека для Arduino тут
Вебинтерфейс выглядит примерно так
Комментарии
А нет примера использования MQTT, встроенного в прошивку ESP-link? Настроил на странице MQTT в прошивке подключение к облачному MQTT-брокеру, но не могу понять, как использовать передачу данных от Ардуино на облачный брокер. Сейчас работает вэб-сервер на этой прошивке, данные отображаются на странице, но происходит завтык через некоторое время, так и не понял, в чем проблема.
Добрый день, работа с MQTT и REST там производится через Serial line. Примеры в свое время находил, но использовать в продуктиве не стал, так как все-таки такой вариант не выглядит сильно надежным. Логгирование через веб может затыкаться так как с какого-то момента буфер становится слишком большим и браузер тормозит. Обновление страницы решает, или лучше заходить телнетом на порт 23000
RSS лента комментариев этой записи