ዝርዝር ሁኔታ:

Raspberry Pi MQTT ን በመጠቀም ከ ESP8266 ጋር ሲነጋገር 8 ደረጃዎች
Raspberry Pi MQTT ን በመጠቀም ከ ESP8266 ጋር ሲነጋገር 8 ደረጃዎች

ቪዲዮ: Raspberry Pi MQTT ን በመጠቀም ከ ESP8266 ጋር ሲነጋገር 8 ደረጃዎች

ቪዲዮ: Raspberry Pi MQTT ን በመጠቀም ከ ESP8266 ጋር ሲነጋገር 8 ደረጃዎች
ቪዲዮ: BigTreeTech - Manta - M8P - Basics 2024, ህዳር
Anonim
Raspberry Pi MQTT ን በመጠቀም ከ ESP8266 ጋር እየተነጋገረ ነው
Raspberry Pi MQTT ን በመጠቀም ከ ESP8266 ጋር እየተነጋገረ ነው

በዚህ ፕሮጀክት ውስጥ የ MQTT ፕሮቶኮል ምን እንደሆነ እና በመሳሪያዎች መካከል ለመግባባት እንዴት እንደሚጠቀም እገልጻለሁ። ከዚያ እንደ ተግባራዊ ማሳያ ደንበኛን እና ደላላ ስርዓትን እንዴት ማዋቀር እንደሚቻል ፣ የ ESP8266 ሞዱል እንዲሁም RPi ማውራት አንድ አዝራር ሲገፋፉ እርስ በእርስ ወይም መልእክት ይላኩ።

ቁሳቁስ ያስፈልጋል

1. Raspberry Pi 3

2. NodeMCU

3. LED

4. አዝራር

5. ተቃዋሚዎች (10 ኪ ፣ 475 ኦኤም)

ደረጃ 1: MQTT ምንድን ነው እና እንዴት እንደሚሰራ

MQTT

MQTT ከማሽን ወደ ማሽን (M2M) የውሂብ ማስተላለፍ ፕሮቶኮል ነው። MQTT የተፈጠረው ከብዙ መሣሪያዎች መረጃን ለመሰብሰብ እና ያንን መረጃ ወደ የአይቲ መሠረተ ልማት ለማጓጓዝ ነው። ክብደቱ ቀላል ነው ፣ ስለሆነም ለርቀት ክትትል ተስማሚ ነው ፣ በተለይም በ M2M ግንኙነቶች ውስጥ አነስተኛ ኮድ አሻራ በሚፈልጉ ወይም የአውታረ መረብ መተላለፊያ ይዘት ውስን በሆነበት።

MQTT እንዴት እንደሚሰራ

MQTT የአውታረ መረብ ጠርዝ መሣሪያዎች ለደላላ ለማተም የሚያስችል የህትመት/የደንበኝነት ምዝገባ ፕሮቶኮል ነው። ደንበኞች ከዚህ ደላላ ጋር ይገናኛሉ ፣ ከዚያ በሁለቱ መሣሪያዎች መካከል ግንኙነትን ያማልዳል። እያንዳንዱ መሣሪያ ለተለዩ ርዕሶች መመዝገብ ወይም መመዝገብ ይችላል። ሌላ ደንበኛ በደንበኝነት በተመዘገበ ርዕስ ላይ መልእክት ሲያተም ፣ ደላላው መልዕክቱን ለተመዘገበ ማንኛውም ደንበኛ ያስተላልፋል።

MQTT በሁለትዮሽ ነው ፣ እና ሁኔታዊ የክፍለ -ጊዜ ግንዛቤን ይይዛል። የአውታረ መረብ ጠርዝ መሣሪያ ግንኙነቱን ካጣ ፣ ሁሉም በደንበኝነት የተመዘገቡ ደንበኞች በ “MQTT” አገልጋይ “የመጨረሻ ፈቃድ እና ኪዳን” ባህርይ እንዲያውቁ ይደረጋሉ ፣ ስለዚህ በስርዓቱ ውስጥ ማንኛውም የተፈቀደለት ደንበኛ አዲስ እሴት ወደ ጠርዝ-ወደ- የአውታረ መረብ መሣሪያ ፣ የሁለትዮሽ ግንኙነትን በመጠበቅ ላይ።

ፕሮጀክቱ በ 3 ክፍሎች ተከፍሏል

በመጀመሪያ ፣ በ RPi ላይ የ MQTT አገልጋይን እንፈጥራለን እና አንዳንድ ቤተ -ፍርግሞችን እንጭናለን።

በሁለተኛ ደረጃ ፣ ከ ‹MQTT ›ጋር እንዲሠሩ በአርዱዲኖ አይዲኢ ውስጥ ቤተ -ፍርግሞችን እንጭናለን ፣ ኮዱን ይስቀሉ እና አገልጋዩ እየሰራ መሆኑን ወይም አለመሆኑን ያረጋግጡ።

በመጨረሻም ፣ በ Rpi ውስጥ ስክሪፕት እንፈጥራለን ፣ በ NodeMCU ውስጥ አስፈላጊውን ኮድ ይስቀሉ እና ከሁለቱም ከአገልጋዩ እና ከደንበኛው ወገን ሊዶችን ለመቆጣጠር የፓይዘን ስክሪፕት ያካሂዳሉ። እዚህ ፣ አገልጋዩ RPi እና ደንበኛው NodeMCU ነው።

ደረጃ 2: Raspberry Pi

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

1. የቅርብ ጊዜውን የ MQTT አገልጋይ እና ደንበኛ በ RPi ውስጥ ለመጫን አዲሱን ማከማቻ ለመጠቀም በመጀመሪያ የማከማቻ ጥቅል ፊርማ ቁልፍን ማስመጣት አለብዎት።

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

2. የውሂብ ማከማቻው ለየአቅጣጫው እንዲገኝ ያድርጉ።

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

3. እርስዎ የሚጠቀሙት በየትኛው የዴቢያን ስሪት ላይ በመመስረት።

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

sudo wget

sudo apt-get ዝማኔ

4. Mosquitto አገልጋዩን ትዕዛዝ በመጠቀም ይጫኑ።

sudo apt-get install mosquitto ን ይጫኑ

እንደዚህ ዓይነት Mosquitto ን በመጫን ላይ ስህተቶች እያጋጠሙዎት ከሆነ።

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

የሚከተሉት ጥቅሎች ያልተሟሉ ጥገኞች አሏቸው - ትንኝ: የሚወሰን ሆኖ libssl1.0.0 (> = 1.0.1) ግን ሊጫን የማይችል ነው የሚወሰነው - libwebsockets3 (> = 1.2) ነገር ግን ሊጫን የሚችል አይደለም E - ችግሮችን ለማስተካከል ባለመቻሉ ፣ የተሰበሩትን ይይዛሉ ጥቅሎች።

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

ከዚያ ጉዳዮችን ለማስተካከል ይህንን ትእዛዝ ይጠቀሙ።

sudo apt-በአባሪ-የተሰበረ ጭነት

5. የ MQTT አገልጋዩን ከጫኑ በኋላ ትዕዛዙን በመጠቀም ደንበኛውን ይጫኑ

sudo apt-get ጫን ትንኞች-ደንበኞችን

ትዕዛዞችን በመጠቀም አገልግሎቶችን መፈተሽ ይችላሉ።

systemctl ሁኔታ mosquitto.service

የእኛ የ MQTT አገልጋይ እና ደንበኛ እንደተጫነ። አሁን ፣ በደንበኝነት መመዝገብ እና ማተም በመጠቀም ልንፈትነው እንችላለን። ለደንበኝነት ለመመዝገብ እና ለማተም ከዚህ በታች በተሰጠው መሠረት ትዕዛዞችን መፈተሽ ወይም ድር ጣቢያውን መጎብኘት ይችላሉ።

ትንኝ ንዑስ

Mosquitto Pub

Paho-mqtt ቤተ-መጽሐፍት ለመጫን ከዚህ በታች ያለውን ትዕዛዝ ይጠቀሙ።

sudo pip ጫን paho-mqtt

ፓሆ

ደረጃ 3 - የማይንቀሳቀስ አይፒ አድራሻ እንዴት እንደሚዋቀር

የማይንቀሳቀስ አይፒ አድራሻ እንዴት እንደሚዋቀር
የማይንቀሳቀስ አይፒ አድራሻ እንዴት እንደሚዋቀር

ማንኛውንም ማውጫ በመጠቀም ወደ ማውጫ ሲዲ /ወዘተ ይሂዱ እና ፋይል dhcpcd.conf ን ይክፈቱ። መጨረሻ ላይ እነዚህን አራት መስመሮች ይጻፉ።

በይነገጽ eth0 የማይንቀሳቀስ ip_address = 192.168.1.100 // ip መጠቀም የሚፈልጉት

በይነገጽ wlan0

የማይንቀሳቀስ ip_address = 192.168.1.68

የማይንቀሳቀስ ራውተሮች = 192.168.1.1 // ነባሪ መግቢያዎ

የማይንቀሳቀስ domain_name_servers = 192.168.1.1

ከዚያ በኋላ ያስቀምጡት እና የእርስዎን ፒ ዳግም ያስነሱ።

ደረጃ 4: NodeMCU

NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU
NodeMCU

ለ NodeMCU በ Arduino IDE ውስጥ አስፈላጊ ቤተ -ፍርግሞችን ይጫኑ

1. ወደ Sketch ይሂዱ ==> ቤተመጽሐፍት ያካትቱ ==> ቤተመጽሐፍት ያስተዳድሩ።

2. mqtt ን ይፈልጉ እና ቤተ -መጽሐፍት በአዳፍ ፍሬዝ ይጫኑ ወይም ማንኛውንም ቤተ -መጽሐፍት መጫን ይችላሉ።

3. እሱ በእንቅልፍ ዶግ ቤተ -መጽሐፍት ላይ የሚመረኮዝ ነው ስለዚህ ይህ ቤተ -መጽሐፍትም ያስፈልገናል።

ሥራው ይሰራ እንደሆነ ወይም እንዳልሆነ ለመፈተሽ መርሃግብሩ ከላይ ተሰጥቷል። እዚህ በ RPi ውስጥ ምንም ስክሪፕት አልፈጠርኩም። እኛ ለመመዝገብ እና ለማተም ትዕዛዞችን ብቻ እንጠቀማለን። በኋላ ለመቆጣጠር ስክሪፕት እንፈጥራለን።

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 "በርቷል"

mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "ጠፍቷል"

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

-h ==> የአስተናጋጅ ስም-t ==> ርዕስ

-m ==> መልዕክት

የ Mqtt_check ፕሮግራሙን በ NodeMCU ውስጥ ሙሉውን ፕሮግራም ከሰረዙ በኋላ

ደረጃ 5 የፓይዘን ስክሪፕት

የ Python ስክሪፕት
የ Python ስክሪፕት
የ Python ስክሪፕት
የ Python ስክሪፕት

ከላይ እንደተወያየሁት አዝራሮችን በመጠቀም ሊዶችን ለመቆጣጠር የፓይዘን ስክሪፕት ያስፈልገናል ።ስለዚህ ስክሪፕት እንፈጥራለን። ስክሪፕት ከላይ ተሰጥቷል።

ስክሪፕቱን ሲያሄዱ ስክሪፕትዎ በምስሉ ላይ እንደሚታየው መሆን አለበት ፣ የውጤት ኮድ ዜሮ ካልሆነ እነሱ ስህተታቸው በፓሆ ድር ጣቢያ ላይ ስህተትን ማረጋገጥ ይችላሉ።

ደረጃ 6 - ግንኙነቶች እና የወረዳ ዲያግራም

ግንኙነቶች እና የወረዳ ዲያግራም
ግንኙነቶች እና የወረዳ ዲያግራም
ግንኙነቶች እና የወረዳ ዲያግራም
ግንኙነቶች እና የወረዳ ዲያግራም

የአዝራር በይነገጽ ፣ LED ከኖድኤምሲዩ ጋር

NodeMCU ===> ButtonGnd ===> Gnd

3.3V ===> ፒን 1

GPIO4 (D2) ===> ፒን 2

NodeMCU ===> LED

Gnd ===> ካቶድ (-ve)

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

የአዝራር በይነገጽ ፣ LED ከ RPi ጋር

RPi ===> ButtonGnd ===> ፒን 1

ጂፒኦ 23 ===> ፒን 2

RPi ===> LED

Gnd ==> ካቶድ (-ve)

ጂፒዮ 24 ===> አኖድ (+ve)

ደረጃ 7: ውጤት

Image
Image
ውጤት
ውጤት

እርስዎ ስክሪፕት እየሄደ መሆኑን ያረጋግጡ አለበለዚያ አዝራሮችን በመጠቀም መሪን መቆጣጠር አይችልም።

የሚመከር: