Përmbajtje:
- Furnizimet
- Hapi 1: Ndërtimi i qarkut
- Hapi 2: Regjistroni temperaturën e CPU me ThingSpeak
- Hapi 3: Marrja e temperaturës së CPU -së nga Raspberry Pi duke përdorur Python
- Hapi 4: Kontrollimi i ventilatorit në bazë të temperaturës
- Hapi 5: Kodi përfundimtar i Python
- Hapi 6: Monitorimi i të dhënave përmes Thingspeak Cloud
- Hapi 7: Drejtoni Python Script në fillimin
Video: Kontroll i zgjuar i ventilatorit të Raspberry Pi duke përdorur Python & Thingspeak: 7 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:17
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
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
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.
- Shkoni në lidhjen e mëposhtme dhe regjistrohuni në ThingSpeak.
- Pas aktivizimit të llogarisë tuaj, regjistrohuni.
- Shkoni te Kanalet -> Kanalet e Mia
- Klikoni në butonin New Channel.
- Vendosni emrin, përshkrimin dhe fushat e të dhënave që dëshironi të ngarkoni
- 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.
- Hyni në bordin tuaj Raspberry PI
- Drejtoni komandën e mëposhtme në terminal
python3 cpu.py
Hapi 6: 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:
Rrotullimi i ventilatorit duke përdorur servo motorin dhe kontrollin e shpejtësisë: 6 hapa
Rrotullimi i ventilatorit duke përdorur Servo Motor dhe Kontrollin e Shpejtësisë: Në këtë tutorial do të mësojmë se si të rrotulloni një tifoz me shpejtësi të rregullueshme duke përdorur servo motor, potenciometër, arduino dhe Visuino. Shikoni videon
Kontrolluesi i zgjuar i ventilatorit: 9 hapa
Smart Fan Controller: Ky projekt u krijua për të plotësuar nevojën e kontrollit të një ventilatori në një rrethim duke interpretuar informacionin aktual të temperaturës. Ai ka për qëllim të drejtojë një tifoz ose 2 pin ose 3 pin me modulim të gjerësisë së pulsit në një buxhet të vogël dhe duhet të jetë me kontroll
Monitorimi i përshpejtimit duke përdorur Raspberry Pi dhe AIS328DQTR duke përdorur Python: 6 hapa
Monitorimi i përshpejtimit duke përdorur Raspberry Pi dhe AIS328DQTR Duke përdorur Python: Përshpejtimi është i kufizuar, mendoj sipas disa ligjeve të Fizikës.- Terry Riley Një cheetah përdor përshpejtim të mahnitshëm dhe ndryshime të shpejta në shpejtësi kur ndiqni. Krijesa më e shpejtë në breg, herë pas here, përdor ritmin e saj të lartë për të kapur prenë.
Kopshtari i zgjuar i bazuar në IoT dhe Bujqësia e Zgjuar duke përdorur ESP32: 7 hapa
Kopshtari i zgjuar i bazuar në IoT dhe Bujqësia e Zgjuar Duke përdorur ESP32: Bota po ndryshon me kalimin e kohës dhe kështu bujqësinë. Në ditët e sotme, njerëzit po integrojnë elektronikën në çdo fushë dhe bujqësia nuk është përjashtim për këtë. Ky bashkim i elektronikës në bujqësi po ndihmon fermerët dhe njerëzit që menaxhojnë kopshtet. Në këtë
Kontrolli i radios RF 433MHZ duke përdorur HT12D HT12E - Bërja e një telekomande Rf duke përdorur HT12E & HT12D Me 433mhz: 5 hapa
Kontrolli i radios RF 433MHZ duke përdorur HT12D HT12E | Bërja e një telekomande Rf duke përdorur HT12E & HT12D Me 433mhz: Në këtë udhëzues do t'ju tregoj se si të bëni një telekomandë RADIO duke përdorur modulin e marrësit të transmetuesit 433mhz me kodim HT12E & IC decoder HT12D. Në këtë udhëzues ju mund të dërgoni dhe merrni të dhëna duke përdorur KOMPONENTE shumë të lirë SI: HT