pvvx
Активный участник сообщества
Ещё много надо написать, до первого релиза...Как доказательство
Ещё много надо написать, до первого релиза...Как доказательство
Web и делается для конфигурирования, передачи информации и управления датчиками. Любое устройство управления требует запись логов и статистики. Например любой ADC. Сервер и будет делать логирование и сборку статистики за год, к примеру с шагом в усредненных показаний за 30 минут и показ её в графическом виде. Предполагается логирование и сбор статистики с не менее 16 датчиков. А типы датчиков и прочее подключаются библиотеками, а не кодом. Примерно такие наброски только на одно направление, зачем нужен web Есть и другие варианты.Ну мне кажется, что web-сервер сам по-себе - тупиковая ветка,точно также как всякие франкенштейны, xboot-ы и т.п. Все это дело можно (и должно) использовать исключительно для конфигурирования, а сами полезности (управление реле, лампочками и т.д.) надо реализовывать в нативном коде.
Я её не пользую и не тестировал новую espcon досконально. Но там добавили несколько переменных, описывающих каждый открытый сокет. Памяти для пользования стало меньшеC новой liblwip.a из SDKv0.9.4 перестал работать esphttpd, отображает пустые страницы, с 0.9.3 все нормально Ох уж эти китайцы.
Используйте recon_cb как discon_cb. Это аналогичные вызовы. Один происходит по закрытию соединения без ошибок, а второй, когда закрытие с ошибками. Ну не совсем с ошибками, а например когда соединение закрывается со стороны клиента. Это событие espconn не понимает (основная причина её зависаний по таймеру и лазанию в чужие соединения pcb) и в исправленной версии теперь сразу вызывает recon_cb c ошибкой -11 (потеря pcb, т.к. Lwip уже сам закрыл соединение и удалил pcb, выдав FIN+ACK. У них трактуется как #define ESPCONN_CONN -11 /* Not connected. */).Что-то в новом SDK v0.9.4 LWIP вообще сломали, событие discon_cb 1 раз вызывается и дальше ступор, даже событие connect_cb перестает работать, капец.
pvvx не смотрел что там намесили и как подправить?
P.S. Уже увидел правки на странице ранее, правда даже с ними раза 2-3 данные отправляются, а потом ступор.
У меня ESP8266 с этим кодом не соединяется с базой. Надо глядеть...задаются все настройки, далее с периодичностью в N сек. на TCP-сервер отправляется строка, пару раз она отправляется, потом вечный recon_cb.
А там нет никакой базы, на ПК нужно запустить TCP-сервер и все, в user_config.h задать его адрес и порт.У меня ESP8266 с этим кодом не соединяется с базой. Надо глядеть...
Там в настройках WiFi задан режим подключения модуля к AP. Автоконнекта не задано и т.д....А там нет никакой базы, на ПК нужно запустить TCP-сервер и все, в user_config.h задать его адрес и порт.
Они только для tcp сервера и то с натягом. Для tcp клиента исправить невозможно. Espconn не хранит данных, по которым можно узнать, с кем было соединение. Имеются только remote ip и port = 0, а желательно меть и локальный порт и ip, для получения указателя в lwip на есть или нет соединение. Допиленный на данный случай liblwip_cor.a v3 https://yadi.sk/d/euTtL5qUda4Bm , а то дети используют его для клиента. Вставлена проверка на remote ip | port == 0 - при этом оставляет espconn страдать самой.все равно фигня полная, что с lwip_sdk094_v1.zip, что с lwip_sdk094_v2.zip,
Смотрел и дал им ещё. Там ещё много неописанных и не привязанных структур и enum. Скоро народная версия SDK будет круче, чем у Espressif.0.9.5b не смотрел? По крайней мере, мою ошибку с
wifi_station_get_connect_status() исправили.
В настоящее время, видимо, это самый лучший выход из сложившейся ситуации.Скоро народная версия SDK будет круче, чем у Espressif.