Попробовал наколбасить рыбу фирмвари для конфигурилки регуляторов скорости, чтобы погонять PlatformIO в реальных условиях. Пока нравится. Поправил документацию, теоретически обычный юзер тоже должен справиться с прошивкой.
Есть некоторые сомнения в правильности кода, но я на сях уже давно не писец. Пока получилось сделать:
Captive portal
Раздачу вебни
Конфиг для настроек сети
Вполне достаточно, чтобы поковырять юзабельность. Честно говоря, создалось впечатление что синхронный вебсервер как-то спотыкается через раз, и лучше с него свалить на асинхронный. Правда тогда надо будет обкладывать UART блокировками, чтобы в него никто не ломанулся писать одновременно. Таким образом, из хвостов остаются:
Software UART и проброс команд в вебню и обратно (дефолтный UART отдан под логи, не факт что их реально вырубить полностью, да и не хочется без них).
В предыдущей записи я ляпнул про ручную установку clang для PlatformIO и похоже напутал. Шланг нужен только для разработчиков, если хотят нормальное автодополнение при наборе текстов. Если только прошивать - можно шланг не ставить.
Под вопросом - что делать с бинарниками фирмвари. В принципе, если тулза (PlatformIO) умеет и собирать и шить, то не вижу особых проблем. Версии в репе протегированы. Но другим может больше нравится, когда релизы лежат в отдельной папке с красивым названием - пока не понял, это реально полезно или старпёрские заморочки, на которые лучше забить.
{"assets_hash":"a8b26fa7f6e768b07a72c8c9aadb9422","page_data":{"users":{"39c21abc3df9550077797d18":{"_id":"39c21abc3df9550077797d18","hid":349,"name":"Vitaly","nick":"Vitaly","avatar_id":null,"css":""}},"settings":{"blogs_can_create":false,"blogs_mod_can_delete":false,"blogs_mod_can_hard_delete":false,"blogs_mod_can_add_infractions":false,"can_report_abuse":false,"can_vote":false,"can_see_ip":false,"blogs_edit_comments_max_time":30,"blogs_show_ignored":false,"blogs_reply_old_comment_threshold":30,"votes_add_max_time":168},"entry":{"_id":"5b0c00b89970730077117e83","hid":23406,"title":"PlatformIO + esp8266, для конфигурилки девайсов","html":"<p><a href=\"https://github.com/speedcontrols/wifi-configurator\" class=\"link link-ext link-auto\" data-nd-link-type=\"autolink\" data-nd-link-orig=\"https://github.com/speedcontrols/wifi-configurator\" target=\"_blank\" rel=\"nofollow noopener\">github.com/speedcontrols/wifi-configurator</a></p>\n<p>Попробовал наколбасить рыбу фирмвари для конфигурилки регуляторов скорости, чтобы погонять PlatformIO в реальных условиях. Пока нравится. Поправил документацию, теоретически обычный юзер тоже должен справиться с прошивкой.</p>\n<p>Есть некоторые сомнения в правильности кода, но я на сях уже давно не писец. Пока получилось сделать:</p>\n<ul>\n<li>Captive portal</li>\n<li>Раздачу вебни</li>\n<li>Конфиг для настроек сети</li>\n</ul>\n<p>Вполне достаточно, чтобы поковырять юзабельность. Честно говоря, создалось впечатление что синхронный вебсервер как-то спотыкается через раз, и лучше с него свалить на асинхронный. Правда тогда надо будет обкладывать UART блокировками, чтобы в него никто не ломанулся писать одновременно. Таким образом, из хвостов остаются:</p>\n<ul>\n<li>Software UART и проброс команд в вебню и обратно (дефолтный UART отдан под логи, не факт что их реально вырубить полностью, да и не хочется без них).</li>\n<li>Синхронный вебсервер => асинхронный, плюс блокировки UART.</li>\n</ul>\n<!--cut-->\n<p>В предыдущей записи я ляпнул про ручную установку clang для PlatformIO и похоже напутал. Шланг нужен только для разработчиков, если хотят нормальное автодополнение при наборе текстов. Если только прошивать - можно шланг не ставить.</p>\n<p>Под вопросом - что делать с бинарниками фирмвари. В принципе, если тулза (PlatformIO) умеет и собирать и шить, то не вижу особых проблем. Версии в репе протегированы. Но другим может больше нравится, когда релизы лежат в отдельной папке с красивым названием - пока не понял, это реально полезно или старпёрские заморочки, на которые лучше забить.</p>\n","user":"39c21abc3df9550077797d18","ts":"2018-05-28T13:14:32.000Z","st":1,"cache":{"comment_count":0},"views":650,"bookmarks":0,"votes":0},"subscription":null},"locale":"en-US","user_id":"000000000000000000000000","user_hid":0,"user_name":"","user_nick":"","user_avatar":null,"is_member":false,"settings":{"can_access_acp":false,"can_use_dialogs":false,"hide_heavy_content":false},"unread_dialogs":false,"footer":{"rules":{"to":"common.rules"},"contacts":{"to":"rco-nodeca.contacts"}},"navbar":{"tracker":{"to":"users.tracker","autoselect":false,"priority":10},"forum":{"to":"forum.index"},"blogs":{"to":"blogs.index"},"clubs":{"to":"clubs.index"},"market":{"to":"market.index.buy"}},"recaptcha":{"public_key":"6LcyTs0dAAAAADW_1wxPfl0IHuXxBG7vMSSX26Z4"},"layout":"common.layout"}