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

Проблема с подтверждением принятия данных "SEND OK"

Nosaer

New member
Связка ESP8266 + МК. Работает в качестве своего рода беспроводного передатчика данных между неким прибором и ПК.
Связка МК+ESP8266 обмен по AT командам
Обмен с ПК происходит по UDP
ESP8266 настроена как (Station+AP)

Если отправлять данные по такому алгоритму, то все прекрасно работает:
- Отправлю AT+CIPSEND=255
- Получаю "Ok >"
- Отправляю за раз все 255 байт
- Получаю "Recv 255 + Send Ok"
- Данные на ПК пришли
Если массив данных отправлять не за раз, а с небольшими паузами. т.е.:
- Отправил AT+CIPSEND=255
- Получаю "Ok >"
- И по мере того как приходят данные с другого устройства отправляю те же 255 байт с небольшими паузами в ESP
В таком случае "Recv 255 + Send Ok" уже не приходят

Пробовал тоже самое провернуть с помощью CIPSENDEX. Если отправлять все сразу, то передача прерывается при оптравке "\0"
Если данные отправлять постепенно, то ESP игнорирует "\0" и опять никакие "Recv 255 + Send Ok" я не получаю.

Задержки не такие большие. т.е. если за раз все 255 байт я передаю за 1мС, то те же 255 байт с так скажем задержками передаются за 2-2,5 мС.

Возможно кто то сталкивался с подобным и знает как решить проблему!?

То что залито в ESP:
AT version:1.1.0.0(May 11 2016 18:09:56)
SDK version:1.5.4(baaeaebb)
Ai-Thinker Technology Co. Ltd.
Jun 13 2016 11:29:20
 
Сверху Снизу