# BTHome THB2, BTH01, TH-05
Custom firmware for Tuya [THB2](https://pvvx.github.io/THB2) and [BTH01](https://pvvx.github.io/BTH01/). 

* Проект в начальной стадии разработки, до появления функционального OTA.

В плане проекта предусматривается дальнейшая поддержка [TH-05](https://pvvx.github.io/TH-05).

Прошивка для THB2 (файл THB2_v06.hex). 

Прошивка для BTH01 (файл BTH01_v06.hex). 

## Основные характеристики:

* Интервал BLE рекламы в формате BTHome v2 составляет 5 секунд.
* Опрос датчика влажности и температуры производится  каждый второй интервал BLE рекламы - период составляет 10 секунд.
* Измерение напряжения батареи производится каждую минуту.
* Кнопка используется для быстрого подключения к старым BT-адаптерам. Нажатие кнопки переключает интервал BLE рекламы на более короткий период. Действие продолжится 60 секунд, затем интервал восстановится.
* Измеренное среднее потребление от источника в 3.3В при сканировании термометра в пассивном режиме составляет до 7.9 мкА.

## Прошивка:

Прошить устройство возможно через USB-COM адаптер с выходами на 3.3В:

1. Соединить GND, TX, RX, RTS–RESET, VCC (+3.3B).
2. Запустить:
```
python3 rdwr_phy62x2.py -p COM11 -e -r wh THB2_v05.hex
```
3. Прошивка зашита. Устройство работает.

Дополнительно:

* Для предварительного стирания всей Flash используйте опцию `-a`.

* Для предварительного стирания рабочей области Flash используйте опцию `-e`.

## Сохранение оригинальной прошивки.

1. Соединить GND, TX, RX, RTS–RESET, VCC (+3.3B).
2. Запустить:
```
python3 rdwr_phy62x2.py -p COM11 -r rc 0x11000000 0x80000 ff_thb2.bin
```
3. Полученный файл ff_thb2.bin сохранить.

## Восстановление оригинальной прошивки.

1. Взять сохраненный файл ff_thb2.bin оригинальной прошивки.
2. Соединить GND, TX, RX, RTS–RESET, VCC (+3.3B).
3. Запустить:
```
python3 rdwr_phy62x2.py -p COM11 -b 1000000 -r we 0 ff_thb2.bin
```
Не все адаптеры USB-COM поддерживают 1Mbit. Тогда удалите опцию `-b 1000000` или выберите другой Baud rate.

4. Прошивка зашита. Устройство работает.


## Сборка прошивки.

Для сборки прошивки используется GNU Arm Embedded Toolchain.

Для работы в Eclipce используете импорт проекта и установите toolchain.path.

Дополнительная информация по чипам [PHY62xx](https://github.com/pvvx/PHY62x2). 
