Add requirements.txt. Update python script. Add README
This commit is contained in:
parent
05a7b1e727
commit
a7a3f1be79
3 changed files with 40 additions and 19 deletions
54
README.md
54
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
|
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) |
|
| [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)
|
* Программа для настройки и 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).
|
* Прошивка [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 |
|
| [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 |
|
| [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)
|
* Обработка входного контакта со счетчиком для передаваемых событий [Open/Close](https://github.com/pvvx/THB2/issues/10#issuecomment-1935169274)
|
||||||
* Обработка выходного контакта переключаемого по устанавливаемой температуре и/или влажности с гистерезисом
|
* Обработка выходного контакта переключаемого по устанавливаемой температуре и/или влажности с гистерезисом
|
||||||
|
|
||||||
## История версий:
|
## История версий
|
||||||
|
|
||||||
| N | Описание |
|
| N | Описание |
|
||||||
|---|--- |
|
|---|--- |
|
||||||
|
|
@ -45,7 +46,7 @@ Custom firmware for Tuya devices on the PHY622x2 chipset
|
||||||
| 1.3 | Добавлен THB1 и TH05V1.3. Следующий этап уменьшения потребления для версий с LCD дисплеем и опция отключения дисплея. |
|
| 1.3 | Добавлен THB1 и TH05V1.3. Следующий этап уменьшения потребления для версий с LCD дисплеем и опция отключения дисплея. |
|
||||||
| 1.4 | Стабилизация соединения для всех вариантов устройств. Добавлен [TH05F](https://pvvx.github.io/TH05F). Коррекция хода RTC. Изменено BLE имя для TH05_V1.3 на "TH05D" |
|
| 1.4 | Стабилизация соединения для всех вариантов устройств. Добавлен [TH05F](https://pvvx.github.io/TH05F). Коррекция хода RTC. Изменено BLE имя для TH05_V1.3 на "TH05D" |
|
||||||
|
|
||||||
## Прошивка:
|
## Прошивка
|
||||||
|
|
||||||
Прошить устройство програмой Boot-OTA возможно через USB-COM адаптер с выходами на 3.3В:
|
Прошить устройство програмой Boot-OTA возможно через USB-COM адаптер с выходами на 3.3В:
|
||||||
|
|
||||||
|
|
@ -59,14 +60,27 @@ Custom firmware for Tuya devices on the PHY622x2 chipset
|
||||||
| RX | TX1 |
|
| RX | TX1 |
|
||||||
| RTS | RESET |
|
| 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)
|
Название контактов на устройстве смотреть в описании по ссылкам: [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
|
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. Для этого переходим на [PHY62x2BTHome.html](https://pvvx.github.io/THB2/web/PHY62x2BTHome.html). Жмем кнопку `Cоединение`, ищем устройство, после подключение переходим на вкладку `OTA`, выбираем необходимую прошивку и жмем `Старт`
|
||||||
|
|
||||||
|
6. Устройство должно перезагрузиться и быть готово для использования.
|
||||||
|
|
||||||
Дополнительно:
|
Дополнительно:
|
||||||
|
|
||||||
|
|
@ -74,23 +88,27 @@ python3 rdwr_phy62x2.py -p COM11 -e -r wh BOOT_xxx_vxx.hex
|
||||||
|
|
||||||
* Для предварительного стирания рабочей области Flash используйте опцию `-e`.
|
* Для предварительного стирания рабочей области Flash используйте опцию `-e`.
|
||||||
|
|
||||||
## Сохранение оригинальной прошивки.
|
## Сохранение оригинальной прошивки
|
||||||
|
|
||||||
1. Соединить GND, TX, RX, RTS–RESET, VCC (+3.3B).
|
1. Соединить GND, TX, RX, RTS–RESET, VCC (+3.3B).
|
||||||
2. Запустить:
|
2. Запустить:
|
||||||
|
|
||||||
```
|
```
|
||||||
python3 rdwr_phy62x2.py -p COM11 -r rc 0x11000000 0x80000 ff_thb2.bin
|
python3 rdwr_phy62x2.py -p COM11 -r rc 0x11000000 0x80000 ff_thb2.bin
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Полученный файл ff_thb2.bin сохранить.
|
3. Полученный файл ff_thb2.bin сохранить.
|
||||||
|
|
||||||
## Восстановление оригинальной прошивки.
|
## Восстановление оригинальной прошивки
|
||||||
|
|
||||||
1. Взять сохраненный файл ff_thb2.bin оригинальной прошивки.
|
1. Взять сохраненный файл ff_thb2.bin оригинальной прошивки.
|
||||||
2. Соединить GND, TX, RX, RTS–RESET, VCC (+3.3B).
|
2. Соединить GND, TX, RX, RTS–RESET, VCC (+3.3B).
|
||||||
3. Запустить:
|
3. Запустить:
|
||||||
|
|
||||||
```
|
```
|
||||||
python3 rdwr_phy62x2.py -p COM11 -b 1000000 -r we 0 ff_thb2.bin
|
python3 rdwr_phy62x2.py -p COM11 -b 1000000 -r we 0 ff_thb2.bin
|
||||||
```
|
```
|
||||||
|
|
||||||
Не все адаптеры USB-COM поддерживают 1Mbit. Тогда удалите опцию `-b 1000000` или выберите другой Baud rate.
|
Не все адаптеры USB-COM поддерживают 1Mbit. Тогда удалите опцию `-b 1000000` или выберите другой Baud rate.
|
||||||
|
|
||||||
4. Прошивка зашита. Устройство работает.
|
4. Прошивка зашита. Устройство работает.
|
||||||
|
|
@ -114,7 +132,7 @@ python3 rdwr_phy62x2.py -p COM11 -b 1000000 -r we 0 ff_thb2.bin
|
||||||
|
|
||||||
Поддерживаемые функции и сервисы описываются включенными битами в 32-х битном поле `dev_id.services`.
|
Поддерживаемые функции и сервисы описываются включенными битами в 32-х битном поле `dev_id.services`.
|
||||||
|
|
||||||
`FW Boot` запускается по старту, и если не нажата кнопка, проверяет есть или нет запись `FW APP`. Если есть – запускает `FW APP`. Если кнопка при старте нажата - запускается `FW Boot`.
|
`FW Boot` запускается по старту, и если не нажата кнопка, проверяет есть или нет запись `FW APP`. Если есть – запускает `FW APP`. Если кнопка при старте нажата - запускается `FW Boot`.
|
||||||
|
|
||||||
При соединении указывается:
|
При соединении указывается:
|
||||||
|
|
||||||
|
|
@ -128,8 +146,8 @@ _Software:_ **B**x.x - значит работает `FW Boot`
|
||||||
|
|
||||||
Принудительно перезагрузиться в `FW Boot` из `FW APP` возможно двумя способами:
|
Принудительно перезагрузиться в `FW Boot` из `FW APP` возможно двумя способами:
|
||||||
|
|
||||||
1. Отключить питание и удерживая кнопку включить питание.
|
1. Отключить питание и удерживая кнопку включить питание.
|
||||||
2. Подать команду `7233` в меню `Service` программы PHY62x2BTHome.html и отключить соединение.
|
2. Подать команду `7233` в меню `Service` программы PHY62x2BTHome.html и отключить соединение.
|
||||||
|
|
||||||
Полная перезагрузка - Подать команду `7201` в меню `Service` программы PHY62x2BTHome.html и отключить соединение.
|
Полная перезагрузка - Подать команду `7201` в меню `Service` программы PHY62x2BTHome.html и отключить соединение.
|
||||||
|
|
||||||
|
|
@ -138,7 +156,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 -e wh ./bin/BOOT_TH05V13_v13.hex
|
||||||
python3 rdwr_phy62x2.py -p COM11 -r we 0x10000 ./bin/TH05V13_v13.bin
|
python3 rdwr_phy62x2.py -p COM11 -r we 0x10000 ./bin/TH05V13_v13.bin
|
||||||
```
|
```
|
||||||
|
|
||||||
## Событие Open/Close и счет импульсов
|
## Событие Open/Close и счет импульсов
|
||||||
|
|
||||||
|
|
@ -150,17 +168,18 @@ python3 rdwr_phy62x2.py -p COM11 -r we 0x10000 ./bin/TH05V13_v13.bin
|
||||||
|
|
||||||
При замыкании или размыкании передается блок из 5 BLE реклам следующих друг за другом через период в 50 мс.
|
При замыкании или размыкании передается блок из 5 BLE реклам следующих друг за другом через период в 50 мс.
|
||||||
|
|
||||||
При каждом событии "Open" прибавляется счетчик.
|
При каждом событии "Open" прибавляется счетчик.
|
||||||
|
|
||||||
Значение счетчика передается совместно с каждым событием "Open/Close".
|
Значение счетчика передается совместно с каждым событием "Open/Close".
|
||||||
|
|
||||||
Входной контакт на плате термометра:
|
Входной контакт на плате термометра:
|
||||||
|
|
||||||
* На [THB1](https://pvvx.github.io/THB1) - маркирован как `RX`
|
* На [THB1](https://pvvx.github.io/THB1) - маркирован как `RX`
|
||||||
* На [THB2](https://pvvx.github.io/THB2) - маркирован как `RX`
|
* На [THB2](https://pvvx.github.io/THB2) - маркирован как `RX`
|
||||||
* На [BTH01](https://pvvx.github.io/BTH01/) - маркирован как `RX2`
|
* На [BTH01](https://pvvx.github.io/BTH01/) - маркирован как `RX2`
|
||||||
* На [TH05_V1.3](https://pvvx.github.io/TH05-v1.3) - маркирован как `RX0`
|
* На [TH05_V1.3](https://pvvx.github.io/TH05-v1.3) - маркирован как `RX0`
|
||||||
* На [TH05_V1.4](https://pvvx.github.io/TH-05) - маркирован как `RX2`
|
* На [TH05_V1.4](https://pvvx.github.io/TH-05) - маркирован как `RX2`
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Вывод управления внешним устройством по температуре и/или влажности
|
## Вывод управления внешним устройством по температуре и/или влажности
|
||||||
|
|
@ -171,13 +190,14 @@ python3 rdwr_phy62x2.py -p COM11 -r we 0x10000 ./bin/TH05V13_v13.bin
|
||||||
Настройка производится в PHY62x2BTHome.html.
|
Настройка производится в PHY62x2BTHome.html.
|
||||||
|
|
||||||
Работа выхода назначается с помощью установки значения гистерезиса:
|
Работа выхода назначается с помощью установки значения гистерезиса:
|
||||||
|
|
||||||
* Если значение гистерезиса равно нулю - переключений не будет.
|
* Если значение гистерезиса равно нулю - переключений не будет.
|
||||||
* Если значение гистерезиса больше нуля - переключение (включение) произойдет при значении ниже уставка + гистерезис.
|
* Если значение гистерезиса больше нуля - переключение (включение) произойдет при значении ниже уставка + гистерезис.
|
||||||
* Если значение гистерезиса меньше нуля - переключение (включение) произойдет при значении выше уставка + гистерезис.
|
* Если значение гистерезиса меньше нуля - переключение (включение) произойдет при значении выше уставка + гистерезис.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Сборка прошивки.
|
## Сборка прошивки
|
||||||
|
|
||||||
Для сборки прошивки используется GNU Arm Embedded Toolchain.
|
Для сборки прошивки используется GNU Arm Embedded Toolchain.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -78,8 +78,8 @@ class phyflasher:
|
||||||
try:
|
try:
|
||||||
self._port = serial.Serial(self.port, self.baud)
|
self._port = serial.Serial(self.port, self.baud)
|
||||||
self._port.timeout = 1
|
self._port.timeout = 1
|
||||||
except:
|
except Exception as e:
|
||||||
print ('Error: Open %s, %d baud!' % (self.port, self.baud))
|
print ('Error: Open %s, %d baud! Error: %s' % (self.port, self.baud, e))
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
def SetAutoErase(self, enable = True):
|
def SetAutoErase(self, enable = True):
|
||||||
self.autoerase = enable
|
self.autoerase = enable
|
||||||
|
|
|
||||||
1
requirements.txt
Normal file
1
requirements.txt
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
pyserial
|
||||||
Loading…
Add table
Add a link
Reference in a new issue