Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Wie verbinde ich die Drähte?
- Schritt 2: Konfigurieren Sie die ArduinoIDE
- Schritt 3: Registrieren Sie sich und erstellen Sie ein Gerät, einen Knoten und ein Feld
- Schritt 4: Arduino-Code
- Schritt 5: Ausführen und prüfen
Video: DS18B20 Temperatursensorbox - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Einfaches DS18B20-basiertes Temperatursensorgerät mit Open-Source-3D-druckbarer Box und Prototyp-PCB.
Die Box und die Prototyp-Platine sind optional, es wird nur eine ESP8266-basierte MCU und ein DS18B20-Temperatursensor benötigt. Ich schlage Ihnen einen WEMOS D1 mini vor, aber dieses Beispiel funktioniert auch mit einem ESP-01.
Dieses Beispiel erklärt, wie man ein Arduino-Programm schreibt und auf die ESP8266-MCU hochlädt, also seien Sie sich dieser Fähigkeit bewusst, bevor Sie mir folgen.:)
Lieferungen
Muss haben: - ESP8266 MCU - DS18B20 - einen 4,7 kOhm Widerstand - einige Kabel
Optional haben:- WEMOS D1 mini als MCU- Prototyp PCB für WEMOS D1 mini- 3D gedruckte Box
Schritt 1: Wie verbinde ich die Drähte?
Es ist kinderleicht, überprüfen Sie die Schaltpläne auf dem Bild …:)
1, Im Falle einer unbestückten ESP8266-Platine, verbinden Sie RX und TX mit Ihrem USB-seriellen Gerät, im Falle einer Platine mit integriertem USB ist dies nicht erforderlich.
2, Verbinden Sie GND und VCC mit der ESP8266-Platine und dem DS18B20-Sensor.
3, Schließen Sie den Widerstand zwischen dem VCC und dem Datenkabel des DS18B20-Sensors an.
4, Verbinden Sie das Datenkabel des DS18B20-Sensors mit einem GPIO der MCU (zum Beispiel GPIO 2).
Schritt 2: Konfigurieren Sie die ArduinoIDE
Sie benötigen drei zusätzliche Bibliotheken:- OneWire: https://www.arduinolibraries.info/libraries/one-wire- DallasTemperature: https://www.arduinolibraries.info/libraries/dallas-temperature- The IoT Guru Integration:
Schritt 3: Registrieren Sie sich und erstellen Sie ein Gerät, einen Knoten und ein Feld
Die IoT Guru Cloud ist ein kostenloses Cloud-Backend, mit dem Sie Messungen ganz einfach speichern und anzeigen können.
Sie müssen ein Gerät, einen Knoten und ein Feld erstellen:- Name des Geräts ist ESP8266: https://iotguru.cloud/tutorials/devices- Name des Knotens ist DS18B20: https://iotguru.cloud/tutorials/ Knoten- Name des Feldes ist Temperatur:
Um sich mit der Cloud zu verbinden, müssen Sie fünf Kennungen sammeln:- userShortId: die kurze Kennung von Ihnen- deviceShortId: die kurze Kennung Ihres Geräts- deviceKey: der geheime Schlüssel Ihres Geräts- nodeShortId: die kurze Kennung Ihres Geräts- fieldName: der Name des Feldes
Schritt 4: Arduino-Code
Hier ist der Beispielcode, Sie müssen die Kennungen durch Ihre Kennung ersetzen, die SSID und das Passwort durch Ihre WLAN-Anmeldeinformationen ersetzen und die GPIO-Nummer der DS18B20-Datenleitung überprüfen.
#enthalten
#include #include #include const char* ssid = "iotguru.cloud"; const char* Passwort = "********"; String userShortId = "l4jLDUDDVKNNzx4wt2UR6Q"; String deviceShortId = "uAjbSzf8LvlrofvwYU8R6g"; String deviceKey = "hacfIjPn6KbBf2md8nxNeg"; IoTGuru iotGuru = IoTGuru(userShortId, deviceShortId, deviceKey); String nodeKey = "tGib1WSRvEGJ98rQYU8R6g"; String fieldName = "temperatur"; #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS); DallasTemperatursensoren(&oneWire); Void setup (void) { Serial.begin (115200); Verzögerung(10); WiFi.begin(ssid, Passwort); Während (WiFi.status () != WL_CONNECTED) { Verzögerung (50); Serial.print("."); } Serial.println(""); iotGuru.setCheckDuration(60000); iotGuru.setDebugPrinter(&Seriell); sensoren.begin(); aufrechtzuerhalten. Void Schleife (void) {iotGuru.check (); sensoren.requestTemperatures(); float Messwert = Sensoren.getTempCByIndex(0); Serial.println ("Die erste Sensortemperatur: " + String (gemessener Wert) + " ° C"); iotGuru.sendHttpValue(nodeKey, fieldName, gemessenerWert); Verzögerung (30000); }
Schritt 5: Ausführen und prüfen
Wenn alles in Ordnung ist, sendet Ihre Thermometerbox die Sensormessungen an die Cloud und Sie werden im Laufe der Zeit so schöne Grafiken sehen, wenn sich genug Messwerte angesammelt haben.
Live-Beispiele: -
Erweitertes GitHub-Projekt:-
Empfohlen:
ESP8266/ESP-12 Arduino Powered SmartThings DS18B20 Temp. Sensor: 4 Schritte (mit Bildern)
ESP8266/ESP-12 Arduino Powered SmartThings DS18B20 Temp. Sensor: Wir alle möchten gerne wissen, wie die aktuelle Raumtemperatur ist und manchmal auch die Temperatur in einem anderen Raum oder vielleicht sogar in Ihrem Ferienhaus am anderen Ende der Welt. Vielleicht möchten Sie die Temperatur im Haus Ihres Haustiers Eidechse überwachen