Obsah:

Jak používat MQTT s Raspberry Pi a ESP8266/sonoff: 4 kroky
Jak používat MQTT s Raspberry Pi a ESP8266/sonoff: 4 kroky

Video: Jak používat MQTT s Raspberry Pi a ESP8266/sonoff: 4 kroky

Video: Jak používat MQTT s Raspberry Pi a ESP8266/sonoff: 4 kroky
Video: Home Assistant - первые настройки, File Editor, Maria DB, HACS - октябрь 2023 2024, Červenec
Anonim
Jak používat MQTT s Raspberry Pi a ESP8266/sonoff
Jak používat MQTT s Raspberry Pi a ESP8266/sonoff

Ahoj všichni!

Dnes vám ukážu, jak nakonfigurovat wifi reléový přepínač Sonoff na bázi Raspberry Pi a ESP8266 pro ovládání domácích spotřebičů odkudkoli na světě.

Na konci tohoto pokynu, pokud budete pečlivě dodržovat mé pokyny, budete moci ovládat jakékoli své domácí zařízení z terminálu Raspberry Pi nebo pomocí pythonu.

Připravte se tedy na vytvoření vlastního ovladače Sonoff Wifi založeného na MQTT a Rpi!

Než začnu s tímto návodem, rád bych zmínil několik velmi důležitých věcí,

  1. Přepínač wifi relé sonoff je dodáván s vlastním řídicím firmwarem. jakmile jej přeprogramujete, původní firmware bude trvale vymazán. Tak se o tom přesvědčte.
  2. Přepínač wifi wifi sonoff je přímo napájen střídavým napětím 230 V, takže pokud nejste odborníkem na zacházení s tak vysokým napětím, využijte pomoci svých rodičů nebo odborníka.
  3. Přepínač wifi relé Sonoff je jednoduše založen na čipové sadě esp8266-01 wifi, což je čip 3,3 V, pokud omylem připojíte 5 V na jeho +V pin, určitě ho poškodíte.
  4. Zde pro tento instruktáž jsem usoudil, že máte své Raspberry Pi veškeré nastavení a povolenou wifi s IP adresou pro spouštění příkazů mosquitto a MQTT v Terminálu

** Pokud jste připraveni na všechny výše uvedené 4 kroky, můžete jít !!

Krok 1: Úvod + zásoby

Úvod + zásoby
Úvod + zásoby
Úvod + zásoby
Úvod + zásoby

Nazdar hoši! dnes se chystáme postavit velmi zajímavý projekt. Zde v tomto projektu budeme ovládat naše domácí zařízení, jako je AC lampa, pomocí brokera MQTT.

Poznámka: Toto je projekt IOT, proto můžete své AC zařízení ovládat odkudkoli na světě

MQTT (Massage Que Telemetry Transport) je jednoduchý přenosový protokol přenosu, který se používá ve většině webových projektů. Facebook Messenger také využívá protokol MQTT. dost úvodu umožňuje začít s Projectem.

Co potřebujeme pro tento projekt?

1) Aktivní připojení Wifi (nejlépe router)

2) Model Raspberry Pi3, který má povolenou wifi.

3) Sonoff Wifi IOT přepínač s 10A 220V

4) Některé spojovací vodiče

5) Propojovací kabely

6) Převodník CP2102 USB na TTL

  • Poznámka: u tohoto projektu musíte mít Raspberry Pi všechna nastavení buď s připojením klávesnice monitoru, nebo v bezhlavém režimu s vaším notebookem (připojení VNC)
  • pokud nemáte Raspberry Pi vše nastavené s monitorem nebo bezhlavým režimem, musíte postupovat podle mého dalšího tutoriálu, jak připojit Raspberry Pi v bezhlavém režimu.

Krok 2: Nastavení Raspberry Pi

Nastavení Raspberry Pi
Nastavení Raspberry Pi

V tomto kroku nastavíme naše malinové pi pro projekt.

v tomto tutoriálu používáme sonoff ESP8266 jako klienta a Raspberry Pi jako brokera komárů.

  1. otevřete terminál Raspberry Pi a napište

    1. sudo apt-get update
    2. sudo apt-get upgrade Jakmile je váš Raspberry Pi aktualizován nejnovějším firmwarem, můžete se pustit do jakéhokoli projektu na vašem pi
  2. Nyní zadejte následující příkazy a nainstalujte Mosquitto

    1. wget
    2. sudo apt-key přidat mosquitto-repo.gpg.key
    3. cd /etc/apt/sources.list.d/
    4. sudo wget
    5. sudo -i
    6. apt-get aktualizace
    7. apt-get install mosquitto
    8. apt-get install mosquitto-clients
  3. Jakmile úspěšně splníte všechny výše uvedené pokyny, máte připravený stroj s nastavením brokera mosquitto a jste připraveni na další krok.
  4. Do terminálu opět zadejte následující příkazy:
    1. sudo pip install paho-mqtt
    2. sudo pip3 nainstalujte paho-mqtt
  5. Nyní, abyste zkontrolovali, zda je váš klient mosquitto úspěšně nainstalován nebo ne, otevřete python2 nebo python3 shell a zadejte následující příkaz

    1. importujte paho.mqtt.client
    2. toto by nemělo nic vrátit. pokud vrátí jakýkoli řádek nebo chybu, zkontrolujte výše uvedené kroky znovu a znovu je pečlivě proveďte.
  6. Nyní je vaše část Raspberry Pi téměř hotová a nyní můžete začít s částí Sonoff a Arduino

Krok 3: Nastavení zařízení Sonoff Esp8266 pro MQTT

Nastavení zařízení Sonoff Esp8266 pro MQTT
Nastavení zařízení Sonoff Esp8266 pro MQTT
Nastavení zařízení Sonoff Esp8266 pro MQTT
Nastavení zařízení Sonoff Esp8266 pro MQTT
Nastavení zařízení Sonoff Esp8266 pro MQTT
Nastavení zařízení Sonoff Esp8266 pro MQTT

Nyní v tomto kroku nastavíme naše klientské zařízení, kterým je Sonoff.

sonoff je zařízení pro domácí automatizaci wifi, které je dodáváno s předinstalovaným firmwarem pro domácí automatizaci na bázi wifi a aplikací pro Android/ios pro ovládání spotřebičů přes wifi.

Nyní je zde jednoduchý hack, který můžete přeprogramovat tak, jak chceme. po přeprogramování pomocí Arduino ide ztratíte původní firmware předinstalovaný na sonoff.

  1. nejprve opatrně otevřete zařízení sonoff a dávejte pozor na vývody uvedené na obrázku NEBEZPEČÍ: zařízení sonoff pracuje na přímém střídavém napětí 220 V, před otevřením nebo programováním jej musíte nejprve odpojit.
  2. Nyní se podívejte na níže uvedený obrázek jeho vývodu, na spodní straně desky plošných spojů je čip esp8266, který najdete podobně jako váš modul esp8266-01.
  3. Nyní otevřete Arduino IDE a přidejte potřebné Zip knihovny. Knihovna PUBSUB_client
  4. Také musíte mít desku esp8266 přidanou k vašemu ideu Arduino. pokud již není přidán, postupujte podle pokynů

    1. Otevřete své Arduino IDE a klikněte na „Soubor -> Předvolby“.
    2. "https://arduino.esp8266.com/stable/package_esp8266com_index.json"
    3. Do „Adresy URL dodatečných desek“přidejte tento výše uvedený odkaz a klikněte na „OK“
    4. Přejděte na „Nástroje -> Deska -> Správce desek“, zadejte „ESP8266“a nainstalujte jej.
    5. Přejděte znovu na „Nástroje -> Deska“a vyberte „Obecný modul ESP8266“.
    6. Nyní jste úspěšně přidali desku do svého Arduino IDE.
  5. Nyní musíte připájet jeden konektor samice k zařízení sonoff, jak je znázorněno na obrázku.
  6. Nyní vezměte desku USB na TTL CP2102 nebo FTDI a proveďte následující připojení podle obrázku uvedeného výše.

    1. RX od FTDI po TX od Sonoffa
    2. TX od FTDI do RX od Sonoffa
    3. GND FTDI až GND Sonoffa
    4. 3,3 V FTDI až 3,3 V Sonoff
  7. POZNÁMKA: Ujistěte se, že desku sonoff nedodáváte s 5V. je kompatibilní s 3,3 V, pokud připojíte 5 V k napájecímu kolíku, můžete vypálit zařízení sonoff. proto je lepší použít pouze 3,3 V napájení desky FTDI.
  8. nyní proveďte připojení podle obrázku.
  9. Jedna z nich je hotová s výše uvedenými kroky. připojte FTDI/USB k TTL desce k notebooku/PC a otevřete Arduino IDE.
  10. Zkopírujte kód.

11. Nyní vyberte správný COM port z nabídky Nástroje a vyberte zařízení jako obecné zařízení ESP8266. Nyní stiskněte tlačítko Nahrát. Nahrání kódu do čipu esp8266 zařízení sonoff bude trvat přibližně minutu nebo méně.

12. Nyní jste všichni připraveni na programování sonoff a Arduino. a nyní byste měli vidět blikající LED na desce sonoff //, jak jsme napsali 5krát blikající na začátku.

13. Je dobré přejít k dalšímu kroku.

Krok 4: Ovládejte Sonoff z webu

Ovládejte Sonoff z webu
Ovládejte Sonoff z webu

Toto je poslední krok našeho projektu.

  1. nyní otevřete připojení VNC ke vzdálené ploše Raspberry Pi zadáním IP adresy vašeho Pi
  2. nyní otevřete terminál a začněte psát následující příkazy
  3. zde LED je téma a „0“je užitečné zatížení
  4. změňte IP adresu v příkazu s vaší IP adresou Rpi
  5. A místo „0“napište „1“, čímž sepne vaše relé na wifi přepínači sonoff.

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

Výše uvedená instrukce vypne vaše relé.

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

Tato instrukce zapne vaše relé.

Nyní jste s ovládáním svého sonoffu z terminálu Rpi hotovi.

můžete zkontrolovat připojením wifi přepínače sonoff k jiné wifi síti a Raspberry Pi k jinému wifi připojení. Měli byste být schopni ovládat relé odkudkoli na světě.

Nyní ještě dále chcete otestovat ZAPNUTÍ/VYPNUTÍ vašeho sonoffu automaticky. Napsal jsem malý pythonový skript

který nejprve odešle „1“a po 6 sekundách odešle „0“a tento proces se opakuje ve smyčce.

importujte paho.mqtt.publish jako čas publikování

Zatímco pravda:

tisk ("Odesílání 1 …") publikování.single ("ledStatus", "1", název hostitele = "IP vašeho makléře") time.sleep (6) tisk ("Odesílání 0 …") publikování.single ("ledStatus", "0", hostname = "IP vašeho makléře") time.sleep (3)

Výše uvedený kód jednoduše zapíná a vypíná relé na WiFi reléovém spínači sonoff.

nezapomeňte ve výše uvedeném kódu pythonu nahradit IP adresu vašeho RaspberryPi. nyní spusťte tento skript kliknutím na modul run option a měli byste vidět na shellu

posílám "1"..

posílám "0"..

odeslání „1“.. něco takového.

To je pro tento Instructable vše. uvidíme se příště s novým.

Sbohem!!!!

a nezapomeňte tento návod sledovat a sdílet a vyzkoušet si ho sami!

jakékoli pochybnosti post v sekci komentáře jsou vítány!

Doporučuje: