Table des matières:
- Fournitures
- Étape 1: Introduction à MQTT
- Étape 2: Introduction à la plate-forme IoT
- Étape 3: préparer l'éditeur MQTT
- Étape 4: Note de bas de page
- Étape 5: Crédits et assistance
Vidéo: Principes de base de l'IoT : connecter votre IoT au cloud à l'aide de Mongoose OS : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Si vous êtes amateur de bricolage et d'électronique, vous rencontrerez le plus souvent le terme Internet des objets, généralement abrégé en IoT, et qui désigne un ensemble d'appareils pouvant se connecter à Internet ! Étant moi-même une telle personne, j'ai été fasciné quand j'ai appris que de si bons appareils m'étaient facilement accessibles. La simple pensée de pouvoir connecter mes projets à Internet à l'aide d'un petit matériel et de penser aux innombrables portes qu'il ouvrirait pour mes idées de projets m'avait gonflé.
Mais dire à l'IoT de se connecter à Internet n'est pas aussi simple que de l'acheter dans le commerce et de le mettre sous tension. Et en plus de permettre à l'appareil de se connecter à Internet, nous devons également envoyer des données utiles sur Internet. Ce Instructable traite de la procédure à suivre pour atteindre l'objectif susmentionné et s'adresse aux lecteurs de tout niveau d'expérience, des débutants aux vétérans novices en IoT.
Dans ce Instructable, à titre d'exemple, je vais montrer comment tracer le graphique des lectures du capteur de température interne de la carte de développement ESP32, ce qui devrait donner aux lecteurs une bonne idée du processus.
Bien que ce Instructable utilise ESP32 et Mongoose OS, la procédure peut être étendue à tous les IoT et firmwares existants !
Fournitures
Pour pouvoir implémenter cet Instructable vous-même, vous n'aurez besoin que d'une quantité minimale de matériel, et ils sont:
- Un Internet des objets (IoT): j'ai utilisé un clone de carte de développement ESP32 bon marché. Si vous envisagez d'acheter une nouvelle carte de développement ESP32, vous devez alors consulter la carte ESP32 de DFRobot.
- Un câble de données: utilisez un câble dont votre IoT a besoin pour le flash, etc.
- Une batterie (en option): achetez-la uniquement si vous avez l'intention d'alimenter votre IoT pendant de longues périodes.
- Une mini planche à pain (facultatif)
Je suggère au lecteur d'utiliser un IoT différent de l'ESP32 afin qu'il puisse vraiment comprendre ce qui se fait ici, au lieu de simplement m'imiter. Croyez-moi, vous apprécierez de mettre en œuvre ce processus en utilisant votre propre esprit dans un autre IoT, par exemple, ESP8266 serait un bon choix.
Étape 1: Introduction à MQTT
Qu'est-ce que MQTT ?
« MQTT est un protocole de messagerie simple, conçu pour les appareils limités à faible bande passante. C'est donc la solution idéale pour les applications de l'Internet des objets. MQTT vous permet d'envoyer des commandes pour contrôler les sorties, lire et publier des données à partir de nœuds de capteurs et bien plus encore. (De RandomNerdTutorials)
Comment fonctionne MQTT ?
Avant d'aller techniquement, pensons d'abord à notre monde réel. Supposons que vous soyez intéressé par une collection de cartes appartenant à l'amie de votre ami, disons Laurel, que vous ne connaissez pas personnellement. Puisque vous êtes très pointilleux sur cette collection de cartes, vous demanderez à votre ami, supposons Tom, de demander si Laurel est prête à la vendre ou non. Ce faisant, vous demanderez à Tom d'acheter lui-même la collection de cartes si Laurel est prête à la vendre, car vous ne voulez pas qu'une autre personne mette la main sur la collection dont vous rêvez ! Au fil du temps, Tom et Laurel interagissent et, d'un commun accord, Laurel donne sa collection de cartes à Tom en échange d'argent. Après cet échange, Tom garde les cartes avec lui jusqu'à ce qu'il vous rencontre à nouveau, c'est-à-dire lorsqu'il vous remet enfin la collection de cartes. C'est ainsi que se déroule un échange normal dans notre vie quotidienne.
Dans MQTT, les éléments de base impliqués dans l'échange sont l'éditeur (Laurel), un abonné (Vous) et le courtier (Tom). Son flux de travail est également similaire à l'exemple du monde réel mentionné ci-dessus, à une énorme différence près ! Dans MQTT, l'échange est initié par le courtier, c'est-à-dire que Laurel serait la première à joindre Tom pour lui dire qu'elle veut vendre sa collection de cartes. Si nous comparons le fonctionnement de MQTT avec notre exemple du monde réel, ce serait le suivant:
- Laurel dit à Tom qu'elle veut vendre sa collection de cartes (données ou charge utile) et lui donne les cartes.
- Tom prend ces cartes en sa possession et est ouvert aux offres pour la collecte de cartes. Lorsque vous et Tom vous rencontrez et qu'il découvre que vous êtes intéressé par les cartes (s'abonne à un sujet). Tom vous donne ensuite les cartes.
Comme l'ensemble du processus repose sur le courtier et aucune interaction directe entre l'abonné et l'éditeur, MQTT supprime les tracas de la synchronisation à la fois de l'éditeur et de l'abonné. La présence d'un courtier intermédiaire est une aubaine pour les appareils à ressources limitées comme les IoT et les microprocesseurs, car leur puissance de traitement est insuffisante pour effectuer le transfert de données de manière normale, ce qui entraînerait des frais généraux supplémentaires tels que l'authentification, le cryptage, etc. En dehors de cela, MQTT possède de nombreuses autres fonctionnalités telles que sa légèreté, sa distribution un-à-plusieurs, etc., ce qui le rend idéal pour les réseaux et les clients contraints.
Étape 2: Introduction à la plate-forme IoT
Qu'est-ce qu'une plate-forme IoT ?
« À un niveau élevé, une plate-forme Internet des objets (IoT) est le logiciel de support qui connecte le matériel de périphérie, les points d'accès et les réseaux de données à d'autres parties de la chaîne de valeur (qui sont généralement les applications des utilisateurs finaux). Les plates-formes IoT sont généralement gérer les tâches de gestion en cours et la visualisation des données, ce qui permet aux utilisateurs d'automatiser leur environnement. (De Link-Labs)
De manière abstraite, une plate-forme IoT agit comme un intermédiaire entre l'utilisateur et les agents de collecte de données chargés de représenter les données collectées.
Dans ce Instructable, nous prévoyons de pousser les lectures de température de notre ESP32 en ligne. Notre ESP32 agira en tant qu'éditeur MQTT et le courtier MQTT sera une plate-forme IoT de notre choix. Notez que dans notre projet, il n'y a pas de rôle d'abonné MQTT car les données sont représentées par la plate-forme elle-même de première main. La plate-forme IoT sera chargée de stocker nos données publiées et de les représenter joliment, ici, sous forme de graphique linéaire. J'utiliserai Losant comme plate-forme IoT ici, car elle est gratuite et offre de bons moyens de représenter les données. D'autres exemples de plates-formes IoT sont Google Cloud, Amazon AWS et Adafruit, Microsoft Azure, etc. Je voudrais conseiller au lecteur de se référer à la documentation de la plate-forme IoT choisie.
Configuration de Losant:
- Connectez-vous à Losant
- Créer un appareil (type autonome)
- Ajoutez quelques types de données à l'appareil1. Nom: température, Type de données: Number2. Nom: offset, Type de données: Number3. Nom: unité, Type de données: chaîne
- Générez une clé d'accès et notez l'ID de l'appareil et la clé d'accès
- Créer un graphique1. Créer un tableau de bord.2. Ajoutez-y le bloc "Time Series Graph" en utilisant la variable de température et votre appareil créé.
Le "Device ID" sert à agir comme une empreinte digitale unique pour un appareil. Les « clés d'accès », comme leur nom l'indique, permettent à l'IoT de publier sur Losant sous l'identité de l'appareil.
Étape 3: préparer l'éditeur MQTT
Maintenant que nous avons préparé la plate-forme IoT pour recevoir et représenter les données, nous devons préparer un éditeur MQTT qui serait responsable de la collecte et de l'envoi des données à la plate-forme.
Les grandes lignes de la préparation de l'éditeur MQTT sont les suivantes:
- Écrivez le code: pour indiquer à l'éditeur (IoT) comment collecter des données, les traiter et les envoyer à la plate-forme IoT. Les instructions sont écrites dans des langages de programmation de haut niveau lisibles par l'homme, normalement appelés code.
- Flashez le micrologiciel: l'IoT ne comprendra pas facilement ces instructions car il ne connaît initialement aucune langue. Pour combler cette barrière linguistique entre l'homme et la machine, le code est compilé en un ensemble brut d'instructions, essentiellement des ensembles de valeurs hexadécimales ou binaires spécifiques aux emplacements de mémoire à l'intérieur de l'IoT, connu sous le nom de firmware qui est ensuite flashé sur l'IoT.
Dans ce Instructable, puisque j'utilise mon ESP32 pratique, je vais lui faire clignoter le micrologiciel Mongoose OS, qui accepte les programmes écrits en C et en JavaScript. Outre la compatibilité JS, Mongoose OS a encore beaucoup à offrir, comme des mises à jour en direct, pour peaufiner votre programme en ligne, et un tableau de bord dédié pour les appareils (mDash), etc.
J'ai développé une application open source pour Mongoose OS pour ce Instructable. Il s'agit d'une application simple nommée losant-temp-sensor, qui utilise MQTT pour envoyer les relevés de température ambiante approximatifs, basés sur les relevés de température interne de l'ESP32, à Losant (une plate-forme IoT gratuite). Il est conseillé de parcourir le code de l'application pour une meilleure compréhension. Nous allons flasher cette application pour ce Instructable.
Si vous êtes du genre aventureux, vous pouvez essayer d'atteindre le même objectif avec le firmware Arduino-ESP32 qui permet d'utiliser l'ESP32 comme Arduino (avec capacité WiFi).
Un aperçu rapide de l'application clignotante avec Mongoose OS:
- Installez l'outil mos pour votre système d'exploitation.
-
Ouvrez l'outil et exécutez les commandes suivantes:
- mos clone
- capteur de température cd perdant
- mos build --plateforme esp32
- flash mos
- mos wifi "votre ssid wifi" "votre mot de passe wifi" par ex. mos wifi "Accueil" "Accueil@123"
-
mos config-set temperature.basis=
temperature.unit="
"ex. mos config-set temperature.basis=33 \temperature.unit="celsius"
-
mos config-set device.id=
mqtt.client_id= mqtt.user= mqtt.pass=
Une fois le clignotement réussi, laissez l'appareil redémarrer, puis exécutez les commandes suivantes:
Après avoir terminé toutes ces étapes correctement, vous vous retrouverez avec un ESP32 qui envoie les lectures de température à Losant périodiquement, toutes les 10 minutes. Une publication réussie est indiquée par la LED bleue, comme indiqué dans la vidéo ci-dessus.
Étape 4: Note de bas de page
Si vous êtes capable de reproduire correctement les étapes précédentes, vous aurez maintenant un projet de travail à l'aide duquel vous pourrez observer les tendances de température à l'intérieur de votre pièce ou à l'endroit où vous prévoyez de placer le projet. Puisque j'ai gardé ce Instructable aussi général que possible, vous pouvez donc utiliser votre IoT pour collecter des données de toutes sortes et essayer d'en tirer quelque chose d'utile, ou vous pouvez le faire juste pour bricoler si vous ' ai bien compris ce Instructable.
Pour moi, la meilleure partie de l'IoT est le fait qu'il nous permet de collecter d'énormes quantités de données, peu concluantes si elles sont prises seules et de les convertir en quelque chose de concluant. Cela frappe vraiment à la maison l'esprit de la science. Pour moi, c'était très satisfaisant et instructif de remarquer la chute de température dans ma chambre pendant les heures de pluie à travers mon graphique.
L'application losant-temp-sensor-app a été optimisée pour la consommation d'énergie, car elle utilise la fonction de veille profonde de l'ESP32. Vous pouvez donc l'utiliser pendant de longues périodes sans vous soucier du tout de la batterie. Vous pouvez encore augmenter l'efficacité énergétique en retirant la LED sur la carte de développement. Le tirage actuel de l'ensemble de la configuration a été montré ci-dessus.
Le but de ce Instructable, dès le début était juste de vous donner une introduction au monde de l'IoT. À la fin de ce Instructable, vous aurez une bonne emprise sur les bases que vous pouvez renforcer encore plus grâce à d'autres ressources en ligne.
Bien que vous ne puissiez pas faire de projets complexes à ce stade, il faut toujours garder à l'esprit que si vous avez une brique suffisamment solide et un moyen de les combiner, vous pouvez créer n'importe quelle structure imaginable, à partir de simples à complexe. De même, bien maîtriser les bases et savoir les appliquer correctement vous permettra de monter une multitude d'engins. Donnez-vous donc une tape dans le dos pour avoir fait le premier pas.
Étape 5: Crédits et assistance
Ce Instructable se compose d'illustrations, par ex. celui qui explique l'échange MQTT, que j'ai personnellement fait. Ces illustrations n'ont été possibles que grâce aux packs SVG gratuits suivants:
- Vecteur d'infographie créé par freepik - www.freepik.com
- Vecteur d'infographie créé par starline - www.freepik.com
- Vecteur de personnes créé par pikisuperstar - www.freepik.com
- Vecteur abstrait créé par macrovector - www.freepik.com
- Vecteur abstrait créé par macrovector - www.freepik.com
- Vecteur d'infographie créé par pikisuperstar - www.freepik.com
Ce Instructable a été parrainé par DFRobot. DFRobot a une impressionnante collection d'électronique alors assurez-vous de la vérifier.
Si vous pensez que vous avez aimé cet Instructable et que vous voulez plus d'Instructables comme celui-ci, alors vous pouvez me soutenir sur Patreon. Si vous ne pouvez pas aller aussi loin, vous pouvez me suivre ici sur Instructables.
Conseillé:
Comment connecter Raspberry Pi au cloud à l'aide de Node.js : 7 étapes
Comment connecter Raspberry Pi au cloud à l'aide de Node.js : Ce didacticiel est utile pour quiconque cherche à connecter un Raspberry Pi au cloud, en particulier à la plate-forme AskSensors IoT, à l'aide de Node.js. Vous n'avez pas de Raspberry Pi ? Si vous ne possédez pas actuellement de Raspberry Pi, je vous recommanderai de vous procurer un Raspberry
Comment créer votre propre passerelle WIFI pour connecter votre Arduino au réseau IP ? : 11 étapes (avec photos)
Comment faire votre propre passerelle WIFI pour connecter votre Arduino au réseau IP ? : Comme beaucoup de gens, vous pensez qu'Arduino est une très bonne solution pour faire de la domotique et de la robotique ! Je travaille sur un robot qui doit être connecté en permanence à un serveur qui tourne ar
Connecter Arduino WiFi au Cloud à l'aide d'ESP8266 : 7 étapes
Connecter Arduino WiFi au cloud à l'aide d'ESP8266 : dans ce tutoriel, nous allons vous expliquer comment connecter votre Arduino au cloud IoT via WiFi. Nous allons configurer une configuration composée d'un module Arduino et d'un module WiFi ESP8266 en tant qu'objet IoT et la préparer pour communiquer avec le cloud AskSensors.L
Principes de base du capteur d'humidité : 3 étapes
Principes de base du capteur d'humidité : il s'agit d'un didacticiel de base sur l'utilisation du module de capteur DHT 11 avec une carte Arduino
Principes de base du MOSFET : 13 étapes
Les bases des MOSFET : Salut ! Dans ce Instructable, je vais vous apprendre les bases des MOSFET, et par bases, je veux dire vraiment les bases. Cette vidéo est idéale pour une personne qui n'a jamais étudié les MOSFET professionnellement, mais qui souhaite les utiliser dans des projets. Je vais parler de n et p c