• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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>

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

Вложения

Сверху Снизу