Inhaltsverzeichnis:

IoT Wireless Temperatur- und Bewegungssensor - Gunook
IoT Wireless Temperatur- und Bewegungssensor - Gunook

Video: IoT Wireless Temperatur- und Bewegungssensor - Gunook

Video: IoT Wireless Temperatur- und Bewegungssensor - Gunook
Video: Industrial IoT Wireless RTD Temperature Sensor for Greenhouses 2024, November
Anonim
IoT Wireless Temperatur- und Bewegungssensor
IoT Wireless Temperatur- und Bewegungssensor

Ich wurde von den vielen IoT-Projekten inspiriert, die in Instructables enthalten sind, also versuche ich beim Lernen, einige nützliche Anwendungen zu kombinieren, die relevant sind. Als Erweiterung meiner vorherigen Instructables im Zusammenhang mit dem IoT-Temperatursensor habe ich dem Subsystem jetzt weitere Funktionen hinzugefügt. Die zusätzlichen Funktionen sind:

- NTP-Verbindung, um die Zeit zu erhalten

- LED, die ferngesteuert werden kann

- PIR-Sensor zur Bewegungserkennung

- Verbundener Raspberry PI mit Homekit, um die Verbindung zum iPhone "Home" zu ermöglichen

Schritt 1: Konzept, Konnektivität und Komponenten

Das Konzept, Konnektivität und Komponenten
Das Konzept, Konnektivität und Komponenten

Das oben gezeigte Konzept besteht darin, die Temperaturüberwachung aus der Ferne mit der zusätzlichen Möglichkeit zu ermöglichen, Bewegungen zu erkennen, wenn jemand zu Hause ist, und eine Benachrichtigung über LED zu ermöglichen. Auf das Gerät kann lokal im LAN oder remote über einen Webserver zugegriffen werden. Sie können auch Raspberry Pie (optional) mit installiertem Homekit-Zubehör verbinden, um eine Verbindung mit der iPhone "Home" App zu ermöglichen.

Wie in der vorherigen Version werden in diesem Projekt die folgenden Komponenten benötigt. Bitte beachten Sie, dass der Link unten ein Affiliate-Link ist. Wenn Sie also keinen Beitrag leisten möchten, gehen Sie einfach direkt.

- NodeMcu Lua ESP8266-Entwicklungsplatine. Ich bekomme meine von Banggood.

- LM35 Temperatursensor

- PIR-Sensor

- LED

- Prototypenplatine

- Arduino-IDE

- Funktionierender Webserver mit aktiviertem PHP-Server-Scripting

- Himbeer-Pi (optional)

Schritt 2: Holen Sie sich die Arduino-IDE zum Laufen

Holen Sie sich die Arduino-IDE zum Laufen
Holen Sie sich die Arduino-IDE zum Laufen

Einzelheiten zu diesem Schritt finden Sie in meinen früheren Anleitungen Schritt 2. zum IoT-Temperatursensor mit ESP8266.

Schritt 3: Anschließen von Temperatursensor, LED und PIR

Anschließen von Temperatursensor, LED und PIR
Anschließen von Temperatursensor, LED und PIR
Anschließen von Temperatursensor, LED und PIR
Anschließen von Temperatursensor, LED und PIR
Anschließen von Temperatursensor, LED und PIR
Anschließen von Temperatursensor, LED und PIR

Der Temperatursensor LM35 hat 3 Beine, das erste Bein ist VCC, Sie können dies an die 3,3 V anschließen (der Ausgang der ESP8266-Platine beträgt 3,3 V). Das mittlere Bein ist Vout (wo die Temperatur abgelesen wird, können Sie dies an den analogen Eingang des ESP8266 Pin AD0 anschließen, dieser befindet sich oben rechts auf der Platine wie im Bild gezeigt. Und das rechte Bein sollte sein mit dem Boden verbunden.

Der PIR-Sensor besteht ebenfalls aus 3 Beinen, Sie können eine winzige Markierung von +, 0, - auf der Platine neben dem Bein sehen. Verbinden Sie also "+" mit 3,3V, "-" mit Masse und den mittleren Pin "0" mit Pin D6 des ESP8266.

LED hatte nur 2 Beine, "+" (Anode), das längere Bein verbindet dies mit Pin D5 des ESP8266 und "-" (Kathode) die kürzeren Beine sollten mit Masse (GND) verbunden werden.

Schritt 4: Einrichten des Cloud-Webservers

Es gibt eine bestimmte Annahme für diesen Schritt:

Sie haben bereits einen funktionierenden Webserver, der in einer geeigneten Domain gehostet wird. Und Sie sind damit vertraut, Dateien per FTP mit Filezilla oder einem anderen FTP-Programm auf Ihren Webserver zu übertragen.

Laden Sie die angehängte ZIP-Datei in das Stammverzeichnis Ihrer Website hoch. Nehmen wir für diese Übung an, dass Ihre Website "https://arduinotestbed.com" ist.

Es wird davon ausgegangen, dass sich die gesamte Datei im Stammverzeichnis des Webservers befindet. Wenn Sie sie in einem anderen Ordner gespeichert haben, passen Sie den Dateispeicherort sowohl in der Datei ArduinoData3.php als auch in der Arduino-Skizze entsprechend an. Wenn Sie sich nicht sicher sind, lassen Sie es mich bitte wissen und ich werde mein Bestes tun, um Ihnen zu helfen.

Schritt 5: Einrichten der Datenbank zum Speichern der Temperaturdaten

Einrichten der Datenbank zum Speichern der Temperaturdaten
Einrichten der Datenbank zum Speichern der Temperaturdaten
Einrichten der Datenbank zum Speichern der Temperaturdaten
Einrichten der Datenbank zum Speichern der Temperaturdaten
Einrichten der Datenbank zum Speichern der Temperaturdaten
Einrichten der Datenbank zum Speichern der Temperaturdaten

Wir verwenden für diese Übung die SQLlite-Datenbank. Sqllite ist die leichte dateibasierte Datenbank, die keinen Server benötigt. Die Datenbank befindet sich lokal auf Ihrem Webserver. Wenn Sie Bedenken hinsichtlich der Sicherheit haben, sollten Sie den Code ändern, um einen geeigneten Datenbankserver wie mysql oder MSSQL zu verwenden.

Bevor Sie beginnen, müssen Sie das Datenbankpasswort in der Datei phpliteadmin.php ändern. Öffnen Sie also diese Datei auf Ihrem Webserver und ändern Sie die Passwortinformationen in Zeile 91 auf das gewünschte Passwort.

Zeigen Sie dann in Ihrem Webserver auf phpliteadmin.php. Wenn Sie unser Beispiel verwenden, sollten Sie auf https://arduinotestbed.com/phpliteadmin.php verweisen

Da auf dem Server keine Datenbank vorhanden ist, wird Ihnen der Bildschirm zum Erstellen der Datenbank angezeigt. Geben Sie "temperature.db" in das neue Datenbank-Eingabefeld ein und klicken Sie auf die Schaltfläche "Erstellen". Die Datenbank wird dann erfolgreich erstellt. Zu diesem Zeitpunkt ist die Datenbank noch leer, sodass Sie das SQL-Skript benötigen, um die Datenbanktabellenstruktur zum Hosten der Daten zu erstellen.

Schritt 6: Erstellen Sie die "Temperatur"-Tabelle

Erstellen Sie die
Erstellen Sie die
Erstellen Sie die
Erstellen Sie die

Um die Tabelle zu erstellen, klicken Sie auf die Registerkarte "SQL" und fügen Sie die folgende SQL-Abfrage ein.

TRANSAKTION BEGINNEN;

---- -- Tabellenstruktur für Temperatur ---- CREATE TABLE 'temperature' ('ID' INTEGER PRIMARY KEY NOT NULL, Feuchte INT NOT NULL, Temperatur REAL, Zeitstempel DATETIME DEFAULT CURRENT_TIMESTAMP, 'heater' BOOLEAN, 'goaltemp' REAL); VERPFLICHTEN;

Klicken Sie dann unten auf die Schaltfläche "Los". Die Tabelle sollte erfolgreich erstellt werden.

Wenn Sie die Seite aktualisieren, sollten Sie jetzt die Tabelle "temperature" unter der Datenbank temperature.db auf der linken Seite sehen. Wenn Sie auf die Temperaturtabelle klicken, sind noch keine Daten enthalten.

Nachdem wir die Datenbank erstellt haben, können Sie auf die folgende URL verweisen

arduinotestbed.com/ArduinoData3.php

Sie sehen die Temperaturskala mit Dummy-Daten, den Bewegungssensor und das Bedienfeld zum Einschalten der LED. Der untere Teil des Diagramms ist weiterhin leer, da noch keine Daten vorhanden sind.

Schritt 7: Laden Sie die Temperatursensorskizze auf Ihren ESP8266 hoch

Laden Sie die Temperatursensorskizze auf Ihren ESP8266 hoch
Laden Sie die Temperatursensorskizze auf Ihren ESP8266 hoch
Laden Sie die Temperatursensorskizze auf Ihren ESP8266 hoch
Laden Sie die Temperatursensorskizze auf Ihren ESP8266 hoch
Laden Sie die Temperatursensorskizze auf Ihren ESP8266 hoch
Laden Sie die Temperatursensorskizze auf Ihren ESP8266 hoch

Kopieren Sie nun alle angehängten Dateien und öffnen Sie die "ESP8266TempPIRSensor.ino", die Arduino-Schnittstelle erstellt den Ordner für Sie. Verschieben Sie den Rest der Dateien in den neuen Ordner, der von der Arduino-Schnittstelle erstellt wurde.

Ändern Sie bei Bedarf den angegebenen Webserver und den Speicherort der Datei data_store3.php. Laden Sie dann die Skizze auf den ESP8266 hoch.

Wenn alles gut geht, sollte es erfolgreich hochgeladen werden und das ESP geht beim ersten Mal in den AP-Modus. Sie können Ihren Laptop oder Ihr Mobiltelefon verwenden, um eine Verbindung herzustellen. Sie sollten den AP unter dem Namen "ESP-TEMP" finden können. - Versuchen Sie, sich mit Ihrem Laptop oder Mobiltelefon mit ESP-TEMP zu verbinden - Finden Sie heraus, welche IP-Adresse Ihnen zugewiesen ist, indem Sie die folgenden Schritte ausführen Befehl "ipconfig" in Windows oder Befehl "ifconfig" unter Linux oder Mac. - Wenn Sie ein iPhone verwenden, klicken Sie auf den i-Button neben ESP-TEMP, mit dem Sie verbunden sind - Öffnen Sie Ihren Browser und zeigen Sie auf ESP-TEMP, wenn Sie mit 192.168.4.10 als IP-Adresse zugewiesen sind, ESP-TEMP hat die IP von 192.168.4.1, also können Sie einfach zu https://192.168.4.1 gehen und Sie sollten die Einstellungsseite sehen, auf der Sie die SSID Ihres WLAN-Routers und den PSK-Schlüssel eingeben können. Sobald Sie beides eingegeben und das Kontrollkästchen "Wifi-Konfiguration aktualisieren" aktiviert haben, klicken Sie auf "Aktualisieren", um die Einstellung für Ihren ESP8266 zu aktualisieren.

Wenn Sie das Debugging für den Serial Monitor aktivieren möchten, müssen Sie die Kommentarzeichen entfernen

#define DEBUG

Zeile in der clock.h und kommentiert die

//#undef DEBUG

Leitung. Klicken Sie dann auf Extras->Serieller Monitor. Das serielle Monitorfenster zeigt Ihnen den Fortschritt der WLAN-Verbindung und die lokale IP-Adresse des ESP8266. Die interne blaue LED blinkt einmal, wenn die Temperaturmessung stattfindet. Es wird auch eingeschaltet, wenn eine Bewegung erkannt wird.

Schritt 8: Zugriff auf Ihren Temperatur- und Bewegungssensor

Zugriff auf Ihren Temperatur- und Bewegungssensor
Zugriff auf Ihren Temperatur- und Bewegungssensor
Zugriff auf Ihren Temperatur- und Bewegungssensor
Zugriff auf Ihren Temperatur- und Bewegungssensor

Sie sollten nun wieder auf den lokalen Webserver des ESP8266 verweisen können. Und dies zeigt die Uhrzeit, Temperatur und den Bewegungssensor an.

Jetzt können Sie auch auf Ihren externen Webserver verweisen, in diesem Beispiel ist

Sie können die Taste unter dem Bedienfeld schieben, um die LED umzuschalten. Ich benutze dies, um meine Kinder zu benachrichtigen, wenn ich auf dem Heimweg von der Arbeit bin.

Der Bewegungssensor wird etwa alle Sekunden aktualisiert, sodass Sie die Seite häufiger aktualisieren müssen, um zu sehen, ob eine Bewegung erkannt wurde. Im Moment ist die automatische Aktualisierung auf 60 Sekunden eingestellt. Die Temperatur wird alle paar Minuten abgelesen, aber Sie können dies auch an die Zeit anpassen, die Ihnen am besten passt.

Herzlichen Glückwunsch, wenn Sie es bis hierher geschafft haben !!, klopfen Sie sich selbst auf die Schulter und genießen Sie Ihre Kreation. Der nächste Schritt ist optional, nur wenn Sie die LED steuern und die Temperatur sowie den Bewegungssensor von Apple-Geräten überwachen möchten.

Schritt 9: HomeBridge für HomeKit in Raspberry Pi installieren (optional)

HomeBridge für HomeKit auf Raspberry Pi installieren (optional)
HomeBridge für HomeKit auf Raspberry Pi installieren (optional)

Ich wurde von den Instructables von GalenW1 inspiriert, mit denen ich so viel über HomeBridge lernen kann.

Um HomeBridge for HomeKit auf einem Raspberry Pi zu installieren, können Sie die folgende Anleitung verwenden

github.com/nfarina/homebridge

HomeBridge ermöglicht es Ihnen, die Home App im Iphone mit den Sensoren zu verbinden, die Sie gerade in den vorherigen Schritten gebaut haben.

Sobald Sie die HomeBridge installiert haben, müssen Sie einige Plugins installieren:

- Temperatursensor

- Bewegungssensor

- Schalter

sudo npm install -g homebridge-http-temperature

sudo npm install -g homebridge-MotionSensor

sudo npm install -g homebridge-http-simple-switch

Sobald das Plugin installiert ist, müssen Sie die Datei config.json unten konfigurieren

sudo vi /home/pi/.homebridge/config.json

Sie können den Inhalt der Datei config.json wie unten beschrieben anpassen. Bitte stellen Sie sicher, dass die URL auf den richtigen Speicherort verweist.

{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51886, "pin": "031-45-154" }, "description": "Dies ist die HomeBridge-Konfigurationsdatei, fügen Sie mehr Zubehör und Plattform hinzu.", "accessories": [{ "accessories": "HttpTemperature", "name": "Living Room Temp", "url": "https://arduinotestbed.com/temp.txt", "http_method": "GET", "field_name": "" }, { "accessoire": "Motion", "name": "Bewegungssensor auf meinem Schreibtisch", " url": "https://arduinotestbed.com/motion_data.php?json=true", "http_method": "GET", "json_response": "motion" }, { "accessoire": "SimpleHttpSwitch", "name": "Lichtschalter", "url": "https://arduinotestbed.como/setlight.php", "http_method": "POST", "default_state_off": true, "sendimmediaately": "" }] }

Schritt 10: Homebridge mit Ihrem iPhone verbinden

Homebridge mit Ihrem iPhone verbinden
Homebridge mit Ihrem iPhone verbinden
Homebridge mit Ihrem iPhone verbinden
Homebridge mit Ihrem iPhone verbinden
Homebridge mit Ihrem iPhone verbinden
Homebridge mit Ihrem iPhone verbinden

Nachdem alle Zubehörteile konfiguriert wurden, können Sie die Homebridge mit dem folgenden Befehl ausführen

Homebridge

Sie sollten den Bildschirm wie oben sehen. Sie können dem folgenden Schritt folgen, um die Homebridge zu Ihrem Homekit hinzuzufügen.

- Starten Sie jetzt Ihre "Home"-App in Ihrem Iphone

- Klicken Sie auf die Schaltfläche "Zubehör hinzufügen"

- Ihnen wird der Bildschirm zum Scannen des Codes angezeigt. Sie können Ihre Telefonkamera verwenden, um den Code vom Raspberry Pi-Bildschirm zu scannen oder den Code manuell hinzuzufügen.

Bitte beachten Sie, dass sich sowohl das iPhone als auch der Raspberry Pi auf demselben WLAN-Router befinden müssen, um zu funktionieren.

- Sobald die Verbindung hergestellt ist, werden Sie mit dem Bildschirm aufgefordert, der besagt, dass Ihr Zubehör nicht zertifiziert ist. Klicken Sie auf die Schaltfläche "Trotzdem hinzufügen", um fortzufahren

- Sie haben dann die Möglichkeit, jedes der Zubehörteile zu konfigurieren, in diesem Fall haben wir den Lichtschalter, den Bewegungssensor und den Temperatursensor.

- Der letzte Bildschirm zeigt Ihnen alle angeschlossenen Zubehörteile.

Sobald es verbunden ist, können Sie Siri verwenden, um den Bewegungssensor, die Temperatur zu überprüfen und das Licht ein- und auszuschalten.

Schritt 11: Lassen Sie Ihre Homebridge im Hintergrund laufen

Lassen Sie Ihre Homebridge im Hintergrund laufen
Lassen Sie Ihre Homebridge im Hintergrund laufen
Lassen Sie Ihre Homebridge im Hintergrund laufen
Lassen Sie Ihre Homebridge im Hintergrund laufen
Lassen Sie Ihre Homebridge im Hintergrund laufen
Lassen Sie Ihre Homebridge im Hintergrund laufen

Herzliche Glückwünsche!! Du hast es getan. Als Bonus können Sie homebridge mit dem folgenden Befehl im Hintergrund ausführen:

Hausbrücke &

Jetzt können Sie mit Siri etwas Spaß haben und Ihre harte Arbeit genießen.

Vielen Dank, dass Sie dies bis zum Ende verfolgt haben. Wenn Ihnen das gefällt, hinterlassen Sie bitte einige Kommentare oder stimmen Sie für mich ab.

Empfohlen: