Inhoudsopgave:

Aan de slag met Amazon AWS IoT en ESP8266: 21 stappen
Aan de slag met Amazon AWS IoT en ESP8266: 21 stappen

Video: Aan de slag met Amazon AWS IoT en ESP8266: 21 stappen

Video: Aan de slag met Amazon AWS IoT en ESP8266: 21 stappen
Video: Aan de slag met het Microsoft Azure Portal 2024, Juli-
Anonim
Aan de slag met Amazon AWS IoT en ESP8266
Aan de slag met Amazon AWS IoT en ESP8266

Dit project laat zien hoe u de ESP8266-module kunt nemen en deze rechtstreeks kunt verbinden met AWS IOT met behulp van Mongoose OS. Mongoose OS is een open source besturingssysteem voor microcontrollers dat cloudconnectiviteit benadrukt. Het is ontwikkeld door Cesanta, een in Dublin gevestigd bedrijf voor embedded software en aan het einde van het project zou u de temperatuur en de vochtigheidswaarden van de DHT11-temperatuursensor moeten kunnen meten en publiceren op het AWS IOT-platform

Voor dit project hebben we nodig:

 Een op ESP8266 gebaseerd NodeMCU-bord

 DHT 11 temperatuursensor

 De knipperende tool van Mongoose OS

 Een USB-kabel om het NodeMCU-bord op de computer aan te sluiten

 Jumber draden

 AWS-account dat u van plan bent te gebruiken

Stap 1: Een op ESP8266 gebaseerd NodeMCU-bord

Een op ESP8266 gebaseerd NodeMCU-bord
Een op ESP8266 gebaseerd NodeMCU-bord

De ESP8266 is de naam van een microcontroller ontworpen door Espressif Systems. De ESP8266 zelf is een op zichzelf staande Wi-Fi-netwerkoplossing die een brug vormt van de bestaande microcontroller naar Wi-Fi en is ook in staat om zelfstandige toepassingen uit te voeren. Deze module wordt geleverd met een ingebouwde USB-connector en een rijk assortiment aan pin-outs. Met een micro-USB-kabel kun je NodeMCU devkit op je laptop aansluiten en zonder problemen flashen, net als Arduino

Specificatie

• Spanning: 3,3V.

• Wi-Fi Direct (P2P), soft-AP.

• Stroomverbruik: 10uA~170mA.

• Flash-geheugen aan te sluiten: 16 MB max (512 K normaal).

• Geïntegreerde TCP/IP-protocolstack.

• Processor: Tensilica L106 32-bit.

• Processorsnelheid: 80~160MHz.

• RAM: 32K + 80K.

• GPIO's: 17 (gemultiplext met andere functies).

• Analoog naar digitaal: 1 ingang met een resolutie van 1024 stappen.

• +19,5 dBm uitgangsvermogen in 802.11b-modus

• 802.11-ondersteuning: b/g/n.

• Maximale gelijktijdige TCP-verbindingen: 5

Stap 2: Pin-diagram

Pin-diagram
Pin-diagram

Stap 3: DHT11 - Vochtigheids- en temperatuursensor

DHT11 - Vochtigheids- en temperatuursensor
DHT11 - Vochtigheids- en temperatuursensor

De DHT11 is een eenvoudige, goedkope digitale temperatuur- en vochtigheidssensor. Het gebruikt een capacitieve vochtigheidssensor en een thermistor om de omringende lucht te meten, en spuugt een digitaal signaal uit op de datapin (geen analoge ingangspinnen nodig). Het is vrij eenvoudig te gebruiken, maar vereist een zorgvuldige timing om gegevens te verzamelen. Het enige echte nadeel van deze sensor is dat je er maar eens in de 2 seconden nieuwe gegevens van kunt krijgen

Functies

 Volledig temperatuurgecompenseerd

 Relatieve vochtigheid en temperatuurmeting

 Gekalibreerd digitaal signaal

 Uitstekende stabiliteit op lange termijn

 Extra componenten niet nodig

 Lange transmissieafstand

 Laag stroomverbruik

Communicatieproces (enkeldraads tweerichtingsverkeer)

Het interessante in deze module is het protocol dat gebruikt wordt om gegevens over te dragen. Alle sensormetingen worden verzonden met behulp van een enkele draadbus, wat de kosten verlaagt en de afstand vergroot. Om gegevens over een bus te verzenden, moet u de manier waarop de gegevens worden overgedragen beschrijven, zodat zender en ontvanger kunnen begrijpen wat elkaar zegt. Dit is wat een protocol doet. Het beschrijft de manier waarop de gegevens worden verzonden. Op DHT-11 wordt de 1-draads databus met een weerstand omhoog getrokken naar VCC. Dus als er niets is gebeurd, is de spanning op de bus gelijk aan VCC. Het communicatieformaat kan in drie fasen worden verdeeld:

1) Verzoek:

2) Reactie

3) Gegevens lezen

Stap 4: Inleiding tot Mongoose OS

Mongoose OS is een open-source besturingssysteem voor kleine embedded systemen. Het is ontworpen om te draaien op apparaten zoals microcontrollers, die vaak beperkt zijn met geheugen in de orde van tientallen kilobytes, terwijl het een programmeerinterface blootlegt die toegang biedt tot moderne API's die normaal gesproken te vinden zijn op krachtigere apparaten. Een apparaat met Mongoose OS heeft toegang tot functionaliteit van het besturingssysteem, zoals bestandssystemen en netwerken, plus software op een hoger niveau, zoals een JavaScript-engine en API's voor cloudtoegang.

Mongoose OS Flashing-tool

Flashing-tool wordt gebruikt om het Mongoose-besturingssysteem in ESP8266 te flashen. Koop eerst een van de ondersteunde kaarten, zoals de ESP8266 NodeMCU, en sluit deze aan op uw computer en volg dan deze stappen:

 Navigeer naar de Mongoose OS-downloadwebpagina en download de Mos-tool. (Maar in dit project gaan we de oudere versie van Mongoose OS gebruiken)

 Voer het installatiebestand van Mos (Mongoose OS) uit en volg de installatiewizard:

Stap 5: De Mongoose-installatiewizard

De Mongoose-installatiewizard
De Mongoose-installatiewizard
De Mongoose-installatiewizard
De Mongoose-installatiewizard
De Mongoose-installatiewizard
De Mongoose-installatiewizard

Stap 6: Apparaatstatus - Online

Apparaatstatus - online
Apparaatstatus - online

Na het voltooien van de drie stappen, krijgt u het onderstaande bericht en wordt de apparaatstatus online. Nu kan onze ESP8266-module communiceren met alle externe apparaten

Stap 7: Apparaat inrichten op AWS IOT

Apparaat inrichten op AWS IOT
Apparaat inrichten op AWS IOT

Voordat we evenementen naar AWS kunnen sturen, moeten we een beveiligde verbinding met AWS IOT kunnen maken. Om dit te doen, moeten we de ESP voorzien van de AWS-certificaten. Kies in de installatiewizard van Mongoose OS het menu Device Config en kies vervolgens de juiste AWS-regio en het AWS-beleid voor uw AWS-omgeving. Klik op de Provision with AWS IOT-knop. Het apparaat wordt ingesteld met de juiste informatie om verbinding te maken met de AWS-service. De certificaten worden automatisch geïnstalleerd.

Opmerking:

De gebruiker kan de juiste AWS-regio en AWS-beleid selecteren. In ons scenario hebben we AWS-regio geselecteerd als ap-southeast-1 en AWS-beleid als mos-standaard

Na de voltooiing van het inrichtingsapparaat op AWS IOT, kan de esp8266 Wi-Fi-module nu communiceren met AWS -IOT

Stap 8: De voorbeeldcode in het NodeMCU-bord laden

De voorbeeldcode in het NodeMCU-bord laden
De voorbeeldcode in het NodeMCU-bord laden

Nadat u de Mongoose-installatiewizard hebt uitgevoerd en u op het menu met apparaatbestanden klikt, is er een bestand met de naam init.js. In dat bestand bevindt zich een voorbeeldcode. Als u op de knop Opslaan + Opnieuw opstarten klikt, wordt de voorbeeldcode geladen en de uitvoer kan worden bekeken vanuit de apparaatlogboeken

Stap 9: Aan de slag met AWS-account

Wat is AWS?

Amazon Web Services (AWS) is een cloudserviceprovider van Amazon, die diensten levert in de vorm van bouwstenen, deze bouwstenen kunnen worden gebruikt om elk type applicatie in de cloud te maken en te implementeren. Deze services of bouwstenen zijn ontworpen om met elkaar samen te werken en resulteren in applicaties die geavanceerd en zeer schaalbaar zijn.

Hoe instellen?

Er zijn twee manieren om AWS-services in te stellen

 AWS CLI-opdrachtregelhulpprogramma gebruiken

 AWS GUI gebruiken

Stap 10: AWS CLI-opdrachtregelhulpprogramma (optioneel)

Eerst moeten we AWS CLI installeren. AWS CLI is een opdrachtregelprogramma dat opdrachten biedt voor interactie met AWS-services. Hiermee kunt u de functionaliteit van de AWS Management Console vanaf de terminal gebruiken. Mongoose gebruikt deze tool om het IOT-apparaat in te richten op AWS IOT. De AWS CLI heeft uw inloggegevens nodig om verbinding te kunnen maken met AWS. Om in te stellen, voert u aws configure uit vanaf de opdrachtregel en voert u uw toegangsgegevens (uw inloggegevens) in. In eenvoudige bewoordingen kunt u Amazon Web Services openen en beheren via een eenvoudige en intuïtieve webgebaseerde gebruikersinterface. Als u zich zorgen maakt over toegang tot sommige functies met een mobiele telefoon, kunt u met de mobiele app van AWS Console snel bronnen bekijken terwijl u onderweg bent.

Stap 11: Amazon-webservices (GUI)

Amazon-webservices (GUI)
Amazon-webservices (GUI)

Na de inrichting met AWS kunnen we inloggen op de AWS-beheerconsole, onder het tabblad Services hebben we verschillende categorieën. Voordat we beginnen met het verkennen van de functies van deze console, moet u een account maken op AWS. Voor mensen die geen account hebben, kunnen de AWS-website bezoeken en een gratis account aanmaken. U moet uw creditcard-/debetkaartgegevens invoeren. AWS brengt geen kosten in rekening tijdens uw gratis abonnement zolang u de services gebruikt volgens de gespecificeerde limieten.

Stap 12: AWS IOT Core

AWS IOT-kern
AWS IOT-kern

Na het inloggen wordt u naar de volgende pagina geleid en selecteert u onder het internet der dingen de IOT-kern

Stap 13: AWS IOT - Monitor

AWS IOT - Monitor
AWS IOT - Monitor

Nadat u de IOT-kern hebt geselecteerd, verschijnt de bovenstaande pagina en selecteert u vervolgens het testmenu

Stap 14: AWS IOT - Abonnementen

AWS IOT - Abonnementen
AWS IOT - Abonnementen

Nadat u het menu Test hebt geselecteerd, wordt u doorgestuurd naar Abonnementen. Geef in het abonnementsonderwerp het juiste onderwerp op dat u gebruikt en klik op de knop Abonneren op onderwerp

Stap 15: Het standaardbericht publiceren

Het standaardbericht publiceren
Het standaardbericht publiceren

Daarna wordt u doorverwezen naar de bovenstaande pagina. Als u op Publiceren naar onderwerp klikt, hebben we het voorbeeldbericht dat hier standaard wordt weergegeven

Opmerking: als u een nieuwe code wilt schrijven en deze in het NodeMCU-bord wilt laden (de code die we schrijven moet worden geladen in het apparaatbestandsbeheer > init.js-bestand, dan moet u de onderwerpnaam in de code opnemen. Na het opnemen van de onderwerpnaam, je moet dezelfde onderwerpnaam gebruiken in de sectie abonnementen om de uitvoer te publiceren

Stap 16: De op de knop gedrukte informatie publiceren

De op de knop gedrukte informatie publiceren
De op de knop gedrukte informatie publiceren

Stap 17: Publiceer de temperatuur- en vochtigheidswaarden op het AWS IOT-platform

Publiceer de temperatuur- en vochtigheidswaarden op het AWS IOT-platform
Publiceer de temperatuur- en vochtigheidswaarden op het AWS IOT-platform

Stap 18: Taak

Sluit het circuit aan zoals hieronder getoond

 Flash het mangoest-besturingssysteem op de ESP8266-module

 Apparaat inrichten op AWS IOT

 Laad de programmeercode in het NodeMCU-bord

 Controleer de output in de apparaatlogs (zie figuur 9)

 Log in op het AWS-account

 Selecteer het IOT-kernsubmenu

 Selecteer de optie Test in het gedeelte MQTT-client

 Specificeer het juiste onderwerp in de abonnementen

 Klik op de knop publiceren naar onderwerp

 Zorg ervoor dat wanneer u op de flitsknop drukt, u de temperatuur- en vochtigheidswaarden als berichten krijgt

Aanbevolen: