ዝርዝር ሁኔታ:
- ደረጃ 1: MQTT ምንድን ነው እና እንዴት እንደሚሰራ
- ደረጃ 2: Raspberry Pi
- ደረጃ 3 - የማይንቀሳቀስ አይፒ አድራሻ እንዴት እንደሚዋቀር
- ደረጃ 4: NodeMCU
- ደረጃ 5 የፓይዘን ስክሪፕት
- ደረጃ 6 - ግንኙነቶች እና የወረዳ ዲያግራም
- ደረጃ 7: ውጤት
ቪዲዮ: Raspberry Pi MQTT ን በመጠቀም ከ ESP8266 ጋር ሲነጋገር 8 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:33
በዚህ ፕሮጀክት ውስጥ የ 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
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 በ 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 የፓይዘን ስክሪፕት
ከላይ እንደተወያየሁት አዝራሮችን በመጠቀም ሊዶችን ለመቆጣጠር የፓይዘን ስክሪፕት ያስፈልገናል ።ስለዚህ ስክሪፕት እንፈጥራለን። ስክሪፕት ከላይ ተሰጥቷል።
ስክሪፕቱን ሲያሄዱ ስክሪፕትዎ በምስሉ ላይ እንደሚታየው መሆን አለበት ፣ የውጤት ኮድ ዜሮ ካልሆነ እነሱ ስህተታቸው በፓሆ ድር ጣቢያ ላይ ስህተትን ማረጋገጥ ይችላሉ።
ደረጃ 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: ውጤት
እርስዎ ስክሪፕት እየሄደ መሆኑን ያረጋግጡ አለበለዚያ አዝራሮችን በመጠቀም መሪን መቆጣጠር አይችልም።
የሚመከር:
(IOT ፕሮጀክት) ESP8266 ን እና Openweather API ን በመጠቀም - 5 ደረጃዎች በመጠቀም የአየር ሁኔታ መረጃን ያግኙ
(IOT ፕሮጀክት) ESP8266 ን እና Openweather API ን በመጠቀም የአየር ሁኔታ መረጃን ያግኙ - በዚህ ትምህርት ውስጥ የከተማችንን የአየር ሁኔታ መረጃ ከ openweather.com/api አምጥተን ፕሮሰሲንግ ሶፍትዌርን በመጠቀም የምናሳይበትን ቀላል የ IOT ፕሮጀክት እንገነባለን።
በይነመረብ/ደመና ቁጥጥር የሚደረግበት የቤት አውቶሜሽን Esp8266 ን በመጠቀም (aREST ፣ MQTT ፣ IoT) 7 ደረጃዎች (ከስዕሎች ጋር)
በይነመረብ/ደመና ቁጥጥር የሚደረግበት የቤት አውቶሜሽን Esp8266 ን (aREST ፣ MQTT ፣ IoT) ን በመጠቀም - ሁሉም ምስጋናዎች ለ http://arest.io/ ለደመና አገልግሎት !! IoT በአሁኑ ጊዜ በዓለም ላይ በጣም የተወያየበት ርዕሰ ጉዳይ !! ይህንን የሚቻል የደመና አገልጋዮች እና አገልግሎቶች የዛሬው ዓለም መስህብ ነጥብ ነው።
MQTT እና ESP8266 ን በመጠቀም የቤት አውቶሜሽን - 6 ደረጃዎች
MQTT እና ESP8266 ን በመጠቀም የቤት አውቶማቲክ - በአሁኑ ጊዜ የቤት አውቶማቲክ የ IoT (የነገሮች በይነመረብ) አዝማሚያ እና እየታየ ነው። ሁሉም ሰው በሆነ መንገድ ቤትን በራስ -ሰር ለማድረግ ይሞክራል ፣ ከዚያ ያ በርቀት ቁጥጥር ወይም በእጅ ሊሆን ይችላል። እና ህይወትን ቀላል ያደርጋቸዋል። ለመቆጣጠር የሰው ዘዴዎች አሉ
MAX7219 LED ማትሪክስ MQTT Esp8266 ን በመጠቀም 6 ደረጃዎች
MAX7219 LED Matrix MQTT Esp8266 ን በመጠቀም እኔ የ MAX7219 LED ማሳያውን ከ MQTT አገልጋይ ጋር ለማገናኘት እና ከ MQTT ደንበኝነት ምዝገባ ወደ ጽሑፍ ለመቀበል እየሞከርኩ ነበር። ነገር ግን በበይነመረቡ ላይ ምንም ተስማሚ ኮድ አላገኘሁም ፣ ስለዚህ የራሴን መገንባት ጀመርኩ። … እና ውጤቱ በጥሩ ሁኔታ ይመጣል … ይችላሉ
የቤት አስተዳዳሪ በ RASPBERRY PI እና NODEMCU BOARD በመጠቀም በአከባቢ MQTT አገልጋይ ላይ የተመሠረተ 6 ደረጃዎች
RASPBERRY PI እና NODEMCU BOARD ን በመጠቀም በአከባቢው MQTT አገልጋይ ላይ የተመሠረተ የቤት አስተዳደር - እስካሁን ድረስ በበይነመረብ ላይ መገልገያዎችን መቆጣጠርን በተመለከተ በርካታ የመማሪያ ቪዲዮዎችን ሰርቻለሁ። እና ለአጠቃቀም ቀላል እና ለተጠቃሚ ምቹ በመሆኑ ለዚያም እኔ ሁል ጊዜ የአዳፍ ፍሬም ኤምኤችቲ አገልጋይ እመርጣለሁ። ግን ያ ሁሉ ነገር በይነመረብ ላይ የተመሠረተ ነበር። ያ ማለት እኛ