ዝርዝር ሁኔታ:

MQTT ን ከ Raspberry Pi እና ESP8266: 8 ደረጃዎች (ከስዕሎች ጋር) እንዴት መጠቀም እንደሚቻል
MQTT ን ከ Raspberry Pi እና ESP8266: 8 ደረጃዎች (ከስዕሎች ጋር) እንዴት መጠቀም እንደሚቻል

ቪዲዮ: MQTT ን ከ Raspberry Pi እና ESP8266: 8 ደረጃዎች (ከስዕሎች ጋር) እንዴት መጠቀም እንደሚቻል

ቪዲዮ: MQTT ን ከ Raspberry Pi እና ESP8266: 8 ደረጃዎች (ከስዕሎች ጋር) እንዴት መጠቀም እንደሚቻል
ቪዲዮ: BigTreeTech - Manta - M8P - Basics 2024, ሰኔ
Anonim
MQTT ን ከ Raspberry Pi እና ESP8266 ጋር እንዴት መጠቀም እንደሚቻል
MQTT ን ከ Raspberry Pi እና ESP8266 ጋር እንዴት መጠቀም እንደሚቻል

በዚህ መመሪያ ውስጥ ፣ የ MQTT ፕሮቶኮል ምን እንደሆነ እና በመሳሪያዎች መካከል ለመግባባት እንዴት እንደሚጠቀም እገልጻለሁ። ከዚያ እንደ ተግባራዊ ማሳያ ፣ አንድ ESP8266 ሞዱል መልእክት የሚልክበትን አንድ ቀላል ሁለት የደንበኛ ስርዓት እንዴት እንደሚያዋቅሩ አሳያችኋለሁ። አንድ አዝራር ሲገፋ ወደ ፓይዘን ፕሮግራም። በተለይ እኔ ለዚህ ፕሮጀክት የአዳፍ ፍሬዝ HUZZAH ሞዱል ፣ Raspberry Pi እና የዴስክቶፕ ኮምፒውተር እጠቀማለሁ። Raspberry Pi እንደ MQTT ደላላ ሆኖ ይሠራል ፣ እና የ Python ደንበኛው ከተለየ ዴስክቶፕ ኮምፒተር (እንደ አማራጭ ፣ ይህ በ Raspberry Pi ላይ ሊሠራ ስለሚችል) ይሠራል።

ከዚህ Instructable ጋር ለመከተል አንዳንድ መሠረታዊ የኤሌክትሮኒክስ ዕውቀቶች ፣ እና የአርዱዲኖ ሶፍትዌርን እንዴት እንደሚጠቀሙ ያስፈልግዎታል። እንዲሁም የትእዛዝ መስመር በይነገጽን (ለ Raspberry Pi) መጠቀምን ማወቅ አለብዎት። ተስፋ እናደርጋለን ፣ አንዴ MQTT ምን እንደ ሆነ እና በመሰረታዊ ሁኔታ እንዴት እንደሚጠቀሙበት ዕውቀት ካገኙ በኋላ የራስዎን የ IoT ፕሮጄክቶችን መፍጠር ይችላሉ!

አስፈላጊ ክፍሎች

  • 1 x Raspberry Pi ፣ ከአካባቢያዊ አውታረ መረብ ጋር ተገናኝቷል (ጄሲን እያሄደ)
  • 1 x ESP8266 ሞዱል (Adafruit HUZZAH)
  • 1 x የዳቦ ሰሌዳ
  • 3 x ዝላይ ሽቦዎች (ከወንድ ወደ ወንድ)
  • 1 x ushሽቡተን
  • 1 x 10k Ohm Resistor (ቡናማ-ጥቁር-ብርቱካናማ ቀለም ኮድ)

MQTT ሁል ጊዜ እንደ ፕሮቶኮል ስለሚወደኝ እና ጥቅም ላይ የሚውልባቸው ብዙ የተለያዩ መንገዶች ስላሉት እኔ ይህንን አስተማሪ ፈጠርኩ። ሆኖም ፣ መሣሪያዎችን እንዴት እንደሚጠቀሙበት በኮድ እንዴት እንደሚሰራ ጭንቅላቴን ያገኘሁ አይመስለኝም። ይህ የሆነበት ምክንያት የእኔን “ሰላም ፣ ዓለም!” ለመውሰድ ምን እንደ ሆነ አላውቅም/አልገባኝም ነበር። ከመሣሪያ ሀ እና ወደ መሣሪያ ለ ይላኩት። ስለዚህ ፣ እንዴት እንደሚሰራ ለማስተማር (እና ተስፋ በማድረግ) እንዴት ይህንን እንደሚሰራ ለማስተማር እና ስለእራሴ ያለኝን ግንዛቤ ለማጠናከር ይህን መመሪያ ለመፃፍ ወሰንኩ!

ደረጃ 1: MQTT ምንድን ነው?

MQTT ምንድን ነው?
MQTT ምንድን ነው?

MQTT ፣ ወይም MQ ቴሌሜትሪ መጓጓዣ ፣ ብዙ መሣሪያዎች እርስ በእርስ እንዲነጋገሩ የሚያስችል የመልእክት ፕሮቶኮል ነው። በአሁኑ ጊዜ ፣ እሱ ለነገሮች በይነመረብ የታወቀ ፕሮቶኮል ነው ፣ ምንም እንኳን ለሌላ ዓላማዎች ጥቅም ላይ ውሏል - ለምሳሌ ፣ የፌስቡክ መልእክተኛ። የሚገርመው MQTT እ.ኤ.አ. በ 1999 ተፈለሰፈ - ይህ ማለት እንደ እኔ ያረጀ ነው!

MQTT መሣሪያዎች ለርዕሶች ማተም ወይም መመዝገብ ይችላሉ በሚለው ሀሳብ ዙሪያ የተመሠረተ ነው። ስለዚህ ፣ ለምሳሌ። መሣሪያ #1 የሙቀት መጠኑን ከአንዱ ዳሳሾች ከተመዘገበ ያስመዘገበውን የሙቀት መጠን የያዘ መልእክት ወደ አንድ ርዕስ (ለምሳሌ “ሙቀት”) ማተም ይችላል። ይህ መልእክት በአከባቢው አውታረመረብ ላይ እንደ ማብሪያ/ራውተር አድርገው ሊያስቡት ወደሚችሉ ወደ MQTT ደላላ ይላካል። የ MQTT ደላላ መልዕክቱን ከተቀበለ በኋላ ለተመሳሳይ ርዕስ ለተመዘገቡ ወደ ማንኛውም መሣሪያዎች (በዚህ ሁኔታ ፣ መሣሪያ #2) ይልካል።

በዚህ ፕሮጀክት ውስጥ ESP8266 ን በመጠቀም ወደ አንድ ርዕሰ ጉዳይ እናተም እና እንደ ኤምኤችቲቲ ደላላ ሆኖ በሚሠራው Raspberry Pi በኩል ለዚህ ተመሳሳይ ርዕስ የሚመዘገብ የ Python ስክሪፕት እንፈጥራለን። ስለ MQTT ትልቁ ነገር ክብደቱ ቀላል ነው ፣ ስለሆነም እንደ ESP8266 ባሉ ትናንሽ ማይክሮ መቆጣጠሪያዎች ላይ ለማሄድ ፍጹም ነው ፣ ግን እሱ እንዲሁ በሰፊው ይገኛል - ስለዚህ እኛ እንዲሁ በ Python ስክሪፕት ላይ ማሄድ እንችላለን።

በዚህ ፕሮጀክት መጨረሻ ላይ MQTT ምን እንደሆነ እና ለወደፊቱ ለራስዎ ፕሮጄክቶች እንዴት እንደሚጠቀሙበት ግንዛቤ ይኖረዎታል ብለን ተስፋ እናደርጋለን።

ደረጃ 2: በ Raspberry Pi ላይ የ MQTT ደላላን መጫን

በ Raspberry Pi ላይ የ MQTT ደላላን መጫን
በ Raspberry Pi ላይ የ MQTT ደላላን መጫን
በ Raspberry Pi ላይ የ MQTT ደላላን መጫን
በ Raspberry Pi ላይ የ MQTT ደላላን መጫን
በ Raspberry Pi ላይ የ MQTT ደላላን መጫን
በ Raspberry Pi ላይ የ MQTT ደላላን መጫን

የእኛን MQTT ስርዓት ለማዋቀር ፣ በቀድሞው ደረጃ እንደተገለፀው ደላላ ያስፈልገናል። ለ Raspberry Pi ፣ እኛ “Mosquitto” MQTT ደላላን እንጠቀማለን። ይህንን ከመጫንዎ በፊት የእኛን Raspberry Pi ማዘመን ሁል ጊዜ የተሻለ ነው።

sudo apt-get ዝማኔ

sudo apt-get ማሻሻል

አንዴ ይህን ካደረጉ በኋላ ትንኝን እና ከዚያ ትንኝ-ደንበኛ ጥቅሎችን ይጫኑ።

sudo apt -get install mosquitto -y

sudo apt-get install ትንኝ-ደንበኞች -y

እነዚህን ሁለት ጥቅሎች መጫኑን ሲጨርሱ ደላላውን ማዋቀር አለብን። የወባ ትንኝ ደላላ ውቅር ፋይል /etc/mosquitto/mosquitto.conf ላይ ይገኛል ፣ ስለዚህ ይህንን በሚወዱት የጽሑፍ አርታኢ ይክፈቱ። እርስዎ የሚወዱት የጽሑፍ አርታኢ ከሌለዎት ወይም የትኛውንም የትእዛዝ መስመር አርታኢዎችን እንዴት እንደሚጠቀሙ የማያውቁ ከሆነ እርስዎ መከተል እንዲችሉ ናኖን እጠቀማለሁ-

sudo nano /etc/mosquitto/mosquitto.conf

በዚህ ፋይል ታችኛው ክፍል ላይ መስመሩን ማየት አለብዎት

ያካትታሉ_dir /etc/mosquitto/conf.d

ይህን መስመር ሰርዝ። የሚከተሉትን መስመሮች በፋይሉ ግርጌ ላይ ያክሉ።

ስም -አልባ ሐሰት ፍቀድ

password_file/etc/mosquitto/pwfile አድማጭ 1883 እ.ኤ.አ.

እነዚያን መስመሮች በመተየብ ፣ እኛ ልክ የሆነ የተጠቃሚ ስም እና የይለፍ ቃል ከማያቀርብ (ከኛ ደላላ) ጋር የሚገናኝ ማንም ሰው እንደማንፈልግ (ትንሹን በሰከንድ ውስጥ እናዘጋጃቸዋለን) እና ትንኝ እንደምንፈልግ ነግረናል። በወደብ ቁጥር 1883 ላይ መልዕክቶችን ያዳምጡ።

ደላላው የተጠቃሚ ስም እና የይለፍ ቃል እንዲፈልግ የማይፈልጉ ከሆነ እኛ ያከልናቸውን የመጀመሪያዎቹን ሁለት መስመሮች (ማለትም ፍቃድ_አይነት… እና የይለፍ ቃል_ፋይል…) አያካትቱ። ይህንን ካደረጉ ፣ ከዚያ Raspberry Pi ን እንደገና ለማስነሳት ይዝለሉ።

አሁን ያንን ፋይል ይዝጉ (ያስቀምጡ)። ከናኖ ምሳሌ ጋር የሚከተሉ ከሆነ CTRL+X ን ይጫኑ እና ሲጠየቁ Y ን ይተይቡ።

የ MQTT ደላላን ለመጠቀም የሚሞክሩ ተጠቃሚዎች መረጋገጥ እንዳለባቸው አሁን ለትንኝ ነግረናል ፣ አሁን የተጠቃሚ ስም እና የይለፍ ቃል ምን እንደሆኑ ለትንኝ መንገር አለብን! ስለዚህ የሚከተለውን ትዕዛዝ ይተይቡ - የተጠቃሚ ስም በሚፈልጉት የተጠቃሚ ስም መተካት - ከዚያም በሚጠየቁበት ጊዜ የሚፈልጉትን የይለፍ ቃል ያስገቡ (ማስታወሻ - የውቅረት ፋይሉን ሲያርትዑ የተለየ የይለፍ ቃል_ፋይል መንገድ ከገለጹ ፣ ከዚህ በታች ያለውን መንገድ በ እርስዎ የተጠቀሙበት አንዱ)።

sudo mosquitto_passwd -c/etc/mosquitto/pwfile የተጠቃሚ ስም

የወባ ትንኝ ውቅረት ፋይልን እንደቀየርነው ፣ Raspberry Pi ን እንደገና ማስጀመር አለብን።

sudo ዳግም አስነሳ

Raspberry Pi ዳግም ማስነሳት ከጨረሰ በኋላ ሙሉ በሙሉ የሚሰራ የ MQTT ደላላ ሊኖርዎት ይገባል! በመቀጠል ፣ በርካታ የተለያዩ መሳሪያዎችን/ዘዴዎችን በመጠቀም ከእሱ ጋር ለመገናኘት እንሞክራለን!

ደረጃ 3 ደላላውን መሞከር

ደላላን መሞከር
ደላላን መሞከር

አንዴ Raspberry Pi ላይ ትንኝ ከጫኑ በኋላ ፈጣን ምርመራ ሊሰጡ ይችላሉ - ሁሉም ነገር በትክክል እየሰራ መሆኑን ለማረጋገጥ። ለዚህ ዓላማ ፣ በትእዛዝ መስመሩ ላይ ልንጠቀምባቸው የምንችላቸው ሁለት ትዕዛዞች አሉ። ትንኝ_pብ እና ትንኝ_ሱብ። በዚህ ደረጃ ፣ ደላላችንን ለመፈተሽ እነዚህን እያንዳንዳቸውን በመጠቀም እመራዎታለሁ።

ደላላውን ለመፈተሽ ሁለት የትእዛዝ መስመር መስኮቶችን መክፈት ያስፈልግዎታል። Putty ን ወይም ሌላ የኤስኤስኤች ደንበኛን የሚጠቀሙ ከሆነ ፣ ይህ ሌላ የኤስኤስኤስኤች መስኮት መክፈት እና እንደተለመደው መግባት ቀላል ነው። የእርስዎን ፒአይ ከ UNIX ተርሚናል የሚደርሱ ከሆነ ይህ በትክክል አንድ ነው። Raspberry Pi ን በቀጥታ የሚጠቀሙ ከሆነ በ GUI ሁናቴ ውስጥ ሁለት ተርሚናል መስኮቶችን መክፈት ያስፈልግዎታል (ትዕዛዙ startxcan GUI ን ለመጀመር ጥቅም ላይ ሊውል ይችላል)።

አሁን ሁለት መስኮቶችን ከከፈቱ ፣ በፈተናው መጀመር እንችላለን። ከሁለቱ ተርሚናሎች በአንዱ የተጠቃሚውን ስም እና የይለፍ ቃል በቀዳሚው ደረጃ ላይ ባዋቀሩት በመተካት የሚከተለውን ትዕዛዝ ይተይቡ።

mosquitto_sub -d -u የተጠቃሚ ስም -P የይለፍ ቃል -t ሙከራ

በቀደመው ደረጃ የተጠቃሚ ስም እና የይለፍ ቃል ላለማቀናበር ከወሰኑ ፣ ከአሁን በኋላ በትእዛዞቹ ውስጥ -u እና -P ባንዲራዎችን ችላ ይበሉ። ስለዚህ ፣ ለምሳሌ ፣ የትንኝ_ሱብ ትእዛዝ አሁን ይሆናል -

mosquitto_sub -d -t ፈተና

የ mosquitto_sub ትዕዛዙ ለርዕሰ ጉዳይ ይመዘገባል ፣ እና ወደተጠቀሰው ርዕስ የሚላኩትን ማንኛውንም መልእክት በተርሚናል መስኮት ውስጥ ያሳያል። እዚህ ፣ -d ማለት የማረም ሁነታን ማለት ነው ፣ ስለዚህ ሁሉም መልእክቶች እና እንቅስቃሴዎች በማያ ገጹ ላይ ይወጣሉ። -u እና -P ራስን ገላጭ መሆን አለባቸው። በመጨረሻ ፣ - እኛ ልንመዘግበው የምንፈልገው የርዕስ ስም ነው - በዚህ ጉዳይ ላይ “ሙከራ”።

በመቀጠል ፣ በሌላኛው ተርሚናል መስኮት ውስጥ ፣ ወደ “ሙከራ” ርዕስ መልእክት ለመሞከር እና ለማተም እንሄዳለን። የተጠቃሚ ስም እና የይለፍ ቃል ለመለወጥ እንደገና በማስታወስ የሚከተሉትን ይተይቡ

mosquitto_pub -d -u የተጠቃሚ ስም -P የይለፍ ቃል -t ሙከራ -m "ጤና ይስጥልኝ ፣ ዓለም!"

አስገባን ሲጫኑ “ሰላም ፣ ዓለም!” የሚል መልእክትዎን ማየት አለብዎት። እኛ በተጠቀምንበት የመጀመሪያው ተርሚናል መስኮት ውስጥ (ለመመዝገብ)። ይህ ከሆነ ፣ በ ESP8266 ላይ ሥራ ለመጀመር ዝግጁ ነዎት!

ደረጃ 4 ESP8266 ን (Adafruit HUZZAH) ማቀናበር

ESP8266 (Adafruit HUZZAH) በማዋቀር ላይ
ESP8266 (Adafruit HUZZAH) በማዋቀር ላይ
ESP8266 (Adafruit HUZZAH) በማዋቀር ላይ
ESP8266 (Adafruit HUZZAH) በማዋቀር ላይ
ESP8266 (Adafruit HUZZAH) በማዋቀር ላይ
ESP8266 (Adafruit HUZZAH) በማዋቀር ላይ
ESP8266 (Adafruit HUZZAH) በማዋቀር ላይ
ESP8266 (Adafruit HUZZAH) በማዋቀር ላይ

ይህ እርምጃ ለአዳፍ ፍሬው HUZZAH የተወሰነ ከሆነ (ይህንን ፕሮጀክት ለማጠናቀቅ የምጠቀምበት እንደዚያ ነው)። የተለየ የ Arduino / ESP8266 መሣሪያ እየተጠቀሙ ከሆነ ይህንን ደረጃ መዝለል ይፈልጉ ይሆናል። ሆኖም ፣ እዚህ ለእርስዎ ጠቃሚ ሊሆን የሚችል ማንኛውም መረጃ ቢኖር ፣ እንዲያነቡት እንዲመክሩት እመክርዎታለሁ።

ለዚህ ፕሮጀክት እኔ ሁዱዛን ከአርዱዲኖ ሶፍትዌር ጋር እያዘጋጀሁ ነው። ስለዚህ ፣ እስካሁን ካላደረጉ ፣ የአርዱዲኖ ሶፍትዌርን (ከ 1.6.4 አዲስ) መጫንዎን ያረጋግጡ። እዚህ ማውረድ ይችላሉ።

አንዴ የአርዱዲኖ ሶፍትዌሩን ከጫኑ በኋላ ይክፈቱት እና ወደ ፋይል-> ምርጫዎች ይሂዱ። እዚህ (በመስኮቱ ታችኛው ክፍል አቅራቢያ) “ተጨማሪ የቦርዶች አስተዳዳሪ ዩአርኤሎች” የሚል መለያ ያለው የጽሑፍ ሳጥን ማየት አለብዎት። በዚህ የጽሑፍ ሳጥን ውስጥ የሚከተለውን አገናኝ ይቅዱ እና ይለጥፉ

arduino.esp8266.com/stable/package_esp8266com_index.json

ለውጦችዎን ለማስቀመጥ እሺን ጠቅ ያድርጉ። አሁን የቦርድ ሥራ አስኪያጁን (መሳሪያዎች-> ቦርድ-> የቦርድ አስተዳዳሪ) ይክፈቱ እና ESP8266 ን ይፈልጉ። Esp8266 ን በ ESP8266 የማህበረሰብ ጥቅል ይጫኑ። የአርዱዲኖ ሶፍትዌርን እንደገና ያስጀምሩ።

አሁን ፣ ሰሌዳውን ከማቅረባችን በፊት ፣ ጥቂት የተለያዩ አማራጮችን መምረጥ አለብን። በመሳሪያዎች ምናሌ አማራጭ ውስጥ Adafruit HUZZAH ESP8266 ን ለቦርድ ፣ 80 ሜኸ ለሲፒዩ ድግግሞሽ ይምረጡ (እሱን ለማለፍ ከፈለጉ 160 ሜኸዝ መጠቀም ይችላሉ ፣ ግን ለአሁን እኔ 80 ሜኸዝ እጠቀማለሁ) ፣ 4 ሜ (3 ሜ SPIFFS) ለ Flash መጠን ፣ እና ለመስቀል ፍጥነት 115200። እንዲሁም ፣ የሚጠቀሙበትን የ COM ወደብ መምረጥዎን ያረጋግጡ (ይህ በማዋቀርዎ ላይ የተመሠረተ ነው)።

ማንኛውንም ኮድ ከመስቀልዎ በፊት ፣ HUZZAH በ bootloader ሁነታ ላይ መሆኑን ማረጋገጥ አለብዎት። ይህንን ለማንቃት GPIO0 ላይ ምልክት የተደረገበትን ሰሌዳ ላይ ያለውን አዝራር ይያዙ ፣ እና ይህ በሚያዝበት ጊዜ ፣ የዳግም አስጀምር አዝራሩን እንዲሁ ይያዙ። ከዚያ ፣ የዳግም አስጀምር ቁልፍን ፣ እና ከዚያ GPIO0 ን ይልቀቁ። ይህንን በትክክል ከሠሩ ፣ GPIO0 ን ሲጫኑ የመጣው ቀይ LED አሁን በደንብ ሊበራ ይገባል።

ወደ ማይክሮ መቆጣጠሪያው ኮድ ለመስቀል ፣ መጀመሪያ HUZZAH በ bootloader ሞድ ውስጥ መሆኑን ያረጋግጡ ፣ ከዚያ በቀላሉ በአርዱዲኖ አይዲኢ ውስጥ የሰቀላ ቁልፍን ጠቅ ያድርጉ።

HUZZAH ን ለማዋቀር ማንኛውም ችግር እያጋጠመዎት ከሆነ ፣ ተጨማሪ መረጃ በአዳፍሬው በራሱ መማሪያ ላይ ይገኛል።

ደረጃ 5 - ESP8266 ን ፕሮግራም ማድረግ

ESP8266 ፕሮግራም ማድረግ
ESP8266 ፕሮግራም ማድረግ

አሁን ESP8266 ን መርሃ ግብር እንጀምራለን ፣ ግን እኛ ከመጀመራችን በፊት በአርዲኖ ቤተመፃሕፍት ሥራ አስኪያጅ ውስጥ የሚከተሉትን ቤተ-መጻሕፍት መጫን ያስፈልግዎታል (ስዕል-> ቤተ-መጽሐፍትን ያካትቱ-> ቤተ-መጽሐፍቶችን ያቀናብሩ)

  • መንቀል 2
  • PubSubClient

አንዴ እነዚያን ቤተ -መጻሕፍት ከጫኑ ፣ በዚህ አስተማሪ (MQTT_Publish.zip) ውስጥ ያካተትኩትን ኮድ ማስኬድ ይችላሉ። እያንዳንዱ ክፍል ምን እያደረገ እንደሆነ እንዲረዱ አስተያየት መስጠቴን አረጋግጫለሁ ፣ እና ይህ ከእርስዎ ፍላጎቶች ጋር እንዲላመዱ ተስፋ ሊያደርግዎት ይገባል።

የእርስዎ ESP8266 ከ WiFi አውታረ መረብዎ እና ከ MQTT ደላላ (Raspberry Pi) ጋር እንዲገናኝ በኮዱ አናት ላይ ያሉትን ቋሚዎች መለወጥዎን ያስታውሱ።

ለ MQTT ደላላ የተጠቃሚ ስም እና የይለፍ ቃል ላለማቀናበር ከወሰኑ ከዚያ በምትኩ የ MQTT_PublishNoPassword.zip ፋይልን ያውርዱ።

ደረጃ 6 የ Python ደንበኛን መጫን (paho-mqtt)

የፓይዘን ደንበኛን በመጫን ላይ (paho-mqtt)
የፓይዘን ደንበኛን በመጫን ላይ (paho-mqtt)

አመሰግናለሁ ፣ ይህ እርምጃ በጣም ቀላል ነው! የወባ ትንኝ ፓይዘን ደንበኛን ለመጫን የሚከተለውን በትእዛዝ መስመር (ሊኑክስ/ማክ) ወይም በትእዛዝ መጠየቂያ (ዊንዶውስ) ውስጥ መተየብ ብቻ ያስፈልግዎታል።

pip install paho-mqtt

ማሳሰቢያ: - ፓይዘን ሲጭኑ ፒት እንዲጫን እና ፓይዘን ወደ የእርስዎ PATH ተለዋዋጭ እንዲታከል ካልፈለጉ የዊንዶውስ የትእዛዝ ጥያቄ የ pip ትዕዛዙን የማስኬድ ችግር ሊኖረው ይችላል። ይህንን ለማስተካከል በርካታ መንገዶች አሉ ፣ ግን እኔ Python ን እንደገና መጫን ቀላሉ መንገድ ይመስለኛል። ጥርጣሬ ካለ - ጉግል ይስጡት!

ደረጃ 7 - የፓይዘን ደንበኛ - በደንበኝነት መመዝገብ

የ Python ደንበኛ - በደንበኝነት መመዝገብ
የ Python ደንበኛ - በደንበኝነት መመዝገብ

በዚህ ደረጃ ፣ በ ESP8266 ወደ MQTT ርዕስ የሚላኩትን (የታተሙ) መልእክቶችን ሁሉ ለማስተናገድ የ Python ስክሪፕት (በራስፕቤይ ፒ ላይ ወይም ከአውታረ መረቡ ጋር በተገናኘ በሌላ ኮምፒተር ላይ) እናዘጋጃለን።

እኔ ምን እየተካሄደ እንዳለ እንዲረዳዎት አስተያየት የተሰጠበትን ከዚህ በታች ያለውን የፓይዘን ኮድ (PythonMQTT_Subscribe.py) አካትቻለሁ ፣ ግን አንዳንድ ዋና ዋና ባህሪያትን እዚህም እገልጻለሁ።

ለ MQTT ግንኙነት የተጠቃሚ ስም እና የይለፍ ቃል አስቀድመው ካላዘጋጁ ፣ ይልቁንስ የ PythonMQTT_SubscribeNoPassword.py ፋይልን ያውርዱ።

ደረጃ 8 በ ESP8266 መሣሪያዎች መካከል መግባባት

በ ESP8266 መሣሪያዎች መካከል መግባባት
በ ESP8266 መሣሪያዎች መካከል መግባባት

ለምሳሌ ፣ የ IoT አውታረ መረብ ለማቋቋም ከፈለጉ ፣ በ ESP8266 መሣሪያዎች መካከል መገናኘት ይፈልጉ ይሆናል። ደስ የሚለው ፣ ይህ ከዚህ በፊት ከጻፍነው ኮድ የበለጠ የተወሳሰበ አይደለም ፣ ሆኖም ፣ ሁለት ጉልህ ለውጦች አሉ።

አንድ ESP መረጃን ለሌላ እንዲልክ ፣ የመጀመሪያው ESP ወደ ርዕሱ ማተም አለበት ፣ ሁለተኛው ESP ለዚያ ርዕስ መመዝገብ አለበት። ይህ ማዋቀር የአንድ አቅጣጫ ውይይት እንዲኖር ያስችላል - ESP (1) ወደ ESP (2)። ESP (2) ከ ESP (1) ጋር እንደገና እንዲነጋገር ከፈለግን ፣ አዲስ ርዕስ መፍጠር እንችላለን ፣ እሱም ESP (2) የሚያትመው ፣ እና ESP (1) በደንበኝነት ይመዘገባል። እንደ እድል ሆኖ ፣ በተመሳሳይ ርዕስ ላይ ብዙ ተመዝጋቢዎች ሊኖረን ይችላል ፣ ስለዚህ መረጃን ወደ ብዙ ስርዓቶች ለመላክ ከፈለጉ አንድ ርዕሰ ጉዳይ ብቻ ያስፈልግዎታል (ውሂቡን ከሚልከው መሣሪያ በስተቀር ሁሉም የሚመዘገቡበት)። ማተም)።

እያንዳንዱ መሣሪያ ምን ማድረግ እንዳለበት ለማወቅ እገዛ ከፈለጉ ፣ ስለ ስርዓቱ እንደ ሰዎች ክፍል ያስቡ። ESP (1) እያተመ ከሆነ ፣ ይህንን መሣሪያ እንደ “ተናጋሪ” አድርገው መገመት ይችላሉ ፣ እና ለርዕሱ ተመዝጋቢ የሆኑ ማናቸውም መሣሪያዎች በዚህ ምሳሌ ውስጥ “አድማጮች” ናቸው።

አንድ ESP8266 ለርዕሰ ጉዳይ እንዴት መመዝገብ እንደሚችል እና የተወሰኑ መልዕክቶችን ማዳመጥ እንደሚቻል የሚያሳየውን ከዚህ በታች የምሳሌ ኮድ አካትቻለሁ - 1 እና 0. 1 ከተቀበለ ፣ በቦርዱ ላይ ያለው LED (ለ HUZZAH - GPIO 0) በርቷል. 0 ከተቀበለ ፣ ይህ ኤልኢዲ ጠፍቷል።

ይበልጥ የተወሳሰበ መረጃን ለማስኬድ ከፈለጉ ፣ ይህ በ ReceivedMessage ተግባር (ኮድ ይመልከቱ) ውስጥ መደረግ አለበት።

ለራስዎ ፕሮጀክቶች ፣ ሁለቱንም ውሂብ መላክ እና መቀበል ከፈለጉ ፣ በዚህ ደረጃ ውስጥ በተካተተው ኮድ ውስጥ ከቀዳሚው ምሳሌ የህትመት ተግባሩን ማካተት ይችላሉ። ይህ በዋናው የአርዱዲኖ loop () ተግባር ውስጥ መከናወን አለበት።

ከአውታረ መረብዎ ጋር እንዲስማማ በኮዱ አናት ላይ ያሉትን ተለዋዋጮች መለወጥዎን ያስታውሱ!

የሚመከር: