Low cost BLE Advertisements Repeater into Zigbee 3.0 on TLRS825x
Используется модуль TB-03F-KIT или TB-04-KIT ($3)
Альтернативное исполнение на модуле TB-03F (~$1.5):
- Программа для настройки BLE BLE2Zigbee.html
- Начальное программирование модуля
- Файлы прошивки и Zigbee OTA
- Прием BLE рекламы до 3-х термометров-гигрометров и перевод показаний в виде конечного устройства Zigbee.
- Рекламные объявления BLE принимаются 99.5% времени: опрос Zigbee происходит 16 мс каждые 4 секунды. Это обеспечивает минимальные потери приема от BLE устройств.
- Zigbee устройство использует 3 endpoint. По одному для каждого BLE термометра-гигрометра.
- Zigbee TX +10 дБм, BLE TX +0 дБм (BLE используется только для настройки).
- Поддержка Zigbee OTA.
- Поддержка рекламных BLE форматов Xiaomi(Mi-Home), Qingping, BTHome v2, Custom.
- Поддержка вариантов зашифрованной рекламы BLE с помощью bindkey.
- Среднее потребление при работе модуля TB-03F-KIT от USB (5V): 10 мА
- Подключите запрограммированный модуль к питанию
- Загрузите BLE2Zigbee.html
- На 1 секунду нажмите кнопку с надписью “PROG”. Это действие переключит модуль на работу в режим ожидания подключения по BLE. Время ожидания BLE подключения до 80 секунд.
- В BLE2Zigbee.html произведите подключение к BLE устройству “B2Z-xxxxxx”.
- Введите MAC термометров и по необходимости используемые BindKey.
- Проследите, что данные принимаются:
- Закройте BLE2Zigbee.html.
- Включите режим сопряжения на Zigbee координаторе или роутере.
- Нажмите и удерживайте кнопку на модуле с надписью “PROG” в течении 8 секунд. Это действие сбросит привязки и настройки Zigbee.
- Проследите сопряжение кластеров температуры, влажности и батареи. Установите желаемые значения для “Report”.
- Красный цвет светодиода – прием от 1-го термометра
- Зеленый цвет светодиода – прием от 2-го термометра
- Синий цвет светодиода – прием от 3-го термометра
- Светится постоянно, если сопряжения нет
- Мигает 7 раз при сопряжении
- Мигает по команде “Identify”
- Коротко мигает при ожидании BLE подключения
Endpoint | Cluster | Attribute | NN BLE device |
---|---|---|---|
1 | 0x0001 Power Configuration | 0x0020 BatteryVoltage | 1 |
1 | 0x0001 Power Configuration | 0x0021 BatteryPercentageRemaining | 1 |
1 | 0x0402 Temperature Measurement | 0x0000 MeasuredValue | 1 |
1 | 0x0405 Relative Humidity Measurement | 0x0000 MeasuredValue | 1 |
2 | 0x0001 Power Configuration | 0x0020 BatteryVoltage | 2 |
2 | 0x0001 Power Configuration | 0x0021 BatteryPercentageRemaining | 2 |
2 | 0x0402 Temperature Measurement | 0x0000 MeasuredValue | 2 |
2 | 0x0405 Relative Humidity Measurement | 0x0000 MeasuredValue | 2 |
3 | 0x0001 Power Configuration | 0x0020 BatteryVoltage | 3 |
3 | 0x0001 Power Configuration | 0x0021 BatteryPercentageRemaining | 3 |
3 | 0x0402 Temperature Measurement | 0x0000 MeasuredValue | 3 |
3 | 0x0405 Relative Humidity Measurement | 0x0000 MeasuredValue | 3 |
- Если используется менее 3-х BLE термометров-гигрометров или термометр-гигрометр не передает какой параметр, тогда нет необходимости связывать данные кластеры в Zigbee координаторе.
- Если протокол BLE рекламы (Xiaomi, Qingping) термометра не предусматривает передачу напряжения батареи, тогда при приеме процентов заряда в напряжение батареи подставляется значение 3.0В.
- ZHA не умеет принимать 3 батарейки. Т.е. не имеет полной поддержки Zigbee 3.0, как пишет в совей рекламе.
Name | Tmin | Tmax | Change |
---|---|---|---|
BatteryVoltage | 360 sec | 3600 sec | 0 |
BatteryPercentageRemaining | 360 sec | 3600 sec | 0 |
Temperature Measurement | 30 sec | 180 sec | 10 (0.1 C) |
Relative Humidity Measurement | 30 sec | 180 sec | 50 (0.5 %) |
- Xiaomi термометры-гигрометры используют большой интервал передачи данных, длительностями в десятки минут. Для исключения лишних дублирующих точек на графиках желательно устанавливать соответствующие (кратные) интервалы в Zigbee репорт.