Tartalomjegyzék:

Az MQTT használata a Raspberry Pi és az ESP8266/sonoff segítségével: 4 lépés
Az MQTT használata a Raspberry Pi és az ESP8266/sonoff segítségével: 4 lépés

Videó: Az MQTT használata a Raspberry Pi és az ESP8266/sonoff segítségével: 4 lépés

Videó: Az MQTT használata a Raspberry Pi és az ESP8266/sonoff segítségével: 4 lépés
Videó: #62 - Az MQTT protokoll 2024, Július
Anonim
Az MQTT használata a Raspberry Pi és az ESP8266/sonoff használatával
Az MQTT használata a Raspberry Pi és az ESP8266/sonoff használatával

Hello mindenki!

Ma megmutatom, hogyan konfigurálható egy málna pi és ESP8266 alapú sonoff wifi relé kapcsoló a háztartási készülékek vezérléséhez a világ bármely pontjáról.

Ennek az utasításnak a végére, ha gondosan követte az utasításomat, bármelyik háztartási készülékét a Raspberry Pi termináljáról vagy a python shell segítségével vezérelheti.

Tehát készüljön fel saját MQTT és Rpi alapú Sonoff Wifi eszközvezérlő elkészítésére!

Mielőtt elkezdeném ezt az oktathatót, szeretnék megemlíteni néhány nagyon fontos dolgot,

  1. A sonoff wifi relé kapcsoló saját vezérlő firmware -t tartalmaz. újraprogramozása után az eredeti firmware véglegesen törlődik. Tehát győződjön meg róla.
  2. A sonoff wifi relé kapcsolója közvetlenül 230 V váltakozó feszültségről kap áramot, így ha nem Ön a szakértő az ilyen nagy feszültségek kezelésében, kérje szülei vagy szakértő személy segítségét.
  3. A sonoff wifi relé kapcsolója egyszerűen az esp8266-01 wifi lapkakészlet köré épül, ami egy 3,3 V-os chip, ha véletlenül 5 V-ot helyez a +V-os tűjére, akkor biztosan megsérül.
  4. Itt ezt a tanulságos, úgy véltem, hogy a málna pi minden beállítása és wifi-je engedélyezve van IP-címmel a szúnyog- és MQTT-parancsok futtatásához a terminálban

** Ha készen áll a fenti 4 lépésre, akkor jó!

1. lépés: Bevezetés + kellékek

Bevezetés + kellékek
Bevezetés + kellékek
Bevezetés + kellékek
Bevezetés + kellékek

Helló srácok! ma egy nagyon érdekes projektet fogunk felépíteni. Ebben a projektben az otthoni eszközeinket, például a váltakozó áramú lámpát fogjuk irányítani az MQTT bróker segítségével.

Megjegyzés: Ez egy IOT projekt, így a világ bármely pontjáról vezérelheti AC készülékét

Az MQTT (Massage Que Telemetry Transport) egy egyszerű hasznos terhelés átviteli protokoll, amelyet számos webes projektben használnak. A Facebook messenger az MQTT protokollt is használja. elég a bevezetés, kezdjük a Project -el.

Mire van szükségünk ehhez a projekthez?

1) Aktív Wifi (lehetőleg router) kapcsolat

2) Raspberry Pi3 modell, amelyen engedélyezve van a wifi.

3) Sonoff Wifi IOT kapcsoló 10A 220V feszültséggel

4) Néhány összekötő vezeték

5) Jumper kábelek

6) CP2102 USB -TTL átalakító

  • Megjegyzés: ehhez a projekthez a Raspberry pi minden beállítását monitor -billentyűzet -kapcsolattal vagy fej nélküli módban kell elvégeznie laptopjával (VNC -kapcsolat)
  • ha a Raspberry pi nincs beállítva monitor vagy fej nélküli üzemmódban, akkor kövesse a másik oktatóanyagomat a raspberry pi fej nélküli módban történő csatlakoztatásáról.

2. lépés: A Raspberry Pi beállítása

A Raspberry Pi beállítása
A Raspberry Pi beállítása

Ebben a lépésben beállítjuk a málna pi -t a projekthez.

ebben az oktatóanyagban a sonoff ESP8266 -ot használjuk ügyfélként, a málna pi -t pedig szúnyogbrókerként.

  1. nyissa meg a málna pi terminált, és írja be

    1. sudo apt-get update
    2. sudo apt-get upgrade Ha a raspberry Pi frissítve van a legújabb firmware-rel, akkor bármilyen projekten részt vehet
  2. Most írja be a következő parancsokat a Mosquitto telepítéséhez

    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 frissítés
    7. apt-get install szúnyog
    8. apt-get install mosquitto-kliensek
  3. Miután sikeresen követte a fenti utasításokat, készen áll a géppel a szúnyogcserélővel, és készen áll a következő lépésre.
  4. Ismét írja be a terminálba a következő parancsokat:
    1. sudo pip install paho-mqtt
    2. sudo pip3 telepítse a paho-mqtt-t
  5. Most ellenőrizze, hogy a mosquitto kliens sikeresen telepítve van -e, vagy nem nyitja meg a python2 vagy python3 shell -t, és írja be a következő parancsot

    1. paho.mqtt.client importálása
    2. ez nem adhat vissza semmit. ha bármilyen sort vagy hibát ad vissza, ellenőrizze újra a fenti lépéseket, és kövesse ismét gondosan a lépéseket.
  6. Most a Raspberry Pi része majdnem elkészült, és most már jó a Sonoff és az Arduino rész

3. lépés: A Sonoff Esp8266 eszköz beállítása az MQTT számára

A Sonoff Esp8266 eszköz beállítása az MQTT számára
A Sonoff Esp8266 eszköz beállítása az MQTT számára
A Sonoff Esp8266 eszköz beállítása az MQTT számára
A Sonoff Esp8266 eszköz beállítása az MQTT számára
A Sonoff Esp8266 eszköz beállítása az MQTT számára
A Sonoff Esp8266 eszköz beállítása az MQTT számára

Most ebben a lépésben beállítjuk az ügyfélkészülékünket, amely a Sonoff.

A sonoff egy wifi otthoni automatizálási eszköz, amely előre telepített firmware-t tartalmaz a wifi-alapú otthoni automatizáláshoz és az android/ios alkalmazáshoz a készülékek wifi-n keresztüli vezérléséhez.

Most itt van egy egyszerű hack, amellyel átprogramozhatjuk a kívánt módon. Miután újraprogramozta az Arduino ide programot, elveszíti a sonoffra előtelepített eredeti firmware -t.

  1. először óvatosan nyissa ki a sonoff készüléket, és keresse meg a képen látható érintkezőket VESZÉLY: a sonoff készülék 220 V egyenáramú hálózaton működik, először nyissa ki vagy programozza.
  2. Most nézze meg az alábbi képet a pinout számára, a NYÁK alján található egy esp8266 chip, amelyet hasonlónak talál az esp8266-01 moduljához.
  3. Most nyissa meg az Arduino IDE -t, és adja hozzá a szükséges Zip könyvtárakat. PUBSUB_kliens könyvtár
  4. Ezenkívül hozzá kell adnia az esp8266 táblát az Arduino ideához. ha még nincs hozzáadva, kövesse a lépéseket

    1. Nyissa meg az Arduino IDE -t, és kattintson a "Fájl -> Beállítások" gombra.
    2. "https://arduino.esp8266.com/stable/package_esp8266com_index.json"
    3. Az "Aditional Boards Manager URL -ek" mezőben adja hozzá ezt a fenti linket, és kattintson az "OK" gombra
    4. Lépjen az "Eszközök -> Tábla -> Táblakezelő" menübe, írja be az "ESP8266" parancsot, és telepítse azt.
    5. Menjen ismét az "Eszközök -> Tábla" menübe, és válassza az "Általános ESP8266 modul" lehetőséget.
    6. Most sikeresen hozzáadta a táblát az Arduino IDE -hez.
  5. Most egy női csatlakozót kell forrasztania a sonoff készülékhez, amint az a képen látható.
  6. Most csatlakoztassa az USB -t a TTL CP2102 vagy FTDI kártyához, és kövesse a következő csatlakozást a fenti ábra szerint.

    1. FTDI RX - Sonoff TX
    2. Az FTDI TX -je a Sonoff RX -hez
    3. Az FTDI GND és a Sonoff GND között
    4. 3.3V FTDI és 3.3V Sonoff
  7. MEGJEGYZÉS: Győződjön meg arról, hogy nem táplálja 5 V -os tápfeszültséggel a leválasztó táblát. 3.3V -kompatibilis, ha 5V -ot csatlakoztat a tápcsatlakozójához, megégetheti a sonoff -eszközt. ezért jobb, ha csak 3.3V -os FTDI kártyát használ.
  8. most hozza létre a kapcsolatot a képen látható módon.
  9. Az egyiket elvégezte a fenti lépésekkel. Csatlakoztassa az FTDI/USB -t a TTL kártyához a laptophoz/számítógéphez, és nyissa meg az Arduino IDE -t.
  10. Másolja a kódot.

11. Most válassza ki a megfelelő COM portot az Eszközök menüből, és válassza ki az eszközt általános ESP8266 eszközként. Most nyomja meg a feltöltés gombot. Körülbelül egy percet vesz igénybe a kód feltöltése a sonoff eszköz esp8266 chipjére.

12. Most már minden készen áll a sonoff és az Arduino programozásra. és most látnia kell a ledet villogni a sonoff táblán // ahogy már ötször írtuk, hogy az elején villog.

13. Jó, ha folytatja a következő lépést.

4. lépés: Irányítsa Sonoff -ját a webről

Irányítsd a Sonoff -ot a webről
Irányítsd a Sonoff -ot a webről

Ez a projektünk utolsó lépése.

  1. most nyissa meg a raspberry pi VNC távoli asztali kapcsolatát a Pi IP -címének megadásával
  2. most nyissa meg a terminált, és kezdje el beírni a következő parancsokat
  3. itt a led téma és a "0" a hasznos terhelés
  4. módosítsa a parancsban szereplő IP -címet az Rpi IP -címével
  5. És "0" helyett írjon "1" -t, amely bekapcsolja a relét a sonoff wifi kapcsolón.

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

A fenti utasítás kikapcsolja a relét.

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

Ez az utasítás bekapcsolja a relét.

Most befejezte a sonoff vezérlését az Rpi terminálról.

ellenőrizheti, ha a sonoff wifi kapcsolót egy másik wifi hálózathoz, a raspberry pi -t pedig egy másik wifi -kapcsolathoz csatlakoztatja. Képesnek kell lennie a relé vezérlésére a világ bármely pontjáról.

Most még tovább szeretné automatikusan tesztelni a be- és kikapcsolását. Írtam egy kis python -szkriptet

amely először az "1" -et küldi el, 6 másodperc múlva pedig a "0" -t, és ez a folyamat ciklusban megismétlődik.

importálja a paho.mqtt.publish -t közzétételi időként

Bár igaz:

print ("Küldés 1…") közzététel.single ("ledStatus", "1", hostname = "Az Ön közvetítő IP -je") time.sleep (6) print ("Küldés 0…") közzététel.single ("ledStatus", "0", hostname = "A közvetítő IP -je") time.sleep (3)

A fenti kód egyszerűen be- és kikapcsolja a relét a sonoff wifi relé kapcsolóján.

ne felejtse el kicserélni RaspberryPi IP -címét a fenti python kódban. most futtassa ezt a szkriptet az opció futtatása modulra kattintva, és látnia kell a héjon

"1" küldése.

"0" küldése.

"1" küldése.. valami ilyesmi.

Ennyi erre az Instructable -re. találkozunk legközelebb újakkal.

Viszlát!!!!

és ne felejtsd el követni és megosztani ezt az utasítást, és kipróbálni saját magad!

bármi kétség, hozzászólás a komment rovatban szívesen fogadom!

Ajánlott: