Étape 1: Initial d’installation et de la température capteur
Ajout de Cylon.js
Ce projet a utilisé le cadre de Cylon.js (http://cylonjs.com/)
Cylon.js est un framework JavaScript pour la robotique, l’informatique physique et l’Internet des objets. Il le rend incroyablement facile aux appareils et robots de commande
Le plus grand avantage de Cylon.js est que le même code doit s’exécuter sur différents appareils (Intel Galileo, Arduino, Raspberry Pi, etc.).
Pour l’utiliser, ajoutez les dépendances suivantes sur package.json
Et sur main.js
Brancher le capteur de température
Avant de commencer le développement de la fonctionnalité de détection d’inondation, nous allons commencer avec le capteur de température.
Branchez-le au port A2 et puis exécutez le code suivant :
La sortie devrait indiquer la température (en degrés Celsius) chaque 5 secondes.
Valeurs dans la mémoire tampon
La valeur de la température signalée par le capteur est capturée chaque seconde et mises dans une mémoire tampon dédiée aux valeurs de ce capteur. Ce tampon est contrôlé par la méthode processBuffer, qui prend comme paramètres (1) la valeur actuelle d’un capteur donné, (2) l’objet de la mémoire tampon de ce capteur et (3) la variable "qui".
L’objet de tampon (voir temperatureBuffer) doit comporter au moins :
- MAX_SIZE - la taille maximale de la mémoire tampon.
- données - un tableau contenant des valeurs déclarées par le capteur ;
- action - fonction Javascript déclenché par processBuffer;
La méthode bufferedReader cumule les dernières valeurs MAX_SIZE rapportés par un capteur donné. Quand la taille de tableau 'données' est égale à MAX_SIZE, cette méthode va calculer la valeur moyenne des valeurs contenues dans ce tableau. Ensuite, la fonction passée comme paramètre "action" va être exécutée à l’aide de cette valeur moyenne et la variable 'données' sera définie à null.
L’objectif de ce tampon est empêcher des valeurs contradictoires.
Sur le code ci-dessus, la fonction de "l'action" va simplement afficher la température moyenne. Les étapes suivantes, cette fonction sera plus utile.