ዝርዝር ሁኔታ:

ESP8266 ቀጥታ የውሂብ ግንኙነት 3 ደረጃዎች
ESP8266 ቀጥታ የውሂብ ግንኙነት 3 ደረጃዎች

ቪዲዮ: ESP8266 ቀጥታ የውሂብ ግንኙነት 3 ደረጃዎች

ቪዲዮ: ESP8266 ቀጥታ የውሂብ ግንኙነት 3 ደረጃዎች
ቪዲዮ: Q@A Mondays 2024, ሀምሌ
Anonim
ESP8266 ቀጥታ የውሂብ ግንኙነት
ESP8266 ቀጥታ የውሂብ ግንኙነት

መግቢያ

በአርዲኖዎች እና በ nRF24l01 ሞጁሎች አንዳንድ ፕሮጀክቶችን ስሠራ በምትኩ የ ESP8266 ሞጁሉን በመጠቀም የተወሰነ ጥረት ማዳን እችል እንደሆነ እያሰብኩ ነበር። የ ESP8266 ሞጁል ጥቅሙ በመርከቧ ውስጥ ማይክሮ መቆጣጠሪያን የያዘ በመሆኑ ተጨማሪ የአርዱዲኖ ቦርድ አያስፈልግም። በተጨማሪም የ ESP8266 ማህደረ ትውስታ መጠን በጣም ትልቅ ነው እና ፍጥነትን በተመለከተ ESP8266 ከአርዱዲኖ 16 ሜኸር ይልቅ በ 160 ሜኸር ይሠራል። በእርግጥ አንዳንድ አሉታዊ ጎኖች አሉ።

ESP8266 በ 3.3 ቪ ላይ ብቻ ይሠራል ፣ ያነሱ ፒኖች ያሉት እና አርዱዲኖ ያለው ጥሩ የአናሎግ ግብዓቶች ይጎድለዋል (አንድ አለው ፣ ግን ለ 1.0 ቪ ብቻ እና 3.3 ቪ አይደለም)። በተጨማሪም ለ Arduino + nRF24l01 ብዙ ተጨማሪ የኮድ ምሳሌዎች አሉ ከዚያም ለ ESP8266 በተለይም በቀጥታ የውሂብ ሽግግርን በተመለከተ።

ስለዚህ አንድ ፕሮጀክት ከግምት ውስጥ ሳያስገባ ፣ የሁሉም WWW እና የኤችቲቲፒ ነገሮች ሳይኖር በሁለት ESP8266 መካከል ፈጣን እና ቀላል የውሂብ ማስተላለፍን ርዕስ ተመልክቻለሁ።

ምሳሌዎችን በይነመረቡን በሚፈልጉበት ጊዜ (አብዛኛው ከዚህ በታች ያለው ኮድ ከተለያዩ ቦታዎች ከተጣራ ተመርጦ ነበር) ያለ ጥሩ “እንደዚያ ያድርጉ” ምሳሌዎች ቀጥተኛ የውሂብ ሽግግርን እንዴት እንደሚተገብሩ ብዙ ጥያቄዎች አጋጠሙኝ። አንዳንድ የምሳሌ ኮድ ነበር ፣ ግን በአብዛኛው በጥያቄ ለምን አልሰራም።

ስለዚህ አንዳንድ ንባብ እና ለመረዳት ከሞከርኩ በኋላ ፣ በሁለት ESP8266 መካከል ፈጣን እና ቀላል የመረጃ ልውውጥን የሚፈቅዱትን ከዚህ በታች ያሉትን ምሳሌዎች ፈጠርኩ።

ደረጃ 1 - ድንበሮች እና ዳራዎች (TCP Vs. UDP)

እዚያ ለመድረስ አንዳንድ ድንበሮች ከ nRF24l01 ጋር ሲነፃፀሩ ግልጽ መሆን አለባቸው።

በአርዲኖ አካባቢ ውስጥ ESP8266 ን ለመጠቀም ፣ ለመጠቀም መሠረታዊው ቤተ -መጽሐፍት ESP8266WiFi.h ነው። ምናልባት የተለያዩ ሊሆኑ ይችላሉ ፣ ግን አብዛኛዎቹ ምሳሌዎች የተጠቀሰውን ይጠቀማሉ። ይህንን ሲጠቀሙ ግንኙነትዎን ወደ WiFi ደረጃ መድረስ ያስፈልግዎታል።

ስለዚህ ፣ ለመግባባት ቢያንስ የመዳረሻ ነጥብ (ኤፒ) / አገልጋይ እና ደንበኛ መኖር አለበት። ኤ.ፒ. የኔትወርክን ስም እና የአይፒ አድራሻዎችን ይሰጣል እና ደንበኛው ከዚህ አገልጋይ ጋር ይገናኛል።

ስለዚህ nRF24l01 ን ያነፃፅሩ ፣ በሁለቱም ጫፎች ላይ ያለው ኮድ ብዙ ወይም ያነሰ ተመሳሳይ (ከስርጭት ሰርጦች በስተቀር) የ ESP8266 ኮድ አንዱ የተለየ ነው ፣ አንደኛው እንደ AP እና ሌላኛው እንደ ደንበኛ የተዋቀረ ነው።

የሚቀጥለው ርዕስ ፣ አንዳንድ ባይት ወደ nRF24l01 ከመላክ ይልቅ ፣ ለ ESP8266 የዝውውር ፕሮቶኮሎች መከበር አለባቸው።

ሁለት የተለመዱ ፕሮቶኮሎች አሉ - TCP እና UDP።

TCP (የማስተላለፊያ ቁጥጥር ፕሮቶኮል) በአገልጋይ እና በደንበኛ መካከል ከኪሳራ ነፃ ማስተላለፍን የሚፈቅድ ፕሮቶኮል ነው። ፕሮቶኮሉ “የእጅ መጨባበጥ” (በሁለቱም ወገኖች መካከል የተላኩ ብዙ ባንዲራዎች እና ምስጋናዎች) እና የጠፉ እሽጎችን ለመለየት እና እንደገና ለማስተላለፍ የፓኬት ቁጥር እና ማወቂያን ያጠቃልላል። በተጨማሪም ፣ እነዚህን ሁሉ የእጅ መጨባበጥ በመጠቀም ፕሮቶኮሉ በአውታረ መረቡ ውስጥ በአንድ ጊዜ ብዙ እሽጎች በመላክ ምክንያት የጠፋውን መረጃ ይከላከላል። የውሂብ እሽጎች እስኪያገኙ ድረስ ይጠብቃሉ።

የ UDP (የተጠቃሚ ዳታግራም ፕሮቶኮል) ሁሉንም የእጅ መጨባበጥ ፣ የፓኬት ቁጥር እና እንደገና ማስተላለፍ ይጎድለዋል። የእሱ አናት ስለዚህ አነስ ያለ ስለሆነ ሁሉም የእጅ መጨባበጥ ግንኙነትን ለመጠበቅ አያስፈልግም። UDP አንዳንድ መሰረታዊ የስህተት ማወቂያን ያጠቃልላል ፣ ግን ምንም እርማት የለም (የተበላሸው ጥቅል አሁን ተጥሏል)። የተቀበለው ወገን ውሂቡን ለመቀበል ነፃ ከሆነ ያለእውቀት መረጃ ይላካሉ። በተመሳሳይ ጊዜ እያንዳንዱ ወገን አስፈላጊ በሚሆንበት ጊዜ መረጃውን ስለሚልክ ብዙ ፓኬቶች ሊጋጩ ይችላሉ። ሁሉንም የእጅ መጨባበጥ በመተው ፣ “ብዙ መልቲስት” እና “ስርጭት” የሚባል አንድ ተጨማሪ የ UDP ጥሩ ባህሪ አለ። በ “ባለብዙ ባለብዙ” የጉዳይ መረጃ እሽጎች ውስጥ ወደተወሰነ የአባላት ቡድን ይላካሉ ፣ በ “ስርጭት” የውሂብ እሽጎች ውስጥ ለሁሉም የተገናኙ አባላት ይላካሉ። ዥረቶች በበርካታ አባላት (ለምሳሌ የቪዲዮ ምግብን ወደ ብዙ ተቀባዮች በመላክ ወይም የአሁኑን ጊዜ ወደ ብዙ የተገናኙ መሣሪያዎች በመላክ) ይህ የውሂብ ዝውውርን በእጅጉ ይቀንሳል።

በ Youtube ላይ በተሻለ ሁኔታ የሚያብራሩ አንዳንድ ጥሩ ቪዲዮዎች አሉ።

ስለዚህ ውሂብ በሚልክበት ጊዜ ፍላጎቶችዎን ማወቅ አስፈላጊ ነው-

  • ያልተበላሸ መረጃ ፣ የብዙ እኩዮች አያያዝ በእጅ መጨባበጥ → TCP
  • የእውነተኛ ጊዜ ውሂብ ፣ ፈጣን ግንኙነት → UDP

