Përmbajtje:

Kontroll i zgjuar i ventilatorit të Raspberry Pi duke përdorur Python & Thingspeak: 7 hapa
Kontroll i zgjuar i ventilatorit të Raspberry Pi duke përdorur Python & Thingspeak: 7 hapa

Video: Kontroll i zgjuar i ventilatorit të Raspberry Pi duke përdorur Python & Thingspeak: 7 hapa

Video: Kontroll i zgjuar i ventilatorit të Raspberry Pi duke përdorur Python & Thingspeak: 7 hapa
Video: Leap Motion SDK 2024, Korrik
Anonim
Kontroll i zgjuar i ventilatorit të Raspberry Pi duke përdorur Python & Thingspeak
Kontroll i zgjuar i ventilatorit të Raspberry Pi duke përdorur Python & Thingspeak

Vështrim i shkurtër

Si parazgjedhje, tifozi lidhet drejtpërdrejt me GPIO - kjo nënkupton funksionimin e tij të vazhdueshëm. Megjithë funksionimin relativisht të qetë të ventilatorit, funksionimi i tij i vazhdueshëm nuk është një përdorim efektiv i një sistemi aktiv të ftohjes. Në të njëjtën kohë, funksionimi i vazhdueshëm i një tifoz mund të jetë vetëm i bezdisshëm. Gjithashtu, nëse Raspberry Pi është e fikur, ventilatori do të vazhdojë të punojë nëse energjia është e lidhur.

Ky artikull do të tregojë se si, duke përdorur manipulime të thjeshta dhe jo të ndërlikuara, shndërroni një sistem ekzistues të ftohjes në një të zgjuar, i cili do të ndizet vetëm kur procesorit i duhet vërtet. Tifozi do të ndizet vetëm kur ka përdorim të rëndë, duke zvogëluar kështu konsumin e energjisë së tifozit dhe zhurmën. Gjithashtu zgjat jetën e tifozëve duke e mbajtur atë jashtë kur nuk është e nevojshme.

Çfarë Do Mësoni

Si të zbatoni një skenar Python për të kontrolluar një tifoz bazuar në temperaturën aktuale të CPU Raspberry duke përdorur kontrollin On-Off me histerezë të temperaturës. Si të transportoni të dhëna nga RaspberryPi juaj në Things Speak Cloud.

Furnizimet

Komponentët që do t'ju kërkohen për këtë projekt janë si më poshtë

  • Raspberry Pi 4 Kompjuteri Model B 4GB
  • NPN transistor S8050330ohms rezistencë
  • Këllëf metalik i blinduar me tifozë të dyfishtë për Raspberry Pi
  • Kabllo kërcyes
  • Breadboard

Hapi 1: Ndërtimi i qarkut

Ndërtimi i qarkut
Ndërtimi i qarkut
Ndërtimi i qarkut
Ndërtimi i qarkut

Qarku është mjaft i thjeshtë. Fuqia e ventilatorit ndërpritet duke përdorur transistorin NPN. Në këtë konfigurim, tranzistori po vepron si një ndërprerës i anës së ulët. Rezistori kërkohet vetëm për të kufizuar rrymën përmes GPIO. GPIO -ja e Raspberry Pi ka një prodhim maksimal aktual prej 16mA. Kam përdorur 330 Ohm që na jep një rrymë bazë prej rreth (5-0.7)/330 = 13mA. Zgjodha një transistor NPN S8050, kështu që kalimi i një ngarkese 400mA nga të dy tifozët nuk është problem.

Hapi 2: Regjistroni temperaturën e CPU me ThingSpeak

Regjistroni temperaturën e CPU me ThingSpeak
Regjistroni temperaturën e CPU me ThingSpeak

ThingSpeak është një platformë për projekte të bazuara në konceptin e Internetit të Gjërave. Kjo platformë ju lejon të krijoni aplikacione bazuar në të dhënat e mbledhura nga sensorët. Karakteristikat kryesore të ThingSpeak përfshijnë: mbledhjen e të dhënave në kohë reale, përpunimin e të dhënave dhe vizualizimin. ThingSpeak API jo vetëm që ju lejon të dërgoni, ruani dhe aksesoni të dhëna, por gjithashtu ofron metoda të ndryshme statistikore për përpunimin e tyre.

ThingSpeak mund të integrojë pajisje dhe shërbime të njohura siç janë:

  • Arduino
  • Mjedër pii
  • oBridge / RealTime.io
  • Drekë elektrike
  • Aplikacionet celulare dhe në internet
  • Rrjete sociale
  • Analiza e të dhënave në MATLAB

Para se të fillojmë, keni nevojë për një llogari në ThingSpeak.

  1. Shkoni në lidhjen e mëposhtme dhe regjistrohuni në ThingSpeak.
  2. Pas aktivizimit të llogarisë tuaj, regjistrohuni.
  3. Shkoni te Kanalet -> Kanalet e Mia
  4. Klikoni në butonin New Channel.
  5. Vendosni emrin, përshkrimin dhe fushat e të dhënave që dëshironi të ngarkoni
  6. Klikoni në butonin Ruaj kanalin për të ruajtur të gjitha cilësimet tuaja.

Ne kemi nevojë për një çelës API, të cilin më vonë do ta shtojmë në kodin python në mënyrë që të ngarkojmë temperaturën e CPU -së tonë në cloud Thingspeak.

Klikoni në skedën Çelësat API për të marrë Çelësin Shkruaj API

Pasi të keni çelësin API të Shkrimit, ne jemi gati të ngarkojmë të dhënat tona.

Hapi 3: Marrja e temperaturës së CPU -së nga Raspberry Pi duke përdorur Python

Skenari bazohet në marrjen e temperaturës së procesorit, e cila ndodh çdo sekondë. Mund të merret nga terminali duke ekzekutuar komandën vcgencmd me parametrin masë_temp.

vcgencmd masë_temp

Biblioteka Subprocess.check_output () u përdor për të ekzekutuar komandën dhe më pas duke përdorur shprehjen e rregullt për të nxjerrë vlerën aktuale nga vargu i kthyer.

nga nënprocesi i importit check_output

nga ri importo findalldef get_temp (): temp = check_output (["vcgencmd", "masë_temp"]). deshifro () temp = float (findall ('\ d+\. / d+', temp) [0]) return (temp) print (merrni_temp ())

Pasi të merret vlera e temperaturës, të dhënat duhet të dërgohen në cloud ThingSpeak. Përdorni çelësin tuaj Shkruaj API për të ndryshuar ndryshoren myApi në kodin Python më poshtë.

nga kerkesa e importit urllib

nga ri importi findall nga koha e importit gjumë nga nënprocesi import check_output myAPI = '################' baseURL = 'https://api.thingspeak.com/update?api_key=% s ' % myAPIdef get_temp (): temp = check_output (["vcgencmd", "masë_temp"]). deshifro () temp = noton (findall (' / d+\. / d+', temp) [0]) kthim (temp) try: while True: temp = get_temp () conn = request.urlopen (baseURL + '& field1 = % s' % (temp)) print (str (temp)) conn.close () sleep (1) përveç KeyboardIntruptrupt: print ("Dilni të shtypur Ctrl+C")

Hapi 4: Kontrollimi i ventilatorit në bazë të temperaturës

Skenari Python i treguar më poshtë zbaton logjikën që ndez ventilatorin kur temperatura ngrihet mbi tempOn dhe fiket vetëm kur temperatura zbret poshtë pragut. Në këtë mënyrë, ventilatori nuk ndizet dhe fiket shpejt.

importoni RPi. GPIO si GPIO

import sys nga ri import findall nga koha import gjumë nga nënproces import check_output def get_temp (): temp = check_output (["vcgencmd", "masë_temp"]). deshifro () temp = float (findall ('\ d+\. / d+ ', temp) [0]) kthehu (temp) provo: GPIO.setwarnings (False) tempOn = 50 pragu = 10 controlPin = 14 pinState = False GPIO.setmode (GPIO. BCM) GPIO.setup (controlPin, GPIO. OUT, fillestare = 0) ndërsa e vërtetë: temp = get_temp () nëse temp> tempOn dhe jo pinState ose temp <tempOn - pragu dhe pinState: pinState = jo pinState GPIO.output (controlPin, pinState) print (str (temp) + "" + str (pinState)) gjumi (1) përveç tastierësInterrupt: print ("Dil nga shtypur Ctrl+C") përveç: print ("Përjashtim tjetër") print ("--- Fillo të dhënat e përjashtimit:") traceback.print_exc (limit = 2, file = sys.stdout) print ("--- Të dhënat e përfundimit të përjashtimit:") më në fund: print ("CleanUp") GPIO.cleanup () print ("Fundi i programit")

Hapi 5: Kodi përfundimtar i Python

Kodi kryesor python mund të gjendet në llogarinë time GitHub në lidhjen e mëposhtme. Mos harroni të vendosni çelësin tuaj të shkrimit API.

  1. Hyni në bordin tuaj Raspberry PI
  2. Drejtoni komandën e mëposhtme në terminal

python3 cpu.py

Hapi 6: Monitorimi i të dhënave përmes Thingspeak Cloud

Monitorimi i të dhënave përmes Thingspeak Cloud
Monitorimi i të dhënave përmes Thingspeak Cloud

Pas një kohe, hapni kanalin tuaj në ThingSpeak dhe do të shihni temperaturën që ngarkohet në renë Thingspeak në një kohë reale.

Hapi 7: Drejtoni Python Script në fillimin

Për ta bërë këtë, në fund të skedarit /etc/rc.local:

sudo nano /etj/rc.local

Ju duhet të vendosni komandën e fillimit të shkrimit para daljes së linjës 0:

sudo python /home/pi/cpu.py &

Prania e simbolit & në fund të komandës është e detyrueshme, pasi është një flamur për të filluar procesin në sfond. Pas rindezjes, skripti do të funksionojë automatikisht dhe tifozi do të ndizet kur plotësohen kushtet e specifikuara.

Recommended: