Rechercher par mot-clé
Protocole de la ZiGate
Le protocole ZiGate
Le protocole de la ZiGate est dit : bas niveau (proche du matériel) afin que vous puissiez atteindre les fonctionnalités primaires de la ZiGate. Ce choix est volontaire car, face aux nombreuses évolutions dans les IoT, il convient de laisser, aux développeurs de solutions domotiques, le plus de libertés possibles afin qu’ils puissent s’adapter plus facilement (sans changer le firmware de la clef) aux objets connectés.
Trame ZiGate
NB octets | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | n+6 | n+7 | n+8 | ||
Hexa | 0x01 | n | 0x03 | |||||||||||
Libellé | Start | MSG TYPE | LENGTH | CHKSM | DATA | LQI | STOP |
Transcodage et traitement des caractères spéciaux
Pour tous les octets entre 0x00 et 0x10, il est nécessaire de faire un transcodage de la donnée. Ce système permet de distinguer une commande spéciale d’une donnée utile.
Pour transcoder un octet, il faut :
- Envoyer 0x02
- Appliquer un XOR sur la donnée réelle et envoyer
Exemple :
Si je veux envoyer 0x06, dans la trame j’envoie les 2 octets suivant:
0x02 0x16
Calcul du checksum
0x00 | XOR | MSG TYPE | XOR | LENGTH | XOR | RSSI | XOR | DATA | == | CHKSUM |