መጀመሪያ የጀመርኩት በ TCP ላይ የተመሠረተ ግንኙነትን (በአንድ አገልጋይ እና በአንድ ደንበኛ መካከል) በመተግበር ነው። እሱን እየሞከርኩ እያለ በማስተላለፍ ላይ የማቆም ችግሮች ነበሩኝ። መጀመሪያ ላይ ውሂቡ በፍጥነት ተለወጠ ፣ ከዚያ ከጥቂት ጊዜ በኋላ ፍጥነቱ በከፍተኛ ሁኔታ ቀንሷል። እኔ ይህ የ TCP አቀራረብ የተለመደ ችግር ነበር (ይህም ስህተት ነበር!) ፣ ስለዚህ በ UDP ላይ የተመሠረተ ወደ መፍትሄ ተለውጧል። በመጨረሻ ሁለቴ ወደ ሥራ ቀረብኩ። ስለዚህ ሁለቱም መፍትሄዎች ይሰጣሉ።

ከዚህ በታች ያሉት ንድፎች ለ TCP እና ለ UDP በጋራ አላቸው -

  • ለማንኛውም ነባር የ WiFi አውታረ መረብ ገለልተኛ ናቸው። ስለዚህ ከበይነመረቡ እና ከተገናኙ ራውተሮች ርቆ በሚገኝ በማንኛውም ቦታ ይሠራል።
  • በተከታታይ ማሳያ በኩል እንዲታተም የ ASCII ውሂብ እየላኩ ነው።
  • በሚሊስ ()-ተግባር የተገኘውን መረጃ እየላኩ ነው ፣ የመተላለፊያውን ፍጥነት ለመተንተን።
  • ለብዙ ደንበኞች አልተፈተኑም (አውታረ መረቡን አሁን ለማዋቀር ሃርድዌር ስላላቸው)

ደረጃ 2 - ሃርድዌር

ሃርድዌር
ሃርድዌር
ሃርድዌር
ሃርድዌር
ሃርድዌር
ሃርድዌር
ሃርድዌር
ሃርድዌር

ሙሉውን ስብስብ ለመፈተሽ ሁለት ESP8266 ሞጁሎችን እጠቀም ነበር። አንድ ሞዱል ESP-01 + USB-to-UART አስማሚ ነው። ሌላኛው ሞጁል የዩኤስቢ ግንኙነትን ፣ የቮልቴጅ መቆጣጠሪያን እና እንደ መቀያየሪያዎችን ፣ ኤልአርአድን እና ባለብዙ ቀለም ኤልዲድን የሚያካትት በ ESP-12 ላይ የተመሠረተ ሞዱል ነው።

ለ ESP-01 የዩኤስቢ-ወደ-UART ሞዱል እንደ ፕሮግራም አውጪ (እንደገና Youtube በ Csongor Varga) ለመጠቀም ትንሽ መለወጥ ነበረበት።

ንድፎቹን ለማስኬድ ፣ የ ESP8266 ቤተ -መጽሐፍትን (በበይነመረብ ውስጥ በብዙ ቦታዎች እንደተገለፀው) መጫን ያስፈልግዎታል። በሁለቱም ሁኔታዎች (TCP እና UDP) እያንዳንዱ አገልጋይ እና የደንበኛ ንድፍ አለ። የትኛው ንድፍ በየትኛው ሞጁል ላይ ለውጥ የለውም።

ምስጋናዎች

እንደተጠቀሰው ፣ ንድፎቹ በድር ላይ ባገኘኋቸው ብዙ ቁርጥራጮች እና ቁርጥራጮች ላይ የተመሰረቱ ናቸው። እኔ ምን ፣ እና የመጀመሪያው ኮድ ወይም ምን እንደለወጥኩ ያገኘሁበትን ከእንግዲህ አላስታውስም። ስለዚህ ሁሉንም ታላላቅ ምሳሌዎችን በማሳተሙ እዚያ ያለውን ትልቅ ማህበረሰብ በአጠቃላይ ማመስገን እፈልግ ነበር።

ደረጃ 3: ንድፎች

ኮዱ እያንዳንዳቸው ሁለት ንድፎችን (እንደተገለፀው) ፣ የአገልጋይ ንድፍ እና የደንበኛ ንድፍ ፣ ለ TCP እና ለ UDP እያንዳንዳቸው ያካተተ ነው።

የሚመከር: