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

ESP8266 не передаются данные

Добрый вечер уважаемые!
Уже не выдержал , и решил задать вопрос здесь.
Хочу построить веб интерфейс на основе такого модуля . Использую режим управления на АТ командах.
1) поднимаю сервер (произвожу все необходимые настройки).
2) при запросе страницы - вижу что на модуль прилетают данные, в терминале вижу GET запрос.
3) отлавливаю запрос GET / и пытаюсь отправить данные в ответ
4) отправляю модулю AT+CIPSEND=0,90 и жду символ '>'
5) ловлю символ и жду 100мс. и отсылаю данные (простую страничку и хттп ответ).

НО! Модуль сам не передает данные! А ждет почему то еще данные ....

количество байт подсчитываю оператором sizeof():
вот так выглядит обработка:

if(string_search("GET /data",rx_buffer))
{
data_cnt = rx_buffer[string_addr_search("+IPD,",rx_buffer)]; // ай-ди соединения
clear_buffer_rx();
delay_ms(100);
printf("AT+CIPSEND=%d,%u\r\n", (data_cnt-48) , (sizeof(webif_200_header)));
x=1;
while(x)
{
if(string_search(">",rx_buffer))
{
delay_ms(100);
printf(webif_200_header);
//printf(str_reply);

clear_buffer_rx();
x=0;
}
else
{
delay_ms(1000);
if(++x>20){ x=0; clear_buffer_rx();}
}
}
x=1;
delay_ms(100);
}

я уже основательно запутался ....
Модуль очень глючно работает, часто перегружается . Питание организовано грамотно.
При первом GET запросе данные модуль не присылает (подозреваю что неправильно количество байт ему подаю) но байты оператор считает 100% правильно.
 
Обнаружил такую особенность:
Если шлю небольшую строку , пробовал 15 байт. то передает нормально.
Если шлю большую строку , пробовал и 90 байт - то глюк....
Какая версия прошивки самая стабильная , если используются АТ команды??
Помогите пожалуйста...
 
Последнее редактирование:

Andy Korg

Moderator
Команда форума
Плюнте на АТ-прошивку и прошейте прошивкой от pvvx, избавитесь от китайских головных болей.
 
прошейте прошивкой от pvvx, избавитесь от китайских головных болей.
Скажите пожалуйста где взять ту прошивку и поддерживает ли предлагаемая прошивка АТ команды? Из-за особенностей устройства , необходима именно АТ прошивка ....
 

Victor

Administrator
Команда форума
Актуальная версия на сегодняшний день AT v0.21 SDK 0.9.5 24.01.2015, а это русский перевод описания команд http://esp8266.ru/esp8266-at-commands-v021/
Залил прошивку новую. И теперь модуль вообще не работает ....
Скорость поменялась на 115200 и в терминал выдает ЭХО .... что теперь делать? И это на всех 4 модулях.
 

Victor

Administrator
Команда форума
Скорость поменялась на 115200 и в терминал выдает ЭХО .... что теперь делать? И это на всех 4 модулях.
1. Скорость 115200 - так и должно быть
2. Проверьте с любого WiFi устройства появилась ли точка доступа вида "ESP_XXXX" после загрузки модуля - если появилась, значит прошивка прошла успешно, модуль запускается - ищите проблемы с подключением к последовательному порту. Если точки доступа нет - были проблемы при прошивке или неправильное подключение модуля, раз он не стартует и не создает точку доступа по умолчанию
Почитайте эти статьи
ESP8266 — подключение и обновление прошивки
ESP8266 — обновление прошивки с помощью XTCOM_UTIL
 
Разобрался я полностью. Была проблема с терминалом, не печатал два байта в конце.
Прошивка стала в целом стабильнее . Хоть страницы могу уже получать )))
но все равно до нормальной версии , прошивке еще наверное не скоро :)
Вопрос еще такого рода:
В старой версии , когда перегружался модуль я отслеживал такое слово: "Kernel" и когда его ловил в буфере - инициализировал по новой модуль . Теперь вместо старой строки прилетает мусор.... достали китайцы ))) . Как мне можно по другому отследить перезагрузку модуля?? А то получается ступор.....
 
1. Скорость 115200 - так и должно быть
2. Проверьте с любого WiFi устройства появилась ли точка доступа вида "ESP_XXXX" после загрузки модуля - если появилась, значит прошивка прошла успешно, модуль запускается - ищите проблемы с подключением к последовательному порту. Если точки доступа нет - были проблемы при прошивке или неправильное подключение модуля, раз он не стартует и не создает точку доступа по умолчанию
Почитайте эти статьи
ESP8266 — подключение и обновление прошивки
ESP8266 — обновление прошивки с помощью XTCOM_UTIL
А я всегда думал что стандартная скорость считается 9600 :)
В прошлой версии была 9600 по дефолту....
 

Victor

Administrator
Команда форума
я отслеживал такое слово: "Kernel"
вряд ли кто использует всерьез прошивку с AT командами, да и вам не стОит - сплошные глюки пока
Только для первого знакомства пойдет.
Посмотрите это http://esp8266.ru/forum/threads/razrabotka-biblioteki-malogo-webservera-na-esp8266.56/
или NodeMCU, хотя и там проблем вполне хватает
 

Victor

Administrator
Команда форума
А я всегда думал что стандартная скорость считается 9600 :)
В прошлой версии была 9600 по дефолту....
Это не фирменные прошивки от производителя чипа Espressif - это кастомные прошивки от производителей модулей (чаще всего встречается от AI-THINKER на SDK0.9.2 ), но есть и другие
У Espressif вроде всегда 115200 было
 
вряд ли кто использует всерьез прошивку с AT командами, да и вам не стОит - сплошные глюки пока
Все это "побеждаемо" , я уже даже знаю как это все решить . Часть приемов уже реализована ( к примеру, поиск слов ERROR, Error , Busy )
Думаю через пару дней выкачу обработчики , которые будут отслеживать работу модуля , и его перегружать если это надо.
У меня задача специфическая , которую модуль не решит без доп. процессора :)
Эта прошивка уже гораздо более стабильная чем предыдущая.
 

Victor

Administrator
Команда форума
Предыдущая версия была: 0018000902
Вроде как не кастомная ...
По AT+GMR это не определить. Это говорит только о том, какая версия была взята за основу для кастомной прошивки.
Прошивки от AI THINKER выводят AI THINKER при старте модуля, электродрагон добавляет еще одну 2 к версии и т.д.
Каждый делает что хочет :) Может в вашей только дефолтная скорость и была поменяна, кто знает
 

JustACat

Moderator
Команда форума
Теперь вместо старой строки прилетает мусор.... достали китайцы ))) . Как мне можно по другому отследить перезагрузку модуля?? А то получается ступор.....
Ну на самом деле там не совсем мусор ;) Там текст начальной инициализации, просто на другой скорости. Гляньте у меня в подписи ссылку на пример вывода в терминал этого самого мусора на разных скоростях после перезагрузки и без.
Как отлавливать? Ну, например, по этому самому мусору. Ведь он же все равно определенный (там определенные слова идут). Забейте часть подстроки этого мусора.
А вообще, слово "ready\r\n" присутствует всегда. Почему бы по нему не определить перезагрузку?
PS: у меня прошивка поновее используется, так что вывод от вашего может слегка отличаться.
 
Ну на самом деле там не совсем мусор ;) Там текст начальной инициализации, просто на другой скорости. Гляньте у меня в подписи ссылку на пример вывода в терминал этого самого мусора на разных скоростях после перезагрузки и без.
Как отлавливать? Ну, например, по этому самому мусору. Ведь он же все равно определенный (там определенные слова идут). Забейте часть подстроки этого мусора.
А вообще, слово "ready\r\n" присутствует всегда. Почему бы по нему не определить перезагрузку?
PS: у меня прошивка поновее используется, так что вывод от вашего может слегка отличаться.
Я так и догадался ;)

Блин, наткнулся на новый глюк................ вот китайцы понаписали.... лучше бы вообще не писали и не создавали его ))).
Ловлю ГЕТ запрос , жду немного , отправляю команду на передачу данных с ID и количеством данных , жду стрелку (ее можно вообще не дождаться , х/з. почему )) ).
Ладно, дождался эту гребаную стрелку , отправил данные (там их меньше кило) , и все ..... данные не передаются от модуля устройству по вай-фай ... Неужели нельзя сделать корректную передачу данных?
Еще прикол , когда жду данные от модуля до браузера , если обновляю страницу (повторный гет запрос) то модуль все таки одупляется и выплевывает тот пакет , и сразу пишет гад busy s.... вот геморрой .............. это как мне надо программу в мк запилить чтобы не глюкнула программа ?? ))))))
Ужассс..
 
AT+CWMODE=2
AT+CWSAP="JPsystems","хххххххх",10,4
AT+CIPMODE=0

AT+CIPMUX=1
AT+CIPSERVER=1,5555
AT+CIPSEND=0,522
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<html> <head> <meta content="text/html; charset=Windows-1251"http-equiv="content-type" />
<title>test page</title>
</head><body><p><b><body bgcolor="FFF000">
<font color="FF0000"> Угримов Артем тест №1 , 13.03.2015 </font></b>
<p> <body text="000000"> Испытания ВЕБ сервера на ESP8266 завершен успешно! )))))) </body></p>
<p> Привет из микроконтроллера! </p><p> <s> <font color="0000FF">зачеркнутый текст</font> </s> </p>
</body></body></html>

AT+CIPCLOSE
AT+CIPCLOSE
AT+CWMODE=2
AT+CWSAP="JPsystems","хххххххх",10,4
AT+CIPMODE=0

AT+CIPMUX=1
AT+CIPSERVER=1,5555
AT+CWMODE=2
AT+CWSAP="JPsystems","хххххххххх",10,4
AT+CIPMODE=0

AT+CIPMUX=1
AT+CIPSERVER=1,5555
AT+CIPSEND=0,407
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<html> <head> <meta content="text/html; charset=Windows-1251"http-equiv="content-type" /><title>test page</title></head><body><p><b><body bgcolor="FFF000"><font color="FF0000"> Системные данные: </font></b><p> <body text="000000"> Время: 18:47:08</body></p><p> <body text="000000"> Дата: 13.03.2015</body></p></body></body></html>

AT+CIPSEND=0,407
AT+CIPSEND=1,407
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<html> <head> <meta content="text/html; charset=Windows-1251"http-equiv="content-type" /><title>test page</title></head><body><p><b><body bgcolor="FFF000"><font color="FF0000"> Системные данные: </font></b><p> <body text="000000"> Время: 18:49:24</body></p><p> <body text="000000"> Дата: 13.03.2015</body></p></body></body></html>

AT+GMR
AT+CIPSEND=2,115
AT+GMR
AT+CIPSEND=0,115
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<0><0><0><0><0><0><0>
AT version:0.21.0.0
SDK version:0.9.5<0>AT+CIPSEND=0,407
AT+GMR
AT+CIPSEND=1,115
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<0><0><0><0><0><0><0>
AT version:0.21.0.0
SDK version:0.9.5<0>AT+GMR
AT+CIPSEND=1,115
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<0><0><0><0><0><0><0>busy s...

SEND OK
0,CLOSED
<0><0><0><0><0><0><0><0><0>AT+CIPSEND=0,407
AT+CIPSEND=0,407
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<html> <head> <meta content="text/html; charset=Windows-1251"http-equiv="content-type" /><title>test page</title></head><body><p><b><body bgcolor="FFF000"><font color="FF0000"> Системные данные: </font></b><p> <body text="000000"> Время: 18:53:59</body></p><p> <body text="000000"> Дата: 13.03.2015</body></p></body></body></html>

