Skip to content
This repository has been archived by the owner on Sep 3, 2020. It is now read-only.

Protocole de communication

Alexandre-Xavier Labonté-Lamoureux edited this page Mar 11, 2018 · 5 revisions

Types de contrôleurs

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

Structure des commandes

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.