-
Notifications
You must be signed in to change notification settings - Fork 11
Protocole de communication
Table des types de senseurs et moteurs:
Nom | ID |
---|---|
Adafruit DHT | 0 |
LED | 1 |
LED heatsink | 2 |
Capt. Humid. | 3 |
Ventilateur | 4 |
Valve | 5 |
Voir ControllerType dans ControllerType.h
Selon JardinCommand.h.
Les commandes, qui peuvent être reçues, doivent être du format suivant :
AJOUT : id (byte) a (CONTROLLER_TYPE) delay i (input1-value1 input2-value2) o (output1 output2)
CONFIG: id (byte) c (CONTROLLER_TYPE) delay i (input1-value1 input2-value2) o (output1 output2)
DELETE: CONFIG: id (byte) d (CONTROLLER_TYPE)
Voici un exemple de commande:
short red = 11*256+125; // Pin 11 avec intensité de 125
short blue = 10*256+160; // Pin 10 avec intensité de 160
short white = 9*256+50; // Pin 9 avec intensité de 50
cm->executeCommand("id 1 a 2 200 i " + String(white) + " " + String(blue) + " " + String(red));
La commande suivante sera interprétée de la façon suivante:
À l'id 1
, ajoutez (a
) un contrôleur de type 2
(LED du heatsink). Le délais de rafraîchissement sera 200
, il est connecté en input (i
) avec les valeurs suivantes: 2941 2720 2354
.
Certains senseurs requiert moins de valeurs. Pour les LED du heatsink, il y a trois valeurs à passer pour les trois couleurs de LED. Les autres types comme les ventilateurs requiert seulement une valeur.
Il y a plus d'exemples à voir ici.
Les valeurs ont été stockées dans des variables afin de montrer l'interprétation (voir commentaires dans le code). Le numéro de la "pin" doit être multiplié par 256 et puis ont doit lui additionner la valeur envoyée sur cette "pin". Donc pour 11*256+125
, on obtient 2941
.
Pour modifier les valeurs d'un contrôleur, on peut remplacer a
par c
. Cette lettre veut dire "configuration".
Pour effacer ("deleter") un contrôleur, il suffit de faire id 3 d 2
, où 3
correspond au id
et 2
au type de senseur à effacer.