Séparer les informations

Pour pouvoir afficher la température sur un graphe et l'humidité sur un graphe différent, il faut séparer le message reçu et récupérer uniquement l'information souhaitée.

En sortie du capteur, on relève plusieurs informations : l'id du message, la valeur utils (payload) qui est en fait la température, l'humidité (humidity) et d'autres informations.

Seules nous intéressent les informations "payload" (pour la température) et "humidity" (pour l'humidité).

Désactiver le bloc "debug" .

Pour la température

Ajouter un bloc "function" sur le diagramme et éditer le bloc afin d'ajouter :

msg.payload = msg.payload;

Puis valider en cliquant sur "Done".

Sur le graphe ajouter un bloc "debug" et relier les blocs comme ci-dessous.

Cliquer sur le bouton «Deploy»..

Cliquer ensuite sur le bouton du "Timestamp" .

Puis cliquer sur l'icône debug pour vérifier que l'on récupère uniquement la température.

Pour éviter les confusions par la suite, il est bon de renommer les blocs comme ci-dessous par exemple.

Pour l'humidité

On procède de la même manière en veillant dans le bloc "function" à ajouter le bout de code suivant :

msg.payload = msg.humidity;

Puis valider en cliquant sur "Done".

Vous devez obtenir le résultat suivant :

Il faut vérifier que l'on récupère bien le taux d'humidité comme désiré .

Récupérer les informations régulièrement

Il est possible de récupérer les valeurs toutes les 5 secondes par exemple sans avoir à cliquer sur un bouton.

Pour cela, éditer le bloc "Inject", cliquer sur "Repeat" puis sélectionner "Interval".

Prendre un intervalle toutes les 5 secondes par exemple.

Cliquer sur le bouton «Deploy»..

Activer le bloc "debug" DHT22 et désactiver les deux autre blocs "debug"

Cliquer ensuite sur le bouton du "Timestamp" .

Puis cliquer sur l'icône debug pour vérifier que l'on récupère bien les informations toutes les 5 s.