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

ESP-01 перезагружается.

kox58

New member
Добрый день!
Играюсь с модулем ESP-01 с последней AT прошивкой.
Проблема такая- запускаю на модуле TCP сервер, все работает, можно также остановить сервер, все прекрасно до того момента, когда пытаюсь остановить сервер на котором висит-клиент после команды остановки модуль подвисает на пару секунд, затем выдается сообщение "CONNECT FAIL", а потом модуль перезагружается. Тоже самое происходит, если пытаюсь отключить от сервера клиента командой AT+CIPCLOSE.
Это как-нибудь лечится?
 

kox58

New member
Когда я создал тему, стояла вот такая прошивка: AT21SDK95-2015-01-24.
Полчаса назад залил эту: AT22SDK100-2015-03-20-boot1.3b,
С ней модуль не перезагружается, если отключить клиента, НО опять глюк- если остановить сервер при активном клиенте, модуль не перезагружается, но при последующем запуске сервера к нему не могут подключится клиенты. Если сервер остановить без подключенных клиентов, то такого глюка не наблюдается.
 

Victor

Administrator
Команда форума
НО опять глюк- если остановить сервер при активном клиенте
Я бы вам посоветовал попробовать прошивку AT v0.23 SDK 1.0.1, но для нее нужен модуль минимум с 1 МБайтом flash памяти.
А с прошивкой AT v0.22 да, нужно сначала отключать клиентов и только потом останавливать сервер. Только не факт что будет все ок после многократного вкл/выкл.
Мало кто сервер останавливает, обычно перезагружают модуль - для надежности.
 

kox58

New member
И Опять на v0.22 у меня глюки- после перезагрузки модуля и запуска сервера к нему не могут подключится клиенты.
Что-то глючные прошивки какие-то. Пока на v0.20 пробую- там вроде без глюков пока. Правда сервер нельзя остановить, только ребут.
А что хорошего в 23 прошивке?
И какой модуль с 1мбайт флеша посоветуете?
 

pvvx

Активный участник сообщества
Я бы вам посоветовал попробовать прошивку AT v0.23 SDK 1.0.1, но для нее нужен модуль минимум с 1 МБайтом flash памяти.
Это действительно так? Наверно 1Мег нужен только для обновления по WiFi.
Я вот страслировал AT из SDK1.0.1 и загрузил в модуль с 512k. Всё вроде работает:
Код:
>AT+GMR
AT version:0.23.0.0(Apr 24 2015 21:11:01)
SDK version:1.0.1
compile time:May 10 2015 22:54:19
OK
>AT+CIFSR
+CIFSR:STAIP,"192.168.1.50"
+CIFSR:STAMAC,"18:fe:34:9f:c0:bf"
OK
>AT+CIPSTART="TCP","www.google.com",80
CONNECT
OK
>AT+CIPSEND=44
OK
> GET / HTTP/1.1
Host: www.google.com
Recv 44 bytes
SEND OK
+IPD,521:HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Location: http://www.google.ru/?gfe_rd=cr&ei=g8NPVan2GeW9wAPV8YH4Dw
Content-Length: 258
Date: Sun, 10 May 2015 20:45:55 GMT
Server: GFE/2.0
Alternate-Protocol: 80:quic,p=1

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"><TITLE>302 Moved</TITLE></HEAD><BODY><H1>302 Moved</H1>The document has moved<A HREF="http://www.google.ru/?gfe_rd=cr&amp;ei=g8NPVan2GeW9wAPV8YH4Dw">here</A>.
</BODY></HTML>
Надо бинарник fullflash? Пока положу сюда
Во flash ещё места пустого очень много - половина...
RAM памяти ещё тоже есть:
Код:
   Section|                   Description| Start (hex)|   End (hex)|Used space
------------------------------------------------------------------------------
      data|        Initialized Data (RAM)|    3FFE8000|    3FFE901C|    4124
    rodata|           ReadOnly Data (RAM)|    3FFE9020|    3FFEB260|    8768
       bss|      Uninitialized Data (RAM)|    3FFEB260|    3FFF51C0|   40800
      text|            Cached Code (IRAM)|    40100000|    40105FAD|   24493
irom0_text|           Uncached Code (SPI)|    40240000|    40273664|  210532
Total Used RAM : 53692
Free RAM : 28228
Free IRam : 8293
Можно чего ещё дописать туда...
 
Последнее редактирование:

Victor

Administrator
Команда форума
И какой модуль с 1мбайт флеша посоветуете?
Точную ссылку дать не могу, ищите по фразе "ESP8266 large capacity", а дальше явно уточнять у продавца 4Мбит или 4Мбайт, а то они любят 4М ставить в описании.
Еще можно поискать ESD-12 и ESP-12E.

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

А я не проверил, купился на описание в SDK 1.0.1
[inline]AT added some functions so flash size need to be 1024KB or more than that. [/inline]
 
Последнее редактирование:

pvvx

Активный участник сообщества
Я проверил уже все команды :) Кроме smart. Всё работает.
Нашел от куда про 1024 кило:
Китайцы не смогли всунуть в 512k и у них написано, что надо 1024k, что туда добавили функций в SDK 1.0.1 и у них не влезло.
http://bbs.espressif.com/viewtopic.php?f=5&t=398
Там написано:
Примечание: AT добавлены некоторые функции, так размер флэш должны быть 1024КБ или больше.
И в "!!!readme!!!.txt" к AT:
Обратите внимание: В AT добавлены некоторые функции, так это больше, чем раньше, если вы хотите, чтобы скомпилировать его, пожалуйста, соберите для 1024 Кб или для большей flash указав параметр при компиляции на STEP 5.

А я этого не читал и взял их либы и gcc с убранными и неиспользуемыми компонентами, да собрал...
 
Последнее редактирование:

pvvx

Активный участник сообщества
В общем ещё оптимизнул прошивку AT 0.23 на SDK 1.0.1 и поставил туда свой загрузчик + WDT обработчик, чтобы было понадежней.... RAM для работы AT увеличилась, коды ужались... Free RAM : 30892, Free IRam : 9541, Code Flash: 207300
Теперь так стартует и есть команда чтения ADC:
Код:
OpenLoaderSDK v1.0
nv version:VER1
ready
>AT+GMR
AT version:0.23.0.0(Apr 24 2015 21:11:01)
SDK version:1.0.1
http://esp8266.ru/
OK
>AT+RADC
1
OK
"nv version:VER1" - это что-то инициализация в AT уже пишет...
Прошивка лежит пока по старой ссылке
 
Последнее редактирование:

kox58

New member
Спасибо огромное!
С 23 прошивкой все работает без сбоев.
Жаль на моем модуле нет входа ADC, а то можно было бы напряжение на аккумуляторе мерить.
 

nikolz

Well-known member
Я проверил уже все команды :) Кроме smart. Всё работает.
Нашел от куда про 1024 кило:
Китайцы не смогли всунуть в 512k и у них написано, что надо 1024k, что туда добавили функций в SDK 1.0.1 и у них не влезло.
http://bbs.espressif.com/viewtopic.php?f=5&t=398
Там написано:
Примечание: AT добавлены некоторые функции, так размер флэш должны быть 1024КБ или больше.
И в "!!!readme!!!.txt" к AT:
Обратите внимание: В AT добавлены некоторые функции, так это больше, чем раньше, если вы хотите, чтобы скомпилировать его, пожалуйста, соберите для 1024 Кб или для большей flash указав параметр при компиляции на STEP 5.
А я этого не читал и взял их либы и gcc с убранными и неиспользуемыми компонентами, да собрал...
А каким же образом nodemcu c SDK 1.0 (ваша сборка) занимает меньше 512K?
 

kox58

New member
@pvvx
А не будет ли наглостью с моей стороны попросить вас еще немного допилить прошивку?
А именно: сейчас по команде AT+CWJAP? модуль выдает имя точки доступа, к которой подключен и ее mac адрес. Можно сделать, чтобы вместо mac адреса модуль выдавал уровень сигнала? И желательно чтобы эта цифра выдавалась в виде положительного числа, то есть если уровень равен -55, то выдавалось 50.
Спасибо!
 

Victor

Administrator
Команда форума
немного допилить прошивку?
вроде SDK не позволяет определить уровень сигнала точки доступа к которой подключены. Для определения уровня сигнала надо отключаться от точки доступа, сканировать эфир и снова подключаться. Хотя, возможно, я обладаю устаревшей информацией и в SDK 1.0.1 это реализовано как надо, а не через ...
 

kox58

New member
Если так, то жаль. Просто собираюсь прикрутить модуль к AVR, и хотел чтобы было меньше геморроя с разбором строк.
 

kox58

New member
Это надо около двух десятков строк перелопатить(модуль ловит 20 точек доступа, больше чем ipad например), что для bascom avr достаточно геморройно.
Ну да ладно, обойдемся)
 

pvvx

Активный участник сообщества
Спасибо огромное!
С 23 прошивкой все работает без сбоев.
Желательно ещё попроверять получше. Описания как там в нутре работает AT нет, а она пишет что-то в область flash, чуть ниже половины flash - это как раз связано с "nv version:VER1" и возможно переводится с китайского как NonVolatile (память, сохраняющая информацию при выключении электропитания). В flash, после работы AT, в той области, найдены записанные заголовки "VER1". Но я с этим досконально не разбирался...
Можно сделать, чтобы вместо mac адреса модуль выдавал уровень сигнала?
Описания регистров WiFi нет. Китайцы зажали. В SDK у них этого тоже нет. Там всё кое-как с этим (похоже их программист не знает как это получить). Было-бы это у них, то они непременно бы похвастались и где вывели. Очень похоже, что Espressif ничего о своем чипе не знает (может его кто другой сторонний разрабатывал, а они просто украли, как и всё остальное в SDK и т.д. А может у них внутренние терки с разработчиком чипа... Вобщем китайцы - за цент удавяться).

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

pvvx

Активный участник сообщества
вроде SDK не позволяет определить уровень сигнала точки доступа к которой подключены. Для определения уровня сигнала надо отключаться от точки доступа, сканировать эфир и снова подключаться. Хотя, возможно, я обладаю устаревшей информацией и в SDK 1.0.1 это реализовано как надо, а не через ...
Так и осталось. По новой, недавно выпловшей инфе из FLASH_DOWNLOAD_TOOLS_v1.0_150508\init_data\ESP8266_RF_init.xls, видно какой там бардак...
Зато теперь можно ограничить выходную мощность. Но надо копаться и раскручивать это дело далее...
 
Последнее редактирование:
Сверху Снизу