Вебня для настройки регулей через WiFi

Замутил забавную штуку github.com/speedcontrols/wifi-configurator для настройки регуляторов скорости через вафлю, на esp8266. Иногда так бывает, что надо настроить кучу параметров, но только один раз.

  • Естественно, ради одного раза лепить клавиатуру, индикатор и т.п. как-то не айс.
  • Плюс, т.к. мне интересно делать девайсы, который популярны исключительно в мировых масштабах 😃, то есть очень высокие требования по простоте и повторяемости решения.

Короче, идея в том, чтобы взять платку Wemos D1 mini, слепить на ней вебсервер + captive portal, а с девайсом обмениваться по простенькому протоколу. То есть, у разработчика железа отпадает потребность долбиться с написанием интерфейса. Он просто делает описание формы с параметрами в формате JSON, и реализует обмен строками через UART на подобие модемных команд (таких команд надо всего три). Ну и разводит разъем на плате, куда можно воткнуть плату на время настройки. Итоговая картина мне нравится:

  • Девайс не привязан к какому-то устройству. Разработчик сам описывает, какая форма ему нужна. Поигнаться с описаниями можно тут.
  • Цена вопроса - 3.5 бакса. Столько стоит плата с доставкой. Дешево и сердито, всё как я люблю 😃.
  • Протокол тоже тупой как пробка, реализовать не проблема. На два порядка проще, чем городить свой интерфейс. Соответственно, изменения в форму вносить тоже легко и просто.
  • Юзерам вроде тоже просто (прошивать). Ставится platform.io, который дальше “делает все сам”. Простота для юзера - важный момент, которому уделялось особое внимание.
  • Вообще этот девайс городился для регуляторов скорости, которые сейчас в разработке, но наверное можно приспособить куда угодно. Все ограничено только вашей фантазией.

Я конечно понимаю, что можно купить чистый esp8266, запаять на плату и сэкономить еще 1 бакс, но надо ли? Вроде и так достаточно дешево, и не надо париться с поддержкой прошивок. IMHO для любительских поделок - самое то что надо.

Честно говоря, сначала хотел полностью зааутсорсить софт, но что-то пошло не так 😃. Последние XX лет я очень плотно занимаюсь проектированием архитектур, и на гитхабе общаюсь с программистами, которые в этом хорошо шарят. Ну и мне казалось, что такие навыки есть абсолютно у всех, кто программировал дет десять. Оказалось что нет 😃. После того ужаса, который мне показали аж три человека, плюнул и начал делать сам. Расписал use-cases, разметил рыбу и наколотил ту часть в которой разбираюсь хорошо - вебню. В сумме ушло 4 дня. Фирмварь еще не готова, но там теперь накосячить уже сложно.

IMHO получилось клево и модульно:

  • Программистам вебни (HTML/JS) не надо ничего знать про C. Им даже железка не нужна, т.к. сделал эмулятор.
  • Программистам на C (для esp8266) не надо ничего знать про вебню. Т.к. для них генерится готовый файл, который надо раздавать вебсервером.
  • По задумке фирмварь тупо прокидывает строки между вебмордой и UART. То есть, когда ее сделают, то шансы что понадобится что-то менять - нулевые. Даже если захочется поменять формат команд. Единственное условие - чтобы команды и ответы были одностроковыми и заканчивались переводом строки.

Сейчас готова архитектура и все что связано с веб-мордой. Прошивки еще нет, но поиграться уже можно. Если есть желающие присоединиться - welcome. Сам погружаться в С не хочу (могу, но не моё это).

  • 441