А кто такой "синий светодиод"? Модулей разновидностей много...А что с синим светодиодом на прошивке Version: 0.5.4. ?
Загрузка стала быстрее и/или выключили вывод отладки. Тогда он мигнет при старте очень быстро - всего 30 ms у него при старте на сотню символов и вывод отключается...Упс . Синий светодиод на ESP12 . Раньше загорался при старте модуля теперь молчит.
А он висит на GPIO1 - USART TX. Поставил инверсию TXD , светодиод заогрелся но стало гадить по UART. Фиг с ним , оставлю как есть...
Значит в HTM ошибки... не те переменные там фигурируют. Попозже проверю и исправлю.Я что-то упустил, или в сборку давно закрался баг?
Прошил модуль версией 0.5.6 (до этого пробовал 0.5.5 с гита) в настройках UARTа (/protect/uart.htm) изменяю скорость на 57600 - страничка обновляется, но в поле Baud остается 115273. При этом скорость изменяется на debug порту (protect/setup.htm, Debug UART BAUD). При этом там изменить скорость вообще не удается. Кроме того на /protect/uart.htm не работают чекбоксы RXD inverse:, TXD inverse: и некоторые другие. Прошил два модуля - симптомы одинаковые. Браузер тоже менял. Похоже где-то закрался небольшой сдвиг.
Не, не. Я на прошивку 0.5.4а накидывал web от 0.5.6 - все работает. Проблема именно в прошивке, что-то с переменными там случилось.Значит в HTM ошибки... не те переменные там фигурируют. Попозже проверю и исправлю.
Нашел уже, но надо перекомпилить и делать бинарники... в web_int_vars.c ошибка...Не, не. Я на прошивку 0.5.4а накидывал web от 0.5.6 - все работает. Проблема именно в прошивке, что-то с переменными там случилось.
Это зависит от многих факторов - как сложилась обработка TCP пакетов по времени относительно UART и размера "TCP окна" в стеке TCP, да распределения памяти под буфер. 28 килобайт - это не один буфер в памяти, т.к. размер буфера ограничен где-то до 12 килобайт в пике... Ранее я писал - оптимизации на ходу под скорости потоков и работе TCP стека не делается (у нас не крутой сервер с от 400 MHz CPU и мегобайтами памяти, а простой MCU ESP8266 и оптимизировать стек TCP и саму передачу/протокол на ходу, включая управление и оптимизацию пакетов у внешнего клиента за счет разных фичь это накладно). Пытайтесь сами в исходниках оптимизировать разные параметры для соединения под ваш поток. Или оптимизируйте передачу пакетов (стек TCP) по времени со стороны Андроида - перед посылкой большого блока дожидайтесь полного, а не частичного освобождения окна (WIN TCP) у ESP. Иначе передаваемый блок бьется на много мелких транзакций по TCP, которые идут долго ещё и по причине ограничения памяти под приемный буфер у ESP. Так-же может вклиниваться кавардак при потере пакета, что неизбежно в WiFi. Эту ситуацию тоже стоит грамотно обработать со стороны стека TCP Андорида, передающего большой пакет - тоже дождаться полного опустошения TCP WIN и только тогда продолжить передачу. Иначе неизбежны накладные расходы на не оптимальный прием/передачу в TCP. Поток в UART будет рваться, а TCP трафик при этом запредельный - более 1 Mбайта в сек гоняет одни заголовки пакетов...Пакет(28кб) доходит целый, не битый, но с микропаузами, что влияет на скорость заметно. у меня с 260кб/с падает на 140кб/с.
это я могу попробовать, но кажется потеря в скорости будет значительная. Мне пропихнуть бы 20мб меньше минуты, пока 80сек удается только, с дма в своем контроллере.перед посылкой большого блока дожидайтесь полного, а не частичного освобождения окна (WIN TCP)
Крейсерская скорость по TCP у ESP8266 за 1.1 Мегабайт в секунду. При работе с UART CPU загружен сильно работой с медленной шиной к UART регистрам и не выходит на крейсерскую скорость по TCP@pvvx Спасибо канеш за популярный ответ. Но с тсп стеком напрямую я никогда не работал, клиент реализован на готовом апи iOs. Так вот там ничего особо то и не поменяешь
это я могу попробовать, но кажется потеря в скорости будет значительная. Мне пропихнуть бы 20мб меньше минуты, пока 80сек удается только, с дма в своем контроллере.
Ну а вообщем, проблема довольно странная, я понимаю что в тсп там не все идеально и допускаю просадки, они как бы и так есть, но временные, иногда падает до 200кб/с но потом растет опять 260кб/с. Но если баг ловишь из поста выше, то скорость не возвращается даже при следующем сеансе, час два простоя, новые сеанс, а баг есть. Еще в добавок на esp03 нет ноги ресет, придется транзистор на питание ставить и дергать в случае чаво
А вы соединились к порту TCP2UART или задали внешнее подключение и там работает серверный порт?@pvvx, доброго времени суток. К модулю подключился, а что дальше? Я имею ввиду, в браузере пишет TCP2UART Connection: closed .
Порт 80 - это HTTP сервер. У него есть websocket, но он не связан с TCP2UART (в текущих реализациях - это только в планах и ещё не всё там решено для реализации такого варианта), а работает с переменными Web. Пример для работы с websocket дан в WebSocketTest\ws2.htm (архив прошивки) или в esp8266web/WebSocket at master · pvvx/esp8266web · GitHub. Данный websocket создан для написания HTML с работой с переменными через него, а через POST/GET/... Но страницы HTML, работающие с websocket вы должны описать сами. Для этого дана программа обновления диска web страниц...скрипт клиента находится на ноуте, который подключен к esp, делаю подключение на 192,168,4,1 порт 80 отправляю через сокет дату и тишина...Я сервер не включил на esp?
Спасибо, разобрался port tcp 12345 - нашёл. Кстати, подскажите, пожалуйста, почему при установке 921600бод/сек, автоматом скорость правится на 930232?А вы соединились к порту TCP2UART или задали внешнее подключение и там работает серверный порт?
Порт 80 - это HTTP сервер. У него есть websocket, но он не связан с TCP2UART (в текущих реализациях - это только в планах и ещё не всё там решено для реализации такого варианта), а работает с переменными Web. Пример для работы с websocket дан в WebSocketTest\ws2.htm (архив прошивки) или в esp8266web/WebSocket at master · pvvx/esp8266web · GitHub.
TCP2UART имеет свой порт.
По тому, что она реальная не 921600, а 930232. Таков делитель у UART в ESP и он отражается, чтобы вы знали отклонение. Поделите 80 000 000 на 921600 нацело и получите возможную. Дробного делителя или отдельной PLL для UART у ESP8266 нет.Спасибо, разобрался port tcp 12345 - нашёл. Кстати, подскажите, пожалуйста, почему при установке 921600бод/сек, автоматом скорость правится на 930232?
Скорость чего? Передачи одного символа? Там ожидание набора до размера буфера стоит в 50 ms. Иначе не оптимально и масса программ ещё хуже тормозит. У потока "задержки" практически нет. А оптимальный максимум 3 Мегабита в сек.@pvvx, подключил. Подскажите а какая скорость максимальная может быть? У меня выходит, что время между запросом и ответом на него порядка 80мс, что как то медленно. Для сравнения по проводу когда я передаю, там около 10мс. Понятно, что по проводу быстрее будет, но в 8 раз...как-то странно или это я опять где-то чего не углядел?
Спасибо