• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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.
Думаю что проблема решена - спасибо!
 
Сверху Снизу