Firmware personnalisé pour les appareils Tuya basé sur le chipset PHY622x2.
1 THB | 2 THB | 3 THB | BTH01 | TH05_V1.3 | TH05_V1.4 | TH05F |
---|---|---|---|---|---|---|
Ce firmware fonctionne avec Home Assistant et d'autres logiciels fonctionnant au format BTHome.
Tous les firmwares prennent en charge n'importe lequel de ces capteurs : CHT8215 (CHT8310), CHT8305, AHT20..30.
Logiciel de mise en place et de réalisation de BLE OTA : PHY62x2BTHome.html.
Le téléchargement des fichiers OTA vers PHY62x2BTHome.html est automatique. Vous n'avez pas besoin de télécharger des fichiers depuis ce référentiel pour OTA.
Pour exécuter PHY62x2BTHome.html hors ligne, copiez simplement le fichier html dans un dossier local.
Pour travailler avec l'appareil, vous devez écrire le micrologiciel FW Boot
sur l'appareil via un adaptateur USB-COM. Le micrologiciel de démarrage est un programme aux fonctionnalités réduites et fournit des mises à jour OTA sécurisées.
Ensuite, en utilisant la connexion BLE dans PHY62x2BTHome.html via l'onglet OTA, le programme d'exploitation principal de l' FW APP
est enregistré.
FW APP
peut également être enregistré à l’aide d’un adaptateur USB-COM. Le micrologiciel de démarrage a des fonctions minimales. FW Boot
est uniquement utilisé pour télécharger via OTA la version complète de FW APP
(fichiers .bin
).
Appareil | Fichier de démarrage | Fichier OTA | Étiquetage des circuits imprimés |
---|---|---|---|
1 THB | BOOT_THB1_v19.hex | THB1_v19.bin | Non |
2 THB | BOOT_THB2_v19.hex | THB2_v19.bin | Non |
3 THB | BOOT_THB2_v19.hex | THB2_v19.bin | Non |
BTH01 | BOOT_BTH01_v19.hex | BTH01_v19.bin | Non |
TH05_V1.4 | BOOT_TH05_v19.hex | TH05_v19.bin | TH05_V1.4, TH05_V1.5, TH05_V1.6 (puce : BL55028) |
TH05_V1.3 | BOOT_TH05D_v19.hex | TH05D_v19.bin | RSH-TH05-V1.3 (puce : BL55072) |
TH05F | BOOT_TH05F_v19.hex | TH05F_v19.bin | TH05Y_V1.1, TH05Y_V1.2 (puce : QD01 2332 NT) |
Les principaux fichiers du firmware, BOOT_XXX_vXX.hex (pour la programmation via un adaptateur USB-COM) et XXX_vXX.bin (pour OTA), se trouvent dans le répertoire bin.
Les fichiers de mise à jour du démarrage via OTA se trouvent dans le répertoire update_boot. **
La version actuelle de « FW Boot » est la v1.9 pour tous les appareils (erreurs corrigées).
Micrologiciel | Capteur SDA/SCL/Puissance | LCD SDA/SCL/alimentation | Clé | DIRIGÉ | TRG(TX) | DANS(RECEPTION) |
---|---|---|---|---|---|---|
1 THB | P18/P20/- | P34/P33/- | P01 | - | P09 | P10 |
2 THB | P18/P20/- | - | P07 | P26 | P20 | P18 |
3 THB | 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 |
Avec les paramètres par défaut :
Version | Description |
---|---|
1.0 |
|
1.1 |
|
1.2 |
|
1.3 |
|
1.4 |
|
1,5 |
|
1.6 |
|
1.7 |
|
1.8 |
|
1.9 |
|
Il est possible de flasher l'appareil avec le programme Boot via un adaptateur USB-COM avec sorties 3,3V.
Adaptateur | Appareil |
---|---|
GND | -Vbat |
+3,3V | +Vbat |
Émission | RX1 |
RX | TX1 |
RTS | RÉINITIALISER |
S'il n'y a pas de broche RST sur l'adaptateur, court-circuitez la broche RESET sur GND (-Vbat) et ouvrez-la rapidement au démarrage du script (cela peut prendre quelques essais).
Le nom des broches de l'appareil peut être trouvé dans la description sur les liens :
pip3 install -r requirements.txt
Téléchargez le fichier BOOT_XXX_vXX.hex requis pour le périphérique spécifique à partir du répertoire bin.
Courir:
python3 rdwr_phy62x2.py -p COM11 -e -r wh BOOT_XXX_vXX.hex
Le flashage de démarrage est terminé. L'appareil est opérationnel et l'adaptateur peut être débranché.
Téléchargez la version complète du firmware via OTA. Pour ce faire :
Connect
, recherchez l'appareil et connectez-vous.OTA
, sélectionnez le firmware requis ( .bin
) et cliquez sur Start
.L'appareil doit redémarrer et être prêt à être utilisé.
Facultatif:
- Pour pré-effacer l'intégralité du flash, utilisez l'option
-a
.- Pour pré-effacer l'espace de travail Flash, utilisez l'option
-e
.- Avec l'adaptateur USB-COM, il est possible d'écrire immédiatement le firmware principal (APP) :
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
Le micrologiciel Tuya original pour un type d'appareil spécifique peut être obtenu à partir des liens dans le tableau au début de ce README.
python3 rdwr_phy62x2.py -p COM11 -b 1000000 -r we 0 ff_thb2.bin
Tous les adaptateurs USB-COM ne prennent pas en charge 1 Mbit. Supprimez ensuite l'option
-b 1000000
ou sélectionnez un débit en bauds différent.
Adresse | Description | Taille |
---|---|---|
0x00000 | ROM utilisée | 8 kilo-octets |
0x02000 | Informations de démarrage pour la ROM | 4 kilo-octets |
0x03000 | FW Boot avec fonction OTA | 52 kilo-octets |
0x10000 | APPLICATION FW | 128 kilo-octets |
0x30000 | Enregistrement de l'historique | 304 kilo-octets |
0x7C000 | Enregistrer les paramètres (EEP) | 16 kilo-octets |
FW Boot
a une fonction OTA, mais n'a pas de fonction d'historique ni aucun autre module complémentaire. Il est utilisé pour gérer l’OTA pour toute mise à jour échouée ou incorrecte.
FW APP
n'a pas de fonction OTA, pour OTA, il redémarre dans FW Boot
. Il possède des fonctionnalités et des extensions supplémentaires.
Action du bouton lorsque l'appareil est allumé :
Si le bouton est enfoncé au démarrage, FW Boot
démarre toujours.
Si le bouton n'est pas enfoncé, l'entrée FW APP
est cochée ou non. S'il existe une FW APP
, elle lance la FW APP
. S'il n'y a pas de FW APP
, FW Boot
est lancé.
Sur les thermomètres à écran, si l'affichage de l'heure n'est pas activé, lors du démarrage ou du redémarrage, ce qui suit s'affiche pendant un court instant :
"Bot 14" - FW Boot
version 1.4
"APP 15" - FW APP
version 1.5
Il existe deux manières de forcer un redémarrage vers FW Boot
à partir de FW APP
:
7233
dans le menu Service
du programme PHY62x2BTHome.html.Redémarrage complet : Saisissez la commande
7201
dans le menuService
du programme PHY62x2BTHome.html.
Grâce à l'adaptateur USB-UART, l'application peut être écrite immédiatement après le démarrage. Par exemple:
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
Depuis la version 1.2, il est pris en charge pour interroger une broche connectée à un interrupteur à lames ou un contact court-circuité à GND.
La fréquence de commutation maximale est de 100 fois par seconde.
Si le contact tremble, il est conseillé de shunter le contact avec un condensateur.
A la fermeture ou à l'ouverture, un bloc de 5 annonces BLE est transmis les unes après les autres après une période de 50 ms.
A chaque événement "Open" un compteur est ajouté.
La valeur du compteur est transmise avec chaque événement "Ouvert/Fermé".
Contact d'entrée sur la carte thermomètre :
RX
.RX
.RX
.RX2
.RX0
.RX2
. Le contact sur le circuit imprimé étiqueté « TX » ou « TX2 » est contrôlé avec des points de consigne d'hystérésis pour la température et l'humidité. Il est possible de passer au contrôle de sortie inverse.
Le paramétrage est effectué dans le programme PHY62x2BTHome.html.
Le fonctionnement de la sortie est attribué en définissant la valeur d'hystérésis :
Pour réinitialiser les paramètres de base aux valeurs initiales, munissez-vous d'un smartphone Android et de l'application « nRFConnect ». Connectez-vous à l'appareil et dans le service 0xFCD2
avec la caractéristique 0xFFF4
écrivez 56
.
Si l'intervalle est supérieur à 10 secondes, il sera défini sur 10 secondes car il s'agit du maximum dans la norme. Faites donc d’autres réglages. Cependant, tous les adaptateurs BT ne peuvent pas fonctionner avec un intervalle de 10 secondes pour la connexion.
La chaîne d'outils intégrées GNU Arm est utilisée pour créer le micrologiciel.
Pour travailler dans Eclipse, utilisez l'importation de projet et installez toolchain.path.
Voir ceci pour plus d'informations sur les puces PHY62xx.