Inhaltsverzeichnis:
- Schritt 1: Was ist MQTT?
- Schritt 2: MQTT Broker auf Raspberry Pi installieren
- Schritt 3: IOT Cricket über MQTT mit RaspberryPi verbinden
- Schritt 4: MQTT-Nachrichten überprüfen
- Schritt 5: Zusammenfassung
- Schritt 6: Über uns
Video: WiFi-Hausautomationssystem mit extrem geringem Stromverbrauch - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
In diesem Projekt zeigen wir, wie Sie in wenigen Schritten ein einfaches lokales Hausautomationssystem aufbauen können. Wir werden einen Raspberry Pi verwenden, der als zentrales WiFi-Gerät fungiert. Während wir für Endknoten IOT Cricket verwenden werden, um batteriebetriebene WLAN-Geräte herzustellen, z. Temperatursensor und verbinden Sie ihn mit dem RPi, ohne eine einzige Codezeile zu schreiben.
Unser System wird auf dem MQTT-Kommunikationsprotokoll basieren, das in den meisten Heimautomatisierungssystemen weit verbreitet ist. Zur Einrichtung wählen wir Mosquitto MQTT Broker (Server) und installieren ihn auf Raspberry Pi (unserem zentralen Hub).
IOT Cricket bietet auch Unterstützung für HTTP(S)- und MQTT-Protokolle. Wir konfigurieren es so, dass es MQTT verwendet, um direkt mit unserem RPi-MQTT-Broker zu kommunizieren.
Dieses Projekt kann von Machern aller Könnensstufen realisiert werden. Es kann einige grundlegende Lötarbeiten erfordern, erfordert jedoch keine Codierung oder Programmierung. Am Ende dieses Projekts erhalten Sie eine solide Vorstellung davon, wie Sie einfach Ihr eigenes System aufbauen und schnell erweitern können, indem Sie dem System eigene IOT-Endknoten hinzufügen.
Lieferungen:
- Raspberry Pi (wir haben für dieses Projekt Version 3 verwendet)
- IOT Cricket WiFi-Modul
- 2xAAA Batteriehalter
- 2xAAA-Batterien
Schritt 1: Was ist MQTT?
Das MQTT-Protokoll bietet eine einfache Methode zur Durchführung von Messaging unter Verwendung eines Publish/Subscribe-Modells. Dies macht es für das Internet der Dinge geeignet, wie z. B. Sensoren mit geringem Stromverbrauch oder mobile Geräte wie Telefone, eingebettete Computer oder Mikrocontroller. (Quelle: mosquitto.org)
Wir können so viele Geräte verwenden, wie wir möchten, um Themen zu abonnieren und auf eingehende Nachrichten zu hören. Wenn einige Geräte eine Nachricht zu diesem Thema veröffentlichen, erhalten alle Geräte, die das Thema abonniert haben, diese Nachricht sofort. Das Thema kann eine beliebige Zeichenfolge sein, die normalerweise mit /-Zeichen verkettet ist, um hierarchische Themen erstellen zu können. Die typischste Verwendung von MQTT besteht darin, einen einzigen zentralen Server zu haben, auf dem Geräte Nachrichten abonnieren und veröffentlichen können. Es erleichtert die gesamte Kommunikation zwischen Geräten, die mit diesem Server verbunden sind. In diesem Projekt werden wir RPi als unseren zentralen MQTT-Broker verwenden und alle anderen Geräte werden Nachrichten über diesen Broker senden. Der beste Weg, dies zu lernen, besteht natürlich darin, es selbst zu tun. Es gibt viele Ressourcen im Internet zu MQTT. Für dieses Projekt sollten Sie jedoch mit einer grundlegenden Einführung, die wir oben bereitgestellt haben, einverstanden sein.
Schritt 2: MQTT Broker auf Raspberry Pi installieren
Für dieses Projekt verwenden wir einen Open Source Mosquitto MQTT Broker. Es ist leicht und eignet sich für den Einsatz auf allen Geräten, von Einplatinencomputern mit geringem Stromverbrauch bis hin zu vollständigen Servern.
Bevor wir mit der Installation beginnen, sollten Sie zuerst die Systemkomponenten aktualisieren:
$ sudo apt-get update$ sudo apt-get upgrade
Installieren Sie Mosquitto-Broker. Öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein:
$ sudo apt-get install mosquitto -y
Konfigurieren Sie den Mosquitto-Broker. Konfigurationsdatei bearbeiten:
$ sudo vi /etc/mosquitto/mosquitto.conf
und fügen Sie oben die folgenden Zeilen hinzu:
port 1883allow_anonymous true
Starten Sie RPi neu, um die Änderungen zu übernehmen:
$ sudo Neustart
Das ist es! Unser MQTT-Broker ist jetzt in Betrieb!
HINWEIS: Aus Gründen der Einfachheit dieses Projekts erstellen wir keine Konten. Jeder innerhalb unseres lokalen Netzwerks kann sich also ohne Anmeldeinformationen mit diesem MQTT-Broker verbinden. Wenn Sie die Benutzerauthentifizierung hinzufügen und sicherer machen möchten, gibt es im Internet viele Tutorials dazu.
Jetzt müssen wir nur noch die IP-Adresse abrufen, damit wir Nachrichten von anderen Geräten im Netzwerk an unseren Mosquitto-Broker senden können:
IP-Adresse beschaffen:
$ Hostname -I
Ihre_RPi_IP_Adresse (z. B. 192.168.1.10)
Schritt 3: IOT Cricket über MQTT mit RaspberryPi verbinden
In diesem Projekt verwenden wir das IOT Cricket WiFi-Modul für einen einfachen Sensor, um alle 30 Sekunden eine Temperatur an unser System zu melden. Es wird mit einer Batterie betrieben, sodass wir es überall zu Hause oder im Garten anbringen können. Später können Sie IOT Cricket verwenden, um verschiedene batteriebetriebene Sensoren, Alarme, Tasten, Schalter zu bauen und diese auch sofort mit unserem RPi MQTT-Broker zu verbinden.
Schließen Sie im ersten Schritt die Batterien an Cricket an.
Cricket wird mit einem eingebauten Temperatursensor geliefert. Wir müssen es nur konfigurieren, um den Temperaturwert an unseren MQTT-Broker zu senden, indem wir die RPi-IP-Adresse festlegen. Öffnen Sie dazu das Konfigurationsfenster von Cricket (siehe die Schritte hier) und wenden Sie die folgenden Einstellungen an (wie im Bild unten gezeigt, bitte Passen Sie die IP-Adresse im Feld "url" an Ihr RPi an)
Jetzt können wir den Konfigurationsmodus verlassen. Das Gerät ist bereit! Cricket sendet bereits alle 30 Sekunden Daten an unseren MQTT-Broker.
Schritt 4: MQTT-Nachrichten überprüfen
Um an unseren MQTT-Broker gesendete Nachrichten anzuzeigen / zu empfangen, können wir verschiedene Tools verwenden.
Am einfachsten ist das Kommandozeilentool mosquitto_sub. Wir können es entweder auf jedem Computer in unserem Netzwerk oder auf unserem RPi mit diesem Befehl installieren:
$ sudo apt-get install mosquitto-clients -y
Jetzt können wir den folgenden Befehl ausführen, um ALLE Themen und Nachrichten abzuhören, die über unseren MQTT-Broker gesendet werden:
$ mosquitto_sub -v -h Ihre_RPi_IP_Adresse -p 1883 -t '#'
…/59A98F494C/device_name MyTemperatureDev/59A98F494C/device_sn 59A98F494C/59A98F494C/hwc_wake_up 3794/59A98F494C/hwc_wifi_enabled 3763/59A98F494C/hwc_message_wake_up 3794/59A98F494C/hwc_wifi_enabled 3763/59A98F494C/hwc_message_wake59
Das Obige ist ein Ausgabebeispiel dafür, was IOT Cricket an unseren Broker sendet. Unter den anderen Daten, die wir sehen können, gibt es eine Temperatur:
/59A98F494C/Temp 26.0
Das Schöne an MQTT ist, dass wir nur Themen abonnieren können, die uns interessieren. Wenn wir nur eine Temperatur erhalten möchten, können wir das Thema /59A98F494C/temp mit dem folgenden Befehl abonnieren:
$ mosquitto_sub -h deine_RPi_IP_Adresse -t '/59A98F494C/temp'
…26.126.527.227.6…
Schritt 5: Zusammenfassung
Wir haben in diesem Projekt eine wesentliche Hardware und Software gezeigt, um mit dem Bau von energieeffizienten Heimautomatisierungssystemen mit geringem Stromverbrauch auf Basis von WiFi zu beginnen. MQTT ist die Essenz, auf der für anspruchsvollere Systeme aufgebaut werden kann.
Das Ökosystem von Software und Diensten, die mit MQTT integriert werden können, ist RIESIG! Es gibt viele großartige Systeme wie Home Assistant, Node RED, Grafana usw., damit Sie eine großartige Benutzererfahrung Ihres eigenen Systems erzielen können. Wir können nicht nur einfache Temperaturausdrucke erstellen, sondern auch großartige Dashboards zur Visualisierung der Daten und zur Verwaltung Ihrer Geräte bereitstellen.
Jetzt, da wir diese grundlegende Systeminfrastruktur eingerichtet haben, sind die Grenzen dessen, was andere WiFi-Geräte wir mit IOT Cricket-Modulen bauen und zu unserem Hausautomationssystem hinzufügen können, grenzenlos.
Danke, dass Sie bis hierher gekommen sind. Wir hoffen, Ihnen hat dieses Tutorial gefallen!
Things On Edge-Team
Schritt 6: Über uns
Things On Edge ist ein Unternehmen mit Sitz in Cambridge, Großbritannien. Wir entwickeln ein Cricket-WLAN-Modul mit extrem niedrigem Batteriestand, damit Sie verschiedene elektronische Geräte buchstäblich in wenigen Minuten mit Smartphones oder anderen Internetdiensten verbinden können. Es erfordert keine Programmierung und Codierung. Es ermöglicht Ihnen, Ihre Geräte über MQTT- und HTTP-APIs in ein riesiges IOT-Ökosystem zu integrieren.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte
Easy Very Low Power BLE in Arduino Teil 2 – Temperatur-/Feuchtigkeitsmonitor – Rev 3: Update: 23. November 2020 – Erster Austausch von 2 x AAA-Batterien seit 15. Januar 2019 dh 22 Monate für 2x AAA AlkalineUpdate: 7. April 2019 – Rev 3 of lp_BLE_TempHumidity, fügt Datum/Uhrzeit-Plots hinzu, verwendet pfodApp V3.0.362+ und automatische Drosselung, wenn
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: 7 Schritte (mit Bildern)
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: Update: 7. April 2019 - Rev 3 von lp_BLE_TempHumidity, fügt Datums- / Zeitdiagramme mit pfodApp V3.0.362+ hinzu und automatische Drosselung beim Senden von DatenUpdate: 24. März 2019 – Rev 2 von lp_BLE_TempHumidity, fügt weitere Plotoptionen hinzu und i2c_ClearBus, fügt GT832E
Extrem einfache L.E.D. Installation: 3 Schritte
Extrem einfache L.E.D. Installation: Dies ist möglicherweise die einfachste Installation von L.E.D. (Light Emitting Diode) Leuchten der Welt, wenn nicht DIE Beste. In nur wenigen einfachen Schritten können SIE eine kleine tragbare L.E.D. Installation, die ewig hält! Es ist besonders nützlich bei