Table des matières:

Premiers pas avec Amazon AWS IoT et ESP8266 : 21 étapes
Premiers pas avec Amazon AWS IoT et ESP8266 : 21 étapes

Vidéo: Premiers pas avec Amazon AWS IoT et ESP8266 : 21 étapes

Vidéo: Premiers pas avec Amazon AWS IoT et ESP8266 : 21 étapes
Vidéo: Контрольная лампа с 4 реле с NodeMCU ESP8266 IoT и D1 Mini через WiFi 2024, Juillet
Anonim
Premiers pas avec Amazon AWS IoT et ESP8266
Premiers pas avec Amazon AWS IoT et ESP8266

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

Une carte NodeMCU basée sur ESP8266
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

Schéma des broches
Schéma des broches

Étape 3: DHT11 - Capteur d'humidité et de température

DHT11 - Capteur d'humidité et de température
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

L'assistant d'installation de Mongoose
L'assistant d'installation de Mongoose
L'assistant d'installation de Mongoose
L'assistant d'installation de Mongoose
L'assistant d'installation de Mongoose
L'assistant d'installation de Mongoose

Étape 6: État de l'appareil - En ligne

État de l'appareil - En ligne
É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

Provisionner un appareil sur AWS IOT
Provisionner un 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

Chargement de l'exemple de code dans la carte NodeMCU
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)

Services Web Amazon (IUG)
Services Web Amazon (IUG)

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

Noyau AWS IOT
Noyau AWS IOT

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

AWS IOT - Surveiller
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

AWS IOT - Abonnements
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

Publication du message par défaut
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é

Publication des informations sur le bouton enfoncé
Publication des informations sur le bouton enfoncé

Étape 17: publier les valeurs de température et d'humidité sur la plate-forme AWS IOT

Publier les valeurs de température et d'humidité sur la plateforme AWS IOT
Publier les valeurs de température et d'humidité sur la plateforme 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é: