Inhaltsverzeichnis:

So verwenden Sie MQTT mit dem Raspberry Pi und ESP8266/sonoff - Gunook
So verwenden Sie MQTT mit dem Raspberry Pi und ESP8266/sonoff - Gunook

Video: So verwenden Sie MQTT mit dem Raspberry Pi und ESP8266/sonoff - Gunook

Video: So verwenden Sie MQTT mit dem Raspberry Pi und ESP8266/sonoff - Gunook
Video: MQTT Android Application | MIT app inventor 2024, November
Anonim
So verwenden Sie MQTT mit dem Raspberry Pi und ESP8266/sonoff
So verwenden Sie MQTT mit dem Raspberry Pi und ESP8266/sonoff

Hallo alle!

Heute zeige ich Ihnen, wie Sie einen Raspberry Pi- und ESP8266-basierten Sonoff-WLAN-Relaisschalter konfigurieren, um Ihre Haushaltsgeräte von überall auf der Welt zu steuern.

Am Ende dieser Anleitung, wenn Sie meine Anweisungen sorgfältig befolgt haben, können Sie jedes Ihrer Haushaltsgeräte vom Raspberry Pi-Terminal oder mit der Python-Shell steuern.

Machen Sie sich also bereit, Ihren eigenen MQTT- und Rpi-basierten Sonoff Wifi-Gerätecontroller zu erstellen!

Bevor ich dieses instructable starte, möchte ich einige sehr wichtige Dinge erwähnen,

  1. Der sonoff WLAN-Relaisschalter wird mit einer eigenen Steuerungsfirmware geliefert. Sobald Sie es neu programmieren, wird die ursprüngliche Firmware dauerhaft gelöscht. Stellen Sie sich also sicher.
  2. Der sonoff-WLAN-Relaisschalter wird direkt über 230 V Wechselspannung betrieben. Wenn Sie also nicht der Experte im Umgang mit solchen hohen Spannungen sind, wenden Sie sich an Ihre Eltern oder eine erfahrene Person.
  3. Der Sonoff-WLAN-Relaisschalter basiert einfach auf dem esp8266-01-WLAN-Chipsatz, der ein 3,3-V-Chip ist. Wenn Sie versehentlich 5 V an seinen + V-Pin anlegen, beschädigen Sie ihn mit Sicherheit.
  4. Hier für dieses anweisbare habe ich in Betracht gezogen, dass Sie Ihr Himbeer-Pi alle Setup und WLAN mit IP-Adresse aktiviert haben, um die Mosquitto- und MQTT-Befehle im Terminal auszuführen

** Wenn Sie mit allen oben genannten 4 Schritten fertig sind, können Sie loslegen!

Schritt 1: Einführung + Zubehör

Einführung + Zubehör
Einführung + Zubehör
Einführung + Zubehör
Einführung + Zubehör

Hallo Leute! Heute bauen wir ein sehr interessantes Projekt. Hier in diesem Projekt werden wir unsere Heimgeräte wie die AC-Lampe mit MQTT-Broker steuern.

Hinweis: Dies ist ein IOT-Projekt, daher können Sie Ihr AC-Gerät von überall auf der Welt steuern

MQTT (Massage Que Telemetry Transport) ist ein Simple Payload Transfer Protocol, das in einer Vielzahl von Webprojekten verwendet wird. Der Facebook-Messenger verwendet auch das MQTT-Protokoll. genug der Einführung lasst uns mit Project beginnen.

Was brauchen wir für dieses Projekt?

1) Aktive Wifi-Verbindung (vorzugsweise Router)

2) Raspberry Pi3-Modell, auf dem WLAN aktiviert ist.

3) Sonoff Wifi IOT-Schalter mit 10A 220V

4) Einige Verbindungsdrähte

5) Überbrückungskabel

6) CP2102 USB-zu-TTL-Konverter

  • Hinweis: Für dieses Projekt müssen Sie alle Einstellungen für Raspberry Pi entweder mit Monitortastaturverbindung oder im Headless-Modus mit Ihrem Laptop (VNC-Verbindung) vornehmen.
  • Wenn Sie Raspberry Pi nicht mit Monitor- oder Headless-Modus eingerichtet haben, müssen Sie meinem anderen Tutorial zum Anschließen von Raspberry Pi im Headless-Modus folgen.

Schritt 2: Raspberry Pi einrichten

Raspberry Pi einrichten
Raspberry Pi einrichten

In diesem Schritt richten wir unseren Himbeer-Pi für das Projekt ein.

In diesem Tutorial verwenden wir Sonoff ESP8266 als Client und Raspberry Pi als Moskito-Broker.

  1. öffne dein Himbeer-Pi-Terminal und tippe ein

    1. sudo apt-get update
    2. sudo apt-get upgrade Sobald Ihr Raspberry Pi mit der neuesten Firmware aktualisiert wurde, können Sie mit jedem Projekt auf Ihrem Pi beginnen
  2. Geben Sie nun die folgenden Befehle ein, um Mosquitto zu installieren

    1. wget
    2. sudo apt-key add mosquitto-repo.gpg.key
    3. cd /etc/apt/sources.list.d/
    4. sudo wget
    5. sudo -i
    6. apt-get-Update
    7. apt-get install mosquitto
    8. apt-get install mosquitto-clients
  3. Sobald Sie alle oben genannten Anweisungen erfolgreich befolgt haben, haben Sie Ihre Maschine mit Mosquitto Broker eingerichtet und können mit dem nächsten Schritt beginnen.
  4. Geben Sie erneut in Ihrem Terminal die folgenden Befehle ein:
    1. sudo pip install paho-mqtt
    2. sudo pip3 install paho-mqtt
  5. Um nun zu überprüfen, ob Ihr Mosquitto-Client erfolgreich installiert wurde oder nicht, öffnen Sie die Python2- oder Python3-Shell und geben Sie den folgenden Befehl ein

    1. paho.mqtt.client importieren
    2. dies sollte nichts zurückgeben. Wenn eine Zeile oder ein Fehler zurückgegeben wird, überprüfen Sie die obigen Schritte erneut und befolgen Sie die Schritte erneut sorgfältig.

  6. Jetzt ist Ihr Raspberry Pi-Teil fast fertig und Sie können sich jetzt für den Sonoff- und Arduino-Teil entscheiden

Schritt 3: Einrichten des Sonoff Esp8266-Geräts für MQTT

Einrichten des Sonoff Esp8266-Geräts für MQTT
Einrichten des Sonoff Esp8266-Geräts für MQTT
Einrichten des Sonoff Esp8266-Geräts für MQTT
Einrichten des Sonoff Esp8266-Geräts für MQTT
Einrichten des Sonoff Esp8266-Geräts für MQTT
Einrichten des Sonoff Esp8266-Geräts für MQTT

In diesem Schritt richten wir nun unser Client-Gerät Sonoff ein.

sonoff ist ein WLAN-Hausautomationsgerät, das mit vorinstallierter Firmware für WLAN-basierte Hausautomation und Android/IOS-Anwendung zur Steuerung der Geräte über WLAN geliefert wird.

Hier ist nun ein einfacher Hack, um es so umzuprogrammieren, wie wir es wollen. Sobald Sie mit Arduino ide neu programmieren, verlieren Sie die auf Sonoff vorinstallierte Original-Firmware.

  1. Öffnen Sie zuerst Ihr Sonoff-Gerät vorsichtig und achten Sie auf die im Bild gezeigten Pinbelegung GEFAHR: Das Sonoff-Gerät funktioniert mit 220V direktem Wechselstrom Sie müssen es zuerst ausstecken, bevor Sie es öffnen oder programmieren.
  2. Sehen Sie sich nun das folgende Bild für die Pinbelegung an. Auf der Unterseite der Platine befindet sich ein ESP8266-Chip, den Sie ähnlich Ihrem ESP8266-01-Modul finden.
  3. Öffnen Sie nun die Arduino IDE und fügen Sie die erforderlichen Zip-Bibliotheken hinzu. PUBSUB_client-Bibliothek
  4. Außerdem muss die esp8266-Platine zu Ihrer Arduino-Ide hinzugefügt werden. falls noch nicht hinzugefügt, befolgen Sie die Schritte

    1. Öffnen Sie Ihre Arduino IDE und klicken Sie auf "Datei -> Einstellungen".
    2. "https://arduino.esp8266.com/stable/package_esp8266com_index.json"
    3. Fügen Sie in "Zusätzliche Boards-Manager-URLs" diesen obigen Link hinzu und klicken Sie auf "OK".
    4. Gehen Sie zu "Tools -> Board -> Boards Manager", geben Sie "ESP8266" ein und installieren Sie es.
    5. Gehen Sie erneut zu "Tools -> Board" und wählen Sie "Generic ESP8266 Module".
    6. Jetzt haben Sie das Board erfolgreich zu Ihrer Arduino IDE hinzugefügt.
  5. Nun müssen Sie wie in einem Bild gezeigt eine Buchse an das Sonoff-Gerät anlöten.
  6. Nehmen Sie nun den USB zum TTL CP2102 oder FTDI Board und stellen Sie die folgende Verbindung gemäß dem oben gezeigten Bild her.

    1. RX von FTDI zu TX von Sonoff
    2. TX von FTDI zu RX von Sonoff
    3. GND von FTDI zu GND von Sonoff
    4. 3,3 V FTDI bis 3,3 V Sonoff
  7. HINWEIS: Stellen Sie sicher, dass Sie die Sonoff-Platine nicht mit 5V versorgen. Es ist 3,3 V kompatibel, wenn Sie 5 V an seinen Power-Pin anschließen, können Sie Ihr Sonoff-Gerät verbrennen. Verwenden Sie daher besser nur die 3,3-V-Versorgung der FTDI-Platine.
  8. Stellen Sie nun die Verbindung wie in einem Bild gezeigt her.
  9. Sie sind mit den obigen Schritten fertig. Verbinden Sie Ihr FTDI / USB-to-TTL-Board mit dem Laptop / PC und öffnen Sie die Arduino IDE.
  10. Kopieren Sie den Code.

11. Wählen Sie nun den richtigen COM-Port aus dem Tools-Menü und wählen Sie das Gerät als generisches ESP8266-Gerät aus. Klicken Sie nun auf den Upload-Button. Es dauert ungefähr eine Minute oder weniger, um den Code in den esp8266-Chip des Sonoff-Geräts hochzuladen.

12. Jetzt sind Sie mit der Sonoff- und Arduino-Programmierung fertig. und jetzt sollten Sie die LED auf der Sonoff-Platine blinken sehen // wie wir geschrieben haben, dass sie am Anfang 5 Mal blinkt.

13. Sie können mit dem nächsten Schritt fortfahren.

Schritt 4: Steuern Sie Ihren Sonoff über das Web

Steuern Sie Ihren Sonoff über das Web
Steuern Sie Ihren Sonoff über das Web

Dies ist nun der letzte Schritt zu unserem Projekt.

  1. Öffnen Sie nun Ihre VNC-Remote-Desktop-Verbindung von Raspberry Pi, indem Sie die IP-Adresse für Ihren Pi eingeben
  2. Öffnen Sie nun das Terminal und beginnen Sie mit der Eingabe der folgenden Befehle
  3. hier ist LED Thema und "0" ist Nutzlast
  4. Ändern Sie die IP-Adresse im Befehl mit Ihrer Rpi-IP-Adresse
  5. Und anstelle von "0" schreiben Sie "1", wodurch Ihr Relais am Sonoff-WLAN-Schalter eingeschaltet wird.

mosquitto_pub -h 192.168.0.104 -t led -m "0"

Die obige Anweisung schaltet Ihr Relais aus.

mosquitto_pub -h 192.168.0.104 -t led -m "1"

Diese Anweisung schaltet Ihr Relais ein.

Jetzt sind Sie mit der Steuerung Ihres Sonoffs über das Rpi-Terminal fertig.

Sie können dies überprüfen, indem Sie den Sonoff-WLAN-Schalter mit einem anderen WLAN-Netzwerk und Raspberry Pi mit einer anderen WLAN-Verbindung verbinden. Sie sollten in der Lage sein, das Relais von überall auf der Welt zu steuern.

Jetzt noch weiter wollen Sie das EIN/AUS Ihres Sonoffs automatisch testen Ich habe ein kleines Python-Skript geschrieben

die zuerst die "1" sendet und nach 6 Sekunden "0" und dieser Vorgang wiederholt sich in einer Schleife.

import paho.mqtt.publish als Publishimport-Zeit

Während wahr:

print("Sende 1…") publish.single("ledStatus", "1", hostname="Ihre Broker-IP") time.sleep(6) print("Sendet 0…") publish.single("ledStatus", "0", hostname="Ihre Broker-IP") time.sleep(3)

Der obige Code schaltet einfach das Relais am Sonoff-WLAN-Relaisschalter ein und aus.

Vergessen Sie nicht, die IP-Adresse Ihres RaspberryPi im obigen Python-Code zu ersetzen. Führen Sie nun dieses Skript aus, indem Sie auf die Option Modul ausführen klicken und Sie sollten auf der Shell sehen

Senden von "1"..

Senden von "0"..

Senden von "1".. so etwas.

Das ist es für dieses Instructable. bis zum nächsten mal mit einem neuen.

Wiedersehen!!!!

und vergessen Sie nicht, diesem instructable zu folgen und zu teilen und es auf eigene Faust zu versuchen!

Jeder Zweifel ist im Kommentarbereich willkommen!

Empfohlen: