Inhaltsverzeichnis:

Erste Schritte mit Amazon AWS IoT und ESP8266 - Gunook
Erste Schritte mit Amazon AWS IoT und ESP8266 - Gunook

Video: Erste Schritte mit Amazon AWS IoT und ESP8266 - Gunook

Video: Erste Schritte mit Amazon AWS IoT und ESP8266 - Gunook
Video: Einführung AWS IoT Services 2024, November
Anonim
Erste Schritte mit Amazon AWS IoT und ESP8266
Erste Schritte mit Amazon AWS IoT und ESP8266

Dieses Projekt zeigt Ihnen, wie Sie das ESP8266-Modul mit Mongoose OS direkt mit AWS IOT verbinden. Mongoose OS ist ein Open-Source-Betriebssystem für Mikrocontroller, das die Cloud-Konnektivität betont. Es wurde von Cesanta, einem in Dublin ansässigen Unternehmen für eingebettete Software entwickelt, und am Ende des Projekts sollten Sie in der Lage sein, die Temperatur- und Luftfeuchtigkeitswerte des DHT11-Temperatursensors zu messen und auf der AWS IOT-Plattform zu veröffentlichen

Für dieses Projekt benötigen wir:

 Ein ESP8266-basiertes NodeMCU-Board

 DHT 11 Temperatursensor

 Das Mongoose OS Flash-Tool

 Ein USB-Kabel zum Verbinden der NodeMCU-Platine mit dem Computer

 Verbindungsdrähte

 AWS-Konto, das Sie verwenden möchten

Schritt 1: Ein ESP8266-basiertes NodeMCU-Board

Ein ESP8266-basiertes NodeMCU-Board
Ein ESP8266-basiertes NodeMCU-Board

ESP8266 ist der Name eines von Espressif Systems entwickelten Mikrocontrollers. Der ESP8266 selbst ist eine eigenständige Wi-Fi-Netzwerklösung, die als Brücke vom vorhandenen Mikrocontroller zu Wi-Fi bietet und auch in der Lage ist, eigenständige Anwendungen auszuführen. Dieses Modul verfügt über einen eingebauten USB-Anschluss und eine reichhaltige Auswahl an Pin-Outs. Mit einem Micro-USB-Kabel können Sie das NodeMCU-Devkit an Ihren Laptop anschließen und es problemlos flashen, genau wie Arduino

Spezifikation

• Spannung: 3,3 V.

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

• Stromaufnahme: 10uA~170mA.

• Flash-Speicher anschließbar: max. 16 MB (512 KB normal).

• Integrierter TCP/IP-Protokollstack.

• Prozessor: Tensilica L106 32-Bit.

• Prozessorgeschwindigkeit: 80~160MHz.

• Arbeitsspeicher: 32K + 80K.

• GPIOs: 17 (gemultiplext mit anderen Funktionen).

• Analog zu Digital: 1 Eingang mit einer Auflösung von 1024 Schritten.

• +19,5 dBm Ausgangsleistung im 802.11b-Modus

• 802.11-Unterstützung: b/g/n.

• Maximale gleichzeitige TCP-Verbindungen: 5

Schritt 2: Pin-Diagramm

Pin-Diagramm
Pin-Diagramm

Schritt 3: DHT11 - Feuchtigkeits- und Temperatursensor

DHT11 - Feuchtigkeits- und Temperatursensor
DHT11 - Feuchtigkeits- und Temperatursensor

Der DHT11 ist ein einfacher, kostengünstiger digitaler Temperatur- und Feuchtigkeitssensor. Es verwendet einen kapazitiven Feuchtigkeitssensor und einen Thermistor, um die Umgebungsluft zu messen, und gibt ein digitales Signal auf dem Daten-Pin aus (keine analogen Eingangspins erforderlich). Es ist ziemlich einfach zu bedienen, erfordert jedoch ein sorgfältiges Timing, um Daten zu erfassen. Der einzige wirkliche Nachteil dieses Sensors ist, dass Sie nur alle 2 Sekunden neue Daten von ihm erhalten können

Merkmale

 Vollbereich temperaturkompensiert

 Relative Luftfeuchtigkeit und Temperaturmessung

 Kalibriertes Digitalsignal

 Hervorragende Langzeitstabilität

 Zusätzliche Komponenten werden nicht benötigt

 Lange Übertragungsdistanz

 Geringer Stromverbrauch

Kommunikationsprozess (Single-Wire Two-Way)

Das Interessante an diesem Modul ist das Protokoll, mit dem Daten übertragen werden. Alle Sensormesswerte werden über einen Eindrahtbus gesendet, was die Kosten reduziert und die Entfernung verlängert. Um Daten über einen Bus zu senden, müssen Sie beschreiben, wie die Daten übertragen werden, damit Sender und Empfänger verstehen, was sich gegenseitig sagt. Das macht ein Protokoll. Es beschreibt die Art und Weise, wie die Daten übertragen werden. Beim DHT-11 wird der 1-Draht-Datenbus mit einem Widerstand auf VCC hochgezogen. Wenn also nichts passiert, ist die Spannung auf dem Bus gleich VCC. Das Kommunikationsformat kann in drei Stufen unterteilt werden

1) Anfrage

2) Antwort

3) Datenlesen

Schritt 4: Einführung in Mongoose OS

Mongoose OS ist ein Open-Source-Betriebssystem für winzige eingebettete Systeme. Es ist so konzipiert, dass es auf Geräten wie Mikrocontrollern ausgeführt werden kann, deren Speicher oft in der Größenordnung von mehreren zehn Kilobyte begrenzt ist, und gleichzeitig eine Programmierschnittstelle zur Verfügung stellt, die Zugriff auf moderne APIs bietet, die normalerweise auf leistungsstärkeren Geräten zu finden sind. Ein Gerät, auf dem Mongoose OS ausgeführt wird, hat Zugriff auf Betriebssystemfunktionen wie Dateisysteme und Netzwerke sowie auf höherwertige Software wie eine JavaScript-Engine und Cloud-Zugriffs-APIs.

Mongoose OS Flashing-Tool

Das Flashing-Tool wird verwendet, um das Mongoose-Betriebssystem in ESP8266 zu flashen. Besorgen Sie sich zunächst eines der unterstützten Boards, wie das ESP8266 NodeMCU, und schließen Sie es an Ihren Computer an. Führen Sie dann diese Schritte aus:

 Navigieren Sie zur Download-Webseite von Mongoose OS und laden Sie das Mos-Tool herunter. (Aber in diesem Projekt werden wir die ältere Version von Mongoose OS verwenden)

 Führen Sie die Setup-Datei von Mos (Mongoose OS) aus und folgen Sie dem Setup-Assistenten:

Schritt 5: Der Mongoose-Setup-Assistent

Der Mongoose-Setup-Assistent
Der Mongoose-Setup-Assistent
Der Mongoose-Setup-Assistent
Der Mongoose-Setup-Assistent
Der Mongoose-Setup-Assistent
Der Mongoose-Setup-Assistent

Schritt 6: Gerätestatus - Online

Gerätestatus - Online
Gerätestatus - Online

Nach Abschluss der drei Schritte erhalten Sie die unten angegebene Meldung und der Gerätestatus wird online. Jetzt kann unser ESP8266-Modul mit allen entfernten Geräten kommunizieren

Schritt 7: Gerät auf AWS IOT bereitstellen

Bereitstellen von Geräten auf AWS IOT
Bereitstellen von Geräten auf AWS IOT

Bevor wir Ereignisse an AWS senden können, müssen wir eine sichere Verbindung zu AWS IOT herstellen können. Dazu müssen wir den ESP mit den AWS-Zertifikaten versehen. Wählen Sie im Mongoose OS-Setup-Assistenten das Menü Device Config und dann Wählen Sie die entsprechende AWS-Region und die AWS-Richtlinie für Ihre AWS-Umgebung aus. Klicken Sie auf die Schaltfläche Bereitstellung mit AWS IOT. Das Gerät wird mit den richtigen Informationen für die Verbindung mit dem AWS-Service eingerichtet. Die Zertifikate werden automatisch installiert.

Notiz:

Der Benutzer kann die entsprechende AWS-Region und AWS-Richtlinie auswählen. In unserem Szenario haben wir die AWS-Region als ap-southeast-1 und die AWS-Richtlinie als mos-default ausgewählt

Nach der Fertigstellung des Bereitstellungsgeräts auf AWS IOT kann nun das esp8266 Wi-Fi-Modul mit AWS -IOT kommunizieren

Schritt 8: Laden des Beispielcodes in die NodeMCU-Platine

Laden des Beispielcodes in die NodeMCU-Platine
Laden des Beispielcodes in die NodeMCU-Platine

Wenn Sie nach dem Ausführen des Mongoose-Setup-Assistenten auf das Menü Gerätedateien klicken, befindet sich eine Datei namens init.js. In dieser Datei befindet sich ein Beispielcode. Wenn Sie auf die Schaltfläche Save +Reboot klicken, wird der Beispielcode geladen und die Ausgabe kann in den Geräteprotokollen eingesehen werden

Schritt 9: Erste Schritte mit dem AWS-Konto

Was ist AWS?

Amazon Web Services (AWS) ist ein Cloud-Dienstleister von Amazon, der Dienste in Form von Bausteinen bereitstellt. Mit diesen Bausteinen können beliebige Arten von Anwendungen in der Cloud erstellt und bereitgestellt werden. Diese Dienste oder Bausteine sind so konzipiert, dass sie miteinander arbeiten und zu hoch entwickelten und hoch skalierbaren Anwendungen führen.

Wie stellt man das ein?

Es gibt zwei Möglichkeiten, AWS-Services einzurichten

 Verwenden des AWS CLI-Befehlszeilendienstprogramms

 Verwenden der AWS-GUI

Schritt 10: AWS CLI-Befehlszeilendienstprogramm (optional)

Zuerst müssen wir AWS CLI installieren. AWS CLI ist ein Befehlszeilentool, das Befehle für die Interaktion mit AWS-Services bereitstellt. Es ermöglicht Ihnen, die von der AWS Management Console bereitgestellte Funktionalität vom Terminal aus zu verwenden. Mongoose verwendet dieses Tool, um das IOT-Gerät auf AWS IOT bereitzustellen. Die AWS CLI benötigt Ihre Anmeldeinformationen, um eine Verbindung zu AWS herstellen zu können. Führen Sie zum Einrichten von aws configure über die Befehlszeile aus und geben Sie Ihre Zugangsinformationen (Ihre Anmeldeinformationen) ein. In einfachen Worten, Sie können über eine einfache und intuitive webbasierte Benutzeroberfläche auf Amazon Web Services zugreifen und diese verwalten. Wenn Ihr Anliegen der Zugriff auf einige der Funktionen über ein Mobiltelefon ist, können Sie mit der mobilen AWS Console-App unterwegs schnell Ressourcen anzeigen.

Schritt 11: Amazon Web Services (GUI)

Amazon-Webdienste (GUI)
Amazon-Webdienste (GUI)

Nach der Bereitstellung mit AWS können wir uns bei der AWS-Verwaltungskonsole anmelden, unter der Registerkarte Dienste haben wir verschiedene Kategorien. Bevor wir mit der Erkundung der Funktionen dieser Konsole beginnen, müssen Sie ein Konto bei AWS erstellen. Personen, die kein Konto haben, können die AWS-Website besuchen und ein kostenloses Konto erstellen. Sie müssen Ihre Kredit-/Debitkartendaten eingeben. AWS berechnet Ihnen während Ihres kostenlosen Abonnements keine Gebühren, solange Sie die Dienste gemäß den angegebenen Grenzen nutzen.

Schritt 12: AWS IOT-Kern

AWS IOT-Kern
AWS IOT-Kern

Nach dem Login werden Sie auf die folgende Seite weitergeleitet und wählen unter Internet der Dinge den IOT-Kern aus

Schritt 13: AWS IOT - Überwachen

AWS IOT - Überwachen
AWS IOT - Überwachen

Sobald Sie den IOT-Kern ausgewählt haben, erscheint die obige Seite und wählen Sie dann das Testmenü

Schritt 14: AWS IOT - Abonnements

AWS IOT - Abonnements
AWS IOT - Abonnements

Nachdem Sie das Testmenü ausgewählt haben, werden Sie zu Abonnements weitergeleitet. Geben Sie im Abonnementthema das entsprechende Thema an, das Sie verwenden, und klicken Sie auf die Schaltfläche Thema abonnieren

Schritt 15: Veröffentlichen der Standardnachricht

Veröffentlichen der Standardnachricht
Veröffentlichen der Standardnachricht

Danach werden Sie auf die obige Seite weitergeleitet. Wenn Sie auf In Thema veröffentlichen klicken, erhalten wir die Beispielnachricht, die hier standardmäßig angezeigt wird

Hinweis: Wenn Sie einen neuen Code schreiben und in das NodeMCU-Board laden möchten (Der Code, den wir schreiben, sollte im Gerätedateimanager > init.js-Datei geladen werden, dann sollten Sie den Themennamen in den Code aufnehmen. Nach dem Einfügen des Themennamens, müssen Sie im Abschnitt Abonnements denselben Themennamen verwenden, um die Ausgabe zu veröffentlichen

Schritt 16: Veröffentlichen der Informationen zum Drücken der Taste

Veröffentlichen der Informationen zu gedrückten Tasten
Veröffentlichen der Informationen zu gedrückten Tasten

Schritt 17: Veröffentlichen der Temperatur- und Feuchtigkeitswerte auf der AWS IOT-Plattform

Veröffentlichen der Temperatur- und Feuchtigkeitswerte auf der AWS IOT-Plattform
Veröffentlichen der Temperatur- und Feuchtigkeitswerte auf der AWS IOT-Plattform

Schritt 18: Aufgabe

Schließen Sie den Stromkreis wie unten gezeigt an

 Flashen Sie das Mungo-Betriebssystem auf dem ESP8266-Modul

 Gerät auf AWS IOT bereitstellen

 Laden Sie den Programmiercode in das NodeMCU-Board

 Überprüfen Sie die Ausgabe in den Geräteprotokollen (siehe Abbildung 9)

 Melden Sie sich beim AWS-Konto an

 Wählen Sie das IOT-Kern-Untermenü

 Wählen Sie die Option Test aus dem Abschnitt MQTT-Client

 Geben Sie das entsprechende Thema in den Abonnements an

 Klicken Sie auf die Schaltfläche zum Thema veröffentlichen

 Stellen Sie sicher, dass Sie jedes Mal, wenn Sie die Flash-Taste drücken, die Temperatur- und Feuchtigkeitswerte als Meldungen erhalten

Empfohlen: