WeChat-Applet + MQTT, ESP8266-Implementierungsmethode zum Ablesen von Temperatur und Luftfeuchtigkeit

WeChat-Applet + MQTT, ESP8266-Implementierungsmethode zum Ablesen von Temperatur und Luftfeuchtigkeit

Bildbeschreibung hier einfügen

Erstens das Prinzip der

esp8266 veröffentlicht Nachrichten über mqtt, und das WeChat-Applet abonniert Nachrichten über mqtt. Nachdem das Applet abonniert hat, kann es von esp8266 gesendete Nachrichten in Echtzeit empfangen.

Zweitens Temperatur- und Feuchtigkeitstest

Bildbeschreibung hier einfügen

Hier kommt der Port D4 zum Einsatz.

Diese Demo wurde mit Arduino IDE entwickelt. Weitere Informationen zur ESP8266-Umgebungskonfiguration von Arduino IDE finden Sie unter: Umgebungskonfiguration: Klicken Sie hier, um zu springen

Installieren der Bibliothek

Dieses Beispiel verwendet eine sehr einfache und leicht zu verwendende Simple-DHT-Sensorbibliothek, die mit ESP8266 funktioniert. Die Bibliothek kann einfach über den Arduino IDE-Bibliotheksmanager installiert werden.
Gehen Sie in den Optionen über Arduino IDE zu Tools > Bibliotheken verwalten und suchen Sie direkt nach dht11 . Klicken Sie hier, um die Bibliothek wie unten gezeigt zu installieren:

Bildbeschreibung hier einfügen

Testverfahren:

#include <SimpleDHT.h>

// für DHT11, 
// VCC: 5V oder 3V
// Masse: Masse
// DATEN: 2
int pinDHT11 = D4;
EinfachDHT11 dht11(pinDHT11);

void setup() {
 Seriell.begin(115200);
}

void schleife() {
 // mit der Arbeit beginnen...
 Serial.println("===================================");
 Serial.println("Beispiel DHT11...");
 
 // ohne Samples lesen.
 Byte-Temperatur = 0;
 Byte Luftfeuchtigkeit = 0;
 int err = SimpleDHTErrSuccess;
 wenn ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
 Serial.print("Lesen von DHT11 fehlgeschlagen, Fehler="); Serial.println(Fehler);Verzögerung(1000);
 zurückkehren;
 }
 
 Serial.print("Beispiel OK: ");
 Serial.print((int)temperature); Serial.print(" *C, "); 
 Serial.print((int)humidity); Serial.println(" H");
 
 // Die Abtastrate von DHT11 beträgt 1 Hz.
 Verzögerung (1500);
}

Wenn es normal funktioniert, gibt der serielle Port normal aus, wie in der folgenden Abbildung gezeigt:

Bildbeschreibung hier einfügen

Drittens: Temperatur und Luftfeuchtigkeit in die Cloud übertragen

Wenn Temperatur und Luftfeuchtigkeit im vorherigen Schritt gelesen und ausgegeben werden können, können die Daten basierend auf der vorherigen Version in die Cloud hochgeladen werden.

Es wurde eine Schaltflächensteuerung hinzugefügt und die Daten werden mit # umschlossen, sodass die App die Daten mithilfe von Zeichenfolgentrennung trennen kann, #23#80#on, also #Temperatur#Feuchtigkeit#Schaltflächenstatus. Das Miniprogramm übernimmt den Wert gemäß der mit # segmentierten Zeichenfolge zur Anzeige.

Wenn die hochgeladenen Daten nicht nur Temperatur und Luftfeuchtigkeit sind, können Sie nach dem #-Zeichen weiterhin &msg=#23#80#data1#data2#data3#data4#\r\n hinzufügen. Wenn die App die Zeichenfolge aufteilt, muss sie entsprechend den hochgeladenen Daten aufgeteilt werden.

Laden Sie die aktualisierte Version herunter:

Klicken Sie hier, um https://cloud.bemfa.com/zip/mqtt/dht11_led.zip herunterzuladen.

Was muss geändert werden

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::3s::::::333:33333333333333333333ag33333333333333333333333333333 es333333333333333333333333333333 es33 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann dann dann dann aber33333333333333333333 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 dann3 dann3 aber3 dann3 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann nichtie dasen aber aber abersossoss aberstens aberstensss aberten aber abers :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::3s::::::333:33333333333333333333ag33333333333333333333333333333 es333333333333333333333333333333 es33 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann dann dann dann aber33333333333333333333 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 nicht3 dann3 dann3 aber3 dann3 nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht nicht dann nichtie dasen aber aber abersossoss aberstens aberstensss aberten aber abers :::::::::::

Erstellen Sie zwei neue Themen in der Bafa MQTT-Geräte-Cloud-Konsole. Der Themenname ist beliebig. Beispielsweise wird temp004 zum Übertragen von Temperatur und Luftfeuchtigkeit und led002 zum Steuern von LEDs verwendet. In diesem Beispiel werden temp004 und led002 verwendet. Wenn Sie den Beispielcode verwenden, sollten Sie ihn in Ihren eigenen Themennamen ändern, der aus Buchstaben, Zahlen oder einer Kombination aus Buchstaben und Zahlen bestehen kann. UID ist der private Schlüssel des Benutzers, der nach der Registrierung und Anmeldung bei der Buffa Maker Cloud Console abgerufen werden kann.

Hinweis: Erstellen Sie ein Thema in der MQTT-Gerätecloud.

Nach der Anmeldung können Sie die UID Ihres privaten Schlüssels in der Konsole sehen, wie in der Abbildung dargestellt:

Bildbeschreibung hier einfügen

Der WLAN-Name ist der WLAN-Name Ihres Routers. Dabei muss die Groß- und Kleinschreibung beachtet werden. Wenn Sie ihn falsch eingeben, können Sie keine Verbindung zum Netzwerk herstellen.

Im Beispiel werden alle drei Sekunden Daten hochgeladen:

long now = millis(); //Aktuellen Zeitstempel abrufen if (now - lastMsg > timeval) { //Wenn 3 s erreicht sind, Daten hochladen lastMsg = now;
 // ohne Samples lesen.
 Byte-Temperatur = 0;
 Byte Luftfeuchtigkeit = 0;
 int err = SimpleDHTErrSuccess;
 wenn ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
  Serial.print("Lesen von DHT11 fehlgeschlagen, Fehler="); Serial.println(Fehler); Verzögerung(1000);
  zurückkehren;
 }
 String msg = "#" + (String)temperatur + "#" + (String)feuchtigkeit + "#" + ledstatus; //Datenpaket#Temperatur#Feuchtigkeit#Schalterstatus#
 client.publish(dhttopic, msg.c_str()); //Daten hochladen}

Wenn der Router Netzwerkzugriff hat, werden die Daten automatisch hochgeladen. Sie können die Webseite in der Bafa MQTT-Geräte-Cloud aktualisieren, um die hochgeladenen Daten anzuzeigen. Wie in der folgenden Abbildung dargestellt:

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Die Daten werden beim Hochladen mit # gekapselt. 27 ist die Temperatur, 24 die Luftfeuchtigkeit und „Aus“ ist der Status des hochgeladenen Lichts.

Viertens: Entwicklung des WeChat-Applets

Registrieren Sie ein Miniprogrammkonto auf der öffentlichen WeChat-Plattform, holen Sie sich die Miniprogramm-App-ID und klicken Sie rechts auf - Entwicklung -> Entwicklungsverwaltung -> Entwicklungseinstellungen ----> Entwickler-ID. Sie können sehen, dass es so aussieht: wx34a2063de5cec04b. Es wird beim Importieren des folgenden Projekts verwendet.

Klicken Sie rechts auf Entwicklung –> Entwicklungsverwaltung –> Entwicklungseinstellungen ----> Serverdomänenname. Klicken Sie beim unten stehenden Serverdomänennamen auf „Ändern“ und fügen Sie die Domänennamen https://api.bemfa.com und wss://bemfa.com zum zulässigen Domänennamen der Anforderung bzw. zum zulässigen Socket-Domänennamen hinzu. Speichern und senden Sie anschließend. Wie unten gezeigt.

Bildbeschreibung hier einfügen

Laden Sie die WeChat-Entwicklertools herunter und installieren Sie sie. Diese können von Baidu heruntergeladen werden.

Laden Sie das Demoprogramm herunter. Download-Adresse: Zum Herunterladen klicken

Öffnen Sie die WeChat-Entwicklertools, das Miniprogrammprojekt und importieren Sie das Projekt. Wählen Sie das gerade heruntergeladene und entpackte Demoprogramm im Verzeichnis aus, tragen Sie die AppID Ihres Miniprogramms in AppID ein und klicken Sie anschließend unten auf „Importieren“. Wie unten gezeigt.

Bildbeschreibung hier einfügen

Dieses Beispielprogramm ist sehr einfach. Sie können es weiterentwickeln und verschiedene Funktionen hinzufügen, Hintergründe hinzufügen, Farben optimieren usw. Wenn Sie es einfach verwenden möchten, müssen Sie nur die UID- und Themeninformationen in der Datei /pages/index/index.js nach Ihren eigenen Wünschen ändern. Die UID und das Thema hier müssen mit der UID und dem Thema übereinstimmen, die von esp8266 ausgefüllt wurden. Hier gibt es zwei Themen, eines zur Übertragung von Temperatur und Luftfeuchtigkeit und das andere zur Steuerung der LED. Wie unten gezeigt.

Daten: {
 uid:"4d9ec352e0376f2110a0c601a2857225",//Benutzerschlüssel, erhalten von der BAFAC Cloud Console ledtopic:"led002",//LED-Thema steuern, erstellt von der MQTT-Konsole dhttopic:"temp004",//Temperatur- und Feuchtigkeitsthema übertragen, erstellt von der Konsole device_status:"offline",//Zeichenfolge, die anzeigt, ob die LED online ist, standardmäßig offline ledOnOff:"off",
 geprüft: false, //Der Status der LED. Die Standard-LED ist aus. wendu:"", //Temperaturwert, der Standard ist leer. shidu:"", //Feuchtigkeitswert, der Standard ist leer. ledicon:"/utils/img/lightoff.png", //Zeigt den Status des LED-Symbols an. Standardmäßig wird das Statussymbol des Clients geschlossen: null, //mqtt-Client, der Standard ist leer},

Nachdem die Änderung abgeschlossen ist, drücken Sie Strg+S, um die Änderungen zu speichern. Sie können zum Debuggen auf die Schaltfläche auf dem linken Bildschirm klicken, wie unten gezeigt.

Bildbeschreibung hier einfügen

Die Konsole kann die Debuginformationen des Applets anzeigen. Standardmäßig werden alle 3 Sekunden automatisch Daten vom Server angefordert, um die Statusinformationen von esp8266 zu überprüfen. Klicken Sie auf die Schaltfläche „Öffnen“ oder „Schließen“, um den Debugging-Assistenten für die serielle Schnittstelle des esp8266 zu öffnen und zu prüfen, ob esp8266 den Befehl empfangen hat. Wenn esp8266 im ersten Schritt mit dem Internet verbunden wurde, kann es Informationen empfangen.

Wenn die Schnittstelle und weitere Funktionen entwickelt sind. Sie können auf die Schaltfläche „Hochladen“ über dem WeChat-Entwicklertool klicken, wie unten gezeigt.

Bildbeschreibung hier einfügen

Nachdem der Upload erfolgreich war, melden Sie sich bei der öffentlichen WeChat-Plattform an, bei der Sie sich gerade registriert haben. Im Abschnitt Versionsverwaltung können Sie das gerade hochgeladene Miniprogramm sehen. Senden Sie es zur Überprüfung. Normalerweise wird es nach etwa einem Tag genehmigt. Melden Sie sich nach der Überprüfung bei der öffentlichen WeChat-Plattform an und senden Sie es zur Veröffentlichung ab. Wenn Sie es selbst verwenden, fügen Sie bitte eine Anmeldeüberprüfungsfunktion hinzu, z. B. um zu überprüfen, ob eine bestimmte Zeichenfolge korrekt ist usw. Andernfalls können andere es nach dem Start des Miniprogramms nach Belieben steuern.

Bildbeschreibung hier einfügen

Dies ist das Ende dieses Artikels über WeChat-Applet + mqtt, esp8266 Temperatur- und Feuchtigkeitsmessung. Weitere verwandte Inhalte zum WeChat-Applet esp8266 Temperatur- und Feuchtigkeitsmessung finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder weiter in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Beispiel für die Analyse von JSON-Daten durch ESP8266

<<:  Einige wichtige Einstellungsänderungsdatensätze beim Upgrade von kubernetes1.5.2 auf kubernetes1.10

>>:  Lösen Sie das Problem, dass IN-Unterabfragen in MySQL dazu führen, dass der Index unbrauchbar wird

Artikel empfehlen

Player in Webseite einbetten Einbettungselement Autostart falsch ungültig

Kürzlich musste ich einen Player in eine Webseite ...

MySQL-Optimierung: So schreiben Sie hochwertige SQL-Anweisungen

Vorwort Im Internet gibt es zahlreiche Informatio...

Stellen Sie IE8 so ein, dass Code im IE7-Stil verwendet wird

<meta http-equiv="x-ua-kompatibel" co...

Es ist Jahresende, ist Ihr MySQL-Passwort sicher?

Vorwort: Das Jahr neigt sich dem Ende zu. Ist es ...

Nginx-Proxy-Axios-Anforderung und Vorsichtsmaßnahmen

Vorwort Ich habe vor kurzem eine kleine Demo gesc...

Tutorial zum Deaktivieren und Aktivieren von Triggern in MySQL [Empfohlen]

Bei der Verwendung von MySQL werden häufig Trigge...

Detaillierte Erklärung zur Verwendung des MySQL-Sicherungsskripts mysqldump

In diesem Artikel wird das MySQL-Sicherungsskript...

Vor- und Nachteile des Tabellenlayouts und warum es nicht empfohlen wird

Nachteile von Tabellen 1. Tabellen nehmen mehr Byt...

Einführung in die MySQL-Gesamtarchitektur

Die Gesamtarchitektur von MySQL ist in die Server...

Einfaches HTML-Applet für Einkaufsmengen

Dieser Artikel stellt Ihnen ein einfaches HTML-Ap...