ESPHome 2026.1.0 оптимизирует использование памяти на ESP32/ESP8266, добавляет поддержку Zigbee на nRF52, роуминг Wi-Fi и многое другое

Прошивка с открытым исходным кодом ESPHome 2026.1.0 только что выпущена с новыми функциями, такими как автоматический роуминг Wi-Fi и поддержка Zigbee для платформ Nordic Semi nRF52, а также оптимизация памяти для аппаратного обеспечения ESP32/ESP8266, среди множества других изменений.

Другие значительные изменения включают обновления безопасности: проект заменил аутентификацию по паролю API на шифрование API и требует аутентификацию SHA256 для OTA-обновлений, улучшенную поддержку конфигураций с не-ASCII символами, а также обновления для платформ LibreTiny (BK72xx, RTL87xx, LN882x), которые получили потокобезопасный Wi-Fi, атомарные операции и поддержку глубокого сна.

ESPHome 2026 1.0 firmware release

Разработчики ESPHome ранее советовали пользователям не использовать ESP8266 не потому, что он не подходил для задачи, а потому что размер свободной кучи на ESP8266 регулярно опускался ниже 10 КБ, и устройства работали ненадёжно. Поскольку миллионы устройств на ESP8266 уже были развёрнуты в домах, было решено что-то с этим сделать. Проекту очень помогло увеличение поддержки со стороны Open Home Foundation , что позволило проекту иметь двух штатных разработчиков и более широкую базу внештатных контрибьюторов. После месяцев работы доступный размер кучи увеличился с менее чем 10 КБ до более чем 30 КБ в реалистичных конфигурациях на ESP8266. Работа также затронула чипы ESP32, ESP32-C3, ESP32-S2 и ESP32-S3, поскольку все они по умолчанию перешли на ESP-IDF (вместо Arduino), что обеспечило до 40% меньший размер бинарных файлов и в 2-3 раза более быструю компиляцию. Использование оперативной памяти на ESP32 также значительно снизилось благодаря ряду оптимизаций, а API с нулевым копированием позволяет передавать поток с камеры ESP32 с задержкой примерно на 10% ниже.

Автоматический роуминг Wi-Fi позволяет устройствам переключаться на лучшие точки доступа после подключения, решая проблему, когда устройства остаются подключёнными к другим точкам доступа (AP) после отключения питания или перезагрузки AP. Веб-сервер теперь использует имена сущностей напрямую в URL-адресах с кодировкой, исключающей конфликты, что устраняет проблемы, затрагивающие конфигурации с не-ASCII (UTF-8) символами, например, некорректное отображение китайских иероглифов. На веб-сервере также была включена компрессия Brotli для экономии памяти flash.

Что касается Zigbee на nRF52, отмечены следующие ключевые возможности:

  • Поддержка бинарных сенсоров – представление состояния GPIO через Zigbee
  • Поддержка сенсоров – представление сенсоров ESPHome через кластер Analog Input в Zigbee с автоматическим сопоставлением единиц измерения
  • Поддержка переключателей – управление переключателями ESPHome через Zigbee как бинарный выход
  • wipe_on_boot: once – Стирание сетевых настроек только при первой загрузке, сохранение подключений после OTA-обновлений
  • Поддержка версий фреймворка – Настройка версии nRF-SDK с экспериментальной поддержкой SDK 2.9.2 и 3.2.0

Новая поддержка оборудования включает:

  • Радар миллиметрового диапазона RD-03D (модуль Ai-Thinker RD-03D 24GHz миллиметрового диапазона) для одновременного отслеживания до 3 целей
  • BTHome MiThermometer для приёма данных от BLE-сенсоров Xiaomi Mijia с прошивкой PVVX в формате BTHome v2
  • Поддержка сенсора индекса качества воздуха (AQI) для расчёта индекса качества воздуха на основе показаний частиц PM; поддерживает как метод расчёта EPA AQI (США), так и CAQI (Европа).

Некоторые изменения потребуют правок в вашем YAML-файле конфигурации. Например, если использовалась аутентификация API по паролю:

api: password:

Теперь потребуется перейти на шифрование API:

api:
  encryption:
    key: !secret api_encryption_key

Если всё ещё необходимы компоненты Arduino, такие как heatpumpir или midea, потребуется задать type: arduino в конфигурации:

esp32:
  board: esp32dev
  framework:
    type: arduino  # Explicitly use Arduino if needed

Более подробная информация доступна в списке изменений .

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments