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

UART->WiFi Почему так медленно?

SSP123

New member
Подключил ESP-12F к UART на скорости 115200 (она такая по умолчанию). Шлю куски данных по 2048 байт (больше за раз нельзя, как я понял). Между отправкой куска 2048 байт, до того, как ESP скажет "SEND OK" проходит почти секунда (!!!) Так и должно быть? Если слать следующие 2048 байт раньше этой "почти секунды", то ESP говорит, что он "BUSY". Как так, что я делаю не так, куда рыть? Прошивку не менял (version 0.40.0.0 Aug 8 2015 SDK 1.3.0).

Пробовал включать ESP и как сервер, и как клиент - результат один и тот же. Данные не теряются по дороге, хоть на этом спасибо, но почему так медленно, как снизить эту задержку?
 

yron

Member
Подключил ESP-12F к UART на скорости 115200 (она такая по умолчанию). Шлю куски данных по 2048 байт (больше за раз нельзя, как я понял). Между отправкой куска 2048 байт, до того, как ESP скажет "SEND OK" проходит почти секунда (!!!) Так и должно быть? Если слать следующие 2048 байт раньше этой "почти секунды", то ESP говорит, что он "BUSY". Как так, что я делаю не так, куда рыть? Прошивку не менял (version 0.40.0.0 Aug 8 2015 SDK 1.3.0).

Пробовал включать ESP и как сервер, и как клиент - результат один и тот же. Данные не теряются по дороге, хоть на этом спасибо, но почему так медленно, как снизить эту задержку?
Попробуй другие прошивки , у меня на NodeMcu если не ошибаюсь отсылает по 10-20кб без потерь за раз.
 

SSP123

New member
Попробуй другие прошивки , у меня на NodeMcu если не ошибаюсь отсылает по 10-20кб без потерь за раз.
Спасибо, я только начал разбираться, но сразу понял, что NodeMcu мне не надо. У меня задача - прогонять большие объемы данных через UART -> WiFi на максимально возможной скорости. А эта прошивка, как я понял, такого максимума скорости не дает. Рулить ADC, PWM и GPIO на этом чипе мне не надо. Попробую прошивку TCP2UART, о результатах по скорости передачи обязательно отпишусь.

Вообще странно, на этом форуме скорость передачи людей интересует как-то слабо. Или все уже давно все поняли? Тогда в FAQ вынесли бы, что-ли.
 

pvvx

Активный участник сообщества

SSP123

New member
Через пару-тройку дней я заимею USB <-> UART и сам все пойму, конечно. Ну... Наверное. Наверное пойму.

А вы, pvxx, кокаин все время употребляете, или только утром?
 

SSP123

New member
Круто. Ну и чего мне ждать, от Вашей прошивки? Ведь интересно же знать заранее, да и полезно?

Скольколько тактов esp8266, работающим на частоте 80 МГц, проходит между последним байтом посылки из UART и готовностью ESP принять новую посылку? Шучу, просто на вскидку скажите - не томите.
 

pvvx

Активный участник сообщества
Круто. Ну и чего мне ждать, от Вашей прошивки? Ведь интересно же знать заранее, да и полезно?

Скольколько тактов esp8266, работающим на частоте 80 МГц, проходит между последним байтом посылки из UART и готовностью ESP принять новую посылку? Шучу, просто на вскидку скажите - не томите.
Вечность. Она у всех разная. У вас с кокаиновая... :)
Вы вопрос задали - на него и отвечено, что в FAQ и темы про "скорость передачи" есть, а прошивки тут не при чем.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Вечность - это вообще хер пойми чего. Я не хочу даже обсуждать "кокаиновую вечность". Так как там с байтами, хотя бы примерно?
Как в Modbus - если пауза на приеме в 2.5 байта, то передача блока. Если непрерывный поток, то одно из ограничений - отсылка по сколько влезет в размер MTU блока сети или по времени ~50 ms, если скорость UART совсем низкая (за эти 50 ms не набирается пакет TCP).
Вопросы у вас неопределенные, несформированные. Понятия "скорости" расплывчаты.
После приема последнего стоп бита от байта по UART, с выше описанными условиями, "скорость" доставки пакета зависит от роутера и приемного компа - порядок от сотни мкс.

И WiFi не является надежным каналом – всегда есть дырки в передаче в зависимости от загрузки эфира другими устройствами и помехами, по этому передача непрерывного потока c UART без учета RTS/CTS сигналов невозможна. При лучших летных погодных условиях для выделенного частного роутера для ESP8266 в лесу, можно добиться непрерывной полу-дуплексной передачи в 3 Мбит/с, а дуплекса к 1 Мбит/сек, если не оптимизировать передачи по блокам.

Т.ч. бытовое, кухонное понятие “скорости” для передачи UART-WiFi-... определяется “кокаиновой вечностью” и не подлежит переводу на понятия “телепузиков”. Соответственно каждый “телепузик” и создает тему – “какая скорость у UART-WiFi-… ?”
 
Последнее редактирование:

SSP123

New member
Т.ч. бытовое, кухонное понятие “скорости” для передачи UART-WiFi-... определяется “кокаиновой вечностью” и не подлежит переводу на понятия “телепузиков”. Соответственно каждый “телепузик” и создает тему – “какая скорость у UART-WiFi-… ?”
Да нормальный вопрос, и для телепузика тоже нормальный и вполне ожидаемый. Понятия скорости - самые обычные. Со входа ясно, что скажем скорость UART совсем не соответствует скорости передачи по Wi-Fi + TCP. По UART, к примеру, скорость 115200, а "по Wi-Fi" выходит от силы 3000 кбпс, при режиме AT и размере блока 2048 байт. Видно, что есть некая "мгновенная" скорость и некая "долговременная", причем "долговременная" меньше на порядки. Но вы, тем не менее, ответили на этот телепузичный вопрос вполне нормально, спасибо :) Отпишусь, что получится у меня на счет скорости, с временными диаграммами, если, конечно, ума хватит перепрошить вашей прошивкой этот ESP ;)
 
Сверху Снизу