Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

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

Тема в разделе "Прошивки, основанные на AT командах", создана пользователем pvvx, 11 май 2015.

  1. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    Прошивка "AT" для модулей имеющих flash в 512 килобайт.

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

    Последняя версия AT прошивки, на момент редакции этого сообщения в данной теме находится тут: AT 0.60 SDK 1.5.2 для модулей с 512k flash
    Код (Text):
    1. ready
    2. >AT+GMR
    3.  
    4. AT version:0.60.0.0(Jan 29 2016 15:10:17)
    5. SDK version:1.5.2(80914727)
    6. http://esp8266.ru/
    7. OK
    Из-за малого размера flash обновление по WiFi в ней отключено.
    Имеется всего одна дополнительная команда AT+RADC:
    Код (Text):
    1. >AT+RADC
    2. 138
    3. OK
    Выдает значение ADC (0..1023).

    Espressif official Flash Download Tool
    AT Commands Documentation

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

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

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

    Victor Administrator Команда форума

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

    nikolz Гуру

    Сообщения:
    3.971
    Симпатии:
    426
    pvvx,
    Скажите плиз, noteMCU c Вашим новым SDK что получается?
     
  4. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    Тут пока нет версий. В данном случае эта тема создана, чтобы выявить ошибки в AT и что там можно подправить или добавить для возможностей её употребления, ну и "поспамить" вокруг этого :)
    Например команда AT+SAVETRANSLINK=1,”192.168.6.110”,1002,“TCP” (Она полностью заменяет TCP2UART).
    Работает нормально, но как выйти из этого режима?
    А например AT+CIPMODE=1 не работает корректно. То, что отправляется в COM модулю не идет в TCP.
    У меня нет "нового 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 не возникнет или проявите техническую безграмотность. Если хотите это оспорить - жду демонстрации прецедента.
     
    Последнее редактирование: 13 май 2015
  5. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    Организация туннеля 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 модуля без межсимвольных интервалов, затем паузой после них.
     
    Последнее редактирование: 16 май 2015
    Sanchos нравится это.
  6. Sanchos

    Sanchos Читатель

    Сообщения:
    66
    Симпатии:
    10
  7. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    За пять минут не выйдет, в SDK 1.1.0 множество изменений в основных либах. Разберу их и тогда соберу новую... это скоро, может уже сегодня...
     
    Sanchos нравится это.
  8. pvvx

    pvvx Активный участник сообщества

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

    Sanchos Читатель

    Сообщения:
    66
    Симпатии:
    10
    Держись, pvvx! Может на штуку баков нароешь :)
     
  10. pvvx

    pvvx Активный участник сообщества

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

    Sanchos Читатель

    Сообщения:
    66
    Симпатии:
    10
    Благодарю, pvvx. Будет тестить прошивку.
    Я, вообще, не знаю, их ресурс bbs.espressif.com рабочий. Ни администрация, ни модераторы вообще не появляются на форуме, лишь иногда заглядывают на пару секунд. На вопросы не отвечают. Какая-то "шарашкина контора".
     
  12. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    И всё равно espconn в AT прошивке падает, если на модуль слать непрерывно данные, после его соединения по TCP к серверу....
     
  13. Foutnain

    Foutnain Новичок

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

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

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    Да.
    Описание AT команд даны в PDF от Espressif, отличия их версий в том, что начиная с SDK 1.0.0 их AT прошивки более стабильны - сильно исправлен внутренний модуль работы с TCP.
    Прошивки указанные в данной теме работают на любом модуле ESP8266.
    По совокупности описанного - FAQ и что-то структурировать не требуется.
     
  15. Foutnain

    Foutnain Новичок

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

    Foutnain Новичок

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

    Sanchos Читатель

    Сообщения:
    66
    Симпатии:
    10
    Foutnain, для данной версии прошивки baudrate меняется командами AT+UART или AT+UART_DEF (например, AT+UART_DEF=115200,8,1,0,0).
     
  18. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.387
    Симпатии:
    1.270
    Я обычно использую AT+UART=1000000,8,1,0,0[$0D$0A]. Работает нормально.
    9600 - это кто такой тормоз пользует? У вас километровая линия? :confused:
     
  19. Foutnain

    Foutnain Новичок

    Сообщения:
    13
    Симпатии:
    2
    Я использую, потому что Arduino UNO (SoftwareSerial) не хочет почему-то на высокой скорости (115200) работать.
    Ну и для моих задач этой скорости более чем достаточно.

    Попробую AT+UART_DEF, отпишусь.
     
  20. Foutnain

    Foutnain Новичок

    Сообщения:
    13
    Симпатии:
    2
    Успешно поменял скорость с помощью AT+UART_DEF=9600,8,1,0,0
     

Поделиться этой страницей