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