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.
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.
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.
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;
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.
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.
<>
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.
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.
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.