Përmbajtje:

Raspberry Pi Duke folur me ESP8266 Duke përdorur MQTT: 8 hapa
Raspberry Pi Duke folur me ESP8266 Duke përdorur MQTT: 8 hapa

Video: Raspberry Pi Duke folur me ESP8266 Duke përdorur MQTT: 8 hapa

Video: Raspberry Pi Duke folur me ESP8266 Duke përdorur MQTT: 8 hapa
Video: Использование комплекта Wi-Fi Heltec ESP32 OLED 2024, Nëntor
Anonim
Raspberry Pi Duke folur me ESP8266 duke përdorur MQTT
Raspberry Pi Duke folur me ESP8266 duke përdorur MQTT

Në këtë projekt, unë do të shpjegoj se çfarë është protokolli MQTT dhe si përdoret për të komunikuar midis pajisjeve. Pastaj, si një demonstrim praktik, unë do të demonstroj se si të vendosni një sistem klienti dhe ndërmjetësi, ku një modul ESP8266 si dhe RPi flasin njëri -tjetrit ose dërgoni mesazh kur shtypet një buton.

Materiali i kërkuar

1. Mjedër Pi 3

2. NodeMCU

3. LED

4. Butoni

5. Rezistenca (10k, 475 ohm)

Hapi 1: Çfarë është MQTT dhe si funksionon

MQTT

MQTT është një protokoll i transferimit të të dhënave makinë-në-makinë (M2M). MQTT u krijua me qëllim të mbledhjes së të dhënave nga shumë pajisje dhe më pas transportimin e atyre të dhënave në infrastrukturën e TI -së. Weightshtë i lehtë, dhe për këtë arsye ideal për monitorimin në distancë, veçanërisht në lidhjet M2M që kërkojnë një gjurmë të vogël të kodit ose ku gjerësia e brezit të rrjetit është e kufizuar.

Si funksionon MQTT

MQTT është një protokoll publikimi/abonimi që lejon pajisjet e skajit të rrjetit të publikojnë tek një ndërmjetës. Klientët lidhen me këtë ndërmjetës, i cili më pas ndërmjetëson komunikimin midis dy pajisjeve. Çdo pajisje mund të regjistrohet ose regjistrohet në tema të veçanta. Kur një klient tjetër publikon një mesazh në një temë të regjistruar, ndërmjetësi e përcjell mesazhin tek çdo klient që është regjistruar.

MQTT është dydrejtimësh dhe mban ndërgjegjësimin e sesionit shtetëror. Nëse një pajisje e skajit të rrjetit humbet lidhshmërinë, të gjithë klientët e regjistruar do të njoftohen me veçorinë "Vullneti dhe Testamenti i Fundit" i serverit MQTT në mënyrë që çdo klient i autorizuar në sistem të mund të publikojë një vlerë të re përsëri në skajin e pajisja e rrjetit, duke ruajtur lidhjen dydrejtimëshe.

Projekti është i ndarë në 3 pjesë

Së pari, ne krijojmë server MQTT në RPi dhe instalojmë disa biblioteka.

Së dyti, ne do të instalojmë biblioteka në Arduino IDE që NodeMCU të punojë me MQTT, të ngarkojmë kodin dhe të kontrollojmë nëse serveri po punon apo jo.

Së fundi, ne krijojmë një skript në Rpi, ngarkojmë kodin e kërkuar në NodeMCU dhe ekzekutojmë skriptin python për të kontrolluar led -at nga ana e serverit dhe klientit. Këtu, serveri është RPi dhe klienti është NodeMCU.

Hapi 2: Raspberry Pi

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

1. Për të instaluar serverin dhe klientin më të fundit MQTT në RPi, për të përdorur depon e re, së pari duhet të importoni çelësin e nënshkrimit të paketës së depove.

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

2. Bëni depon në dispozicion të apt.

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

3. Në varësi të versionit të Debian që po përdorni.

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

sudo wget

përditësim sudo apt-get

4. Instaloni serverin Mosquitto duke përdorur komandën.

sudo apt-get install mushkonja

Nëse po merrni gabime në instalimin e Mosquitto si kjo.

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

Pakot e mëposhtme kanë varësi të paplotësuara: mushkonja: Varet: libssl1.0.0 (> = 1.0.1) por nuk është e instalueshme Varet: libwebsockets3 (> = 1.2) por nuk është e instalueshme E: Në pamundësi për të korrigjuar problemet, ju jeni mbajtur të prishur paketa.

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

Pastaj përdorni këtë komandë për të rregulluar çështjet.

sudo apt-instalim i prishur me fiks

5. Pas instalimit të serverit MQTT, instaloni klientin duke përdorur komandën

sudo apt-get install mushkonja-klientë

Ju mund të kontrolloni shërbimet duke përdorur komandën.

statusi systemctl mushkonja.shërbim

Siç është instaluar serveri dhe klienti ynë MQTT. Tani, ne mund ta kontrollojmë atë duke u regjistruar dhe publikuar. Për t'u abonuar dhe publikuar mund të kontrolloni komandat ose të vizitoni faqen e internetit siç jepet më poshtë.

Mushkonja Nën

Mosquitto Pub

Për të instaluar bibliotekën paho-mqtt përdorni komandën më poshtë.

sudo pip instaloni paho-mqtt

Paho

Hapi 3: Si të konfiguroni adresën statike të IP

Si të vendosni adresën statike të IP
Si të vendosni adresën statike të IP

Shkoni te drejtoria cd /etc dhe hapni skedarin dhcpcd.conf duke përdorur çdo redaktues. Në fund, shkruani këto katër rreshta.

ndërfaqe eth0 statike ip_address = 192.168.1.100 // ip që dëshironi të përdorni

ndërfaqja wlan0

adresa adresa statike = 192.168.1.68

ruterat statikë = 192.168.1.1 // porta juaj e paracaktuar

domain_static server_name_servers = 192.168.1.1

Pas kësaj ruani atë dhe rindizni pi -në tuaj.

Hapi 4: NodeMCU

NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU

Instaloni bibliotekat e kërkuara në Arduino IDE për NodeMCU

1. Shkoni te Sketch ==> Përfshi bibliotekën ==> Menaxhoni bibliotekat.

2. Kërkoni për mqtt dhe instaloni bibliotekën nga Adafruit ose mund të instaloni ndonjë bibliotekë.

3. Varet nga biblioteka sleepydog kështu që ne kemi nevojë edhe për këtë bibliotekë.

Programi është dhënë më lart, vetëm për të kontrolluar nëse funksionon apo jo. Këtu nuk kam krijuar asnjë shkrim në RPi. Ne thjesht po përdorim komanda për t'u abonuar dhe publikuar. Ne do të krijojmë shkrime për kontroll më vonë.

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 "ON"

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

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

-h ==> emri i hostit-t ==> tema

-m ==> mesazh

Pas kontrollimit të programit Mqtt_check ngarkoni programin e plotë në NodeMCU

Hapi 5: Shkrimi Python

Shkrimi Python
Shkrimi Python
Shkrimi Python
Shkrimi Python

Siç e diskutova më lart ne kemi nevojë për shkrim python për kontrollin e led -ve duke përdorur butona. Pra, ne do të krijojmë skript. Skenari është dhënë më lart.

Kur ekzekutoni skriptin, skripti juaj duhet të duket si në figurë, nëse kodi i rezultatit nuk është zero atëherë ai është një gabim që mund të kontrolloni gabimin në faqen e internetit paho.

Hapi 6: Lidhjet dhe Diagrami i Qarkut

Lidhjet dhe Diagrami i Qarkut
Lidhjet dhe Diagrami i Qarkut
Lidhjet dhe Diagrami i Qarkut
Lidhjet dhe Diagrami i Qarkut

Ndërfaqja e butonit, LED me NodeMCU

NodeMCU ===> ButtonGnd ===> Gnd

3.3V ===> PIN1

GPIO4 (D2) ===> PIN2

NodeMCU ===> LED

Gnd ===> Katodë (-ve)

GPIO5 (D1) ===> Anodë (+ve)

Ndërfaqja e butonit, LED me RPi

RPi ===> ButtonGnd ===> PIN1

GPIO 23 ===> PIN2

RPi ===> LED

Gnd ==> Katodë (-ve)

GPIO 24 ===> Anodë (+ve)

Hapi 7: Rezultati

Image
Image
Rezultati
Rezultati

Sigurohuni që skenari juaj po funksionon, përndryshe nuk do të jetë në gjendje të kontrollojë led duke përdorur butona.

Recommended: