Датчики которые могут работать в этом проекте:
Датчик температуры и влажности с экраном THB1: https://alii.pub/76in89?erid=2SDnjehChA4 Корректно работает.
Датчик температуры и влажности без экрана THB2: https://alii.pub/76inal?erid=2SDnjdkMVDE Корректно работает. Есть еще вариант такой: https://alii.pub/76inb6?erid=2SDnjbz4gFN но про него не знаю, но он дешевле.
Датчик температуры и влажности с экраном THB3: https://alii.pub/76indi?erid=2SDnjdsmm6t Корректно работает.
Датчик температуры и влажности без экрана BTH01: https://alii.pub/76io72?erid=2SDnjeLWZWU Говорят что работает не корректно, даже на tuya прошивке “кушает” сильно батарейку, которой будет хватать всего где-то на пол года работы.
Датчик температуры и влажности с экраном TH05: https://alii.pub/76iodo?erid=2SDnjcRLALU Говорят что работает не корректно, даже на tuya прошивке “кушает” сильно батарейку, которой будет хватать всего где-то на пол года работы.
Датчик температуры и влажности с экраном TH05F: https://alii.pub/76ioff?erid=2SDnje1FPor Корректно работает.
Датчик температуры и влажности с экраном TH04: https://alii.pub/76ioij?erid=2SDnjdfytdJ Корректно работает.
Введение:
У Tuya датчиков температуры и влажности работающих по Bluetooth довольно много. Выше я привёл целых 7 разных вариантов. И да, они действительно все разные и прошивка нужна для них разная.
Эти датчики все работают с умным домом Tuya или smart life. Bluetooth в Tuya работает через сопряжение и устройство перехватить уже не получится, оно имеет ключ шифрования.
Но с Tuya использовать эти датчики весьма неудобно, особенно, если Вы используете Home Assistant как и я. Home Assistant в свою очередь может работать с Bluetooth. Но напрямую датчики туя без перепрошивки в Home Assistant не завести. Так как надо узнать ключ шифрования, подружить HA и датчик… Универсальной инструкции по добавлению этих датчиков просто так, нет.
Но если перепрошить эти датчики в прошивку под контроллеры PHY622x2. Которая научит эти датчики отправлять показания по протоколу BTHome. А BTHome уже отлично дружит с Home Assistant. И таким образом мы их и добавим в HA.
Вот об этом в этой статье Вам и расскажу.
BTHome – это энергоэффективный, но гибкий формат BLE для устройств, транслирующих данные датчиков и нажатия кнопок. Устройства могут работать более года от одной батареи. Он позволяет шифровать данные и поддерживается популярными платформами домашней автоматизации, такими как Home Assistant , из коробки.
Альтернативная прошивка для датчиков BLE Tuya на чипах PHY622x2:
Существует проект от pvvx – который наши любимые датчики xiaomi ble “распотрошил” и сделал классные прошивки для них (в том числе и Zigbee).
И вот у него есть проект под названием THB2. В этом проекте собраны 8 датчиков температуры разных для умного дома Tuya, работающих по BLE, на которые я ссылки выше оставил. И для них сделана для каждого прошивка, которая позволяет научить такой датчик вещать данные по Bluetooth по протоколу BTHome v2.
Так-же в этом проекте еще собраны заводские прошивки для этих датчиков. На случай, если захотите вернуться обратно в умный дом Tuya (smart life).
Прошивка датчиков происходит в 2 этапа.
- Сначала загружается прошивка через usb/ttl программатор https://alii.pub/76ipca?erid=2SDnjeLavma в датчик (к сожалению по воздуху нельзя сразу перепрошиться, нужно поработать с паяльником). Эта прошивка промежуточная, она потом даст возможность загружать прошивки по OTA (по воздуху).
- Ну а второй этап, это как раз загрузка прошивки полноценной, которая даст возможность работать по BTHome датчику по OTA (по воздуху) через web интерфейс: https://pvvx.github.io/THB2/web/PHY62x2BTHome.html
У меня в арсенале было 3 датчика. Это датчик THB2, BTH01 и TH05_v1.4. Все эти датчики я перепрошил путём припаивания контактов к плате (пришлось разбирать каждый датчик), и подключения к usb/ttl конвертору.
Табличка для подключения проводов к датчикам выглядит вот так:
Adapter | Device |
---|---|
GND | -Vbat |
+3.3V | +Vbat |
TX | RX or RX1 |
RX | TX or TX1 |
RTS or DTR | RESET or REST_N |
Обратите внимание на пин RESET. Этот пин нужно замкнуть на землю или на Vbat -, потом запускать скрипт перепрошивки (о котором напишу позже). И как только скрипт начнёт выполняться, нужно отомкнуть RESET пин. Тогда пойдёт прошивка.
Для троих датчиков, которые я разобрал и припаялся, я могу прислать схемы подключения:
THB2:
BTH01:
TH05:
Красным я тут написал пины, к которым подключать датчик к USB/ttl конвертору.
Единственное это пин RST, я его на схеме стрелочкой показал с каким пином замыкать во время начала прошивки.
Остальные датчики будут прошиваться точно так-же, пины только размещены будут наверняка в разных местах.
Первая прошивка датчика:
Первая перепрошивка делается на компьютере с помощью Python скрипта. По этому Вам нужно сначала установить python на компьютер. Я вам покажу пример перепрошивки на компьютере windows.
Открываем powershell с правами администратора.
Скачиваем проект https://github.com/pvvx/THB2/archive/refs/heads/master.zip разархивируем его и кладём куда-то. Я положил в корень диска C:\.
В Powersheell переходим в эту папку:
cd C:\THB2-master
Далее установим недостающий компонент для python, который называется pyserial – он устанавливается вот такой командой:
pip3 install -r requirements.txt
Далее сама перепрошивка выполняется следующей командой:
python3 rdwr_phy62x2.py -p COM11 -e -r wh BOOT_XXX_vXX.hex
Где COM11 ЭТО ком порт к которому подключен usb/ttl конвертор и датчик. А BOOT_XXX_vXX.hex это название прошивки в формате .hex для датчика.
Для каждого датчика прошивка своя, по этому надо внимательно её выбирать, она лежит тут-же в папке bin, её нужно на католог выше поднять, положить туда же, где вы сейчас находитесь в powershell.
Ну и полная команда прошивки датчика THB2 у меня выглядит вот так:
python3 rdwr_phy62x2.py -p COM9 -e -r wh BOOT_THB2_v21.hex
Причем напоминаю, что перед тем как эту команду ввести, нужно замкнуть RESET на GND (-vbat) и запустить скрипт, после запуска, отпустить RESET и прошивка пойдёт дальше.
Прошивка датчика по воздуху (OTA):
После перепрошивки, теперь можем уже нормально прошить по OTA прошивку через web интерфейс: https://pvvx.github.io/THB2/web/PHY62x2BTHome.html
Я перепрошивал с телефона, так как должен быть работающий блютуз. А у меня web интерфейс почему-то не дружит с bluetooth на ноутбуке.
В общем переходим на страницу перепрошивки:
Далее нажимаем кнопку connect и ищем свой датчик, он должен иметь название THB2_mac адрес.
Когда вы приконнектитесь, в web интерфейсе начнёт показывать температуру и влажность. Далее нажимаем вкладку OTA, там будет кнопка с выбором прошивки. Нажимаем её и нажимаем start, для перепрошивки устройства.
Поздравляю, после окончания перепрошивки, Ваш датчик начнёт работать в BTHome и сразу же найдётся в Home Assistant:
Причем он еще принесёт нам дополнительную фишку в виде “датчика открытия двери”.
И можно геркончик подпаять к пину TX1 датчика любого и при замыкании и размыкании этот сенсор будет срабатывать. Может кому-то пригодится.
Так-же одновременно с BTHome интеграцией в Home Assistant. датчик прилетает и в интеграцию BLE Passive monitor. там так-же все отлично работает.
На скрине геркона еще нет, но он появился чуть позже.
Вывод:
В этой статье вы научились перепрошивать датчики температуры tuya работающие по Bluetooth. На мой взгляд мы получили полезные датчики из бесполезных.
Ценник на них весьма хороший, по этому можно брать и перепрошивать. А если учесть, что без экранные питаются от батареек типа AAA, а значит вполне могут работать на морозах, то можем из них сделать уличные датчики.
В дальнейшем я еще пару фишек покажу с этими датчиками. Вообще pvvx сделал очень много фишек всяких с bluetooth датчиками, в том числе и xiaomi. И пару “фишек” из его проектов я планирую показать и описать.