Beaucoup est discuté de l'IoT ( Internet des objets ) et c'est un sujet brûlant lorsque nous parlons du présent et du futur d'Internet et des données. Il y a de grandes conférences comme IoT Evolution Expo, Linux Foundation OpenIoT Summit dédié à parler de la façon dont l' IoT change des domaines comme la médecine, les villes intelligentes et le port. Mais comment mettre en œuvre et prototyper une idée simple pour prouver le concept IoT? C'est ce que nous couvrirons dans ce tutoriel!
IoT est un terme utilisé pour décrire un appareil qui peut interagir et capturer des données autour de son environnement. Une fois capturé, il peut être envoyé via Internet, traité et transformé en informations utilisateur pertinentes.
Voici donc ce que nous allons construire:
- Un appareil capable de capturer la température de l'environnement local, en utilisant Arduino;
- Une application Node qui est chargée d'écouter la température capturée d'Arduino et de l'envoyer à une API de publication / abonnement (Dweet.Io);
- Une application Node qui s'abonne à Dweet.io, attend les données publiées et les imprime sur un tableau de bord en temps réel!
Génial, non :)?
1- Matériel
On s'attend à ce que vous ayez déjà des connaissances sur Arduino, comme la capture de données avec un capteur. Mais ce n'est pas obligatoire et ne sera pas un problème pour comprendre et développer ce cas! Pour monter notre appareil, nous aurons besoin de:
- Arduino (Uno R3, par exemple);
- Fils de saut;
- Résistance;
- Capteur NTC;
- Câble USB-série;
- Un PC / ordinateur portable
Instructions
Tout d'abord, vous devez télécharger et installer un IDE Arduino ! Après l'avoir téléchargé et installé, nous utiliserons un protocole appelé Firmata pour la communication avec les microcontrôleurs à partir d'un logiciel dans un ordinateur. Dans ce cas, de l'Arduino à votre ordinateur.
Pour utiliser le protocole Firmata, il est nécessaire d'ouvrir l'IDE Arduino et d'exécuter un projet déjà existant, qui se trouve dans l'option de menu Fichier / Exemples / Firmata / StandardFirmata:
Après cela, il est nécessaire de le charger sur Arduino en utilisant le bouton de chargement, le deuxième de gauche à droite:
Ensuite, votre Arduino pourra commencer à utiliser le protocole Firmata , il est donc possible de communiquer avec un ordinateur via USB :)
Notre objectif principal ici est de faire en sorte qu'Arduino collecte la température de l'environnement local et l'envoie à une application Node. L'image et les étapes suivantes représentent comment nous devons esquisser le circuit Arduino:
- Alimentez le capteur NTC avec un 5 Volts à partir d'un port Arduino 5V (fil rouge);
- Utilisez une résistance et lisez la valeur de température du port analogique A0 (fil jaune)
- Fermez le circuit à GND (fil noir):
L'image suivante représente à quoi cela devrait ressembler:
2- Application chargée de communiquer avec Arduino
Maintenant, nous allons travailler avec une bibliothèque de nœuds appelée Johnny-Five . Il vous permet de récupérer des données et de commander les ports d'Arduino en utilisant le protocole Firmata. Nous utiliserons également une bibliothèque appelée node-dweetio , qui est un tableau de bord de tweet IoT et M2M. Il permet d'utiliser un modèle de publication / abonnement pour ce faire. Le code d'application peut être cloné sur ce référentiel .Ça devrait ressembler à ça:
Ce qui se passe ici peut être décrit dans les étapes suivantes:
- Nous définissons le capteur de température avec deux paramètres: broche qui correspond au port analogique Arduino A0 d'où les données seront capturées; seuil qui représente la variation de la température pour déclencher le changement d' événement . Il est recommandé de fournir une valeur comme 4 ou 5.
- Le capteur de température attendra un événement de changement qui se déclenche car la température varie en fonction de la valeur seuil .
- La valeur est envoyée sous forme de tweet à un canal Dweet.io ( Dweet le définit comme une chose) appelé web-client-iot-case.
3- Application chargée de recevoir les données d'Arduino
Ici, nous développerons l'application responsable de l'écoute du canal Dweet web-client-iot-case . Comme de nouveaux tweets sont envoyés à Dweet.io, celui qui écoute pourra recevoir ce message!
Sur cette application, nous utiliserons la bibliothèque socket.io pour fournir une communication en temps réel avec notre tableau de bord, où les messages entrants seront imprimés. Pour simplifier le front-end, nous utiliserons un modèle de bootstrap existant. Le code de l'application peut être cloné ici . Voici à quoi cela devrait ressembler:
Ici, nous utilisons express pour exécuter notre serveur. Les points les plus importants de ce fichier sont:
- le «io.on ('connexion', ..)» qui est déclaré pour les sockets entrants;
- « Dweetio.listen_for ( '-iot- web-client', .. », qui linstens pour les tweets publiés sur « web-client-IOT » chose . Comme les nouveaux messages sont publiés, ils seront émis sous forme d' un 'capteur de données' Notre page peut donc attendre ce message et l'imprimer, comme vous pouvez le voir ci-dessous:
- le voir ci-dessous:
À partir de ce moment, il commencera à imprimer une nouvelle ligne pour tous les messages entrants qui sont publiés sur Dweet.io.
Nous avons appris à travailler avec notre Arduino à partir de notre ordinateur, à créer une application pour capturer les données d'un capteur de température, à les envoyer sur un Twitter de l' Internet des objets (Dweet.Io) et à écouter les tweets Dweet et à les imprimer en temps réel en utilisant socket.io. C'est ça! Nous avons construit notre tout premier boîtier IoT! Merci :)
Polices:
Aucun commentaire:
Enregistrer un commentaire