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

Помогите подобрать версию среды

Osya

New member
Здравствуйте.
Пишу прошивку для датчика на батарейках и заметил, что вот эта часть кода :
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(200);
}
скомпилированная в Arduino IDE 1.6.22 + ядро 2.3.0 исполняется более чем в два раза быстрее, чем скомпилированная на связке Arduino IDE 1.8.9 + ядро 2.6.0.
А с ядрами версии 2.5 вообще глючит.
Для автономного питания отработать и уснуть за 2 секунды или за 5, разница есть.
Подскажите, какие версии оптимально использовать ?
Почему новые версии ядра более медленные ?
Сложно понять что в них нового, т.к. по-моему с 2.4.0 Change Log кильнули..
 

pvvx

Активный участник сообщества
Попробуйте разные роутеры и под разной нагрузкой и получите более серьезные различия.
Уточнение возможно получить только при сотнях тестов с разными временами пауз между соединениями и прочих условий. Одиночный замер ни о чем не говорит.
Максимальная скорость подключения STA будет к выделенной упрощенной AP (к другой ESP в режиме AP)...
На форуме давно есть примеры всех необходимых замеров для тестов для Arduino...
У Arduino вроде есть свои форумы - там у её создателей и спрашивайте что изменили и в какой версии...
 

Osya

New member
Для тестов я использовал голую ESP-12f, без обвеса датчиков, один и тот же роутер и простейший код, в котором только подключение к Wi-Fi.
Фактически единственное что менялось - это версия поддержки esp8266 в Arduino IDE, и такая разница...
Тестов делал с десяток на разных версиях. Возвращаю к 2.3.0 , и стабильно быстрое соединение.
 

pvvx

Активный участник сообщества
Всё это десятки раз описано, но раскидано по форуму.
В краце: Если ESP не попадает в Beacon AP со своими запросами и временем переключения контекста задач в Linux у роутера, то задержка в 1..2 мс непопадания выливается в +- 700 мс.

Для вашего случая давно сделали BLE чипы. Время активности при передаче с подтверждением приема 20 байт инфы, не включая идентификаторы MAC и т.д. составляет 5 мс со средним потреблением к 3..6 мА c тремя-пятью импульсами в десятки мкс на 15..17 мА. Время работы всего 5 типовых мс из которых 1..2 мс - это полное просыпание чипа из 1..2 мкА режима ожидания события. Опрос датчика по прерыванию с чтением десятка байт пусть по I2С выливается в импульс 2..3 мА на 2 мс. Это при повышенной отдаче в антенну (+10 дБ), при которой дальность и качество связи перебивает WiFi ESP...
 
Сверху Снизу