• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Прошивка TCP2UART переходника с настройкой по Web

Midnight

New member
Там ожидание набора до размера буфера стоит в 50 ms.
Вот у меня и выходит, что-то около того: дельта времени между отправленным пакетом от клиента и принятым клиентом от устройства около 60мс. Хотя тут у меня, если честно, сомнения есть. Когда я вместо устройства запустил скрипт, который эмулирует микроконтроллер и сразу на запрос клиента шлёт ответ - такой задержки не было(хотя пробовал я один раз, может чего не того увидел:) ). Вот я и не знаю, где собака зарыта, т.к. с другой стороны по проводу никаких заминок не наблюдалось...

50мс, т.е. если через 50мс ничего не приходит, буфер уходит по wifi и точно также в обратную сторону - по usart'y?
1. Я могу самостоятельно поэкспериментировать с данной паузой, а где именно не подскажите:)?
2. У меня на stm контроль принимаемых байт сделан через таймер, можно и через спец регистр uart'a. Вы не пробовали, как по modbus rtu контроль тишины на 3,5 символа сделать?

P.S. ни в коем разе не берусь что-то советовать, просто интересуюсь.
 

pvvx

Активный участник сообщества
Вот у меня и выходит, что-то около того: дельта времени между отправленным пакетом от клиента и принятым клиентом от устройства около 60мс. Хотя тут у меня, если честно, сомнения есть. Когда я вместо устройства запустил скрипт, который эмулирует микроконтроллер и сразу на запрос клиента шлёт ответ - такой задержки не было(хотя пробовал я один раз, может чего не того увидел:) ). Вот я и не знаю, где собака зарыта, т.к. с другой стороны по проводу никаких заминок не наблюдалось...

50мс, т.е. если через 50мс ничего не приходит, буфер уходит по wifi и точно также в обратную сторону - по usart'y?
1. Я могу самостоятельно поэкспериментировать с данной паузой, а где именно не подскажите:)?
2. У меня на stm контроль принимаемых байт сделан через таймер, можно и через спец регистр uart'a. Вы не пробовали, как по modbus rtu контроль тишины на 3,5 символа сделать?

P.S. ни в коем разе не берусь что-то советовать, просто интересуюсь.
При отправке одного блока TCP задержка у приемной стороны равны 200ms. Т.е. если, к примеру, мы передает 10 раздельных байт, то они придут через 2 сек, с паузами между подтверждениями пакетов в 200 ms. Можно передать их быстрее, но если последний пакет одиночный в окне стека, то будет пауза на его подтверждение от приемника в 200ms. Такова реализация TCP стека от Микрософт и стоит на многих устройствах (особенно windows, но есть программное переключение - зависит от автора ПО). Жалуйтесь им :)
 

oleg_777

New member
Уважаемый автор прошивки, молю вас очень сильно, можете ли вы данную паузу сделать настраиваемоей в web интерфейсе. Боюсь я с компиляцией не справлюсь. Готов заплатить деньги. Просто мне позарез нужна минимальная задержка в моих устройствах, да и другим таким как я тоже. Можно сделать ее в диапазоне 10-200 мс.

Если вы это сделаете я просто молиться на вас буду.

П.С. В своих программах я применяю TCP_NODELAY к драйверу.
 

pvvx

Активный участник сообщества
Уважаемый автор прошивки, молю вас очень сильно, можете ли вы данную паузу сделать настраиваемоей в web интерфейсе. Боюсь я с компиляцией не справлюсь. Готов заплатить деньги. Просто мне позарез нужна минимальная задержка в моих устройствах, да и другим таким как я тоже. Можно сделать ее в диапазоне 10-200 мс.

Если вы это сделаете я просто молиться на вас буду.

П.С. В своих программах я применяю TCP_NODELAY к драйверу.
Исходники для прошивки без задержки уже недавно положены в гит... c VERSION "0.5.8"
Комменты по данному поводу, начиная с этого соо:
http://esp8266.ru/forum/threads/raz...o-webservera-na-esp8266.56/page-66#post-15549
И далее:
Новая версия алго в TCP2UART уже в git. При скорости 1 мегабит у меня не выставляет RTS/CTS - успевает и так. При 3 Mегабита - только когда поток в две стороны, то не появляется RTS/CTS, но дырки есть - тоже какие-то китай задержки периодически происходят и ломают равномерность.
Все паузы наборов буферов выкинуты. Передает как приходит блок по UART - сразу после обнаружения паузы в 3 символа (при более 19200 - 1 ms, и так до 500000, потом аппаратного счетчика не хватает и пауза уменьшатся в пропорции от скорости UART). Если байты передаются типа постоянно по одному с паузами, то тут уж ничего не поделать и разбивка на пакеты убивается, но попытки это сделать остаются. Иначе не уложиться в трафик TCP.

Вот данные по скорости, при:

C компа по TCP передается 1 символ и он выходит на UART ESP и принимается обратно (включен LoopBack - к выходу TX подключен RX) и отсылается обратно на комп:

Соединение через свисток USB-WiFi
(название "Wi-Pi") в компе к AP ESP8266, прошивка TCP2UART v0.5.8, скорость 930232 Buad, LoopBack enable: On, :
LoopBackAP.gif
Транзакция: 1.8..5.2 ms, средняя к 2 ms.

Соединение через роутер на LAN
(название "ASUS RT-N56U") c AP, ESP8266 станция и подключена к общей сети, прошивка TCP2UART v0.5.8, скорость 930232 Buad, LoopBack enable: On, :
LoopBackST.gif
Транзакция: 1.3..3.2 ms, средняя к 2 ms.

Время передачи символа по UART плюс примерно ~500us (при 920600) на анализ паузы = 10/930232 + 0.0005 = 0.000511 сек. Время передачи Комп-WiFi-ESP (и обратно ESP-WiFi-Комп) = (2 - 0.000511)/2 = около 1 ms.

С десятого раза только сосчитал и поправил... :)
 
Последнее редактирование:

pvvx

Активный участник сообщества
А где тот git? Я похоже чего то пропустил.
Первое соо темы или в первом соо Разработка ‘библиотеки’ малого webсервера на esp8266.
Все пути ведут туда. Готовых полных прошивок v0.5.8 пока нет, т.к. новый алго не оттестирован до конца и пока нет времени и желания делать "предрелиз" с готовым fullflash - старый для данной темы проверен и работает... Транслируйте исходники.
 
Последнее редактирование:

Alex

Member
Первое соо темы или в первом соо Разработка ‘библиотеки’ малого webсервера на esp8266.
Все пути ведут туда. Готовых полных прошивок v0.5.8 пока нет, т.к. новый алго не оттестирован до конца и пока нет времени и желания делать "предрелиз" с готовым fullflash - старый для данной темы проверен и работает... Транслируйте исходники.
Это то я знаю. Но там последняя активность недельной давности. А Вы в понедельник писали что еще не выкладывали. Тут я и "заблудился" :)
 

pvvx

Активный участник сообщества
Это то я знаю. Но там последняя активность недельной давности. А Вы в понедельник писали что еще не выкладывали. Тут я и "заблудился" :)
esp8266web/user_config.h at master · pvvx/esp8266web · GitHub [HASHTAG]#define[/HASHTAG] SYS_VERSION "0.5.8"
----------
Значит не там обновил. Счас будет "0.5.9" ...
 

pvvx

Активный участник сообщества
Заодно и здесь стоило бы, а то там до сих пор 0.5.7а и 4 коммита.
На то у меня сил сегодня не хватит. Слишком много активных проектов, разных процессоров и прочего (не в гит по ESP, а тут у меня дома в отладке) и уже заблудился в них. Я там такого нагорожу... :) Лимит на сегодня с MCU/CPU/DSP и прочим написанием под них исчерпан...
 

Alex

Member
А можно попросить какой нибудь пример работы с SPI slave. Можно под IRAMSDK. А то от всего что есть крыша потекла.
 

pvvx

Активный участник сообщества
А можно попросить какой нибудь пример работы с SPI slave. Можно под IRAMSDK. А то от всего что есть крыша потекла.
В этом точно запутаетесь RamWorldHSPI.zip: RamWorldHSPI.zip но это отлаживал: Подключение датчиков типа 10-DOF - акселерометр, гироскоп, магнитометр, температура, давление...
а другого пока нет.
 

oleg_777

New member
Спасибо огромное, вы меня просто спасли. А пауза в 3 символа это вообще прелесть. Все буду ждать полную прошивку.

Но лучше отдохните, а то другого такого классного профи, нам не найти. ;)
 
Последнее редактирование:

shaman1010

Member
Сегодня возился со скомпиленной прошивкой, и случайно отловил TCP2UART connection от 120.227.254.63:1
Это китайцы.... ОПС...

p.s. хотя, похоже, какой-то баг. При обновлении WEBFiles.bin и до перезагрузки модуля появляются фантомные соединения.
 
Последнее редактирование:

TheEvilGenius

New member
На 0.59 сбрасываются настройки tcp uart. Получается указать только порт.
Зы. В чем отличие Modbus и tcp2uart?
На 0.54а мост между двумя есп образуется только если одна ST+AP, а другая ST. При этом, через некоторое время происходит разрыв. Модуль 01, все ноги подтянуты к 3.3в через 10 ком резисторы
 
Последнее редактирование:

pvvx

Активный участник сообщества
На 0.59 сбрасываются настройки tcp uart. Получается указать только порт.
Перепутаны данные дисков в тех прошивках. Вроде исправил - закинул новые.
Зы. В чем отличие Modbus и tcp2uart?
В предназначении. Одно для tcp2uart, второе для modbus rs-485 :)
На 0.54а мост между двумя есп образуется только если одна ST+AP, а другая ST. При этом, через некоторое время происходит разрыв. Модуль 01, все ноги подтянуты к 3.3в через 10 ком резисторы
Мало данных - что и куда разрывается, да когда?
 

shaman1010

Member
Перепутаны данные дисков в тех прошивках. Вроде исправил - закинул новые.
Вроде-б то 0.5.9 270216 вчера закидывал. Там фантомные подключения на TCP2UART светятся. На гите тоже 3 дня ничего не менялось. Подключения остаются не только при обновлении WEB интерфейса, но и при открытии/закрытии соединения. Периодически, то дублируется IP:порт из WEB подключения, то изменяются то на китай, то на domru.ru. Что-то там лишнее втисалось.
059.png
059_2.png
 
Последнее редактирование:

pvvx

Активный участник сообщества
Вроде-б то 0.5.9 270216 вчера закидывал. Там фантомные подключения на TCP2UART светятся. На гите тоже 3 дня ничего не менялось.
Ну перепутаны были данные для дисков и прошивки. А что там из этого каши выйдет - не знаю. Если ещё прошивать разные сами прошивки (tcp2uart/modbus), но не стирать область сохранения настроек, то тоже каша будет.
 

shaman1010

Member
Ну перепутаны были данные для дисков и прошивки. А что там из этого каши выйдет - не знаю. Если ещё прошивать разные сами прошивки (tcp2uart/modbus), но не стирать область сохранения настроек, то тоже каша будет.
Там точно были перепутаны веб интерфейсы в фуллфлешах.
Т.е. сегодня стоит перекачать? (просто светится, что 3 дня там ничего не менялось, отсюда и вопрос)
 
Сверху Снизу