ዝርዝር ሁኔታ:

እጅግ በጣም ቀላል Raspberry Pi 433MHz የቤት አውቶሜሽን 7 ደረጃዎች
እጅግ በጣም ቀላል Raspberry Pi 433MHz የቤት አውቶሜሽን 7 ደረጃዎች

ቪዲዮ: እጅግ በጣም ቀላል Raspberry Pi 433MHz የቤት አውቶሜሽን 7 ደረጃዎች

ቪዲዮ: እጅግ በጣም ቀላል Raspberry Pi 433MHz የቤት አውቶሜሽን 7 ደረጃዎች
ቪዲዮ: BTT SKR2 -Klipper Firmware Install 2024, ህዳር
Anonim
እጅግ በጣም ቀላል Raspberry Pi 433MHz የቤት አውቶሜሽን
እጅግ በጣም ቀላል Raspberry Pi 433MHz የቤት አውቶሜሽን

በቤት ውስጥ ሽቦ አልባ መሣሪያዎችን ለመቆጣጠር Raspberry Pi ን በመጠቀም ረገድ ይህ ትምህርት ከብዙዎች አንዱ ነው። እንደ ሌሎቹ ሁሉ ፣ በተለምዶ ጥቅም ላይ በሚውለው 433 ሜኸ የሬዲዮ ድግግሞሽ ባንድ ላይ ከሚሠሩ መሣሪያዎች ጋር ለመገናኘት ከእርስዎ ፒ ጋር የተሳሰረ ርካሽ ማስተላለፊያ/መቀበያ ጥንድ እንዴት እንደሚጠቀሙ ያሳየዎታል። ትዕዛዞችን ወደ 433 ሜኸ የርቀት መቆጣጠሪያ የኃይል ሶኬቶች ስብስብ በማስተላለፍ የእርስዎን ፒ በመጠቀም ማንኛውንም የኤሌክትሪክ መሳሪያ እንዴት ማብራት ወይም ማጥፋት እንደሚችሉ ያሳይዎታል።

ብዙዎች ቀድሞውኑ ካሉ ይህንን ትምህርት ለምን ፈጠርኩ? በዋናነት ያገኘኋቸው ሌሎች ሁሉም አጋዥ ሥልጠናዎች በተለይም በሶፍትዌር በኩል ነገሮችን ከመጠን በላይ የተወሳሰቡ ይመስላሉ። ሁሉንም ሥራ ለመሥራት በሶስተኛ ወገን ቤተ-መጻህፍት ፣ ስክሪፕቶች ወይም የኮድ ቁርጥራጮች ላይ በከፍተኛ ደረጃ መታመናቸውን አስተውያለሁ። ብዙዎች መሠረታዊው ኮድ ምን እያደረገ እንደሆነ እንኳን አይገልጹም - እነሱ በእርስዎ ፒ ላይ ሁለት ወይም ሶስት ሶፍትዌሮችን እንዲጭኑ እና ብዙ ትዕዛዞችን እንዲፈጽሙ ይጠይቁዎታል ፣ ምንም ጥያቄዎች አልተጠየቁም። የ 433 ሜኸ የርቀት መቆጣጠሪያ ሶኬቶችን በመጠቀም በቤቴ ዙሪያ የኤሌክትሪክ መሳሪያዎችን ለማብራት እና ለማጥፋት የእኔን ፒ (ፒ) ለመጠቀም በእውነት ፈልጌ ነበር ፣ ነገር ግን አስፈላጊ የሆነውን ተስፋ በማስቀረት የምረዳውን የራሴን የስርዓት ስሪት መፍጠር ፈለግሁ። የሌላ ሰው ቤተመጽሐፍት ወይም ስክሪፕቶችን ይጠቀሙ።

ይህ ማጠናከሪያ ትምህርት ስለዚያ ነው። የዚህ ስርዓት ሶፍትዌር ጎን ሁለት በጣም ቀላል የ Python ስክሪፕቶችን ያካተተ ነው - አንደኛው ምልክቶችን ለመቀበል እና ለመቅዳት ፣ እና አንዱ እነዚህን ምልክቶች ወደ ሽቦ አልባ የኃይል ሶኬቶች መልሶ ለማስተላለፍ። የምልክቱ ትክክለኛ መቀበያ/ማስተላለፍ የሚመረጠው ለአጠቃቀም ቀላል በሆነ የ RPi. GPIO ቤተ-መጽሐፍት ላይ ብቻ ነው ፣ ይህም ለእኔ ቢያንስ ከ Raspbian ጋር አስቀድሞ ተጭኗል። ይህ ቤተ -መጽሐፍት በቀጥታ ወደ ፓይዘን ሊገባ ይችላል።

ለዚህ ፕሮጀክት የሚከተሉትን ያስፈልግዎታል

አንድ Raspberry Pi. ማንኛውም ሞዴል መሥራት አለበት ፣ ሁሉንም-በ-አንድ ማስጀመሪያ መሣሪያን እጠቀም ነበር ፣ ግን ምናልባት ማዕከላዊውን ክፍል ብቻ ያስፈልግዎታል።

የ 433 ሜኸ ማሰራጫ/መቀበያ ጥንድ። በዚህ ዓይነት ፕሮጀክት ውስጥ በብዛት ጥቅም ላይ የዋሉት እነዚህ ይመስላሉ። እንደ ተገናኘው አንድ የአምስት ጥቅል መግዛት ጥቂት መለዋወጫዎች መኖራቸውን ያረጋግጣል።

የ 433 ሜኸር የርቀት መቆጣጠሪያ የኃይል ሶኬቶች ስብስብ። እኔ በጣም የምመክረውን እነዚህን እጠቀም ነበር ፣ ግን ስፍር ቁጥር የሌላቸው ሞዴሎች አሉ። በዚህ ድግግሞሽ ላይ መሥራታቸውን ያረጋግጡ

  • አንዳንድ የወረዳ ግንባታ መለዋወጫዎች። የወረዳውን ግንባታ ሂደት በተቻለ መጠን ቀላል ለማድረግ የዳቦ ሰሌዳ እና አንዳንድ የጃምፐር ገመዶችን እንዲጠቀሙ እመክራለሁ።

[ከእነዚህ ምርቶች ውስጥ ማንኛውንም ለመግዛት ከወሰኑ ፣ ከላይ ያሉትን አገናኞች በመጠቀም ዝርዝሮቹን ከደረሱ በጣም አመስጋኝ ነኝ - በዚያ መንገድ ፣ ለእርስዎ ያለ ተጨማሪ ወጪ ትንሽ የትርፍ ድርሻ አገኛለሁ!]

ደረጃ 1 - የተቀባዩን ክፍል ማቀናበር

የመቀበያ ክፍልን ማቀናበር
የመቀበያ ክፍልን ማቀናበር

በርቀት ቁጥጥር ለሚደረግባቸው ሶኬቶች ትዕዛዞችን ለመላክ የእርስዎን ፒ ከመጠቀምዎ በፊት ለየት ያሉ ምልክቶች ምላሽ እንደሚሰጡ ማወቅ አለብዎት። አብዛኛዎቹ በርቀት ቁጥጥር ስር ያሉ ሶኬቶች የተወሰኑ አሃዶችን ለማብራት ወይም ለማጥፋት ሊያገለግል በሚችል ቀፎ ይልካሉ። በገዛኋቸው ሁኔታ ፣ ስልኩ አራት ረድፎች የተጣመሩ አብራ/አጥፋ አዝራሮች አሉት ፣ እያንዳንዱም ለተለየ ሶኬት አሃድ የ ON ወይም OFF ምልክት ይልካል።

ይህ ጥያቄን ያመጣል - የትኞቹ አዝራሮች ከየትኛው ሶኬት ጋር እንደሚዛመዱ እንዴት እናውቃለን? ይህ በእውነቱ ባለው ሞዴል ላይ የተመሠረተ ነው። የእኔን ልዩ የሶኬት ዘይቤ (ከመግቢያው ጋር የተገናኘ) ከመረጥኩባቸው ዋና ዋና ምክንያቶች ውስጥ አንድ የተወሰነ ሶኬት ለተንቀሳቃሽ ስልክ ማብሪያ/ማጥፊያ ቁልፎች ስብስብ ምላሽ እንዲሰጥ አሃዶቹ በአካላዊ መቀየሪያ ሊዋቀሩ ይችላሉ። ይህ ማለት እያንዳንዱ አሃድ ሁል ጊዜ ለተመሳሳይ የ ON/OFF ምልክቶች ምላሽ እንደሚሰጥ በማወቅ በቤቱ ዙሪያ ያሉትን ሶኬቶች ነቅለው መንቀሳቀስ ይችላሉ ማለት ነው።

አንዴ ሶኬቶችዎ ከስልኩ ቀፎው ጋር እንዴት እንደሚገናኙ ካወቁ ፣ ስልኩ በእጅ የተላኩትን ኮዶች ‘ለማሽተት’ የእርስዎን 433 ሜኸዝ መቀበያ ክፍል (ከላይ የሚታየውን) መጠቀም ያስፈልግዎታል። አንዴ የእነዚህን ኮዶች ሞገድ ቅርፀቶች ካስመዘገቡ በኋላ ፓይዘን በመጠቀም እነሱን ማባዛት እና አስተላላፊ አሃዱን በመጠቀም መላክ ይችላሉ።

እዚህ ማድረግ ያለብዎት የመጀመሪያው ነገር በተቀባይዎ ላይ ያሉትን ፒኖች በ Pi ላይ ወደ ትክክለኛው የጂፒኦ ፒኖች ማያያዝ ነው። የመቀበያ ክፍሉ አራት ፒኖች አሉት ፣ ግን ሦስቱ ብቻ ያስፈልጋሉ። እኔ እንደማስበው ሁለቱም የማዕከላዊ ፒኖች ተመሳሳይ ውፅዓት ይሰጣሉ ፣ ስለሆነም ከእነሱ ጋር መገናኘት ብቻ ያስፈልግዎታል (የተቀበሉትን ምልክቶች ወደ ሁለት የተለያዩ የጂፒኦ ፒኖች ማስተላለፍ ካልፈለጉ)።

ከላይ ያለው ምስል ሽቦውን በጣም ያጠቃልላል። በተቀባዩ ላይ ያለው እያንዳንዱ ፒን በቀጥታ በ Pi ላይ ካለው ተጓዳኝ ፒን ጋር ሊገናኝ ይችላል። ሂደቱን ትንሽ የሚያምር ለማድረግ የዳቦ ሰሌዳ እና ዝላይ ገመዶችን እጠቀማለሁ። ከሁለቱም ከማዕከላዊ መቀበያ ካስማዎች ጋር ለመገናኘት ማንኛውንም የጂፒኦ መረጃ ፒን መምረጥ እንደሚችሉ ልብ ይበሉ። በእኔ ፒ ራስጌ ላይ ‹23 ›የሚል ምልክት የተደረገበትን ፒን ተጠቅሜአለሁ።

አስፈላጊ: ከላይ ባለው ምስል ላይ '3v3' የሚል ምልክት የተሰጠውን ፒን በፒ (ፒ 5) ላይ ካለው ከፍ ያለ የቮልቴጅ ፒን (ለምሳሌ 5v) ጋር ካገናኙት ፣ የጂፒኦ ፒኖች ከ 3 ቪ 3 በላይ ያለውን ቮልቴጅ መቋቋም ስለማይችሉ ምናልባት ፒን ያበላሻሉ። እንደአማራጭ ፣ በ 5 ቮ ኃይል ማስያዝ እና ደህንነቱ የተጠበቀ ቮልቴጅን ወደ ዳታ ፒን ለመላክ የቮልቴጅ መከፋፈያ ማዘጋጀት ይችላሉ።

በዚህ ቮልቴጅ ውስጥ የተቀባዩ ክልል በጣም ትልቅ አይሆንም ፣ በተለይም አንቴና ካልተገናኘ። ሆኖም ፣ እዚህ ረጅም ርቀት አያስፈልግዎትም - ተቀባዩ እርስ በእርስ በሚቆዩበት ጊዜ ከእጅ ቀፎው ምልክቶችን እስኪያገኝ ድረስ ፣ እኛ የምንፈልገው ይህ ብቻ ነው።

ደረጃ 2 - የጆሮ ማዳመጫ ኮዶችን ማሸት

የጆሮ ማዳመጫ ኮዶችን ማሽተት
የጆሮ ማዳመጫ ኮዶችን ማሽተት

አሁን የእርስዎ ተቀባዩ ከፒ ጋር ተገናኝቷል ፣ የዚህን ፕሮጀክት የመጀመሪያ አስደሳች ደረጃ - ማሽተት መጀመር ይችላሉ። እያንዳንዱ አዝራር ሲጫን በእጁ የተላለፈውን ምልክት ለመመዝገብ ይህ የተያያዘውን የ Python ስክሪፕት መጠቀምን ያካትታል። ስክሪፕቱ በጣም ቀላል ነው ፣ እና እሱን ከማካሄድዎ በፊት እሱን እንዲመለከቱት እመክራለሁ - ከሁሉም በላይ የዚህ ፕሮጀክት ነጥብ የሌላውን ሰው ኮድ በጭፍን እንዳታሄዱ ነው!

ይህን ሂደት ከመጀመርዎ በፊት አነፍናፊውን ስክሪፕት ለማስኬድ የሚያስፈልጉትን የ Python ቤተ -መጻሕፍት መኖራቸውን ማረጋገጥ ያስፈልግዎታል። በስክሪፕቱ አናት ላይ ተዘርዝረዋል -

ከውሂብ ጊዜ ማስመጣት የጊዜ ሰአት

አስመጣ matplotlib.pyplot እንደ pyplot አስመጣ RPi. GPIO እንደ GPIO

የ RPi. GPIO እና የጊዜ ሰአት ቤተመፃህፍት በእኔ Raspbian ስርጭት ውስጥ ተካትተዋል ፣ ግን የማትፕሎፕሊብ ቤተ -መጽሐፍትን እንደሚከተለው መጫን ነበረብኝ።

sudo apt-get install Python-matplotlib ን ይጫኑ

ይህ ቤተ -መጽሐፍት ከዚህ ፕሮጀክት ውጭ እንኳን በጣም ጠቃሚ የሆነ በተለምዶ ጥቅም ላይ የዋለ የግራፍ ሴራ ቤተ -መጽሐፍት ነው ፣ ስለሆነም እሱን መጫን በእርግጠኝነት ሊጎዳ አይችልም! አንዴ ቤተ -መጽሐፍትዎ ከተዘመኑ በኋላ ፣ ውሂብ መቅዳት ለመጀመር ዝግጁ ነዎት። ስክሪፕቱ እንዴት እንደሚሰራ እነሆ-

በሚሠራበት ጊዜ (‹Python ReceiveRF.py› የሚለውን ትእዛዝ በመጠቀም) ፣ የተገለጸውን የጂፒኦ ፒን እንደ የውሂብ ግብዓት ያዋቅራል (በነባሪ 23 ፒን)። ከዚያ ያለማቋረጥ ፒኑን ናሙና ያደርጋል እና ዲጂታል 1 ወይም 0. እየተቀበለ መሆኑን ይመዝግባል ይህ ለተወሰነ ጊዜ (በነባሪ 5 ሰከንዶች) ይቀጥላል። ይህ የጊዜ ገደብ ሲደርስ ፣ ስክሪፕቱ ውሂብ መቅዳት ያቆማል እና የ GPIO ግቤትን ይዘጋል። ከዚያ ትንሽ ድህረ-ፕሮሰሲንግ ያካሂዳል እና የተቀበለውን የግብዓት እሴት በጊዜ ያሴራል። እንደገና ፣ ስክሪፕቱ ምን እያደረገ እንደሆነ ጥያቄዎች ካሉዎት ፣ እንዴት እንደሚሰራ ከተመለከቱ በኋላ ምናልባት እርስዎ እራስዎ ሊመልሷቸው ይችላሉ። ኮዱን በተቻለ መጠን ተነባቢ እና ቀላል ለማድረግ ሞክሬያለሁ።

እርስዎ ማድረግ የሚጠበቅብዎት ስክሪፕቱ ** መቅረጽ ተጀምሯል ** የሚለውን ሲያመለክት ጥንቃቄ ማድረግ ነው። አንዴ ይህ መልእክት አንዴ ከታየ ፣ በእጅ ስልኩ ላይ ካሉት አዝራሮች ውስጥ አንዱን ለአንድ ሰከንድ ያህል ተጭነው መያዝ አለብዎት። ወደ ተቀባዩ ቅርብ አድርገው መያዙን ያረጋግጡ። ስክሪፕቱ ቀረጻውን ከጨረሰ በኋላ ፣ በመቅረጫ ክፍተቱ ወቅት የተቀበለውን ምልክት የግራፊክ ሞገድ ቅርፅ ለማቀድ matplotlib ን ይጠቀማል። እባክዎን ያስተውሉ ፣ እንደ PuTTY ያለ የኤስኤስኤች ደንበኛን በመጠቀም ከእርስዎ Pi ጋር ከተገናኙ ፣ የሞገድ ቅርጹ እንዲታይ ለማድረግ የ X11 መተግበሪያን መክፈት ያስፈልግዎታል። ለእዚህ xMing ን እጠቀማለሁ (እና ለሌሎች ነገሮች እንደ የእኔ የርቀት-ዴስክቶፕን ወደ የእኔ ፒ)። ሴራው እንዲታይ ለመፍቀድ ፣ ስክሪፕቱን ከማካሄድዎ በፊት እና ውጤቶቹ እስኪታዩ ድረስ xMing ን በቀላሉ ይጀምሩ።

አንዴ የማትፕሎፕሊብ መስኮትዎ ከታየ ፣ በወጥኑ ውስጥ ያለው የፍላጎት ቦታ በጣም ግልፅ መሆን አለበት። አዝራሩ ወደ ታች በሚይዝበት ጊዜ በእጅዎ የተላለፈውን የምልክት ከፍታ እና ዝቅታ ለመምረጥ እስከሚችሉ ድረስ ለማጉላት በመስኮቱ ግርጌ ያሉትን መቆጣጠሪያዎች መጠቀም ይችላሉ። ለተሟላ ኮድ ምሳሌ ከላይ ያለውን ምስል ይመልከቱ። ምልክቱ ምናልባት ምንም ምልክት ባልተገኘባቸው ተመሳሳይ ጊዜያት የተለዩ በጣም አጭር ጥራጥሬዎችን ያካተተ ይሆናል። ይህ የአጭር ጥራጥሬዎች እገዳ ምናልባት ምንም ነገር ካልተቀበለ ረዘም ያለ ጊዜ ይከተላል ፣ ከዚያ በኋላ ንድፉ ይደገማል። አንዴ የአንድ ኮድ ምሳሌ የሆነውን ንድፍ ከለዩ ፣ በዚህ ገጽ አናት ላይ እንደዚህ ያለ ቅጽበታዊ ገጽ እይታ ያንሱ እና እሱን ለመተርጎም ወደ ቀጣዩ ደረጃ ይቀጥሉ።

ደረጃ 3 የውጤት ምልክቱን መገልበጥ

የውጤት ምልክትን በመገልበጥ ላይ
የውጤት ምልክትን በመገልበጥ ላይ

አሁን ከተለየ የአዝራር ምልክት ጋር የሚዛመዱ ወቅታዊ ከፍታዎችን እና ዝቅታዎችን እገዳ ለይተው ካወቁ ፣ የማከማቸት እና የመተርጎም መንገድ ያስፈልግዎታል። ከላይ ባለው የምልክት ምሳሌ ውስጥ መላውን የምልክት ማገጃ የሚያካትቱ ሁለት ልዩ ዘይቤዎች ብቻ እንዳሉ ያስተውላሉ። አንዳንድ ጊዜ አጠር ያለ ከፍታ ረዥሙን ዝቅተኛ ይከተላል ፣ እና አንዳንድ ጊዜ ደግሞ ተቃራኒው ነው - ረዥሙ ከፍታ ቀጥሎ አጭር። ምልክቶቼን በገለበጥኩበት ጊዜ የሚከተሉትን የስምምነት ስብሰባ ለመጠቀም ወሰንኩ-

1 = short_on + long_off0 = long_on + short_off

የተሰየመውን የሞገድ ቅርፅ እንደገና ይመልከቱ ፣ እና ምን ማለቴ እንደሆነ ያያሉ። አንዴ በምልክትዎ ውስጥ ተመጣጣኝ ዘይቤዎችን ከለዩ በኋላ ማድረግ ያለብዎት ቅደም ተከተሉን ለመገንባት 1 እና 0 ን መቁጠር ነው። ሲገለበጥ ፣ ከላይ ያለው ምልክት እንደሚከተለው ሊጻፍ ይችላል-

1111111111111010101011101

አሁን በእጅዎ ላይ ካሉ ሌሎች አዝራሮች ጋር የሚዛመዱ ምልክቶችን ለመቅዳት እና ለመቅዳት ይህንን ሂደት መድገም ብቻ ያስፈልግዎታል ፣ እና የሂደቱን የመጀመሪያ ክፍል አጠናቀዋል!

አስተላላፊውን በመጠቀም ምልክቶቹን እንደገና ከመላክዎ በፊት ትንሽ ተጨማሪ ሥራ አለ። ከ 1 ወይም 0 ጋር የሚዛመደው በከፍታዎች እና ዝቅታዎች መካከል ያለው ጊዜ በጣም አስፈላጊ ነው ፣ እና ‹short_on› ወይም ‘long_off’ በትክክል ለምን ያህል ጊዜ እንደሚቆይ ማወቅ አለብዎት። ለኮዶቼ ፣ ምልክቶቹን ለመድገም እኔ ማውጣት ያለብኝ ሶስት የጊዜ መረጃ ነበር።

  • የ ‹አጭር› ክፍተት ቆይታ ፣ ማለትም የ 1 መጀመሪያ ወይም የ 0 መጨረሻ።
  • የ ‹ረጅም› የጊዜ ርዝመት ፣ ማለትም የ 1 መጨረሻ ወይም የ 0 መጀመሪያ።
  • የአንድ 'የተራዘመ' የጊዜ ቆይታ። እኔ ስልኩ ላይ አንድ አዝራር ወደ ታች ስይዝ ፣ በየተደጋጋሚው የምልክት ማገጃ ምሳሌ መካከል ‹የተራዘመበት› ጊዜ እንደነበረ አስተውያለሁ። ይህ መዘግየት ለማመሳሰል የሚያገለግል እና የተወሰነ ጊዜ አለው።

እነዚህን የጊዜ አወጣጥ እሴቶች ለመወሰን ፣ ሁሉንም ለማጉላት እና ጠቋሚውን በሚመለከታቸው የምልክት ክፍሎች ላይ ለማጉላት በማትፕሎፕሊብ መስኮት ላይ የማጉላት ተግባሩን መጠቀም ይችላሉ። በመስኮቱ ግርጌ ላይ ያለው የጠቋሚ ቦታ ንባብ እያንዳንዱ የምልክቱ ክፍል ከረዥም ፣ ከአጭር ወይም ከተራዘመ ክፍተት ጋር የሚዛመድ ምን ያህል ስፋት እንዳለው እንዲወስኑ መፍቀድ አለበት። የእቅዱ x-ዘንግ ጊዜን እንደሚወክል ልብ ይበሉ ፣ እና የጠቋሚው ንባብ የ x ክፍል በሰከንዶች አሃዶች ውስጥ ነው። ለእኔ ፣ ስፋቶቹ እንደሚከተለው ነበሩ (በሰከንዶች ውስጥ)

  • short_delay = 0.00045
  • long_delay = 0.00090 (እንደ 'አጭር' ሁለት እጥፍ ይረዝማል)
  • የተራዘመ_ዘገየ = 0.0096

ደረጃ 4 የማስተላለፊያ አሃዱን ማቋቋም

የማስተላለፊያ ክፍልን ማቀናበር
የማስተላለፊያ ክፍልን ማቀናበር

አንዴ ኮዶችዎን እና የጊዜ መረጃዎን ከሰበሰቡ በኋላ ፣ ከእንግዲህ አያስፈልገዎትም ምክንያቱም የመቀበያ ክፍልዎን ማለያየት ይችላሉ። ከዚህ በላይ ባለው ምስል ላይ እንደሚታየው ከዚያ አስተላላፊውን በቀጥታ ወደሚመለከታቸው የፒ ጂፒኦ ፒን ሽቦዎች ማገናኘት ይችላሉ። በማስተላለፊያው አሃዶች ላይ ያሉት ፒኖች መለያ የተሰጣቸው መሆኑን አገኘሁ ፣ ይህም ሂደቱን ቀላል ያደርገዋል።

በዚህ ሁኔታ ፣ የ 5 ቮ አቅርቦትን ከፒአይ በመጠቀም አሃዱን ማብራት ትክክል ነው ፣ ምክንያቱም ዳታ ፒን ምልክቶችን ለፓይ አይልክም ፣ እነሱን ብቻ ይቀበላል። እንዲሁም የ 5 ቪ የኃይል አቅርቦት 3v3 አቅርቦትን ከመጠቀም የበለጠ የማስተላለፊያ ክልል ይሰጣል። እንደገና ፣ በ ‹ፒ› ላይ ከማንኛውም ተገቢ ፒን ጋር የ DATA ፒን ማገናኘት ይችላሉ። እኔ ፒን 23 ን (ለተቀባዩ ተመሳሳይ) ተጠቀምኩ።

ሌላ እንዲሠራ የምመክረው ነገር በአስተላላፊው በላይኛው ቀኝ በኩል ባለው ትንሽ ቀዳዳ ላይ አንቴና ማከል ነው። ቀጥ ያለ ሽቦ 17 ሴ.ሜ ርዝመት ያለው ቁራጭ እጠቀም ነበር። አንዳንድ ምንጮች ተመሳሳይ ርዝመት ያለው የታጠፈ ሽቦ ይመክራሉ። የትኛው የተሻለ እንደሆነ እርግጠኛ አይደለሁም ፣ ግን ቀጥታ ሽቦው በአነስተኛ አፓርታማዬ ውስጥ ከማንኛውም ቦታ ሶኬቶችን ለማብራት/ለማጥፋት ለእኔ በቂ ክልል ይሰጠኛል። አንቴናውን መሸጡ የተሻለ ነው ፣ ግን እኔ የተወሰነውን ፕላስቲክ ከሽቦው ላይ አውጥቼ መዳቡን በጉድጓዱ ውስጥ ጠቅልዬዋለሁ።

አንዴ አስተላላፊው ከገጠመ በኋላ ያ ሁሉ የሃርድዌር ቅንብር ተከናውኗል! አሁን ማድረግ ያለብዎት ብቸኛው ነገር ሶኬቶችዎን በቤቱ ዙሪያ ማዘጋጀት እና የማሰራጫ ፕሮግራሙን ይመልከቱ።

ደረጃ 5 Pi ን በመጠቀም ምልክቶችን ማስተላለፍ

ሁለተኛው የ Python ስክሪፕት የሚመጣበት ይህ ነው። እሱ ልክ እንደ መጀመሪያው ቀላል ካልሆነ ፣ የበለጠ ቀላል እንዲሆን የተቀየሰ ነው። እንደገና ፣ እባክዎን ያውርዱት እና ኮዱን ይመልከቱ። በደረጃ 3 ላይ ባስመዘገቡት መረጃ መሠረት ትክክለኛ ምልክቶችን ለማስተላለፍ ስክሪፕቱን ማረም ያስፈልግዎታል ፣ ስለዚህ እሱን በጨረፍታ ለማየት ጥሩ ጊዜ አሁን ነው።

ይህንን ስክሪፕት ለማስኬድ የሚያስፈልጉት ቤተ-መጻህፍት ሁሉም በእኔ ፒ ላይ አስቀድመው ተጭነዋል ፣ ስለዚህ ተጨማሪ ጭነት አያስፈልግም። በስክሪፕቱ አናት ላይ ተዘርዝረዋል -

የማስመጣት ጊዜ

አስመጣ sys ማስመጣት RPi. GPIO እንደ GPIO

ከውጭ ከሚያስገቡት ቤተ -መጽሐፍት ስር እርስዎ ማረም ያለብዎት መረጃ አለ። በነባሪነት እንዴት እንደሚታይ እነሆ (ይህ ደረጃ 3 ን በመጠቀም እንደተወሰነው ከእኔ ሶኬቶች ጋር የሚዛመድ መረጃ ነው)

a_on = '111111111111111010101011101'

a_off = '1111111111111010101010111' b_on = '1111111111101110101011101' b_off = '1111111111101110101010111' c_on = '1111111111101011101011101' c_off = '1111111111101011101010111' d_on = '1111111111101010111011101' d_off = '1111111111101010111010111' short_delay = 0,00045 long_delay = 0,00090 extended_delay = 0,0096

እዚህ ስምንት የኮድ ሕብረቁምፊዎች አሉን (በእጄ ስልኬ ላይ ለእያንዳንዱ ጥንድ አብራ/አጥፋ አዝራሮች ሁለት - ብዙ ወይም ያነሱ ኮዶች ሊኖራችሁ ይችላል) በመቀጠልም ሦስቱ የጊዜ መረጃ መረጃ እንዲሁ በደረጃ 3 ተወስኗል/እንዳለዎት ለማረጋገጥ ጊዜ ይውሰዱ። ይህንን መረጃ በትክክል አስገብቷል።

እርስዎ ወደ ስክሪፕቱ ባስገቡት ኮዶች/መዘግየቶች ደስተኛ ከሆኑ (ከፈለጉ ከፈለጉ የኮድ ሕብረቁምፊ ተለዋዋጮችን እንደገና መሰየም ይችላሉ) ፣ ስርዓቱን ለመሞከር በጣም ዝግጁ ነዎት! ከማድረግዎ በፊት በስክሪፕቱ ውስጥ የማስተላለፍ_ኮድ () ተግባሩን ይመልከቱ። ከማስተላለፊያው ጋር ትክክለኛው መስተጋብር የሚከሰትበት ይህ ነው። ይህ ተግባር ከኮድ ሕብረቁምፊዎች አንዱ እንደ ክርክር እንዲላክ ይጠብቃል። ከዚያ የተገለጸውን ፒን እንደ ጂፒኦ ውፅዓት ይከፍታል እና በኮድ ሕብረቁምፊ ውስጥ ያሉትን እያንዳንዱን ቁምፊዎች ያጠፋል። ከዚያ ከኮዱ ሕብረቁምፊ ጋር የሚዛመድ የሞገድ ቅርፅን ለመገንባት ባስገቡት የጊዜ መረጃ መሠረት አስተላላፊውን ያበራል ወይም ያጠፋል። ያመለጠውን ዕድል ለመቀነስ እያንዳንዱን ኮድ ብዙ ጊዜ (በነባሪ 10) ይልካል ፣ እና ልክ እንደ ስልኩ ቀፎ በእያንዳንዱ ኮድ እገዳ መካከል የተራዘመ_መዘግየት ይተዋል።

ስክሪፕቱን ለማስኬድ የሚከተለውን የትእዛዝ አገባብ መጠቀም ይችላሉ-

Python TransmitRF.py code_1 code_2…

በአንድ የስክሪፕት ሩጫ ብዙ የኮድ ሕብረቁምፊዎችን ማስተላለፍ ይችላሉ። ለምሳሌ ፣ ሶኬቶችን (ሀ) እና (ለ) ለማብራት እና ሶኬት (ሐ) ለማጥፋት ፣ ስክሪፕቱን በሚከተለው ትእዛዝ ያሂዱ

Python TransmitRF.py a_on b_on c_off ላይ

ደረጃ 6 - ስለ ጊዜ ትክክለኛነት ማስታወሻ

እንደተጠቀሰው ፣ በሚተላለፉ/በሚጥሉ ጥራጥሬዎች መካከል ያለው ጊዜ በጣም አስፈላጊ ነው። የ TransmitRF.py ስክሪፕት የሞገድ ቅርጾችን በትክክለኛው የ pulse ክፍተቶች ለመገንባት የ Python's time.sleep () ተግባርን ይጠቀማል ፣ ግን ይህ ተግባር ሙሉ በሙሉ ትክክል እንዳልሆነ ልብ ሊባል ይገባል። የሚቀጥለውን ቀዶ ጥገና ከማከናወኑ በፊት ስክሪፕቱ እንዲጠብቅ የሚያደርግበት ርዝመት በዚያው ቅጽበታዊ ሂደት ላይ ባለው የአቀነባባሪው ጭነት ላይ የተመሠረተ ሊሆን ይችላል። ያ ነው።

ኮዶቹን ለመላክ በሚመጣበት ጊዜ እኔ በግሌ ከእንቅልፍ ጋር ተኝቼ አላውቅም። እንቅልፍ ()። ሆኖም ግን የእኔ ጊዜ። እንቅልፍ () ወደ 0.1ms ያህል ስህተት እንደሚይዝ አውቃለሁ። የ Pi ጊዜ (እንቅልፍ) () ተግባርዎ ምን ያህል ትክክለኛ እንደሆነ ለመገመት ሊያገለግል የሚችል የተያያዘውን የ SleepTest.py ስክሪፕት በመጠቀም ይህንን ወስኛለሁ። ለተለየ የርቀት መቆጣጠሪያ ሶኬቶች ፣ ለመተግበር የፈለግሁት አጭር መዘግየት 0.45ms ነበር። እንዳልኩት ፣ ምላሽ በማይሰጡ ሶኬቶች ላይ ችግሮች አልገጠሙኝም ፣ ስለዚህ 0.45 ± 0.1ms በቂ ይመስላል።

መዘግየቱ የበለጠ ትክክለኛ መሆኑን ለማረጋገጥ ሌሎች ዘዴዎች አሉ ፤ ለምሳሌ ፣ ኮዶቹን ለማመንጨት የተወሰነ ፒሲ ቺፕ መጠቀም ይችላሉ ፣ ግን እንደዚህ ያሉ ነገሮች ከዚህ አጋዥ ስልጠና ወሰን በላይ ናቸው።

ደረጃ 7 መደምደሚያ

መደምደሚያ
መደምደሚያ

ይህ ፕሮጀክት በቀላል እና ግልፅነት ላይ በማተኮር Raspberry Pi ን እና የ 433 ሜኸ በርቀት መቆጣጠሪያ ሶኬቶችን በመጠቀም ማንኛውንም የኤሌክትሪክ መሳሪያ ለመቆጣጠር የሚያስችል ዘዴን አቅርቧል። ይህ የእኔን ፒን የተጠቀምኩበት በጣም አስደሳች እና ተጣጣፊ ፕሮጀክት ነው ፣ እና ለእሱ ወሰን የለሽ መተግበሪያዎች አሉ። ለኔ ፒ አመሰግናለሁ አሁን ማድረግ የምችላቸው አንዳንድ ነገሮች እዚህ አሉ

  • ማንቂያዬ ከመጥፋቱ ከግማሽ ሰዓት በፊት ከአልጋዬ አጠገብ የኤሌክትሪክ ማሞቂያ ያብሩ።
  • ከተኛሁ ከአንድ ሰዓት በኋላ ማሞቂያውን ያጥፉ።
  • ወደ እንቅልፍ እንዳልመለስ ማንቂያዬ ሲጠፋ የአልጋጌዬን መብራት አብራ።
  • እና ብዙ ተጨማሪ…

ለአብዛኛዎቹ እነዚህ ተግባራት ፣ በሊኑክስ ውስጥ የ crontab ተግባርን እጠቀማለሁ። ይህ የ TransmitRF.py ስክሪፕትን በተወሰኑ ጊዜያት ለማሄድ በራስ -ሰር የታቀዱ ተግባሮችን እንዲያቀናብሩ ያስችልዎታል። እንዲሁም የአንድ ጊዜ ሥራዎችን ለማካሄድ ሊኑክስን በትእዛዝ መጠቀም ይችላሉ (ለእኔ ፣ ‹sudo apt-get install› ን በመጠቀም ለብቻው መጫን ያስፈልጋል)። ለምሳሌ ፣ በሚቀጥለው ጠዋት ማንቂያዬ ከመጥፋቱ በፊት ማሞቂያዬን በግማሽ ሰዓት ላይ ለማብራት ፣ ማድረግ ያለብኝ መተየብ ብቻ ነው -

በ 05 30

Python TransmitRF.py c_on

እንዲሁም በበይነመረብ ላይ መገልገያዎችን ለመቆጣጠር ይህንን ፕሮጀክት ከእኔ Dropbox የቤት መቆጣጠሪያ ስርዓት ጋር በመተባበር ሊጠቀሙበት ይችላሉ! ስላነበቡ እናመሰግናለን ፣ እና የሆነ ነገር ለማብራራት ወይም አስተያየትዎን ለማጋራት ከፈለጉ እባክዎን አስተያየት ይለጥፉ!

የሚመከር: