• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вариант прошивки AT esp8266ru на новых SDK для модулей с 512k flash

pvvx

Активный участник сообщества
Прошивка "AT" для модулей имеющих flash в 512 килобайт.

Данная тема на сегодня опять актуальна, т.к. Espressif теперь выкладывает бинарные прошивки сам, но только для flash от 1 мегабайта!

Последняя версия AT прошивки, на момент редакции этого сообщения в данной теме находится тут: AT 0.60 SDK 1.5.2 для модулей с 512k flash
Код:
ready
>AT+GMR

AT version:0.60.0.0(Jan 29 2016 15:10:17)
SDK version:1.5.2(80914727)
http://esp8266.ru/
OK
Из-за малого размера flash обновление по WiFi в ней отключено.
Имеется всего одна дополнительная команда AT+RADC:
Код:
>AT+RADC
138
OK
Выдает значение ADC (0..1023).

Espressif official Flash Download Tool
AT Commands Documentation

Поддерживать проект пока не планируется, предполагается только обновление для новых версий SDK.

Изменить команду в оф. части AT SDK возможностей нет и не дано. Можно вписать только новую, дополнительную. Исходников AT китайцы в SDK не дают. В SDK есть только странслированные бинарные объектные либы, которые линкуются в общую прошивку и пример добавки новых команд.

AT+CIUPDATE исключена во избежание глюков, что flash не 1024k, как у официальной AT прошивки. Обновление только программатором.
 
Последнее редактирование:

Victor

Administrator
Команда форума
У нас появился новый полезный раздел Ресурсы в нем есть специальная тема Прошивки.
Есть контроль версий (старые версии тоже можно скачать) поддерживается история изменений. Можно сделать описание, скриншоты и и т.п.
Может имеет смысл скопировать туда ваши проекты, а если понравится, то только там и оставить. В ваших темах сделать туда ссылку, она меняться не будет.
Я думаю, что это будет удобнее, исходя из опыта других форумов.
 

pvvx

Активный участник сообщества
У нас появился новый полезный раздел Ресурсы в нем есть специальная тема Прошивки.
Есть контроль версий (старые версии тоже можно скачать) поддерживается история изменений. Можно сделать описание, скриншоты и и т.п.
Может имеет смысл скопировать туда ваши проекты, а если понравится, то только там и оставить. В ваших темах сделать туда ссылку, она меняться не будет.
Я думаю, что это будет удобнее, исходя из опыта других форумов.
Тут пока нет версий. В данном случае эта тема создана, чтобы выявить ошибки в AT и что там можно подправить или добавить для возможностей её употребления, ну и "поспамить" вокруг этого :)
Например команда AT+SAVETRANSLINK=1,”192.168.6.110”,1002,“TCP” (Она полностью заменяет TCP2UART).
Работает нормально, но как выйти из этого режима?
А например AT+CIPMODE=1 не работает корректно. То, что отправляется в COM модулю не идет в TCP.
Скажите плиз, noteMCU c Вашим новым SDK что получается?
У меня нет "нового SDK". На сегодня есть только частичная замена некоторых кусков libmain.a от Espressif, связанная с загрузкой SDK, обработкой WDT и ещё по мелочи. Плюс на каждый проект можно почистить либы SDK на неиспользуемые функции. Но это специфично на каждый случай. Так-же есть обработанные libgcc.a и libc.a на исключение из них кодов, которые уже есть в ROM-BIOS. Этот комплекс и дает уменьшение размеров используемой памяти со средней прибавкой до 10 килобайт. Но надо возиться с каждым проектом. Для вашей любимой NodeMCU надо исправлять бездарное портирование Lua в самих кодах СИ, а не в сторонних либах. Т.к. прибавка в IRAM никак не используется в ней, а "heap" данные ухищрения прибавляют незначительно. Обращайтесь к издателям NodeMCU или сделайте своё портирование Lua на ESP8266. Меня интерпритатор Lua на ESP8266 не устраивает ни в каких отношениях - Lua не предназначен для устройств с малой памятью.
Если хотите четко осознать что и по чему так, то обратитесь к описанию Lwip, используемого в модуле для коммуникации c внешним миром. Там четко указаны минимально-необходимые ресурсы по памяти у устройства и он вписан в их передел (даже не хватает на полноценные вещи, хоть полноценный TCP socket и приходится во многом ограничиваться, а минимальные ресурсы диктуются не самим Lwip, а TCP/IP протоколами и устоявшимися сетевыми методами работы у сторонних приложений.). И совместно с обработкой WiFi на что-то ещё места в RAM у модуля больше нет. Для нормальной работы lua интерпретатора c простейшими коммуникациями по сети инет мой прогнозируемый минимум – это от 128 кило свободной памяти только для Lua. Их в модуле нет, но есть возможность его работы только без связи по WiFi, без загрузки SDK. А такой вариант = просто микроконтроллер с Lua и пару ножками для дрыгания. По этому берете любой другой MCU c RAM от 128к (а их счас немерянно или второй модуль ESP8266 с выключенным WiFi) и пишите Lua на него и соединяете с ESP8266.
Для случая загрузки своим SDK ESP8266 без включения WiFi и релиза на нем вашего Lua всё уже и написано. Это и есть те части замены кусков libmain.a данные мной в исходниках.
PS: Надеюсь больше у вас вопросов с Lua не возникнет или проявите техническую безграмотность. Если хотите это оспорить - жду демонстрации прецедента.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Организация туннеля UART-WiFi-UART на двух модулях с помощью прошивки Web и AT.
На Web ставим таймауты в TCP-UART Setting (всё остальное по умолчанию или меняем режим UART на усмотрение), а на AT подаем:
AT+CWMODE=1
AT+CWJAP_DEF="ESP8266","0123456789"
AT+SAVETRANSLINK=1,"192.168.4.1",12345,"TCP"
AT+RST

Всё - туннель готов. Но качество не проверял. Байтики, строчки из терминалок пересылает.
Режим SAVETRANSLINK в AT прерывается подачей "+++" в RX модуля без межсимвольных интервалов, затем паузой после них.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Выпустили новую прошивку ESP8266 SDK (esp_iot_sdk_v1.1.0_15_05_22).
pvvx, если будет у тебя время, собери, пожалуйста, под 512k flash.
За пять минут не выйдет, в SDK 1.1.0 множество изменений в основных либах. Разберу их и тогда соберу новую... это скоро, может уже сегодня...
 

pvvx

Активный участник сообщества
Что-то очень глючная SDK 1.1.0 - прошивки AT 0.24 пока не предвидится... Половина команд AT работает, а половина - нет :) Да и c SDK 1.1.0 с другими проектами/прошивками творится тоже самое... :mad:
-------
В принципе собирается, но очень чувствительна к настройкам, сохраненным во flash... Есть беды с режимами PHY (802.11n,g,b) при коннекте к сторонней AP. + Беда с введенной установкой включения/отключения стартовой калибровки WiFi в памяти RTC, которая на модулях без вывода к батарейке...
Надо попытаться сотворить поустойчивей...
 
Последнее редактирование:

pvvx

Активный участник сообщества
Держись, pvvx! Может на штуку баков нароешь :)
Espressif Bug Bounty Program - это очередной обман от китай-Espressif. Уже проверено и я в нем не участвую. Суюсь туды только ради исправления необходимого функционала.
---------
Кинул тестовую прошивку AT 0.24 с оф. загрузчиком AT 0.24 SDK 1.1.0 для модулей с 512k flash 2015-05-24
 
Последнее редактирование:

Sanchos

New member
Кинул тестовую прошивку AT 0.24 с оф. загрузчиком AT 0.24 SDK 1.1.0 для модулей с 512k flash 2015-05-24
Благодарю, pvvx. Будет тестить прошивку.
Espressif Bug Bounty Program - это очередной обман от китай-Espressif. Уже проверено и я в нем не участвую. Суюсь туды только ради исправления необходимого функционала.
Я, вообще, не знаю, их ресурс bbs.espressif.com рабочий. Ни администрация, ни модераторы вообще не появляются на форуме, лишь иногда заглядывают на пару секунд. На вопросы не отвечают. Какая-то "шарашкина контора".
 

pvvx

Активный участник сообщества
И всё равно espconn в AT прошивке падает, если на модуль слать непрерывно данные, после его соединения по TCP к серверу....
 

Foutnain

New member
Скажите пожалуйста, можно ли залить в ESP8266-01 вышеобозначенную прошивку (fullflash_at024osdkl12.zip) с помощью esptool?
До этого была стоковая 0.9.4, перешил на v0.9.5.2 AT Firmware.bin через Arduino UNO — успешно.
И что мне это даст? :D

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

pvvx

Активный участник сообщества
Скажите пожалуйста, можно ли залить в ESP8266-01 вышеобозначенную прошивку (fullflash_at024osdkl12.zip) с помощью esptool?
Да.
До этого была стоковая 0.9.4, перешил на v0.9.5.2 AT Firmware.bin через Arduino UNO — успешно.
И что мне это даст? :D

P.S. Вот в раздел бы с прошивками добавить какой-то FAQ и структурировать информацию, чтобы наглядно и понятно было, какая прошивка. подойдет для конкретного модуля, какие преимущества и возможности даст, какие плюсы и минусы в работе. А то народу приходится лазить по веткам и информацию собирать по крупицам.
Описание AT команд даны в PDF от Espressif, отличия их версий в том, что начиная с SDK 1.0.0 их AT прошивки более стабильны - сильно исправлен внутренний модуль работы с TCP.
Прошивки указанные в данной теме работают на любом модуле ESP8266.
По совокупности описанного - FAQ и что-то структурировать не требуется.
 

Foutnain

New member
Обновился успешно.
Вопрос: можно ли BAUDRATE изменить? В документации не нашел.
Почему спрашиваю — мои Arduino UNO не хотят почему то работать на скорости 115200 с ESP (где-то читал про ограничения SoftwareSerial).
Проверял работоспособность ESP подключая к 1 и 2 ноге Arduino. Но по этим ногам работает Serial, удобно отлаживать все.
Что теперь делать, подскажите?
 

Foutnain

New member
Собственно отвечаю — можно изменить командой AT+IPR=9600
Но ни к чему хорошему это не приводит — после перезагрузки модуль виснет и непрерывно горят красный и синий светодиоды.
 

Sanchos

New member
Foutnain, для данной версии прошивки baudrate меняется командами AT+UART или AT+UART_DEF (например, AT+UART_DEF=115200,8,1,0,0).
 

pvvx

Активный участник сообщества
Собственно отвечаю — можно изменить командой AT+IPR=9600
Но ни к чему хорошему это не приводит — после перезагрузки модуль виснет и непрерывно горят красный и синий светодиоды.
Я обычно использую AT+UART=1000000,8,1,0,0[$0D$0A]. Работает нормально.
9600 - это кто такой тормоз пользует? У вас километровая линия? :confused:
 

Foutnain

New member
9600 - это кто такой тормоз пользует? У вас километровая линия? :confused:
Я использую, потому что Arduino UNO (SoftwareSerial) не хочет почему-то на высокой скорости (115200) работать.
Ну и для моих задач этой скорости более чем достаточно.

Попробую AT+UART_DEF, отпишусь.
 
Сверху Снизу