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

Время отправки пакета в AT прошивке

IgorAVR2

New member
Добрый день.

Модулем, настроенном в режиме TCP клиента, командой AT+CIPSEND отправляю "пакеты" по 5 байт в терминальную программку на компьютере. В итоге время на отправку пакета, то есть до получения SEND OK, составляет около 200мс, то есть в секунду получается отправить только 5 "пакетов".

Действительно ли всё так плохо и чаще слать не получится?

Из постов уважаемого pvvx понял, что на его прошивке TCP2UART можно добиться скорости до 3 мбит. Но можно ли развить такие скорости на обычной AT прошивке?

Прошивка у меня: AT21SDK95-2015-01-24
 

pvvx

Активный участник сообщества
Модулем, настроенном в режиме TCP клиента, командой AT+CIPSEND отправляю "пакеты" по 5 байт в терминальную программку на компьютере. В итоге время на отправку пакета, то есть до получения SEND OK, составляет около 200мс, то есть в секунду получается отправить только 5 "пакетов".
Так работает TCP стек "в терминальной программке на компьютере". Шлите больше двух пакетов в 200 мс.
 

IgorAVR2

New member
Так работает TCP стек "в терминальной программке на компьютере". Шлите больше двух пакетов в 200 мс.
А разве можно слать до прихода SEND OK от первой отправки?
Конечная моя цель слать пакеты по 20 байт с частотой 60 герц.
 

IgorAVR2

New member
Попытался слать чаще, 10 раз в секунду, не дожидаясь прихода SEND OK, но ничего хорошего не вышло, т.к. в половине случаев на AT+CIPSEND пишет busy s... Вот лог:

AT+CIPSEND=7
OK
> Hello
AT+CIPSEND=7
busy s...

SEND OK
Hello ERROR
AT+CIPSEND=7
OK
> Hello
AT+CIPSEND=7
busy s...

SEND OK
Hello ERROR
AT+CIPSEND=7
OK
> Hello
AT+CIPSEND=7
busy s...
 

pvvx

Активный участник сообщества
Попытался слать чаще, 10 раз в секунду, не дожидаясь прихода SEND OK, но ничего хорошего не вышло, т.к. в половине случаев на AT+CIPSEND пишет busy s...
Вам AT прошивка для отсылки 20 байт 60 раз в секунду? Делайте это на чем другом.
 

IgorAVR2

New member
Вам AT прошивка для отсылки 20 байт 60 раз в секунду? Делайте это на чем другом.
Да, так и хотел. На ней не реально это? Чаще чем 5 раз в секунду возможно?
На чём нибудь другом - на чём? На другой прошивке этого модуля? Или же на другом модуле вообще, т.к. этот на большее не способен?
 

pvvx

Активный участник сообщества
Да, так и хотел. На ней не реально это? Чаще чем 5 раз в секунду возможно?
На чём нибудь другом - на чём? На другой прошивке этого модуля? Или же на другом модуле вообще, т.к. этот на большее не способен?
Ещё раз - причина не в модуле и AT, а в программе TCP стека на компе. Он так работает - если послан пакет, то комп подтверждает прием пакета только через 200 мс, ожидая прихода второго пакета. Если за это время на комп придет второй пакет, то он тут-же и ответит. Время прихода пакета при прямой связи обычно не более 3 мс...
Если соедините два модуля ESP8266, то задержки в 200 мс не будет.
Если вам всё это не нравится - обращаетесь в микрософт и к писателю вашей терминальной программы, который не переключил режим работы TCP стека в другой режим.
Эта тема уже многократно обсуждалась.
 
Последнее редактирование:

IgorAVR2

New member
pvvx, большое вам спасибо за внятные и доходчивые разъяснения. Про такой баг TCP стека от микрософта не знал.
Просто года три назад это же устройство делал на WizFi220 и таких проблем не помнил. Открыл старые исходники, посмотрел и оказалось что была передача через UDP. Значит и сейчас буду делать через UDP.
Думаю что проблема решена - спасибо!
 
Сверху Снизу