Tag: микроконтроллеры

PlatformIO + esp8266, для конфигурилки девайсов

github.com/speedcontrols/wifi-configurator

Попробовал наколбасить рыбу фирмвари для конфигурилки регуляторов скорости, чтобы погонять PlatformIO в реальных условиях. Пока нравится. Поправил документацию, теоретически обычный юзер тоже должен справиться с прошивкой.

Есть некоторые сомнения в правильности кода, но я на сях уже давно не писец. Пока получилось сделать:

  • Captive portal
  • Раздачу вебни
  • Конфиг для настроек сети

Вполне достаточно, чтобы поковырять юзабельность. Честно говоря, создалось впечатление что синхронный вебсервер как-то спотыкается через раз, и лучше с него свалить на асинхронный. Правда тогда надо будет обкладывать UART блокировками, чтобы в него никто не ломанулся писать одновременно. Таким образом, из хвостов остаются:

  • Software UART и проброс команд в вебню и обратно (дефолтный UART отдан под логи, не факт что их реально вырубить полностью, да и не хочется без них).
  • Синхронный вебсервер => асинхронный, плюс блокировки UART.
PlatformIO - прикольно для кодинга под микроконтроллеры

platformio.org

Продолжим топить за разработку эмбедов. Мне понадобилось разобраться, на чем нынче делать код чтобы хорошо и удобно было всем. Основные претензии конечно к управлению c/c++ проектами, но и про юзеров тоже забывать нельзя - им надо как минимум залить прошивку в девайс.

Очень хотелось все делать на rust-е, но для эмбедов он будет окончательно готов только к осени, а ждать нельзя. Поэтому пришлось разбираться, что можно сколхозить на сях. Самым толковым кандидатом оказался “типа IDE” platform.io, который массово нахваливали в интернетах. Должен сказать, нахваливали не зря:

  • Оно есть под все платформы (Win / Mac / Linux).
  • Оно умеет сносно прописывать зависимости от внешних библиотек.
  • Оно умеет прошивать чипы и само детектит COM-порт программатора, что весьма приятно.
  • Есть готовые конфиги для тонны популярных железок, не критично но приятно.
  • Там еще какая-то разухабистая клюква для отладки, но не разбирался - особо не надо.

Из непонятного - оно тащит за собой разные сборки тулзов для прошивки и т.п., но почему-то clang просит поставить отдельно, ручками.