# THB2 Custom firmware for Tuya [THB2](https://pvvx.github.io/THB2). * Проект в начальной стадии разработки, до появления функционального OTA. В плане проекта предусматривается дальнейшая поддержка BTH01 и [TH-05](https://pvvx.github.io/TH-05). Прошивка V0.3 для THB2 (файл TestTHB2.hex). Всё, кроме OTA работает стабильно. ## Основные характеристики: * Интервал BLE рекламы в формате BTHome v2 составляет 5 секунд. * Опрос датчика влажности и температуры производится каждый второй интервал BLE рекламы - период составляет 10 секунд. * Измерение напряжения батареи производится каждые 3 минуты. * Кнопка используется для быстрого подключения со старыми адаптерами. Нажатие кнопки переключает интервал 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 -r wh TestTHB2.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 или Keil. Для работы в Eclipce используете импорт проекта и установите toolchain.path. Дополнительная информация по чипам [PHY62xx](https://github.com/pvvx/PHY62x2).