ዝርዝር ሁኔታ:

Python & Thingspeak ን በመጠቀም የ Raspberry Pi Fan ዘመናዊ ቁጥጥር 7 ደረጃዎች
Python & Thingspeak ን በመጠቀም የ Raspberry Pi Fan ዘመናዊ ቁጥጥር 7 ደረጃዎች

ቪዲዮ: Python & Thingspeak ን በመጠቀም የ Raspberry Pi Fan ዘመናዊ ቁጥጥር 7 ደረጃዎች

ቪዲዮ: Python & Thingspeak ን በመጠቀም የ Raspberry Pi Fan ዘመናዊ ቁጥጥር 7 ደረጃዎች
ቪዲዮ: read data from thingspeak using python Raspberry pi or arduino 2024, ሀምሌ
Anonim
Python & Thingspeak ን በመጠቀም የ Raspberry Pi Fan ዘመናዊ ቁጥጥር
Python & Thingspeak ን በመጠቀም የ Raspberry Pi Fan ዘመናዊ ቁጥጥር

አጭር መግለጫ

በነባሪ ፣ አድናቂው በቀጥታ ከጂፒኦ ጋር ተገናኝቷል - ይህ የማያቋርጥ አሠራሩን ያመለክታል። የአድናቂው አንፃራዊ ጸጥ ያለ አሠራር ቢኖርም ፣ ቀጣይ አሠራሩ ንቁ የማቀዝቀዣ ስርዓት ውጤታማ አጠቃቀም አይደለም። በተመሳሳይ ጊዜ የአድናቂው የማያቋርጥ አሠራር በቀላሉ ሊያበሳጭ ይችላል። እንዲሁም Raspberry Pi ከተዘጋ ኃይሉ ከተገናኘ ደጋፊው አሁንም ይሠራል።

ይህ ጽሑፍ ቀላል እና የተወሳሰቡ ማጭበርበሪያዎችን በመጠቀም ነባር የማቀዝቀዝ ስርዓትን ወደ ብልጥ እንዴት እንደሚለውጥ ያሳያል ፣ ይህም አንጎለ ኮምፒዩተሩ በትክክል ሲፈልግ ብቻ ነው። አድናቂው የሚበራው ከባድ አጠቃቀም ሲኖር ብቻ ነው ፣ ስለሆነም የአድናቂዎች የኃይል ፍጆታን እና ጫጫታን ይቀንሳል። እንዲሁም አስፈላጊ በማይሆንበት ጊዜ በማራገፍ የደጋፊ ህይወትን ማራዘም።

እርስዎ ምን ይማራሉ

ከአሁን በኋላ በ Raspberry CPU የሙቀት መጠን ላይ በመመርኮዝ አድናቂን ለመቆጣጠር የ Python ስክሪፕትን እንዴት መተግበር እንደሚቻል ከአየር ሙቀት መቆጣጠሪያ ጋር የአየር ላይ መቆጣጠሪያን በመጠቀም መረጃን ከእርስዎ RaspberryPi ወደ ነገሮች ይናገሩ ደመናን እንዴት ማጓጓዝ እንደሚቻል።

አቅርቦቶች

ለዚህ ፕሮጀክት የሚያስፈልጉዎት ክፍሎች እንደሚከተለው ናቸው

  • Raspberry Pi 4 የኮምፒተር ሞዴል ቢ 4 ጊባ
  • NPN ትራንዚስተር S8050330ohms resistor
  • ለ Raspberry Pi ሁለት ደጋፊዎች ያለው የጦር መሣሪያ የአሉሚኒየም ብረት መያዣ
  • ዝላይ ገመዶች
  • የዳቦ ሰሌዳ

ደረጃ 1 ወረዳውን መገንባት

ወረዳውን መገንባት
ወረዳውን መገንባት
ወረዳውን መገንባት
ወረዳውን መገንባት

ወረዳው በጣም ቀላል ነው። የአድናቂው ኃይል የ NPN ትራንዚስተር በመጠቀም ይቋረጣል። በዚህ ውቅረት ፣ ትራንዚስተሩ እንደ ዝቅተኛ ጎን መቀየሪያ ሆኖ ይሠራል። በ GPIO በኩል የአሁኑን ለመገደብ Resistor ብቻ ያስፈልጋል። Raspberry Pi's GPIO ከፍተኛው የአሁኑ 16mA ውጤት አለው። እኛ (5-0.7)/330 = 13mA የመሠረት የአሁኑን የሚሰጠን 330 ohms ተጠቀምኩ። እኔ የ NPN ትራንዚስተር S8050 ን መርጫለሁ ፣ ስለሆነም ከሁለቱም ደጋፊዎች የ 400mA ጭነት መለወጥ ምንም ችግር የለውም።

ደረጃ 2: በ ThingSpeak አማካኝነት የሲፒዩ ሙቀትን ይመዝግቡ

በ ThingSpeak የምዝግብ ማስታወሻ ሲፒዩ ሙቀት
በ ThingSpeak የምዝግብ ማስታወሻ ሲፒዩ ሙቀት

ThingSpeak የነገሮች በይነመረብ ጽንሰ -ሀሳብ ላይ በመመርኮዝ ለፕሮጀክቶች መድረክ ነው። ይህ የመሳሪያ ስርዓት ከአነፍናፊዎች በተሰበሰበው መረጃ ላይ በመመርኮዝ መተግበሪያዎችን እንዲገነቡ ያስችልዎታል። የ ThingSpeak ዋና ዋና ባህሪዎች የሚከተሉትን ያጠቃልላል-የእውነተኛ ጊዜ የመረጃ አሰባሰብ ፣ የውሂብ ማቀነባበር እና ምስላዊነት። ThingSpeak ኤፒአይ መረጃን ለመላክ ፣ ለማከማቸት እና ለመድረስ ብቻ ሳይሆን እነሱን ለማቀናበር የተለያዩ የስታቲስቲክ ዘዴዎችን ይሰጣል።

ThingSpeak እንደ ታዋቂ መሳሪያዎችን እና አገልግሎቶችን ማዋሃድ ይችላል-

  • አርዱinoኖ
  • Raspberry pii
  • oBridge / RealTime.io
  • የኤሌክትሪክ ኢምፕ
  • የሞባይል እና የድር መተግበሪያዎች
  • ማህበራዊ አውታረ መረቦች
  • በ MATLAB ውስጥ የውሂብ ትንተና

ከመጀመራችን በፊት በ ThingSpeak ላይ መለያ ያስፈልግዎታል።

  1. ወደሚከተለው አገናኝ ይሂዱ እና ወደ ThingSpeak ይመዝገቡ።
  2. ከመለያዎ ማግበር በኋላ ይግቡ።
  3. ወደ ሰርጦች ይሂዱ -> የእኔ ሰርጦች
  4. በአዲሱ ሰርጥ ቁልፍ ላይ ጠቅ ያድርጉ።
  5. ለመስቀል የሚፈልጉትን የውሂብ ስም ፣ መግለጫ እና መስኮች ያስገቡ
  6. ሁሉንም ቅንብሮችዎን ለማስቀመጥ የሰርጥ አስቀምጥ ቁልፍን ጠቅ ያድርጉ።

የእኛን ሲፒዩ የሙቀት መጠን ወደ Thingspeak ደመና ለመስቀል የኤፒአይ ቁልፍ እንፈልጋለን ፣ በኋላ ላይ ወደ ፓይዘን ኮድ የምንጨምረው።

የኤፒአይ ቁልፍን ትር ለማግኘት የኤፒአይ ቁልፎች ትርን ጠቅ ያድርጉ

አንዴ የኤፒአይ ይፃፉ ቁልፍ ካለዎት ፣ የእኛን ውሂብ ለመስቀል ዝግጁ ነን ማለት ይቻላል።

ደረጃ 3 - ፓይዘን በመጠቀም የሲፒዩ ሙቀትን ከ Raspberry Pi ማግኘት

ስክሪፕቱ በእያንዳንዱ ሴኮንድ የሚከሰተውን የአቀነባባሪውን የሙቀት መጠን በማምጣት ላይ የተመሠረተ ነው። የ vcgencmd ትዕዛዙን በመለኪያ_ሞሜትር መለኪያ በማሄድ ከተርሚናል ማግኘት ይቻላል።

vcgencmd measure_temp

Subprocess.check_output () ቤተ -መጽሐፍት ትዕዛዙን ለማስፈፀም እና ከዚያ ከተመለሰው ሕብረቁምፊ ትክክለኛውን እሴት ለማውጣት መደበኛ አገላለጽን ተጠቅሟል።

ከንዑስ ሂደት ማስመጣት check_output

ከ ዳግም ማስመጣት findalldef get_temp (): temp = check_output (["vcgencmd", "measure_temp"]). ዲኮድ () temp = float (findall ('\ d+\. / d+', temp) [0]) መመለስ (temp)) ማተም (get_temp ())

የሙቀት እሴቱ ከተገኘ በኋላ ፣ ውሂብ ወደ ThingSpeak ደመና መላክ አለበት። ከዚህ በታች ባለው የፓይዘን ኮድ ውስጥ የ ‹AApi› ን ተለዋዋጭ ለመለወጥ የእርስዎን የጽሑፍ ኤፒአይ ቁልፍ ይጠቀሙ።

ከ urllib የማስመጣት ጥያቄ

ከገቢ ማስመጣት Findall ን በሙሉ ከውጤት ማስመጣት እንቅልፍ ንዑስ ፕሮሰስ ማስመጣት check_output myAPI = '################' baseURL = 'https://api.thingspeak.com/update?api_key=% s ' % myAPIdef get_temp (): temp = check_output (["vcgencmd", "measure_temp"])) ዲኮድ () temp = float (findall (' / d+\. / d+', temp) [0]) መመለስ (temp)) ሞክር: እውነት ሆኖ ሳለ temp = get_temp () conn = request.urlopen (baseURL + '& field1 = % s' % (temp)) ህትመት (str (temp)) ("ተጫን Ctrl+C" ውጣ)

ደረጃ 4 በሙቀት መጠን ላይ በመመርኮዝ አድናቂውን መቆጣጠር

ከዚህ በታች የሚታየው የ Python ስክሪፕት የሙቀት መጠኑ ከሙቀቱ በላይ ከፍ ሲል እና የሙቀት መጠኑ ከመነሻው በታች ሲወርድ ብቻ አድናቂውን የሚያበራ አመክንዮ ተግባራዊ ያደርጋል። በዚህ መንገድ አድናቂው በፍጥነት አይበራም እና አያጠፋም።

RPi. GPIO ን እንደ GPIO ያስመጡ

ከውጤት ማስመጣት see_output def get_temp (): temp = check_output (["vcgencmd", "measure_temp"]) ". '፣ temp) [0]) ተመለስ (ቴምፕ) ሙከራ GPIO.setwarnings (ሐሰተኛ) tempOn = 50 ደፍ = 10 controlPin = 14 pinState = ሐሰት GPIO.setmode (GPIO. BCM) GPIO.setup (controlPin ፣ GPIO. OUT ፣ መነሻ = 0) እውነት ሆኖ ሳለ temp = get_temp () ከሆነ temp> tempOn እና pinState ወይም temp <tempOn - threshold and pinState: pinState = not stateState GPIO.output (controlPin, pinState) print (str (temp) + "" +) str (pinState)) እንቅልፍ (1) ከቁልፍ ሰሌዳ በስተቀር ጣልቃ-ገብነት-ማተም (“Ctrl+C ን ውጣ”) ካልሆነ በስተቀር ማተም (“ሌላ ልዩ”) ህትመት (“--- የልዩነት ውሂብን ጀምር”) traceback.print_exc (ገደብ = 2), ፋይል = sys.stdout) ህትመት ("--- ልዩ የልዩነት ውሂብ:") በመጨረሻ: ማተም ("CleanUp") GPIO.cleanup () ህትመት ("የፕሮግራሙ መጨረሻ")

ደረጃ 5: የመጨረሻው የ Python ኮድ

ዋናው የፓይዘን ኮድ በሚከተለው አገናኝ በ GitHub መለያዬ ላይ ሊገኝ ይችላል። የእራስዎን የኤፒአይ ቁልፍ መጻፍዎን ያስታውሱ።

  1. ወደ Raspberry PI ቦርድዎ ይግቡ
  2. ተርሚናል ላይ የሚከተለውን ትዕዛዝ ያሂዱ

python3 cpu.py

ደረጃ 6 በ Thingspeak ደመና በኩል መረጃን መከታተል

በ Thingspeak ደመና በኩል መረጃን መከታተል
በ Thingspeak ደመና በኩል መረጃን መከታተል

ከተወሰነ ጊዜ በኋላ በ ThingSpeak ላይ ሰርጥዎን ይክፈቱ እና በእውነተኛ-ጊዜ ውስጥ ወደ Thingspeak ደመና የሚሰቀለውን የሙቀት መጠን ማየት አለብዎት።

ደረጃ 7 በጅምር ላይ የ Python ስክሪፕት ያሂዱ

ይህንን ለማድረግ በ /etc/rc.local ፋይል መጨረሻ ላይ

sudo nano /etc/rc.local

ከመስመር መውጫው 0 ፊት ለፊት የስክሪፕት መጀመሪያ ትዕዛዙን ማስቀመጥ ያስፈልግዎታል:

sudo Python /home/pi/cpu.py &

በትእዛዙ መጨረሻ ላይ የ & ምልክቱ መገኘት አስገዳጅ ነው ፣ ምክንያቱም ሂደቱን ከበስተጀርባ ለመጀመር ባንዲራ ነው። ዳግም ከተነሳ በኋላ ስክሪፕቱ በራስ -ሰር ይሠራል እና የተገለጹት ሁኔታዎች ሲሟሉ አድናቂው ይበራል።

የሚመከር: