Orodha ya maudhui:

Raspberry Pi Akiongea na ESP8266 Kutumia MQTT: Hatua 8
Raspberry Pi Akiongea na ESP8266 Kutumia MQTT: Hatua 8

Video: Raspberry Pi Akiongea na ESP8266 Kutumia MQTT: Hatua 8

Video: Raspberry Pi Akiongea na ESP8266 Kutumia MQTT: Hatua 8
Video: Using HT16K33 4 digit seven segment display with ESP8266 NodeMCU and D1 Mini 2024, Novemba
Anonim
Raspberry Pi Akiongea na ESP8266 Kutumia MQTT
Raspberry Pi Akiongea na ESP8266 Kutumia MQTT

Katika mradi huu, nitaelezea itifaki ya MQTT ni nini na inatumikaje kuwasiliana kati ya vifaa. Halafu, kama onyesho la vitendo, nitaonyesha jinsi ya kusanidi mfumo wa mteja na brocker, ambapo moduli ya ESP8266 na mazungumzo ya RPi kwa kila mmoja au tuma ujumbe wakati kifungo kinasukumwa.

Nyenzo inahitajika

1. Raspberry Pi 3

2. NodeMCU

3. LED

4. Kitufe

5. Resistors (10k, 475 ohm)

Hatua ya 1: Ni nini MQTT na jinsi inavyofanya kazi

MQTT

MQTT ni itifaki ya kuhamisha data ya mashine-kwa-mashine (M2M). MQTT iliundwa kwa lengo la kukusanya data kutoka kwa vifaa vingi na kisha kusafirisha data hiyo kwa miundombinu ya IT. Ni nyepesi, na kwa hivyo ni bora kwa ufuatiliaji wa mbali, haswa katika unganisho la M2M ambazo zinahitaji alama ndogo ya msimbo au mahali ambapo upelekaji wa mtandao ni mdogo.

Jinsi MQTT inavyofanya kazi

MQTT ni itifaki ya kuchapisha / usajili ambayo inaruhusu vifaa vya mtandao wa kuchapisha kwa broker. Wateja huunganisha kwa broker huyu, ambayo kisha hupatanisha mawasiliano kati ya vifaa hivi viwili. Kila kifaa kinaweza kujisajili, au kujiandikisha, kwa mada fulani. Wakati mteja mwingine anachapisha ujumbe kwenye mada iliyosajiliwa, broker hupeleka ujumbe huo kwa mteja yeyote ambaye amejisajili.

MQTT ni ya pande zote mbili, na inaweka uelewa wa kikao cha serikali. Ikiwa kifaa cha kingo-mtandao kinapoteza muunganisho, wateja wote waliosajiliwa watajulishwa na kipengee cha "Mapenzi ya Mwisho na Agano" la seva ya MQTT ili mteja yeyote aliyeidhinishwa katika mfumo aweze kuchapisha dhamana mpya kwa makali ya- kifaa cha mtandao, kudumisha uunganishaji wa pande zote.

Mradi umegawanywa katika sehemu 3

Kwanza, tunaunda seva ya MQTT kwenye RPi na kusanikisha maktaba kadhaa.

Pili, tutaweka maktaba katika Arduino IDE kwa NodeMCU kufanya kazi na MQTT, pakia nambari na uangalie ikiwa seva inafanya kazi au la.

Mwishowe, tunaunda hati huko Rpi, pakia nambari inayotakiwa katika NodeMCU na uendeshe hati ya chatu kudhibiti viongozi kutoka kwa seva na upande wa mteja. Hapa, seva ni RPi na mteja ni NodeMCU.

Hatua ya 2: Raspberry Pi

Pi ya Raspberry
Pi ya Raspberry
Pi ya Raspberry
Pi ya Raspberry
Pi ya Raspberry
Pi ya Raspberry
Pi ya Raspberry
Pi ya Raspberry

1. Kuweka seva ya hivi karibuni ya MQTT na mteja katika RPi, kutumia hazina mpya unapaswa kuagiza kwanza kitufe cha kusaini kifurushi cha hazina.

wget

2. Fanya hazina ipatikane ipasavyo.

cd /etc/apt/source.list.d/

3. Kulingana na toleo gani la Debian unayotumia.

wget ya sudo

wget sudo

Sudo apt-pata sasisho

4. Sakinisha seva ya Mosquitto ukitumia amri.

Sudo apt-get kufunga mbu

Ikiwa unapata makosa katika kusanikisha Mbu kama hii.

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

Vifurushi vifuatavyo vina tegemezi ambazo hazijafikiwa: mbu: Inategemea: libssl1.0.0 (> = 1.0.1) lakini haiwezi kusakinishwa Inategemea: libwebsockets3 (> = 1.2) lakini haiwezi kusanikishwa E: Haiwezi kusahihisha shida, umeshikilia kuvunjika vifurushi.

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

Kisha tumia amri hii kurekebisha maswala.

sudo apt - fix-kuvunjwa-kufunga

5. Baada ya kusanikisha seva ya MQTT, weka mteja ukitumia amri

Sudo apt-install wateja wa mbu

Unaweza kuangalia huduma kwa kutumia amri.

hali ya systemctl mbu.huduma

Kama seva yetu ya MQTT na mteja imewekwa. Sasa, tunaweza kuiangalia kwa kutumia kujiunga na kuchapisha. Kujiandikisha na kuchapisha unaweza kuangalia maagizo au tembelea wavuti kama ilivyoonyeshwa hapa chini.

Mosquitto Sub

Baa ya Mosquitto

Kufunga maktaba ya paho-mqtt tumia amri hapa chini.

Sudo pip kufunga paho-mqtt

Paho

Hatua ya 3: Jinsi ya Kuweka Anwani ya Ip ya tuli

Jinsi ya Kuanzisha Anwani ya Ip ya tuli
Jinsi ya Kuanzisha Anwani ya Ip ya tuli

Nenda kwenye saraka cd / nk na ufungue faili dhcpcd.conf ukitumia mhariri wowote. Mwishoni, andika mistari hii minne.

interface eth0 tuli ip_address = 192.168.1.100 // ip unayotaka kutumia

kiolesura wlan0

tuli ip_address = 192.168.1.68

static ruta = 192.168.1.1 // lango lako la Default

tuli domain_name_servers = 192.168.1.1

Baada ya hapo ihifadhi na uwashe tena pi yako.

Hatua ya 4: NodeMCU

NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU

Sakinisha maktaba zinazohitajika katika Arduino IDE ya NodeMCU

1. Nenda kwa Mchoro ==> Jumuisha maktaba ==> Dhibiti maktaba.

2. Tafuta mqtt na usakinishe maktaba na Adafruit au unaweza kusanikisha maktaba yoyote.

3. Inategemea maktaba ya sleepydog kwa hivyo tunahitaji maktaba hii pia.

Programu imepewa hapo juu, kwa kuangalia tu ikiwa inafanya kazi au la. Hapa sijaunda hati yoyote katika RPi. Tunatumia tu amri kujisajili na kuchapisha. Tutaunda hati ya kudhibiti baadaye.

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

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

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

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

-h ==> jina la mwenyeji-t ==> mada

-m ==> ujumbe

Baada ya kuangalia mpango wa Mqtt_check pakia programu kamili katika NodeMCU

Hatua ya 5: Hati ya Python

Hati ya chatu
Hati ya chatu
Hati ya chatu
Hati ya chatu

Kama nilivyojadili hapo juu tunahitaji hati ya chatu kwa kudhibiti viongoz kwa kutumia vifungo. Kwa hivyo, tutaunda hati. Hati imepewa hapo juu.

Unapoendesha hati hati yako inapaswa kuonekana kama inavyoonyeshwa kwenye picha, ikiwa nambari ya matokeo sio sifuri basi kosa ni la unaweza kuangalia kosa kwenye wavuti ya paho.

Hatua ya 6: Uunganisho na Mchoro wa Mzunguko

Uunganisho na Mchoro wa Mzunguko
Uunganisho na Mchoro wa Mzunguko
Uunganisho na Mchoro wa Mzunguko
Uunganisho na Mchoro wa Mzunguko

Kuingiliana kwa kifungo, LED na NodeMCU

NodeMCU ===> KitufeGnd ===> Gnd

3.3V ===> PIN1

GPIO4 (D2) ===> PIN2

NodeMCU ===> LED

Gnd ===> Cathode (-ve)

GPIO5 (D1) ===> Anode (+ ve)

Kuingiliana kwa kifungo, LED na RPi

RPi ===> KitufeGnd ===> PIN1

GPIO 23 ===> PIN2

RPi ===> LED

Gnd ==> Cathode (-ve)

GPIO 24 ===> Anode (+ ve)

Hatua ya 7: Matokeo

Image
Image
Matokeo
Matokeo

Hakikisha hati yako inaendesha vinginevyo haitaweza kudhibiti kuongozwa kwa kutumia vifungo.

Ilipendekeza: