Comments 40
Есть же Pogo pins?

Понятно, что не каждый ESP-12 доживет до просветления.

Что с ним надо делать, чтобы убить?
Нормально живет на 5В минут 15. Только греется сильно, но даже прошивается
Странная статья, ИМХО.
Все мы пользуемся теми или иными костылями для наших изобретений, но никому не приходит в голову написать статью, о том что оказывается очередной IDE-разъем подходит под гребенку Raspberry PI, и это круто.

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

А здесь эвон как просто — научился пользоваться плоскогубцами — выложил, научился пилить разъем — выложил.

Не хочу обидеть автора статьи, но моя система прошивки ESP втыкается напрямую в USB, а его система прошивки ESP занимает пол-стола соплей. Я что-то сделал не так ?)
Секундочку, секундочку!
>>в зависимости от их показаний заливать новую совершенно иную прошивку на этот же ESP для последующих действий этого же самого ESP
с этого момента поподробнее, пожалуйста!
Можно в личку, а лучше статью напишите для пользы сообществу!))
>Я что-то сделал не так ?)
Только одно: в отличие от топикстартера никому об этом не рассказал
Вы наверное в linux foundation работаете. Каждый комментарий как commit в репозиторий.
тоже интересно каким вариантом заливки прошивки пользуетесь?
если без Apache2 + PHP на сервере который заливает прошивку на ESP то поподробнее
И да и нет. На сервере живет злобный ГУЙ, на который можно зайти и поклацать. Он работает на nginx+php-fpm.
А сама прошивка через банальный CURL.
На самом деле задача довольно нетривиальная, готовых решений в интернете я не нашел.
Как вы поняли, юзаю NodeMCU, соответственно на ESP лежат две части. Первая, init — собственно статика, которая запускается первой, и в зависимости от состояния одного GPIO, подключается к точке доступа, либо сама становится точкой доступа для изменения параметров (эдакий hard reset). Потом эта статика обрабатывает входящие POST-запросы, собственно отлавливает необходимый ключик и шьет второй файл, собственно «прошивку».
А нетривиально, потому что во-первых, LUA со строками работает через жопу, и чтобы сделать аналог "$c=$_POST['firmware'];file_put_contents(«firmware.lua»,$c); — нужно очень и очень извратиться, а во-вторых работа с серверными переменными так же реализована через одно место — и их тоже приходится парсить самому. К этому добавьте уникальную особенность ESP-шки вешаться в случае самой незначительной ошибки (например если длина запроса больше отведенной под это переменной, а введение Content-size жрет бесценные байты), и представите мою злость когда я все это писал.

Но тем не менее, эта задача не требует особых знаний, ни схемотехники, ни программирования. Я этот LUA вообще первый раз в жизни увидел. Посему выкладывать это в интернет не счел нужным.
Если использовать NodeMCU — проще простого. Достаточно организовать базовый загрузчик, из которого затем подтягивать необходимые модули оформленные как отдельные .lua файлы.
Проще простого, пока не столкнетесь с этим близко, а затем всплывает куча подводных камней.
«Достаточно организовать базовый загрузчик» — это как «Чтобы самому сделать авто, достаточно собрать ДВС, и всё» ))
Для начала заставьте LUA вывести вам значения всех переменных, пришедших в POST.
Когда сможете это сделать, удивитесь, потому что на этих ваших ПеКа, вы можете засунуть всю прошивку в один запрос POST, а попытаетесь сделать это в LUA — получите exception fault.
Значит организуете систему построковой записи, что вполне логично. Только вот nodemcu http — невероятно тормознутое уродище. Посему вам придется либо отсылать каждую строку с промежутком в минуту, чтобы эта строка гарантированно смогла записаться, либо как я, организовать обмен информацией, и слать следующую строку, только когда будет записана предыдущая.
А теперь мякотка: на русском языке этот алгоритм будет занимать 10 слов, на английском 20 слов, а на языке LUA — 500 строк. К которым кстати еще нужно придти, поскольку там от LUA по большей части только синтаксис, и многие LUA-решения банально не работают.

Так что не все так просто как вы рассказали, но и не настолько сложно чтобы выкладывать это в инет. Так, пару часов активного секса.
Такие дела.
Может все-таки выложите? Мне, например, интересно.
Я тоже самое на MQTT написал, там несколько проще, так как есть нормальные коллбеки, и сам протокол больше приспособлен под обмен небольшими пакетами данных, чем http.
Зачем такое? Лично я во все ESP проекты ставлю плату с ESP на гребёнки. Такой переходник куда проще изготовить, плюс занимает меньше места, подходит под макетки беспаечные, к тому же он надёжнее.
https://pp.vk.me/c638630/v638630844/280/hOAqVRswjIU.jpg
Картинки в ВК по прямой ссылке отдаются даже без авторизации.
>>Она удачно встала на монтажную плату показала себя с лучшей стороны.
Моя плата становится ровно на макетку, а не боком, остаётся по ряду контактов с каждой стороны. И изготавливается не час.
Панельку можно купить у китайцев, а потраченные на распил AGP часы употребить на хобби: http://mysku.ru/blog/aliexpress/38586.html
Ага, и ждать эту панельку месяц. А так через день-два будет готова. К тому же, для многих присутствующих это как раз и есть хобби. Опять же — «наши руки не для скуки», вторичное использование ресурсов, и тому подобное. Я так себе когда-то панельку для AVR-ок делал из Soket-370.
ну так и ESP8266 вы ждали месяц. Покупайте вместе с панелькой, двадцать шесть центов удорожания покупки не стоят отнятых у хобби часов жизни.
Спасибо за наводку на Witty Cloud, закажу пару шт на тесты.

Автору:
Ниже еще указывали ESP-201 — это вот то, что получилось, только без затрат времени, искорёженных мат плат, ну и слегка культурнее выглядит. Цена на али — 3.50 на сегодня.
В чем смысл экспериментировать на голых ESP-07/ESP-12, когда существует целый ряд 8266-плат именно для экспериментов/прототипирования: NodeMCU Board, Witty, WeMos, ESP-201 на худой конец.
Цены на них выше на какие-то десятки центов, зато намного удобнее.
Панель ведь универсальная. Да? У многих новых плат ESP есть дополнительные выводы.
Я не говорю про экзотику типа ESP14 или RTL8710 где эти выводы еще и востребованны
Ну можно было и поперёк кусок разьёма прилепить. Задачи видимо не стояло.
А некоторые вообще не парятся
image
Как вы ими пользуетесь, мне интересно? Я максимум анализатором посмотрел, что оно там как-то хитро работает с памятью. HSPI ведь на других пинах находится.
Честно говоря не совсем понял смысл данного девайса. С ESP поиграться — так на али куча удобных готовых макеток, а эту даже в breadboard полностью не воткнешь. Убили ESP'шку, сдули, новую припаяли, играемся дальше. Программировать перед установкой в готовое устройство, а смысл? Экономим четыре пина для подключения программатора и два под перемычку для переключения режима?
Освойте уже прошивку по воздуху. Впрочем для её первоначальной заливки ваша приспособа очень пригодится.
Очень прикольная идея/реализация, правда сомнительно применение: для каких-то промышленных масштабов программирования/проверки.

А так проще изначально вывести концы для прошивки на плате…
сделайте себе одолжение, освойте ЛУТ, всё будет выглядеть гораздо пригляднее, и в данном случае компактнее
UFO landed and left these words here
Only those users with full accounts are able to leave comments. Log in, please.