Inhaltsverzeichnis:
- Schritt 1: HARDWARE UND SOFTWARE ERFORDERLICH
- Schritt 2: Hochladen des Codes auf ESP32 mit Arduino IDE:
- Schritt 3: Serieller Monitorausgang
- Schritt 4: AWS zum Laufen bringen
- Schritt 5: Richtlinie erstellen
- Schritt 6: Fügen Sie dem Code privaten Schlüssel, Zertifikat und Root_CA hinzu
- Schritt 7: Ausgabe erhalten-
Video: Überwachung-Temperatur-und-Luftfeuchtigkeit-mit-AWS-ESP32 - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
In diesem Tutorial werden wir verschiedene Temperatur- und Feuchtigkeitsdaten mit dem Temperatur- und Feuchtigkeitssensor messen. Sie erfahren auch, wie Sie diese Daten an AWS senden
Schritt 1: HARDWARE UND SOFTWARE ERFORDERLICH
Hardware:
- ESP-32: Der ESP32 macht es einfach, die Arduino IDE und die Arduino Wire Language für IoT-Anwendungen zu verwenden. Dieses ESp32 IoT-Modul kombiniert Wi-Fi, Bluetooth und Bluetooth BLE für eine Vielzahl unterschiedlicher Anwendungen. Dieses Modul ist voll ausgestattet mit 2 CPU-Kernen, die einzeln angesteuert und mit Strom versorgt werden können, und mit einer einstellbaren Taktfrequenz von 80 MHz bis 240 MHz. Dieses ESP32 IoT WiFi BLE-Modul mit integriertem USB ist so konzipiert, dass es in alle ncd.io IoT-Produkte passt. Überwachen Sie Sensoren und steuern Sie Relais, FETs, PWM-Controller, Magnetspulen, Ventile, Motoren und vieles mehr von überall auf der Welt mit einer Webseite oder einem dedizierten Server. Wir haben unsere eigene Version des ESP32 hergestellt, die in NCD-IoT-Geräte passt und mehr Erweiterungsmöglichkeiten bietet als jedes andere Gerät der Welt! Ein integrierter USB-Port ermöglicht eine einfache Programmierung des ESP32. Das ESP32 IoT WiFi BLE-Modul ist eine unglaubliche Plattform für die Entwicklung von IoT-Anwendungen. Dieses ESP32 IoT WiFi BLE Modul kann mit der Arduino IDE programmiert werden.
- IoT Long Range Wireless Temperatur- und Feuchtigkeitssensor: Industrieller Long Range Wireless Temperatur-Feuchtesensor. Grad mit einer Sensorauflösung von ±1,7%RH ±0,5°C. Bis zu 500.000 Übertragungen von 2 AA-Batterien. Messt -40 °C bis 125 °C mit Batterien, die diese Bewertungen überstehen. Überlegene 2-Meilen-LOS-Reichweite und 28 Meilen mit High-Gain Antennas. Interface zu Raspberry Pi, Microsoft Azure, Arduino und mehr
- Drahtloses Mesh-Langstreckenmodem mit USB-Schnittstelle Drahtloses Mesh-Langstreckenmodem mit USB-Schnittstelle
Verwendete Software:
- Arduino-IDE
- AWS
Verwendete Bibliothek:
- PubSubClient-Bibliothek
- Wire.h
- AWS_IOT.h
Schritt 2: Hochladen des Codes auf ESP32 mit Arduino IDE:
Da esp32 ein wichtiger Bestandteil ist, um Ihre Temperatur- und Feuchtigkeitsdaten in AWS zu veröffentlichen.
- Laden Sie die PubSubClient Library, Wire.h Library, AWS_IOT.h, Wifi.h herunter und binden Sie sie ein.
- Laden Sie die Zip-Datei von AWS_IoT über den angegebenen Link herunter und fügen Sie die Bibliothek nach dem Extrahieren in Ihren Arduino-Bibliotheksordner ein.
#enthalten
#include<AWS_IOT.h #include #include #include
- Sie müssen Ihr eindeutiges AWS MQTT_TOPIC, AWS_HOST, SSID (WiFi-Name) und Ihr Passwort des verfügbaren Netzwerks zuweisen.
- MQTT-Thema und AWS HOST können in der AWS-IoT-Konsole in Things-Interact einsteigen.
#define WIFI_SSID "xxxxx" // deine WLAN-SSID
#define WIFI_PASSWD "xxxxx" //Ihr WLAN-Passwort #define CLIENT_ID "xxxxx"// eindeutige Ding-ID, kann eine beliebige eindeutige ID sein #define MQTT_TOPIC "xxxxxx" //Thema für die MQTT-Daten #define AWS_HOST "xxxxxx" // Ihre Host zum Hochladen von Daten in AWS
Definieren Sie den Variablennamen, auf dem die Daten an AWS gesendet werden
int-Temp;
int Luftfeuchtigkeit;
Code zum Veröffentlichen von Daten in AWS:
if (temp == NAN || Luftfeuchtigkeit == NAN) {// NAN bedeutet keine verfügbaren Daten
Serial.println ("Lesen fehlgeschlagen."); } else { //Erzeuge String-Nutzlast für die Veröffentlichung String temp_humidity = "Temperatur: "; temp_humidity += String(temp); temp_humidity += " °C Feuchtigkeit: "; temp_humidity += String(Luftfeuchtigkeit); temp_feuchtigkeit += " %";
temp_humidity.toCharArray(Nutzlast, 40);
Serial.println("Veröffentlichung:-"); Serial.println (Nutzlast); if (aws.publish(MQTT_TOPIC, payload) == 0) {// veröffentlicht Payload und gibt bei Erfolg 0 zurück Serial.println("Success\n"); } else { Serial.println ("Fehlgeschlagen!\n"); } }
- Kompilieren Sie den ESP32_AWS.ino-Code und laden Sie ihn hoch.
- Um die Konnektivität des Geräts und die gesendeten Daten zu überprüfen, öffnen Sie den seriellen Monitor. Wenn keine Antwort angezeigt wird, versuchen Sie, Ihren ESP32 zu trennen und dann erneut anzuschließen. Stellen Sie sicher, dass die Baudrate des seriellen Monitors auf die gleiche eingestellt ist, die in Ihrem Code 115200 angegeben ist.
Schritt 3: Serieller Monitorausgang
Schritt 4: AWS zum Laufen bringen
ERSTELLE DING UND ZERTIFIKAT
DING: Es ist eine virtuelle Darstellung Ihres Geräts.
ZERTIFIKAT: Authentifiziert die Identität eines DINGs.
- Öffnen Sie AWS-IoT.
- Klicken Sie auf verwalten -THING -THING registrieren.
- Klicken Sie auf eine einzelne Sache erstellen.
- Geben Sie dem Ding einen Namen und Typ.
- Klicken Sie auf Weiter.
- Nun öffnet sich Ihre Zertifikatsseite. Klicken Sie auf Zertifikat erstellen.
- Laden Sie diese Zertifikate, hauptsächlich den privaten Schlüssel, ein Zertifikat für dieses Ding und root_ca herunter und bewahren Sie sie in einem separaten Ordner auf. Klicken Sie im root_ca-Zertifikat auf Amazon Root CA1-Kopieren Sie es-Fügen Sie es in den Notizblock ein und speichern Sie es als root_ca.txt-Datei in Ihrem Zertifikatsordner.
Schritt 5: Richtlinie erstellen
Es definiert, auf welche Operation ein Gerät oder ein Benutzer zugreifen kann.
- Gehen Sie zur AWS-IoT-Schnittstelle, klicken Sie auf Secure-Policies.
- Klicken Sie auf Erstellen.
- Geben Sie alle erforderlichen Details ein, z. B. den Richtliniennamen, und klicken Sie auf Erstellen.
- Gehen Sie nun zurück zur AWS-IoT-Schnittstelle, klicken Sie auf Secure-Certificates und hängen Sie die soeben erstellte Richtlinie daran an.
Schritt 6: Fügen Sie dem Code privaten Schlüssel, Zertifikat und Root_CA hinzu
- Öffnen Sie Ihr heruntergeladenes Zertifikat in Ihrem Texteditor (Notepad ++), hauptsächlich privater Schlüssel, Root_CA und Zertifikat der Sache und bearbeiten Sie sie wie unten angegeben.
- Öffnen Sie nun Ihren AWS_IoT-Ordner in Ihrer Arduino-Bibliothek -My Document. Gehen Sie zu C:\Users\xyz\Documents\Arduino\libraries\AWS_IOT\src, klicken Sie auf aws_iot_certficates.c, öffnen Sie es in einem Editor und fügen Sie alle bearbeiteten Zertifikate an der erforderlichen Stelle ein, speichern Sie sie.
Schritt 7: Ausgabe erhalten-
- Gehen Sie zum Testen in der AWS_IoT-Konsole.
- Geben Sie in Ihren Testanmeldeinformationen Ihr MQTT-Thema in das Abonnementthema ein.
- Jetzt können Sie Ihre Temperatur- und Feuchtigkeitsdaten anzeigen.
Empfohlen:
Verwendung von Mikrocontrollern zum Betrieb und zur Überwachung des Fernbewässerungssystems : 4 Schritte
Einsatz von Mikrocontrollern zum Betrieb und zur Überwachung des Fernbewässerungssystems : Landwirte und Gewächshausbetreiber für ein kostengünstiges automatisches Bewässerungssystem. In diesem Projekt integrieren wir einen elektronischen Bodenfeuchtesensor mit einem Mikrocontroller, um Pflanzen automatisch ohne menschliches Zutun zu bewässern, wenn der Boden zu trocken ist