Tartalomjegyzék:

Raspberry Pi Beszél az ESP8266 -mal az MQTT használatával: 8 lépés
Raspberry Pi Beszél az ESP8266 -mal az MQTT használatával: 8 lépés

Videó: Raspberry Pi Beszél az ESP8266 -mal az MQTT használatával: 8 lépés

Videó: Raspberry Pi Beszél az ESP8266 -mal az MQTT használatával: 8 lépés
Videó: Simatic IOT2000 - WHAT IS IT !!! 2024, Július
Anonim
Raspberry Pi Beszél az ESP8266 -hoz az MQTT használatával
Raspberry Pi Beszél az ESP8266 -hoz az MQTT használatával

Ebben a projektben elmagyarázom, hogy mi az MQTT protokoll és hogyan használják az eszközök közötti kommunikációra. Ezután gyakorlati demonstrációként bemutatom, hogyan kell beállítani az ügyfél- és brokerrendszert, ahol egy ESP8266 modul és RPi beszélgetés vagy küldjön üzenetet egymásnak, ha megnyomják a gombot.

Szükséges anyag

1. Málna Pi 3

2. NodeMCU

3. LED

4. Gomb

5. Ellenállások (10k, 475 ohm)

1. lépés: Mi az MQTT és hogyan működik

MQTT

Az MQTT egy gép-gép (M2M) adatátviteli protokoll. Az MQTT -t azzal a céllal hozták létre, hogy sok eszközről gyűjtsön adatokat, majd ezeket az adatokat továbbítsa az informatikai infrastruktúrába. Könnyű, ezért ideális a távfelügyelethez, különösen olyan M2M kapcsolatokban, amelyek kis kódlábnyomot igényelnek, vagy ahol a hálózati sávszélesség korlátozott.

Hogyan működik az MQTT?

Az MQTT egy közzétételi/feliratkozási protokoll, amely lehetővé teszi a hálózat szélén lévő eszközök közzétételét egy brókernek. Az ügyfelek csatlakoznak ehhez a közvetítőhöz, amely ezután közvetíti a két eszköz közötti kommunikációt. Minden eszköz feliratkozhat vagy regisztrálhat bizonyos témákra. Amikor egy másik ügyfél üzenetet tesz közzé egy előfizetett témában, a bróker továbbítja az üzenetet minden előfizető ügyfélnek.

Az MQTT kétirányú, és fenntartja a munkamenet állapotát. Ha egy hálózati szegély eszköze elveszíti a kapcsolatot, az összes előfizetett ügyfél értesítést kap az MQTT szerver „Utolsó akarat” funkciójáról, hogy a rendszer bármely jogosult ügyfele új értéket tegyen közzé a szélén. hálózati eszköz, kétirányú kapcsolat fenntartása.

A projekt 3 részre oszlik

Először létrehozunk egy MQTT szervert az RPi -n, és telepítünk néhány könyvtárat.

Másodszor, telepítünk könyvtárakat az Arduino IDE -ben, hogy a NodeMCU működjön együtt az MQTT -vel, feltöltjük a kódot, és ellenőrizzük, hogy a szerver működik -e vagy sem.

Végül létrehozunk egy szkriptet az Rpi -ben, feltöltjük a szükséges kódot a NodeMCU -ba, és futtatjuk a python -szkriptet a ledek kiszolgálói és ügyféloldali vezérléséhez. Itt a szerver RPi, a kliens pedig NodeMCU.

2. lépés: Raspberry Pi

Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi

1. A legújabb MQTT szerver és kliens RPi -ben történő telepítéséhez az új tároló használatához először importálja a lerakatcsomag aláíró kulcsát.

wget https://repo.mosquitto.org/debian/mosquitto-repo.gpg.keysudo apt-key add mosquitto-repo.gpg.key

2. Tegye elérhetővé az adattárat az apt számára.

cd /etc/apt/sources.list.d/

3. Attól függően, hogy a Debian melyik verzióját használja.

sudo wget https://repo.mosquitto.org/debian/mosquitto-wheezy.listsudo wget

sudo wget

sudo apt-get update

4. Telepítse a Mosquitto szervert a parancs használatával.

sudo apt-get install mosquitto

Ha ilyen hibákat kap a Mosquitto telepítésekor.

#################################################################

A következő csomagok nem teljesített függőségekkel rendelkeznek: mosquitto: Depends: libssl1.0.0 (> = 1.0.1), de nem telepíthető Függ: libwebsockets3 (> = 1.2), de nem telepíthető csomagokat.

#################################################################

Ezután használja ezt a parancsot a problémák megoldásához.

sudo apt --fix-tört telepítés

5. Az MQTT szerver telepítése után telepítse az ügyfelet a paranccsal

sudo apt-get install mosquitto-client

A szolgáltatásokat a paranccsal ellenőrizheti.

systemctl állapot mosquitto.szolgáltatás

Mivel az MQTT szerverünk és kliensünk telepítve van. Most ellenőrizhetjük a feliratkozás és közzététel használatával. Feliratkozáshoz és közzétételhez ellenőrizheti a parancsokat, vagy felkeresheti a webhelyet az alábbiak szerint.

Mosquitto Sub

Mosquitto Pub

A paho-mqtt könyvtár telepítéséhez használja az alábbi parancsot.

sudo pip install paho-mqtt

Paho

3. lépés: A statikus IP -cím beállítása

Statikus IP -cím beállítása
Statikus IP -cím beállítása

Lépjen a cd /etc könyvtárba, és nyissa meg a dhcpcd.conf fájlt bármely szerkesztővel. A végén írja le ezt a négy sort.

interface eth0 static ip_address = 192.168.1.100 // a használni kívánt ip

wlan0 interfész

statikus ip_cím = 192.168.1.68

statikus útválasztók = 192.168.1.1 // az alapértelmezett átjáró

static domain_name_servers = 192.168.1.1

Ezután mentse el, és indítsa újra a pi -t.

4. lépés: NodeMCU

NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU

Telepítse a szükséges könyvtárakat az Arduino IDE for NodeMCU számára

1. Lépjen a Vázlat ==> Könyvtár felvétele ==> Könyvtárak kezelése pontra.

2. Keresse meg az mqtt és telepítse a könyvtárat az Adafruit segítségével, vagy telepíthet bármilyen könyvtárat.

3. A sleepydog könyvtár függvénye, ezért szükségünk van erre a könyvtárra is.

A program a fenti, csak annak ellenőrzésére, hogy működik -e vagy sem. Itt nem készítettem szkriptet RPi -ben. Csak parancsokat használunk az előfizetésre és a közzétételre. Később létrehozunk egy szkriptet a vezérléshez.

mosquitto_pub -h raspberrypi -t "/leds/pi" -m "ON"

mosquitto_pub -h raspberrypi -t "/leds/pi" -m "OFF"

mosquitto_pub -h raspberrypi -t "/leds/pi" -m "TOGGLE"

mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "BE"

mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "OFF"

mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "TOGGLE"

-h ==> hosztnév-t ==> téma

-m ==> üzenet

Az Mqtt_check program ellenőrzése után töltse fel a teljes programot a NodeMCU -ban

5. lépés: Python -szkript

Python szkript
Python szkript
Python szkript
Python szkript

Amint fentebb tárgyaltam, szükségünk van egy python szkriptre a ledek gombokkal történő vezérléséhez. Tehát létre fogunk hozni egy szkriptet. A szkript fent található.

A szkript futtatásakor a szkriptnek a képen láthatónak kell lennie, ha az eredménykód nem nulla, akkor a hiba a paho webhelyen ellenőrizhető.

6. lépés: Csatlakozások és kapcsolási rajz

Csatlakozások és kapcsolási rajz
Csatlakozások és kapcsolási rajz
Csatlakozások és kapcsolási rajz
Csatlakozások és kapcsolási rajz

Gomb illesztése, LED NodeMCU -val

NodeMCU ===> ButtonGnd ===> Gnd

3.3V ===> PIN1

GPIO4 (D2) ===> PIN2

NodeMCU ===> LED

Gnd ===> Katód (-ve)

GPIO5 (D1) ===> Anód (+ve)

Gomb illesztése, LED RPi -vel

RPi ===> ButtonGnd ===> PIN1

GPIO 23 ===> PIN2

RPi ===> LED

Gnd ==> Katód (-ve)

GPIO 24 ===> Anód (+ve)

7. lépés: Eredmény

Image
Image
Eredmény
Eredmény

Győződjön meg arról, hogy a szkript fut, különben nem tudja vezérelni a ledeket a gombok segítségével.

Ajánlott: