UPDATE: Последние версии прошивки LightHub уже успешно обновляются по воздуху без использования описанного ниже костыля. Логгирование LightHub тоже уже умеет делать в syslog, так что актуальность несколько утратилась. Но так как этот подход тоже может кому-то оказаться полезным (в случае Меги OTA требует бутлоадера optiboot) - статью оставляю


Сегодня обнаружил, что после установки моего контроллера умного дома на Arduino Mega 2560 на его постоянное место под потолком будет крайне тяжело до него добираться, чтобы загрузить новую прошивку через USB кабель

Более того, на обьекте еще полным ходом идет ремонт и идеально было бы получить возможность заменять прошивку удаленно, через построенный между обьектами VPN

Недолгий поиск вывел меня на великолепный проект на Github

Если коротко, то добавив к контроллеру недорогой WiFi модуль ESP8266, мы получаем возможность как заливать новую прошивку в AVR так и получать доступ к отладочной информации из последовательного порта контроллера просто подключив этот модуль к сети WiFi

В качестве бонуса получаем возможность из кода контроллера использовать механизм MQTT для подписки на топики и публикации и дергать внешние вебсервисы.

И это все без дополнительного Ethernet shield. Через одно единственное последовательное соединение между Mega 2560 и ESP8266

Библиотека для Arduino тут 

Вебинтерфейс выглядит примерно так 

 

 

Комментарии   

0 #1 Андрей 11.07.2020 19:15
Добрый день!
А нет примера использования MQTT, встроенного в прошивку ESP-link? Настроил на странице MQTT в прошивке подключение к облачному MQTT-брокеру, но не могу понять, как использовать передачу данных от Ардуино на облачный брокер. Сейчас работает вэб-сервер на этой прошивке, данные отображаются на странице, но происходит завтык через некоторое время, так и не понял, в чем проблема.
0 #2 Super User 26.08.2020 00:00
Цитирую Андрей:
Добрый день!
А нет примера использования MQTT, встроенного в прошивку ESP-link? Настроил на странице MQTT в прошивке подключение к облачному MQTT-брокеру, но не могу понять, как использовать передачу данных от Ардуино на облачный брокер. Сейчас работает вэб-сервер на этой прошивке, данные отображаются на странице, но происходит завтык через некоторое время, так и не понял, в чем проблема.

Добрый день, работа с MQTT и REST там производится через Serial line. Примеры в свое время находил, но использовать в продуктиве не стал, так как все-таки такой вариант не выглядит сильно надежным. Логгирование через веб может затыкаться так как с какого-то момента буфер становится слишком большим и браузер тормозит. Обновление страницы решает, или лучше заходить телнетом на порт 23000

You have no rights to post comments

0
0
0
s2sdefault