Erste Schritte mit MqttDesk MQTT Client, Mosquitto MQTT Broker, ESP8266 , LM35 Temperatursensor & Arduino für Echtzeit-Temperaturüberwachung Dashboard. Dies ist das beste Beispiel für IoT (Internet der Dinge) Projekte, bei denen ein LM35 Temperatur-Datenlogger für Internet der Dinge Anwendungen mit ESP8266, LM35, MQTT, Mosquitto und Arduino IDE eingerichtet wird.
Ein Beispiel für einen LM35-Temperatursensor, der an ein ESP8266(Nodemcu)-Wi-Fi-Modul angeschlossen ist und über die Arduino IDE konfiguriert wird, um die Messwerte des Temperatursensors an den MQTT-Broker Mosquitto zu übermitteln, der dann die Temperatur an den MQTT-Client MqttDesk oder einen anderen MQTT-Client übermittelt.
Dinge, die im IoT-Projekt verwendet werden…
1. MQTT-Klient
2.der LM35-Sensor
3.ESP8266(Nodemcu)
4.mosquitto
5.die Arduino IDE
1. der MqttDesk MQTT-Client
MqttDesk ist ein MQTT-Client für ein Echtzeit-IoT-Dashboard für Internet-of-Things(IoT)-Projekte. Wie man ein Dashboard und einen MQTT-Client auf MqttDesk einrichtet, erfahren Sie unter dem Link, wo wir Beispiele für die Einrichtung und Konfiguration gezeigt haben. Wir werden ein Werte-Widget und Diagramme verwenden, um die Messwerte des LM35 anzuzeigen. Über die Arduino IDE werden wir die LM35-Temperaturmesswerte an den MqttDesk MQTT Client und den mosquitto mqtt broker veröffentlichen. MqttDesk MQTT Client ist ein Teil der MQTT Protokoll Architektur.
2.LM35 Temperatursensor
LM35 is the analogue sensor for measuring the temperature. It is a temperature sensor with Vcc/GND/OUT pins connected to an ESP8266 board.
The LM35 is better than a thermistor. At 10.0mv/°C, its output voltage is proportional to the measured Celsius temperature. It requires no calibration and offers an accuracy of +-1/4°C.
Here we use the LM35 DZ, which comes in TO-92 plastic transistor package. It measures in the range from 0°C to 100°C. The LM35 connects to the ADC pin of the ESP8266 module, which converts analog to digital signals. Check the LM35 data sheet for the exact model number with the exact specifications.
Check the LM35 sensor pins in the image below.
3.ESP8266/Nodemcu
ESP8266 ist ein kleiner und intelligenter Mikrocontroller mit Wi-Fi-Fähigkeiten, der in vielen Internet of Things (IoT) und anderen Heimautomatisierungsanwendungen von Espressif Systems verwendet wird. Richten Sie das ESP8266 Wi-Fi-Modul in der Arduino IDE ein und schreiben Sie dann ein paar Zeilen Code, um die Messwerte des LM35-Sensors über Mosquitto an den MqttDesk MQTT-Client zu senden.
Der LM35 ist mit dem ADC-Pin des ESP8266 Wi-Fi-Moduls verbunden. Prüfen Sie das untenstehende Bild des ESP8266 Pinout für die Verbindungen. Der OUT-Pin des LM35 ist mit dem A0-Pin des ESP8266 (Nodemcu) verbunden und GND und Vs des LM35 sind mit den entsprechenden Pins des ESP8266-Boards verbunden.
4. der Mosquitto MQTT-Broker
Mosquitto ist ein Open-Source-MQTT-Broker, der im Publish/Subscribe-Modell des MQTT-Protokolls verwendet wird. Seine aktualisierte Version arbeitet mit MQTT v5.0. Eine Instanz des Mosquitto-Brokers ist in wenigen Minuten konfiguriert und wird als Messaging-Protokoll für MQTT-Clients verwendet.
Für dieses Projekt kann entweder eine eigene Instanz verwendet werden, oder Mosquitto stellt einen öffentlichen Broker zur freien Verfügung.
5. die Arduino-Software IDE
Die Arduino-Software-IDE ist eine Open-Source-IDE, die zum Schreiben und Hochladen von Code für viele auf dem Markt erhältliche Mikrocontroller wie Arduino und Espressif-Controller verwendet wird.
Richten Sie die Arduino IDE für das ESP8266 Wi-Fi Modul ein, um den Code zu schreiben und hochzuladen. Es gibt viele Bibliotheken für das ESP8266 WIFI-Modul.
LM35 Schnittstelle mit Nodemcu ESP8266 WIFI Modul, MqttDesk MQTT Client & Mosquitto
Lassen Sie uns den LM35 Temperatursensor mit dem ESP8266(Nodemcu) einrichten.
- Verbinden Sie die Pins des LM35-Sensors mit dem ESP8266(Nodemcu)-Mikrocontroller.
- Arduino Software IDE-Einrichtung für ESP8266(Nodemcu) Mikrocontroller.
- Verwenden Sie den angegebenen Code zum Hochladen auf den ESP8266(Nodemcu).
- Laden Sie den MqttDesk MQTT Client auf Ihren PC herunter und richten Sie den MQTT Client ein.
- Besorgen Sie sich die Zugangsdaten für den Mosquitto-Broker, um den MQTT-Client einzurichten.
1. den LM35-Sensor mit dem ESP8266(Nodemcu) verbinden
- Verbinden Sie GND des LM35 mit dem GND-Pin des ESP8266(Nodemcu).
- Verbinden Sie den Vout Pin des LM35 mit dem ADC(A0) Pin des ESP8266.
- Verbinden Sie Vs mit 3,3 V des ESP8266.
2. die Einrichtung der Arduino Software IDE für den ESP8266 (Nodemcu) Mikrocontroller
- Richten Sie die ESP8266-Quelle ein, wenn Sie zum ersten Mal mit der Arduino IDE und dem ESP8266-Wifi-Modul arbeiten.
- Wählen Sie den Mikrocontroller (ESP8266 Nodemcu) und den Com-Port für die Kommunikation zwischen IDE und Board.
- Kopieren Sie den Code und laden Sie ihn auf das ESP8266-Board hoch.
- Öffnen Sie den seriellen Monitor und überprüfen Sie das MQTT-Thema, das die Temperaturdaten an den MQTT-Broker veröffentlicht.
3. verwenden Sie den angegebenen Code zum Hochladen auf ESP8266(Nodemcu)
#include
#include
const char* ssid = „Your wifi“;
const char* password = „password“;
const char* mqtt_server = „broker.emqx.io“;// Your server IP address
const char* mqtt_user = „ioctrl“;
const char* mqtt_password = „1234“;
WiFiClient espClient;
PubSubClient client(espClient);
long lastMsg = 0;
char msg[50];
int value = 0;
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // Initialize the BUILTIN_LED pin as an output
Serial.begin(115200);
setup_wifi();
client.setServer(mqtt_server, 1883);
client.setCallback(callback);
}
void setup_wifi() {
delay(10);
Serial.println();
Serial.print(„Connecting to „);
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(„.“);
}
Serial.println(„“);
Serial.println(„WiFi connected“);
Serial.println(„IP address: „);
Serial.println(WiFi.localIP());
}
void callback(char* topic, byte* payload, unsigned int length) {
Serial.print(„Message arrived [„);
Serial.print(topic);
Serial.print(„] „);
for (int i = 0; i < length; i++) {
Serial.print((char)payload[i]);
}
Serial.println();
if ((char)payload[0] == ‚1‘) {
digitalWrite(BUILTIN_LED, LOW);
} else {
digitalWrite(BUILTIN_LED, HIGH);
}
}
void reconnect() {
// Loop until we’re reconnected
while (!client.connected()) {
Serial.print(„Attempting MQTT connection…“);
if (client.connect(„ESP8266Client“, mqtt_user , mqtt_password)) {
Serial.println(„connected“);
client.subscribe(„led_topic“);
} else {
Serial.print(„failed, rc=“);
Serial.print(client.state());
Serial.println(“ try again in 5 seconds“);
delay(5000);
}
}
}
void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();
long now = millis();
if (now – lastMsg > 2000) {
lastMsg = now;
value=analogRead(A0);
snprintf (msg, 1000, „%ld“, value/10);
Serial.print(„Publish message: „);
Serial.println(msg);
client.publish(„sensor_data“, msg);
}
}
- Öffnen Sie den seriellen Monitor und überprüfen Sie Ihre WLAN-Verbindungen mit ESP8266.
- Überprüfen Sie die Broker-Verbindung und die ESP8266-Verbindung mit dem MQTT Broker.
- Prüfen Sie, ob die Nachrichtenveröffentlichung an den MQTT-Broker zum angegebenen Thema korrekt ist.
Laden Sie MqttDesk MQTT Client auf Ihren PC herunter & Richten Sie den MQTT Client ein.
MqttDesk MQTT Client ist ein plattformübergreifender MQTT Client für Internet of Things (IoT) & Industrial IoT (IIoT) Anwendungen. Es ist eine kostengünstige und codefreie Anwendung für Freiberufler und Unternehmen für verschiedene Anwendungen wie Heimautomatisierung, Smart City, Industrie-SPS und andere Arten der Überwachung von Industrieanlagen. MqttDesk kann auf Linux/macOS/Windows/SnapLinux/RaspberryPi auf ARM32/ARM64-Mikrocontrollern heruntergeladen werden. 25 Widgets stehen für die Verwendung auf ’n‘ nos. von Dashboards für ’n‘ nos. von MQTT Clients zur Verfügung.
- Besuchen Sie www.ioctrl.com und laden Sie den MqttDesk MQTT Client für Ihren Rechner (Linux/MacOS/Windows/Snap) herunter.
- Öffnen Sie die MqttDesk MQTT Client App auf Windows, wie in unserem Video verwendet.
- Erstellen Sie den MQTT-Client mit den Details des MQTT-Brokers, fügen Sie ein Dashboard und Widgets hinzu und fügen Sie das Thema für die Visualisierung von Sensordaten in Echtzeit mit MqttDesk MQTT-Client hinzu.
- Nutzen Sie den Link, um zu erfahren, wie Sie MQTT Broker & Widgets in MqttDesk MQTT Client? erstellen oder hinzufügen können.
5. holen Sie sich die Zugangsdaten für den Mosquitto-Broker, um den MQTT-Client einzurichten.
Mosquitto ist ein quelloffener und offener MQTT-Broker, der für die Öffentlichkeit unter „test.mosquitto.org“ gehostet wird. Jeder kann den gehosteten Broker für seine Anwendungen nutzen. Verwenden Sie die folgenden Konfigurationen in der MqttDesk MQTT Client App, um ein MQTT Client Setup für Dashboard und Widgets zu erstellen.
MQTT-Broker – test.mosquitto.org
Anschluss – 1883
Protokoll – TCP
Jetzt können Sie die LM35-Temperatursensor-Datenprotokollierung oder die Visualisierung auf MqttDesk MQTT Client mit Mosquitto Broker mit Hilfe von ESP8266 Wifi-Modul als MQTT Client veröffentlicht die LM35-Sensordaten an Mosquitto Broker/Server und dann Mosquitto veröffentlicht sie an MqttDesk MQTT Client. Sehen Sie sich das Video zum Projekt an.