AT+CWMODE=2
AT+CWSAP="JPsystems","ххххххх",10,4
AT+CIPMODE=0

AT+CWMODE=2
AT+CWSAP="JPsystems","ххххххх",10,4
AT+CIPMODE=0

AT+CIPMUX=1
AT+CIPSERVER=1,5555
AT+CIPSEND=0,407
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<html> <head> <meta content="text/html; charset=Windows-1251"http-equiv="content-type" /><title>test page</title></head><body><p><b><body bgcolor="FFF000"><font color="FF0000"> Системные данные: </font></b><p> <body text="000000"> Время: 19:00:20</body></p><p> <body text="000000"> Дата: 13.03.2015</body></p></body></body></html>

AT+CIPSEND=0,407
AT+CIPSEND=0,407
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<html> <head> <meta content="text/html; charset=Windows-1251"http-equiv="content-type" /><title>test page</title></head><body><p><b><body bgcolor="FFF000"><font color="FF0000"> Системные данные: </font></b><p> <body text="000000"> Время: 19:01:23</body></p><p> <body text="000000"> Дата: 13.03.2015</body></p></body></body></html>

AT+GMR
AT+CIPSEND=0,115
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<0><0><0><0><0><0><0>busy s...

SEND OK
<0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0>AT+GMR
AT+CIPSEND=0,115
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<0><0><0><0><0><0><0>busy s...

SEND OK
<0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0>AT+GMR
AT+CIPSEND=0,115
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<0><0><0><0><0><0><0>busy s...

SEND OK
<0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0>AT+CWMODE=2
AT+CWSAP="JPsystems","ххххххх",10,4
AT+CIPMODE=0

AT+CIPMUX=1
AT+CIPSERVER=1,5555
AT+GMR
AT+CIPSEND=0,115
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<0><0><0><0><0><0><0>
AT version:0.21.0.0
SDK version:0.9.5<0>AT+CIPSEND=0,407
AT+GMR
AT+CIPSEND=0,115
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<0><0><0><0><0><0><0>
AT version:0.21.0.0
SDK version:0.9.5<0>AT+GMR
AT+CIPSEND=0,115
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<0><0><0><0><0><0><0>busy s...

SEND OK
<0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0>AT+CIPSEND=1,407
AT+CWMODE=2
AT+CWSAP="JPsystems","хххххххх",10,4
AT+CIPMODE=0

AT+CIPMUX=1
AT+CIPSERVER=1,5555
AT+CIPSEND=0,407
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<html> <head> <meta content="text/html; charset=Windows-1251"http-equiv="content-type" /><title>test page</title></head><body><p><b><body bgcolor="FFF000"><font color="FF0000"> Системные данные: </font></b><p> <body text="000000"> Время: 19:13:18</body></p><p> <body text="000000"> Дата: 13.03.2015</body></p></body></body></html>

AT+CIPSEND=0,407
AT+CIPSEND=0,407
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<html> <head> <meta content="text/html; charset=Windows-1251"http-equiv="content-type" /><title>test page</title></head><body><p><b><body bgcolor="FFF000"><font color="FF0000"> Системные данные: </font></b><p> <body text="000000"> Время: 19:14:36</body></p><p> <body text="000000"> Дата: 13.03.2015</body></p></body></body></html>

AT+GMR
AT+CIPSEND=0,115
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<0><0><0><0><0><0><0>busy s...

SEND OK
<0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0>AT+GMR
AT+CIPSEND=0,115
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<0><0><0><0><0><0><0>busy s...

SEND OK
<0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0>AT+GMR
AT+CIPSEND=0,115
HTTP/1.0 200 OK
Content-Type: text/html; charset=windows-1251

<0><0><0><0><0><0><0>busy s...

SEND OK
<0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0>

По логу видно как тупит модуль ...
Блин даже не может отдать по команде версию прошивки )))) пишет "бас эс...."
 

Вложения

Сверху Снизу