Raspberry PI Tutorial

Envoi de données de capteur à Twitter à l’aide de Node-RED

Par Thomas, le 14 novembre 2020
Envoi de données de capteur à Twitter à l'aide de Node-RED

L’Internet des objets (IoT) est une grande chose en ce moment, et des technologies telles que le Raspberry Pi ont fourni un accès bon marché à des appareils avec beaucoup de puissance et de flexibilité pour se connecter à une multitude de capteurs et d’appareils. Dans ce tutoriel, nous utiliserons un capteur commun bon marché, le DS18B20, un capteur étanche et précis qui peut être acheté pour moins de 5 $ en ligne. Ensuite, en utilisant un langage de programmation appelé Node-RED, nous coderons notre première application qui prendra les données de température actuelles et publierons ces informations sur notre compte Twitter. Alors préparons-nous à créer notre première application Node-RED et nous commençons par configurer le matériel pour le projet.

Configuration du matériel

Pour terminer ce projet, vous aurez besoin de:

Construire le circuit pour ce projet est assez simple, nécessitant que nous connections les trois fils du DS18B20 à notre Raspberry Pi à l’aide des bornes à vis et d’une maquette. Vous devrez peut-être dénuder le câblage de votre DS18B20 pour les utiliser avec les bornes. Le circuit devrait ressembler à ceci.

Installation du logiciel

Sur notre Raspberry Pi, nous devons d’abord installer deux logiciels avant de pouvoir écrire du code. Tout d’abord, nous devons installer l’outil de gestion des packages npm. Donc, dans un terminal, tapez ce qui suit.

$ sudo apt update && sudo apt install npm

Après quelques instants, npm sera installé et prêt à être utilisé. Utilisons-le donc pour installer le package Node pour les capteurs DS18B20. Mais nous devons être dans le répertoire Node caché de notre répertoire personnel. Dans le terminal tapez ce qui suit pour y aller

$ cd .node-red

Saisissez maintenant ce qui suit pour installer le nœud DS18B20.

npm i node-red-contrib-ds18b20

L’installation ne devrait prendre que quelques instants et une fois terminée, nous pouvons fermer le terminal car la prochaine étape de configuration consiste à nous assurer que notre capteur est correctement configuré et que cela se fait à l’aide de l’application de configuration Raspberry Pi, qui se trouve dans le menu Préférences du bureau Raspbian. Dans l’application, cliquez sur l’onglet Interfaces et assurez-vous que l’interface 1 fil est activée. Cliquez sur OK pour quitter et c’est le moment idéal pour redémarrer pour que les modifications soient apportées.

Commencer avec Node-RED

Une fois redémarré, revenez au terminal et tapez ce qui suit pour lancer Node-RED.

node-red-start

Ouvrez maintenant un navigateur Web et visitez http://127.0.0.1:1880 et vous verrez l’interface Node-RED.

L’interface est divisée en trois sections, et de gauche à droite elles le sont.

Les nœuds: Où sont stockés les nœuds qui composent ou code.

Le flux: où les nœuds sont connectés pour former un flux, similaire à un algorithme.

Info / Debug: C’est ici que nous pouvons voir des informations sur les nœuds et afficher la sortie d’un nœud / flux.

Commençons par faire glisser le nœud DS18B20 de la section de nœuds Raspberry Pi vers la zone de flux centrale.

blank

Il s’agit d’un nœud d’entrée, en ce sens qu’il fournit une entrée de notre capteur. Mais d’abord, nous devons le configurer. Double-cliquez sur le nœud et modifiez les paramètres pour qu’ils correspondent. L’ID du capteur ne doit avoir qu’une seule valeur générée par le système. N’hésitez pas à modifier le temps d’intervalle en fonction de vos besoins. Mais à des fins de test, réglez-le sur 0,1, soit six secondes.

blank

Nous devons maintenant traiter les données envoyées depuis le nœud DS18B20 avant qu’elles ne soient publiées sur Twitter. Passons donc aux nœuds de fonction et faisons glisser un nœud de fonction dans le flux. Connectez le côté droit du nœud DS18B20 au côté gauche du nœud de fonction en utilisant les points gris de chaque côté et cliquez avec le bouton gauche en faisant glisser un connecteur entre eux.

blank

Double-cliquez sur le nœud de fonction pour éditer la configuration.

Dans le nœud de fonction, nous pouvons écrire du JavaScript qui nous permettra de manipuler les données envoyées par le capteur. Dans ce cas, nous appelons notre combinateur de fonctions et nous l’utilisons pour convertir et combiner les données du capteur en quelque chose de lisible par l’homme.

Notre première étape consiste à convertir les données numériques envoyées par le capteur en une chaîne; cela nous aide à concaténer les données plus tard.

msg.payload = msg.payload.toString();

Créons maintenant deux variables qui contiendront des parties de la phrase qui formeront le tweet publié sur Twitter.

var text1 = "The temperature is ";

var text2 = "C";

Maintenant, formons la phrase, dans ce cas, nous mettons à jour le contenu des données msg.payload envoyées depuis le DS18B20, afin qu’il contienne maintenant la phrase formée des deux variables enroulées autour des données du capteur msg.payload d’origine. Ensuite, nous renvoyons ce msg prêt à être utilisé plus tard.

msg.payload = text1 + msg.payload + text2;

return msg;

blank

Cliquez sur Terminé pour enregistrer et voyons maintenant la sortie de ce flux. Depuis les nœuds de sortie, faites glisser un débogage et connectez-le à la fonction Combiner.

blank

blank

Lorsque vous êtes prêt, cliquez sur Déployer en haut à droite pour démarrer le flux. Cliquez ensuite sur l’onglet de débogage également en haut à droite. Ici, vous verrez la sortie du flux.

<>

blankblank

Ainsi, nos données de capteur sont envoyées à l’onglet de débogage, cela signifie qu’il n’y a pas d’erreurs et que nous sommes prêts à publier ces données sur Twitter. Mais avant de le faire, changez l’intervalle des nœuds DS18B20 à 1 minute sinon, nous allons déranger beaucoup de gens!

Faites maintenant glisser le nœud Twitter vers le flux et connectez la fonction Combiner au nœud de sortie Twitter.

blank

Double-cliquez sur le nœud Twitter et vous devrez confirmer vos informations d’identification avant de pouvoir publier sur Twitter. Astuce, utilisez un compte de rechange lors du test ou vous spammerez vos abonnés.

blank

blank

Une fois la configuration de Twitter terminée, cliquez sur Déployer pour exécuter le dernier code et regardez maintenant les Tweets pleins de données de capteur apparaître dans votre chronologie.

Ajustez et modifiez le projet pour le personnaliser, mais pour l’instant, bravo, vous avez fait vos premiers pas avec Node-RED et l’IoT.

Thomas

Thomas

Fan de Raspberry Pi de la première heure, je suis l'évolution de ces micro-pc depuis maintenant 5 ans. En plus de l'actualité je propose de nombreux tutoriels pour vous aider à exploiter pleinement votre nano-ordinateur côté domotique ou retro-gaming.