Table des matières:
- Étape 1: une carte NodeMCU basée sur ESP8266
- Étape 2: schéma des broches
- Étape 3: DHT11 - Capteur d'humidité et de température
- Étape 4: Introduction à Mongoose OS
- Étape 5: L'assistant d'installation de Mongoose
- Étape 6: État de l'appareil - En ligne
- Étape 7: Provisionner l'appareil sur AWS IOT
- Étape 8: Chargement de l'exemple de code dans la carte NodeMCU
- Étape 9: Premiers pas avec le compte AWS
- Étape 10: Utilitaire de ligne de commande AWS CLI (facultatif)
- Étape 11: Amazon Web Services (GUI)
- Étape 12: AWS IOT Core
- Étape 13: AWS IOT - Surveiller
- Étape 14: AWS IOT - Abonnements
- Étape 15: Publication du message par défaut
- Étape 16: Publication des informations sur le bouton enfoncé
- Étape 17: publier les valeurs de température et d'humidité sur la plate-forme AWS IOT
- Étape 18: Tâche
Vidéo: Premiers pas avec Amazon AWS IoT et ESP8266 : 21 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Ce projet vous montre comment prendre le module ESP8266 et le connecter directement à AWS IOT à l'aide de Mongoose OS. Mongoose OS est un système d'exploitation open source pour microcontrôleurs qui met l'accent sur la connectivité cloud. Il a été développé par Cesanta, une société de logiciels embarqués basée à Dublin et à la fin du projet, vous devriez pouvoir mesurer les valeurs de température et d'humidité du capteur de température DHT11 et les publier sur la plateforme AWS IOT
Pour ce projet, nous aurons besoin de:
Une carte NodeMCU basée sur ESP8266
Sonde de température DHT 11
L'outil de flashage du système d'exploitation Mongoose
Un câble USB pour connecter la carte NodeMCU à l'ordinateur
Fils de jumber
Compte AWS que vous avez l'intention d'utiliser
Étape 1: une carte NodeMCU basée sur ESP8266
L'ESP8266 est le nom d'un micro contrôleur conçu par Espressif Systems. L'ESP8266 lui-même est une solution de réseau Wi-Fi autonome qui sert de passerelle entre le microcontrôleur existant et le Wi-Fi et est également capable d'exécuter des applications autonomes. Ce module est livré avec un connecteur USB intégré et un riche assortiment de brochages. Avec un câble micro USB, vous pouvez connecter le devkit NodeMCU à votre ordinateur portable et le flasher sans aucun problème, tout comme Arduino
spécification
• Tension: 3,3V.
• Wi-Fi Direct (P2P), soft-AP.
• Consommation de courant: 10uA~170mA.
• Mémoire flash connectable: 16 Mo max (512 Ko normal).
• Pile de protocoles TCP/IP intégrée.
• Processeur: Tensilica L106 32 bits.
• Vitesse du processeur: 80~160 MHz.
• RAM: 32K + 80K.
• GPIO: 17 (multiplexés avec d'autres fonctions).
• Analogique à numérique: 1 entrée avec une résolution de 1024 pas.
• Puissance de sortie de +19,5 dBm en mode 802.11b
• Prise en charge 802.11: b/g/n.
• Nombre maximal de connexions TCP simultanées: 5
Étape 2: schéma des broches
Étape 3: DHT11 - Capteur d'humidité et de température
Le DHT11 est un capteur numérique de température et d'humidité basique et économique. Il utilise un capteur d'humidité capacitif et une thermistance pour mesurer l'air environnant et crache un signal numérique sur la broche de données (aucune broche d'entrée analogique n'est nécessaire). Il est assez simple à utiliser, mais nécessite un minutage minutieux pour saisir les données. Le seul véritable inconvénient de ce capteur est que vous ne pouvez en obtenir de nouvelles données qu'une fois toutes les 2 secondes
Caractéristiques
Gamme complète de température compensée
Mesure de l'humidité relative et de la température
Signal numérique calibré
Stabilité exceptionnelle à long terme
Composants supplémentaires non nécessaires
Longue distance de transmission
Faible consommation d'énergie
Processus de communication (monofilaire bidirectionnel)
La chose intéressante dans ce module est le protocole utilisé pour transférer des données. Toutes les lectures des capteurs sont envoyées à l'aide d'un bus à fil unique qui réduit le coût et allonge la distance. Afin d'envoyer des données sur un bus, vous devez décrire la manière dont les données seront transférées, afin que l'émetteur et le récepteur puissent comprendre ce qui se dit. C'est ce que fait un protocole. Il décrit la manière dont les données sont transmises. Sur DHT-11, le bus de données à 1 fil est tiré avec une résistance à VCC. Donc, si rien ne se produit, la tension sur le bus est égale à VCC. Le format de communication peut être séparé en trois étapes
1) Demander
2) Réponse
3) Lecture de données
Étape 4: Introduction à Mongoose OS
Mongoose OS est un système d'exploitation open source pour les petits systèmes embarqués. Il est conçu pour fonctionner sur des appareils tels que les microcontrôleurs, qui sont souvent limités par une mémoire de l'ordre de dizaines de kilo-octets, tout en exposant une interface de programmation qui donne accès aux API modernes que l'on trouve normalement sur des appareils plus puissants. Un appareil exécutant Mongoose OS a accès aux fonctionnalités du système d'exploitation telles que les systèmes de fichiers et la mise en réseau, ainsi qu'à des logiciels de niveau supérieur tels qu'un moteur JavaScript et des API d'accès au cloud.
Outil de flashage du système d'exploitation Mongoose
L'outil de flashage est utilisé pour flasher le système d'exploitation Mongoose dans ESP8266. Tout d'abord, procurez-vous l'une des cartes prises en charge, comme l'ESP8266 NodeMCU, et connectez-la à votre ordinateur, puis suivez ces étapes:
Accédez à la page Web de téléchargement de Mongoose OS et téléchargez l'outil Mos. (Mais dans ce projet, nous allons utiliser l'ancienne version de Mongoose OS)
Exécutez le fichier d'installation de Mos (Mongoose OS) et suivez l'assistant d'installation:
Étape 5: L'assistant d'installation de Mongoose
Étape 6: État de l'appareil - En ligne
Après avoir terminé les trois étapes, vous obtiendrez le message ci-dessous et l'état de l'appareil devient en ligne. Maintenant, notre module ESP8266 est capable de communiquer avec n'importe quel appareil distant
Étape 7: Provisionner l'appareil sur AWS IOT
Avant de pouvoir envoyer des événements à AWS, nous devons pouvoir établir une connexion sécurisée à AWS IOT. Pour ce faire, nous devons provisionner l'ESP avec les certificats AWS. Dans l'assistant de configuration du système d'exploitation Mongoose, choisissez le menu Device Config, puis choisissez la région AWS appropriée et la stratégie AWS pour votre environnement AWS. Cliquez sur le bouton Provisionner avec AWS IOT. L'appareil sera configuré avec les informations correctes pour se connecter au service AWS. Les certificats seront installés automatiquement.
Noter:
L'utilisateur peut sélectionner la région AWS et la politique AWS appropriées. Dans notre scénario, nous avons sélectionné la région AWS comme ap-southeast-1 et la politique AWS comme mos-default.
Après l'achèvement du provisionnement de l'appareil sur AWS IOT, le module Wi-Fi esp8266 peut désormais communiquer avec AWS -IOT
Étape 8: Chargement de l'exemple de code dans la carte NodeMCU
Après avoir exécuté l'assistant d'installation de Mongoose, si vous cliquez sur le menu des fichiers de l'appareil, il y a un fichier appelé init.js. À l'intérieur de ce fichier, il y a un exemple de code. Si vous cliquez sur le bouton Enregistrer + Redémarrer, l'exemple de code sera chargé et le la sortie peut être consultée à partir des journaux de l'appareil
Étape 9: Premiers pas avec le compte AWS
Qu'est-ce qu'AWS ?
Amazon Web Services (AWS) est un fournisseur de services cloud d'Amazon, qui fournit des services sous forme de blocs de construction, ces blocs de construction peuvent être utilisés pour créer et déployer tout type d'application dans le cloud. Ces services ou blocs de construction sont conçus pour fonctionner les uns avec les autres et donnent lieu à des applications sophistiquées et hautement évolutives.
Comment configurer?
Il existe deux manières de configurer les services AWS
Utilisation de l'utilitaire de ligne de commande AWS CLI
Utilisation de l'interface graphique AWS
Étape 10: Utilitaire de ligne de commande AWS CLI (facultatif)
Nous devons d'abord installer l'AWS CLI. AWS CLI est un outil de ligne de commande qui fournit des commandes pour interagir avec les services AWS. Il vous permet d'utiliser les fonctionnalités fournies par AWS Management Console depuis le terminal. Mongoose utilise cet outil pour provisionner l'appareil IOT sur AWS IOT. L'AWS CLI a besoin de vos informations d'identification pour pouvoir se connecter à AWS. Pour configurer, exécutez aws configure à partir de la ligne de commande et entrez vos informations d'accès (vos informations d'identification). En termes simples, vous pouvez accéder et gérer Amazon Web Services via une interface utilisateur Web simple et intuitive. Si votre problème est d'accéder à certaines fonctionnalités à l'aide d'un téléphone mobile, l'application mobile AWS Console vous permet d'afficher rapidement les ressources lors de vos déplacements.
Étape 11: Amazon Web Services (GUI)
Après l'approvisionnement avec AWS, nous pouvons nous connecter à la console de gestion AWS, sous l'onglet services, nous avons différentes catégories. Avant de commencer à explorer les fonctionnalités de cette console, vous devez créer un compte sur AWS. Les personnes qui n'ont pas de compte peuvent visiter le site Web d'AWS et créer un compte gratuit. Vous devez entrer les détails de votre carte de crédit/débit. AWS ne vous facturera pas pendant votre abonnement gratuit tant que vous utilisez les services conformément aux limites spécifiées.
Étape 12: AWS IOT Core
Après la connexion, vous serez dirigé vers la page suivante et sous Internet des objets, sélectionnez le noyau IOT
Étape 13: AWS IOT - Surveiller
Une fois que vous avez sélectionné le noyau IOT, la page ci-dessus apparaîtra, puis sélectionnez le menu de test
Étape 14: AWS IOT - Abonnements
Après avoir sélectionné le menu Test, vous serez dirigé vers les abonnements. Dans la rubrique d'abonnement, spécifiez la rubrique appropriée que vous utilisez et cliquez sur le bouton S'abonner à la rubrique
Étape 15: Publication du message par défaut
Après cela, vous serez dirigé vers la page ci-dessus. Si vous cliquez sur Publier dans le sujet, nous aurons l'exemple de message qui sera affiché ici par défaut
Remarque: si vous souhaitez écrire un nouveau code et le charger dans la carte NodeMCU (le code que nous écrivons doit être chargé dans le gestionnaire de fichiers de l'appareil > fichier init.js, vous devez alors inclure le nom du sujet dans le code. Après avoir inclus le nom du sujet, vous devez utiliser le même nom de sujet dans la section des abonnements afin de publier la sortie
Étape 16: Publication des informations sur le bouton enfoncé
Étape 17: publier les valeurs de température et d'humidité sur la plate-forme AWS IOT
Étape 18: Tâche
Connectez le circuit comme indiqué ci-dessous
Flashez le système d'exploitation mangouste sur le module ESP8266
Provisionner l'appareil sur AWS IOT
Chargez le code de programmation dans la carte NodeMCU
Vérifiez la sortie dans les journaux de l'appareil (voir figure 9)
Connectez-vous au compte AWS
Sélectionnez le sous-menu IOT core
Sélectionnez l'option Test dans la section client MQTT
Précisez le sujet approprié dans les abonnements
Cliquez sur le bouton Publier dans le sujet
Assurez-vous que chaque fois que vous appuyez sur le bouton flash, vous obtenez les valeurs de température et d'humidité sous forme de messages
Conseillé:
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur ! : 6 étapes
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur ! : Dans ce rapide Instructable, nous allons faire un simple contrôleur de moteur pas à pas à l'aide d'un moteur pas à pas. Ce projet ne nécessite aucun circuit complexe ni microcontrôleur. Alors sans plus tarder, commençons
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur (V2) : 9 étapes (avec photos)
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur (V2) : Dans l'un de mes précédents Instructables, je vous ai montré comment contrôler un moteur pas à pas à l'aide d'un moteur pas à pas sans microcontrôleur. C'était un projet rapide et amusant, mais il est venu avec deux problèmes qui seront résolus dans ce Instructable. Alors, esprit
Locomotive modèle commandée par moteur pas à pas - Moteur pas à pas en tant qu'encodeur rotatif : 11 étapes (avec photos)
Locomotive modèle commandée par moteur pas à pas | Moteur pas à pas en tant qu'encodeur rotatif : Dans l'un des précédents Instructables, nous avons appris à utiliser un moteur pas à pas comme encodeur rotatif. Dans ce projet, nous allons maintenant utiliser cet encodeur rotatif à moteur pas à pas pour contrôler un modèle de locomotive à l'aide d'un microcontrôleur Arduino. Alors, sans fu
Moteur pas à pas contrôlé par moteur pas à pas - Moteur pas à pas en tant qu'encodeur rotatif : 11 étapes (avec photos)
Moteur pas à pas contrôlé par moteur pas à pas | Moteur pas à pas en tant qu'encodeur rotatif : Vous avez quelques moteurs pas à pas qui traînent et vous voulez faire quelque chose ? Dans ce Instructable, utilisons un moteur pas à pas comme encodeur rotatif pour contrôler la position d'un autre moteur pas à pas à l'aide d'un microcontrôleur Arduino. Alors sans plus tarder, allons-y
Premiers pas avec AWS IoT avec capteur de température sans fil utilisant MQTT : 8 étapes
Premiers pas avec AWS IoT avec capteur de température sans fil à l'aide de MQTT : dans les précédents Instructables, nous avons utilisé différentes plates-formes cloud comme Azure, Ubidots, ThingSpeak, Losant, etc. Nous avons utilisé le protocole MQTT pour envoyer les données du capteur au cloud dans presque toute la plate-forme cloud. Pour plus d'infos