Вообще существуют разработки для ARM типа "микро база данных"Поддержка какой-нибудь СУБД
Возможностей у ESP + SD вполне достаточно для поддержки чего-нибудь типа sqlite
Вообще существуют разработки для ARM типа "микро база данных"Поддержка какой-нибудь СУБД
Неа. Нет либ на ESP8266 с полной поддержкой даже FAT32 на SD или они занимают все ресурсы.Вообще существуют разработки для ARM типа "микро база данных"
Возможностей у ESP + SD вполне достаточно для поддержки чего-нибудь типа sqlite
Пора бы уже вопрошающим переходить на Arduino. Там уже написали примитивы для web и прочей обвязки к ESP...Вот инструкцию для чайников написал, буду рад помощи в организации обратной связи от Ардуины в ESP
WiFi Розетка на ESP8266 + Arduino | www.voltrans.az
Наверняка не открыт порт 80. "Операторы" ныне мутят, скидывая это на то, что типа вас защищают брендмауэром и ... на самом деле висит какой односторонний NAT с перекинутыми (на другие нужды) основными ходовыми портами... Пробуйте переадресацию внешнего порта в 80-ый или смените у самого сервера...Используемые порты открыты у оператора.
Кроме как изменить размер TCP_MSS и всяких PPP_MTU на -50 байт в lwipopts.h и перетранслировать проект вариантов нет. Всё остальное, если Station ESP у вас не отваливается от присутствия рядом других WiFi устройств - это обычно неправильные внешние настройки или проблемы операторов, дающих вам инет... Fix IP со всеми портами стоит денех, и бесплатно ныне не бывает.Читал форум (может, что и упустил), пробовал увеличить задержки с 5 до 15 секунд, пробовал разных операторов 3G, оптика, менял порты местами, MTU 1400, результат, один и тот же, uart работает, веб нет. Если есть возможность и идеи, подскажите, что еще можно посмотреть?
Видимо не полностью перенес-доделал последние обновления с RTL871x, там как раз было переписано вокруг да около закрытия соединений (были выловлены редкие ошибки вызовов в разной последовательности при множественных закрытиях пачки соединений)...Нашел проблему при работе TCP2UART в режиме TCPClient.
Проблема с callback tcpsrv_error в следующем:
1) При неудачном соединении, вызывается tcpsrv_client_reconnect
2) Затем вызывается tcp_abandon, что приводит к ошибке "Connection aborted"; // ERR_ABRT -8
3) В tcpsrv_error ловится эта ошибка и вызывается tcpsrv_client_reconnect, что приводит к рекурсии
4) Все виснет и перезагружается
Исправить можно так:
в tcpsrv_error изменить условие
if (ts_conn->state != SRVCONN_CLOSEWAIT)
на
if ((ts_conn->state != SRVCONN_CLOSEWAIT)&& (err != -8))
И все начинает работать верно, с ожиданием 5 сек на переподключение.
Да, действительно, ошибка ERR_ABRT может возникнуть не только в tcpsrv_client_reconnect, поэтому лучше сбросить collback, а при повторном коннекте в tcpsrv_client_connect, он присвоится обратно.Проще наверно исправить так:
tcp_err(pcb, NULL);
Много не понятного в вопросах...Пытаюсь разобраться с вебсокетами. К примеру, клиент отправляет запрос с именем переменной. Она парсится,вызывается соответствующая функция и результат помещается в поток. Но. Если я правильно понимаю, данные передаются фреймами.
Что за "коллбек" или зачем он?В проекте есть соответствующая функция -websock_tx_frame. Но используется только в служебных целях при чтении данных и при закрытии соединения. Я так же не нашел, чтобы она использовалась в качестве коллбека.
Бинарные данные всегда как есть, текстовые - так-же.Т.е. данные, помещенные в исходящий буфер, передаются "как есть", без всякой обработки? Такая работа с вебсокетами допустима?
Какую?Еще вопрос. Если необходимо, чтобы сервер инициировал обмен, нужно явно вызывать эту функцию?
Никакого сырого вида. Всё само из буфера вывода упакуется в пакеты. Буфер после вывода проверяется на размер данных и это выводится.Вопросы у меня появились, когда я не смог найти вызов функции websock_tx_frame при отправке данных. Т.е. данные отправляются в сыром виде, без формирования фрейма.
Чем и зачем тормозить собрались?Насчет запросно-ответного режима - он и планируется, просто ответ может быть с задержкой до нескольких секунд.
RX на gnd, отключение в меню.Почему при перезагрузке модуля все настройки сбрасываются на дефолтные, гдето читал, не могу найти...иными словами как сбросить настройки малого вебсервера на дефолтные?
С чего Вы взяли, что не читается?не читается символ "@"
Да.в релизе 0.6.4 есть опция PROGECT_NUMBER 1. (MODBUS TCP to RTU) Чудесно компилируется и шьётся.
по части MODBUS TCP даже работает, RTU не проверял. Этот проект в данном релизе поддерживается?
Тут ошибка в объяснении. Задержка чтения строки кода в "кэш" не сверх большая и не влияет на описанные вещи. Включение в прерывание "кэшируемых" функций работает, как прямое обращение по прерыванию в "кэшируемую" область. "Кэш" не работает когда идет запись или стирание в Flash. Flash занята. Хотя в процедуре записи или стирании Flash в коде стоит запрет прерываний и опустошение/отключение/включение "кэш", там не всё гладко... Контроллер прерываний не имеет "стека" и какие-то прерывания неизбежно будут пропущены... NMI вообще не маскируется...Обработчик прерывания не может размещаться в FLASH, поэтому и нет модификатора.
Так происходит и-зта того что флэш кэшируется и в какой то момент код обработчика прерываний может быть вытеснен из кэша. Когда возникает прерывание оно должно быть обработано немедленно и если в кэше этого кода нет - система упадет.
Учитывайте что во флэш не могут размещаться также и все функции вызываемые из обработчика прерываний.
web_int_callbacks.c: In function 'web_int_callback':
web_int_callbacks.c:497:7: error: implicit declaration of function 'tcp2uart_ajax_rx' [-Werror=implicit-function-declaration]
tcp2uart_ajax_rx(ts_conn, tmo);