Firmware personalizado para dispositivos Tuya basado en el chipset PHY622x2.
THB1 | THB2 | THB3 | BTH01 | TH05_V1.3 | TH05_V1.4 | TH05F |
---|---|---|---|---|---|---|
Este firmware funciona con Home Assistant y otro software que se ejecuta en formato BTHome.
Todo el firmware admite cualquiera de estos sensores: CHT8215 (CHT8310), CHT8305, AHT20..30.
Software para configurar y realizar BLE OTA: PHY62x2BTHome.html.
La carga de archivos OTA a PHY62x2BTHome.html es automática. No es necesario descargar archivos de este repositorio para OTA.
Para ejecutar PHY62x2BTHome.html sin conexión, simplemente copie el archivo html a una carpeta local.
Para trabajar con el dispositivo, debe escribir el firmware FW Boot
en el dispositivo mediante un adaptador USB-COM. El firmware de arranque es un programa con funcionalidad reducida y proporciona actualizaciones OTA seguras.
A continuación, utilizando la conexión BLE en PHY62x2BTHome.html a través de la pestaña OTA, se registra el programa operativo principal de la FW APP
.
FW APP
también se puede grabar utilizando un adaptador USB-COM. El firmware de arranque tiene funciones mínimas. FW Boot
solo se utiliza para descargar vía OTA la versión con todas las funciones de FW APP
(archivos .bin
).
Dispositivo | archivo de arranque | archivo OTA | Etiquetado de placas de circuito impreso |
---|---|---|---|
THB1 | BOOT_THB1_v19.hex | THB1_v19.bin | No |
THB2 | BOOT_THB2_v19.hex | THB2_v19.bin | No |
THB3 | BOOT_THB2_v19.hex | THB2_v19.bin | No |
BTH01 | BOOT_BTH01_v19.hex | BTH01_v19.bin | No |
TH05_V1.4 | BOOT_TH05_v19.hex | TH05_v19.bin | TH05_V1.4, TH05_V1.5, TH05_V1.6 (chip: BL55028) |
TH05_V1.3 | BOOT_TH05D_v19.hex | TH05D_v19.bin | RSH-TH05-V1.3 (chip: BL55072) |
TH05F | BOOT_TH05F_v19.hex | TH05F_v19.bin | TH05Y_V1.1, TH05Y_V1.2 (chip: QD01 2332 NT) |
Los archivos de firmware principales, BOOT_XXX_vXX.hex (para programación mediante adaptador USB-COM) y XXX_vXX.bin (para OTA), se encuentran en el directorio bin.
Los archivos para actualizar el arranque a través de OTA se encuentran en el directorio update_boot. **
La versión actual de 'FW Boot' es v1.9 para todos los dispositivos (errores corregidos).
firmware | Sensor SDA/SCL/Potencia | LCD SDA/SCL/Alimentación | Llave | CONDUJO | TRG(TX) | ENTRADA(RX) |
---|---|---|---|---|---|---|
THB1 | P18/P20/- | P34/P33/- | P01 | - | P09 | P10 |
THB2 | P18/P20/- | - | P07 | P26 | P20 | P18 |
THB3 | P18/P20/- | P34/P33/- | P01 | - | P09 | P10 |
BTH01 | P33/P34/P00 | - | P14 | P15 | P20 | P18 |
TH05 | P33/P34/P00 | P33/P34/P02 | P14 | - | P20 | P18 |
TH05D | P31/P32/- | P11/P14/- | P02 | - | P09 | P10 |
TH05F | P33/P34/P00 | P26/P31/P02 | P14 | - | P20 | P18 |
Con configuración predeterminada :
Versión | Descripción |
---|---|
1.0 |
|
1.1 |
|
1.2 |
|
1.3 |
|
1.4 |
|
1.5 |
|
1.6 |
|
1.7 |
|
1.8 |
|
1.9 |
|
Es posible flashear el dispositivo con el programa Boot mediante un adaptador USB-COM con salidas de 3,3V.
Adaptador | Dispositivo |
---|---|
Tierra | -Vbat |
+3.3V | +Vbat |
Texas | RX1 |
RX | TX1 |
estrategia en tiempo real | REINICIAR |
Si no hay un pin RST en el adaptador, conecte el pin RESET a GND (-Vbat) y ábralo rápidamente cuando se inicie el script (puede que sean necesarios algunos intentos).
El nombre de los pines del dispositivo se puede encontrar en la descripción de los enlaces:
pip3 install -r requirements.txt
Descargue el archivo BOOT_XXX_vXX.hex requerido para el dispositivo específico desde el directorio bin.
Correr:
python3 rdwr_phy62x2.py -p COM11 -e -r wh BOOT_XXX_vXX.hex
El flasheo del arranque está completo. El dispositivo está operativo y el adaptador se puede desconectar.
Descargue la versión completa del firmware vía OTA. Para hacer esto:
Connect
, busque el dispositivo y conéctese.OTA
, seleccione el firmware requerido ( .bin
) y haga clic en Start
.El dispositivo debería reiniciarse y estar listo para su uso.
Opcional:
- Para borrar previamente todo el flash, use la opción
-a
.- Para borrar previamente el espacio de trabajo flash, utilice la opción
-e
.- Con el adaptador USB-COM es posible escribir el firmware principal (APP) inmediatamente:
python3 rdwr_phy62x2.py -p COM11 -r we 0x10000 XXX_vXX.bin
python3 rdwr_phy62x2.py -p COM11 -r rc 0x11000000 0x80000 ff_thb2.bin
El firmware original de Tuya para un tipo de dispositivo específico se puede obtener en los enlaces de la tabla al principio de este README.
python3 rdwr_phy62x2.py -p COM11 -b 1000000 -r we 0 ff_thb2.bin
No todos los adaptadores USB-COM admiten 1 Mbit. Luego elimine la opción
-b 1000000
o seleccione una velocidad en baudios diferente.
DIRECCIÓN | Descripción | Tamaño |
---|---|---|
0x00000 | ROM utilizada | 8 kilobytes |
0x02000 | Información de arranque para ROM | 4 kilobytes |
0x03000 | Arranque FW con función OTA | 52 kilobytes |
0x10000 | APLICACIÓN DE FW | 128 kilobytes |
0x30000 | Grabación de historia | 304 kilobytes |
0x7C000 | Guardar configuración (EEP) | 16 kilobytes |
FW Boot
tiene una función OTA, pero no tiene una función de historial ni ningún otro complemento. Se utiliza para manejar OTA en caso de actualizaciones fallidas o incorrectas.
FW APP
no tiene función OTA, para OTA se reinicia en FW Boot
. Tiene características y extensiones adicionales.
Acción del botón cuando se enciende el dispositivo:
Si se presiona el botón al inicio, FW Boot
siempre se inicia.
Si no se presiona el botón, la entrada FW APP
se marca o no. Si hay una FW APP
, inicia la FW APP
. Si no hay ninguna FW APP
, se inicia FW Boot
.
En los termómetros con pantalla, si la visualización de la hora no está activada, durante el inicio o reinicio se muestra por un breve tiempo lo siguiente:
"Bot 14" - FW Boot
versión 1.4
"APLICACIÓN 15" - FW APP
versión 1.5
Hay dos formas de forzar un reinicio del FW Boot
desde FW APP
:
7233
en el menú Service
del programa PHY62x2BTHome.html.Reinicio completo: ingrese el comando
7201
en el menúService
del programa PHY62x2BTHome.html.
A través del adaptador USB-UART, la aplicación se puede escribir inmediatamente después del arranque. Por ejemplo:
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
Desde la versión 1.2, se admite sondear un pin conectado a un interruptor de láminas o un contacto en cortocircuito a GND.
La frecuencia de conmutación máxima es de 100 veces por segundo.
Si el contacto vibra, es aconsejable derivarlo con un condensador.
Al cerrar o abrir, se transmite un bloque de 5 anuncios BLE uno tras otro después de un período de 50 ms.
En cada evento "Abierto" se agrega un contador.
El valor del contador se transmite junto con cada evento "Abrir/Cerrar".
Contacto de entrada en la placa del termómetro:
RX
.RX
.RX
.RX2
.RX0
.RX2
. El contacto en la placa de circuito impreso etiquetado como "TX" o "TX2" se controla con puntos de ajuste de histéresis para temperatura y humedad. Es posible cambiar al control de salida inversa.
La configuración se realiza en el programa PHY62x2BTHome.html.
La operación de salida se asigna configurando el valor de histéresis:
Para restablecer los parámetros básicos a los valores iniciales, tome un teléfono inteligente Android y la aplicación "nRFConnect". Conéctese al dispositivo y en el servicio 0xFCD2
con característica 0xFFF4
escriba 56
.
Si el intervalo es superior a 10 segundos, se establecerá en 10 segundos como máximo en el estándar. Lo mismo ocurre con otras configuraciones. Sin embargo, no todos los adaptadores BT pueden funcionar con un intervalo de conexión de 10 segundos.
La cadena de herramientas integrada GNU Arm se utiliza para crear el firmware.
Para trabajar en Eclipse, utilice la importación de proyectos e instale toolchain.path.
Consulte esto para obtener más información sobre los chips PHY62xx.