Inhaltsverzeichnis:

ThingSpeak, ESP32 und kabellose Temperatur und Luftfeuchtigkeit mit großer Reichweite - Gunook
ThingSpeak, ESP32 und kabellose Temperatur und Luftfeuchtigkeit mit großer Reichweite - Gunook

Video: ThingSpeak, ESP32 und kabellose Temperatur und Luftfeuchtigkeit mit großer Reichweite - Gunook

Video: ThingSpeak, ESP32 und kabellose Temperatur und Luftfeuchtigkeit mit großer Reichweite - Gunook
Video: NodeMCU, BMP280 und Blynk App KOMPLETT erklärt 2024, Juli
Anonim
ThingSpeak, ESP32 und Long Range Wireless Temperatur und Luftfeuchtigkeit
ThingSpeak, ESP32 und Long Range Wireless Temperatur und Luftfeuchtigkeit

In diesem Tutorial werden wir verschiedene Temperatur- und Feuchtigkeitsdaten mit dem Temperatur- und Feuchtigkeitssensor messen. Außerdem erfahren Sie, wie Sie diese Daten an ThingSpeak senden. Damit Sie es von überall für unterschiedliche Anwendungen analysieren können

Schritt 1: Hardware und Software erforderlich

Erforderliche Hardware und Software
Erforderliche Hardware und Software
Erforderliche Hardware und Software
Erforderliche Hardware und Software

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. Misst -40 °C bis 125 °C mit Batterien, die diese Werte überstehen. Überlegene 2-Meilen-LOS-Reichweite und 28 Meilen mit High-Gain-Antennen. Schnittstelle zu Raspberry Pi, Microsoft Azure, Arduino und mehr.
  • Drahtloses Mesh-Modem mit großer Reichweite und USB-Schnittstelle

Verwendete Software

  • Arduino-IDE
  • ThingSpeak

Bibliothek verwendet

  • PubSubClient-Bibliothek
  • Wire.h

Arduino-Client für MQTT

Diese Bibliothek bietet einen Client für einfaches Publish/Subscribe-Messaging mit einem Server, der MQTT. unterstützt

Weitere Informationen zu MQTT finden Sie unter mqtt.org.

Herunterladen

Die neueste Version der Bibliothek kann von GitHub heruntergeladen werden

Dokumentation

Die Bibliothek enthält eine Reihe von Beispielskizzen. Siehe Datei > Beispiele > PubSubClient in der Arduino-Anwendung. Vollständige API-Dokumentation.

Kompatible Hardware

Die Bibliothek verwendet die Arduino Ethernet Client API für die Interaktion mit der zugrunde liegenden Netzwerkhardware. Dies bedeutet, dass es mit einer wachsenden Anzahl von Boards und Shields funktioniert, einschließlich:

  • Arduino-Ethernet
  • Arduino Ethernet-Shield
  • Arduino YUN – verwenden Sie den mitgelieferten YunClient anstelle von EthernetClient und stellen Sie sicher, dass Sie zuerst Bridge.begin() ausführen
  • Arduino WiFi Shield - Wenn Sie mit diesem Shield Pakete mit mehr als 90 Byte senden möchten, aktivieren Sie die Option MQTT_MAX_TRANSFER_SIZE in PubSubClient.h.
  • SparkFun WiFly Shield – bei Verwendung mit dieser Bibliothek
  • Intel Galileo/Edison
  • ESP8266
  • ESP32Die Bibliothek kann derzeit nicht mit Hardware verwendet werden, die auf dem ENC28J60-Chip basiert – wie dem Nanode oder dem Nuelectronics Ethernet Shield. Für diese steht eine alternative Bibliothek zur Verfügung.

Drahtbibliothek

Die Wire-Bibliothek ermöglicht die Kommunikation mit I2C-Geräten, oft auch "2 Wire" oder "TWI" (Two Wire Interface) genannt, kann von Wire.h. heruntergeladen werden

Grundlegende Verwendung

  • Wire.begin () Beginnen Sie mit der Verwendung von Wire im Master-Modus, in dem Sie Datenübertragungen initiieren und steuern. Dies ist die häufigste Verwendung bei der Verbindung mit den meisten I2C-Peripheriechips.
  • Wire.begin(address)Beginn mit Wire im Slave-Modus, wo Sie bei "Adresse" antworten, wenn andere I2C-Master-Chips die Kommunikation initiieren. Senden
  • Wire.beginTransmission(address)Starten Sie eine neue Übertragung an ein Gerät unter "Adresse". Der Master-Modus wird verwendet.
  • Wire.write(data)Daten senden. Im Master-Modus muss zuerst beginTransmission aufgerufen werden.
  • Wire.endTransmission() Im Master-Modus beendet dies die Übertragung und bewirkt, dass alle gepufferten Daten gesendet werden.

Empfang

  • Wire.requestFrom(address, count)Lesen Sie "count" Bytes von einem Gerät an "address". Der Master-Modus wird verwendet.
  • Wire.available() Gibt die Anzahl der Bytes zurück, die durch den Aufruf von receive verfügbar sind.
  • Wire.read() 1 Byte empfangen.

Schritt 2: Hochladen des Codes auf ESP32 mit Arduino IDE

  • Vor dem Hochladen des Codes können Sie die Funktionsweise dieses Sensors unter einem bestimmten Link anzeigen.
  • Laden Sie die PubSubClient-Bibliothek und die Wire.h-Bibliothek herunter und binden Sie sie ein.
  • Sie müssen Ihren API-Schlüssel, SSID (WiFi-Name) und das Passwort des verfügbaren Netzwerks zuweisen.
  • Kompilieren Sie den Temp-ThinSpeak.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

Serieller Monitorausgang
Serieller Monitorausgang

Schritt 4: ThingSpeak zum Laufen bringen

Damit ThingSpeak funktioniert
Damit ThingSpeak funktioniert
Damit ThingSpeak funktioniert
Damit ThingSpeak funktioniert
Damit ThingSpeak funktioniert
Damit ThingSpeak funktioniert
  • Erstellen Sie das Konto auf ThnigSpeak.
  • Erstellen Sie einen neuen Kanal, indem Sie auf Kanäle klicken.
  • Klicken Sie auf Meine Kanäle.
  • Klicken Sie auf Neuer Kanal.
  • Benennen Sie den Kanal in Neuer Kanal.
  • Benennen Sie das Feld innerhalb des Kanals, Feld ist die Variable, in der die Daten veröffentlicht werden.
  • Speichern Sie nun den Kanal.
  • Jetzt finden Sie Ihre API-Schlüssel im Dashboard. Gehen Sie zum Tap auf der Homepage und suchen Sie Ihren 'Write Api Key', der aktualisiert werden muss, bevor Sie den Code auf ESP32 hochladen.
  • Sobald der Kanal erstellt wurde, können Sie Ihre Temperatur- und Feuchtigkeitsdaten in der privaten Ansicht mit Feldern anzeigen, die Sie im Kanal erstellt haben.
  • Um ein Diagramm zwischen Temperatur- und Feuchtigkeitsdaten zu zeichnen, können Sie die MATLAB-Visualisierung verwenden.
  • Gehen Sie dazu zu App, klicken Sie auf MATLAB-Visualisierung.
  • Darin wird Custom ausgewählt, in diesem haben wir als Beispiel die Plottemperatur und die Windgeschwindigkeit auf zwei verschiedenen y-Achsen 8 ausgewählt. Klicken Sie nun auf Erstellen.
  • MATLAB-Code wird automatisch generiert, wenn Sie eine Visualisierung erstellen, aber Sie müssen die Feld-ID bearbeiten, die Kanal-ID lesen, können Sie die folgende Abbildung überprüfen.
  • Speichern Sie dann den Code und führen Sie ihn aus.
  • Sie würden die Handlung sehen.

Empfohlen: