diff --git a/README.md b/README.md index 1f122fe..98e3a8c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -# BTHome THB1, THB2, BTH01, TH05(HW: v1.3..1.6), TH05F +# BTHome THB1, THB2, BTH01, TH05(HW: v1.3..1.6), TH05F + Custom firmware for Tuya devices on the PHY622x2 chipset | [THB1](https://pvvx.github.io/THB1) | [THB2](https://pvvx.github.io/THB2) | [BTH01](https://pvvx.github.io/BTH01/) | [TH05_V1.3](https://pvvx.github.io/TH05-v1.3) | [TH05_V1.4](https://pvvx.github.io/TH-05) | [TH05F](https://pvvx.github.io/TH05F) | |:---:|:---:|:---:|:---:|:---:|:---:| @@ -6,7 +7,7 @@ Custom firmware for Tuya devices on the PHY622x2 chipset * Программа для настройки и BLE OTA [PHY62x2BTHome.html](https://pvvx.github.io/THB2/web/PHY62x2BTHome.html) -## Прошивки Boot и APP: +## Прошивки Boot и APP * Прошивка [Boot](https://github.com/pvvx/THB2?tab=readme-ov-file#fw-boot-%D0%B8-ota) имеет минимум функций. Boot используются только для выполнения OTA - для загрузки полнофункциональной версии APP (Application - файлы *.bin). * Внешне отличить тип устройства возможно по символу смайлика на экране. @@ -20,7 +21,7 @@ Custom firmware for Tuya devices on the PHY622x2 chipset | [TH05_V1.3](https://pvvx.github.io/TH05-v1.3) | BOOT_TH05D_v14.hex | TH05D_v14.bin | RSH-TH05-V1.3 с чипом BL55072 | | [TH05F](https://pvvx.github.io/TH05F) | BOOT_TH05F_v14.hex | TH05F_v14.bin | TH05Y_V1.1, TH05Y_V1.2 с чипом QD01 2332 NT | -## Основные характеристики: +## Основные характеристики ! _При настройках по умолчанию_ ! @@ -35,7 +36,7 @@ Custom firmware for Tuya devices on the PHY622x2 chipset * Обработка входного контакта со счетчиком для передаваемых событий [Open/Close](https://github.com/pvvx/THB2/issues/10#issuecomment-1935169274) * Обработка выходного контакта переключаемого по устанавливаемой температуре и/или влажности с гистерезисом -## История версий: +## История версий | N | Описание | |---|--- | @@ -45,7 +46,7 @@ Custom firmware for Tuya devices on the PHY622x2 chipset | 1.3 | Добавлен THB1 и TH05V1.3. Следующий этап уменьшения потребления для версий с LCD дисплеем и опция отключения дисплея. | | 1.4 | Стабилизация соединения для всех вариантов устройств. Добавлен [TH05F](https://pvvx.github.io/TH05F). Коррекция хода RTC. Изменено BLE имя для TH05_V1.3 на "TH05D" | -## Прошивка: +## Прошивка Прошить устройство програмой Boot-OTA возможно через USB-COM адаптер с выходами на 3.3В: @@ -59,14 +60,31 @@ Custom firmware for Tuya devices on the PHY622x2 chipset | RX | TX1 | | RTS | RESET | +Если на адаптере отсутствует RST пин, во время запуска скрипта следует подключить RESET пин до GND (вомзожно потребуется несколько попыток) + Название контактов на устройстве смотреть в описании по ссылкам: [THB1](https://pvvx.github.io/THB1), [THB2](https://pvvx.github.io/THB2), [BTH01](https://pvvx.github.io/BTH01/), [TH05_V1.3](https://pvvx.github.io/TH05-v1.3), [TH05_V1.4](https://pvvx.github.io/TH-05) -2. Запустить: +2. Установить python3 и необходимые библиотеки + +```txt +pip3 install -r requirements.txt ``` + +3. Запустить: + +```txt python3 rdwr_phy62x2.py -p COM11 -e -r wh BOOT_xxx_vxx.hex ``` -3. Прошивка Boot-OTA завершена. Устройство работает. -4. Далее загружаем полную версию по OTA в [PHY62x2BTHome.html](https://pvvx.github.io/THB2/web/PHY62x2BTHome.html). + +4. Прошивка Boot-OTA завершена. Устройство работает. Адаптер можно отсоединить. + +5. Загружаем полную версию прошивки по OTA. Для этого: + 1. Подаем питание на датчик (устройство). + 2. Переходим на [PHY62x2BTHome.html](https://pvvx.github.io/THB2/web/PHY62x2BTHome.html). + 3. Жмем кнопку `Cоединение`, ищем устройство, подключаемся. + 4. После подключение переходим на вкладку `OTA`, выбираем необходимую прошивку и жмем `Старт`. + +6. Устройство должно перезагрузиться и быть готово для использования. Дополнительно: @@ -74,23 +92,27 @@ python3 rdwr_phy62x2.py -p COM11 -e -r wh BOOT_xxx_vxx.hex * Для предварительного стирания рабочей области 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. Прошивка зашита. Устройство работает. @@ -114,7 +136,7 @@ python3 rdwr_phy62x2.py -p COM11 -b 1000000 -r we 0 ff_thb2.bin Поддерживаемые функции и сервисы описываются включенными битами в 32-х битном поле `dev_id.services`. -`FW Boot` запускается по старту, и если не нажата кнопка, проверяет есть или нет запись `FW APP`. Если есть – запускает `FW APP`. Если кнопка при старте нажата - запускается `FW Boot`. +`FW Boot` запускается по старту, и если не нажата кнопка, проверяет есть или нет запись `FW APP`. Если есть – запускает `FW APP`. Если кнопка при старте нажата - запускается `FW Boot`. При соединении указывается: @@ -128,8 +150,8 @@ _Software:_ **B**x.x - значит работает `FW Boot` Принудительно перезагрузиться в `FW Boot` из `FW APP` возможно двумя способами: -1. Отключить питание и удерживая кнопку включить питание. -2. Подать команду `7233` в меню `Service` программы PHY62x2BTHome.html и отключить соединение. +1. Отключить питание и удерживая кнопку включить питание. +2. Подать команду `7233` в меню `Service` программы PHY62x2BTHome.html и отключить соединение. Полная перезагрузка - Подать команду `7201` в меню `Service` программы PHY62x2BTHome.html и отключить соединение. @@ -138,7 +160,7 @@ _Software:_ **B**x.x - значит работает `FW Boot` ``` python3 rdwr_phy62x2.py -p COM11 -e wh ./bin/BOOT_TH05V13_v13.hex python3 rdwr_phy62x2.py -p COM11 -r we 0x10000 ./bin/TH05V13_v13.bin -``` +``` ## Событие Open/Close и счет импульсов @@ -150,17 +172,18 @@ python3 rdwr_phy62x2.py -p COM11 -r we 0x10000 ./bin/TH05V13_v13.bin При замыкании или размыкании передается блок из 5 BLE реклам следующих друг за другом через период в 50 мс. -При каждом событии "Open" прибавляется счетчик. +При каждом событии "Open" прибавляется счетчик. Значение счетчика передается совместно с каждым событием "Open/Close". Входной контакт на плате термометра: + * На [THB1](https://pvvx.github.io/THB1) - маркирован как `RX` * На [THB2](https://pvvx.github.io/THB2) - маркирован как `RX` * На [BTH01](https://pvvx.github.io/BTH01/) - маркирован как `RX2` * На [TH05_V1.3](https://pvvx.github.io/TH05-v1.3) - маркирован как `RX0` * На [TH05_V1.4](https://pvvx.github.io/TH-05) - маркирован как `RX2` - + ![image](https://github.com/pvvx/THB2/assets/12629515/09f6f810-f2e2-4b61-9c84-f7c3770bb76a) ## Вывод управления внешним устройством по температуре и/или влажности @@ -171,13 +194,14 @@ python3 rdwr_phy62x2.py -p COM11 -r we 0x10000 ./bin/TH05V13_v13.bin Настройка производится в PHY62x2BTHome.html. Работа выхода назначается с помощью установки значения гистерезиса: + * Если значение гистерезиса равно нулю - переключений не будет. * Если значение гистерезиса больше нуля - переключение (включение) произойдет при значении ниже уставка + гистерезис. * Если значение гистерезиса меньше нуля - переключение (включение) произойдет при значении выше уставка + гистерезис. --- -## Сборка прошивки. +## Сборка прошивки Для сборки прошивки используется GNU Arm Embedded Toolchain. diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..d4d1f9b --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +pyserial \ No newline at end of file