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

Непонятные тормоза

=AK=

New member
Работаю с прошивкой АТ 0.60 с сайта esp8266.ru. При запуске создаю station+AP, запускаю TCP/IP сервер. После этого самодельным HTTP сервером обрабатываю запросы от браузеров.

Поначалу нет разницы откуда приходят запросы, то ли от браузера мобильника, который подключен к esp8266 как к AP (адрес 192.168.4.1), то ли от браузера РС через локальную сеть (для конкретности, адрес у esp8266 сейчас получился 192.168.1.103).

Однако если минут 15 не посылать к никаких запросов, то появляется разница. Запросы от мобильника через AP все так же обрабабатываются нормально. А запросы от РС - тормозят: первый запрос обрабатывается секунд 30, а последующие опять начинают обрабатываться быстро. Из-за чего такое может быть?
 

=AK=

New member
У меня работает связка esp8266 + PIC24. Вот на PIC-е и реализован маленький самодельный HTTP-сервер.
 

NutsXXXL

New member
@=AK=Капитан Очевидность говорит что может и программа в PIC глючить
а он там и собо не нужен ESP сама поднимет любой сервер...
 

=AK=

New member
Капитан очевидность говорит что запросы, приходящие от ESP, можно прослушивать при помощи последовательного порта. Поэтому я независимо от PIC вижу, когда что приходит. Так вот, от мобильника запросы приходят сразу, а от РС после паузы - тормозят или вообще не приходят, браузер показывает, что не может законнектиться, тайм-аут.

Ну а про то, что ESP что-то еще может, я догадываюсь. И если не использую, то имею на то свои резоны. В частности, не хочу быть навсгда привязанным к ESP. Есть и другие модули с АТ командами, пусть не точно такими же, но достаточно схожими, чтобы можно было на них без особых проблем перейти.

Отзывы о ESP в сети есть разные. Кому-то нравится, кто-то жалуется на неизбывную глюкавость, причем можно только гадать, насколько серьезно обосновано то или иное мнение. Пока что складывается впечатление, что ESP нравится в основном любителям. Посмотрю, как пойдет. Не смогу побороть глюки - буду использовать другой модуль.
 
Последнее редактирование:

NutsXXXL

New member
@=AK= ну чтож все резонно. мы тут вообще к z80 подключаем правда все в режиме клиента..
для кастования верховного шамана может стоит все таки подробнее расписать какими путями идет подключение в обоих вариантах..
в порядке бреда (теста) посоветую поменять at прошивку на более старую или на новейшую 1.0 если память позволяет...
 
Последнее редактирование:

=AK=

New member
Чтение док иногда помогает... Написано, что сервер самопроизвольно закрывает соединения, когда по ним ничего не идет. Поэтому, говорят китайцы, надо раз в 5 секунд прокидывать через соединение какую-нибудь лабуду, чтобы держать его открытым. Что, в общем-то, бред изрядный, ведь я же сервер - какого хрена я буду кидать браузеру невесть что? Да и кому кидать неясно до тех пор пока никто не обратился. Бродкастить, что ли?
 

goodwin

Member
Чтение док иногда помогает... Написано, что сервер самопроизвольно закрывает соединения, когда по ним ничего не идет. Поэтому, говорят китайцы, надо раз в 5 секунд прокидывать через соединение какую-нибудь лабуду, чтобы держать его открытым. Что, в общем-то, бред изрядный, ведь я же сервер - какого хрена я буду кидать браузеру невесть что? Да и кому кидать неясно до тех пор пока никто не обратился. Бродкастить, что ли?
Алексей, я так понял, что вы используете DHCP для получения IP адреса в локальной подсетке? Попробуйте периодически пинговать IP адрес gateway ("AT+PING"). Возможно это позволит поддерживать IP и WiFi в активном состоянии...
 

=AK=

New member
Проблема решилась просто: стал закрывать соединение со стороны ESP. То есть, получаю запрос от браузера, обрабатываю, посылаю ответ и сразу же закрываю это соединение. Так стало работать очень стабильно. На всякий случай еще и в HTTP заголовке ответа тоже говорю, что соединение close, чтобы у браузера не было иллюзий, ибо в заголовке запроса я получаю, что соединение keep-alive. Не знаю, влияет ли это на что бы то ни было, но так логичнее.
 
Сверху Снизу