Прошивка CC2530 через ESP32 и настройка Aqara Bulb в HomeAssistant через Zigbee2mqtt

  • Цена: $4.50
  • Устал ждать поддержку Aqara bulb в HomeAssistant через Xiaomi gateway — настроил через Zigbee2mqtt. Обзор из серии «Смотрите, что я сделал по инструкции».

    Прошивка CC2530 через ESP32 и настройка Aqara Bulb в HomeAssistant через Zigbee2mqtt

    Серьезно, быстро не нашел ПРОСТОЙ инструкции, как прошить CC2530 без cc debugger (через обычный USB-to-TTL не прошивается). Описанное ниже делается за 30 мин и сразу все работает.

    Итак, в наличии сам CC2530, ESP32 и Raspberry 3B. Опционально USB-to-TTL. Ну и проводки, 7шт.

    (Актуально для любого ARM одноплатника например OrangePi)

    Прошивка сс2530

    Шаги ниже сделаны согласно инструкциям с myzigbee.ru — проверено на Win10.

    Качаем некий VLK DIY Multi Flasher. Вообще прога — обертка над esptool и задумывалась для прошивки ZESP — эдакий шлюз-координатор с WebUI, крутящийся на ESP32 — но мы будем ставить Zigbee2mqtt, очень уж он дружит с HomeAssistant.

    Качаем Zigbee2mqtt прошу для CC2530. Я выбрал стабильную Stack 1.2 source_routing с поддержкой zigbee хабов.

    Качаем дрова для ESP32 и ставим.

    Соединяем выводы есп32 и сс2530 по таблице:

    Прошивка CC2530 через ESP32 и настройка Aqara Bulb в HomeAssistant через Zigbee2mqtt

    Подключаем к компу ESP32 к компу.

    VLK DIY Multi Flasher находит ESP — скажем на COM4. Переходим на вкладку ZESP.

    Прошивка CC2530 через ESP32 и настройка Aqara Bulb в HomeAssistant через Zigbee2mqtt

    Нажимаем Erase chip.

    Кнопка… — выбираем CC2530ZNP-Prod.hex прошивку.

    Нажимаем Write Full flash.

    Все — CC2530 прошит — ESP32 больше не нужна!

    Подключение CC2530 к малинке

    Все отсоединяем и присоединяем к малинке. Можно напрямую на пины малинки, но тогда надо выключить UART и пропадет BT. У меня есть простой USB-to-TTL — соединю через него (если надо — дополню про прямое соединение).

    Подключаем USB-to-TTL в малинку — появится ttyUSB0. Наконец-то закончили с железом.

    
    
    raspberrypi:~ $ ls -l /dev/ttyUSB0
    crw-rw---- 1 root dialout 188, 0 Dec 8 11:57 /dev/ttyUSB0

    Настройка софта на малинке

    HomeAssistant/HASSIO был поставлен в докере согласно www.home-assistant.io/hassio/installation/#alternative-install-on-a-generic-linux-host

    В малинке нам нужен HomeAssistant/HASSIO и Mosquitto. Последнего можно ставить пакетом, а можно плагином для HASSIO. Я ставил пакетом:

    
    
    raspberrypi:~ $ sudo apt-get install -y mosquitto mosquitto-clients

    Открываем HomeAssistant, Настройки — Интеграции — Добавить — MQTT. Смотрим на собственный IP, порт 1883, ставим галку «Разрешить автодобавление устройств».

    Прошивка CC2530 через ESP32 и настройка Aqara Bulb в HomeAssistant через Zigbee2mqtt

    Шаги ниже сделаны согласно инструкциям с www.zigbee2mqtt.io

    Открываем HomeAssistant, Hass.io — вкладка ADD-ON STORE — добавляем репу github.com/danielwelch/hassio-zigbee2mqtt

    В списке находим Zigbee2mqtt — ставим.

    Прошивка CC2530 через ESP32 и настройка Aqara Bulb в HomeAssistant через Zigbee2mqtt

    Вкладка Dashboard — выбираем Zigbee2mqtt. Ниже в json конфиге меняем

    
    
    "permit_join": true
    "server": "свой IP"
    "port": "/dev/ttyUSB0"

    Прошивка CC2530 через ESP32 и настройка Aqara Bulb в HomeAssistant через Zigbee2mqtt

    Перезагружаем add-on — в логах в самом низу страницы видим строчки

    
    
    zigbee2mqtt:warn 2019-12-08T19:54:46: Allowing new devices to join. (новый конфиг подхватился)
    zigbee2mqtt:info 2019-12-08T19:54:46: Connected to MQTT server (MQTT подхватился)

    Наконец переходим к лампе — сбрасываем настройки — 5 раз включить/выключить с задержкой в 1сек — лампа пропульсирует. Сразу же в логах Zigbee2mqtt видим строчку:

    
    
    zigbee2mqtt:info 2019-12-08T19:54:46: 0x00158d0002d6f384 (0x00158d0002d6f384): ZNLDP12LM - Xiaomi Aqara smart LED bulb device has successfully been paired.

    Т.о. благодаря permit_join=true у Zigbee2mqtt новые устройства пускаются в сеть. А благодаря галке «Разрешить автодобавление устройств» у MQTT — HomeAssistant сам создаст устройство на основании первого MQTT сообщения от Zigbee2mqtt.

    Профит

    Переходим на /states — вот ты какая, лампа Акарыча:

    Прошивка CC2530 через ESP32 и настройка Aqara Bulb в HomeAssistant через Zigbee2mqtt

    Всё пока!

Оцените статью