![Viedā Raspberry Pi ventilatora vadība, izmantojot Python un Thingspeak: 7 soļi Viedā Raspberry Pi ventilatora vadība, izmantojot Python un Thingspeak: 7 soļi](https://i.howwhatproduce.com/images/011/image-32699-j.webp)
Satura rādītājs:
- Piegādes
- 1. darbība: ķēdes izveide
- 2. darbība: reģistrējiet CPU temperatūru, izmantojot ThingSpeak
- 3. darbība: iegūstiet CPU temperatūru no Raspberry Pi, izmantojot Python
- 4. solis: Ventilatora vadība, pamatojoties uz temperatūru
- 5. darbība: galīgais Python kods
- 6. darbība. Datu uzraudzība, izmantojot Thingspeak Cloud
- 7. darbība: palaidiet Python skriptu startēšanas laikā
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59
![Viedā Raspberry Pi ventilatora vadība, izmantojot Python un Thingspeak Viedā Raspberry Pi ventilatora vadība, izmantojot Python un Thingspeak](https://i.howwhatproduce.com/images/011/image-32699-1-j.webp)
Īss pārskats
Pēc noklusējuma ventilators ir tieši pievienots GPIO - tas nozīmē tā pastāvīgu darbību. Neskatoties uz relatīvi klusu ventilatora darbību, tā nepārtraukta darbība nav efektīva aktīvās dzesēšanas sistēmas izmantošana. Tajā pašā laikā pastāvīga ventilatora darbība var būt tikai kaitinoša. Turklāt, ja Raspberry Pi ir izslēgts, ventilators joprojām darbosies, ja barošana ir pievienota.
Šis raksts parādīs, kā, izmantojot vienkāršas un nesarežģītas manipulācijas, esošo dzesēšanas sistēmu pārvērst par gudru, kas tiks ieslēgta tikai tad, kad procesorim tā patiešām būs nepieciešama. Ventilators tiks ieslēgts tikai intensīvas lietošanas gadījumā, tādējādi samazinot ventilatora enerģijas patēriņu un troksni. Pagarina arī ventilatora kalpošanas laiku, izslēdzot to, kad tas nav nepieciešams.
Ko Tu iemācīsies
Kā ieviest Python skriptu, lai kontrolētu ventilatoru, pamatojoties uz Raspberry CPU pašreizējo temperatūru, izmantojot On-Off vadību ar temperatūras histerēzi. Kā pārsūtīt datus no sava RaspberryPi uz Things Speak Cloud.
Piegādes
Šim projektam nepieciešamās sastāvdaļas ir šādas
- Raspberry Pi 4 datora modelis B 4GB
- NPN tranzistora S8050330ohms rezistors
- Armor alumīnija metāla korpuss ar diviem ventilatoriem priekš Raspberry Pi
- Jumper kabeļi
- Maizes dēlis
1. darbība: ķēdes izveide
![Ķēdes veidošana Ķēdes veidošana](https://i.howwhatproduce.com/images/011/image-32699-2-j.webp)
![Ķēdes veidošana Ķēdes veidošana](https://i.howwhatproduce.com/images/011/image-32699-3-j.webp)
Ķēde ir diezgan vienkārša. Ventilatora barošana tiek pārtraukta, izmantojot NPN tranzistoru. Šajā konfigurācijā tranzistors darbojas kā zemas puses slēdzis. Rezistors ir nepieciešams tikai, lai ierobežotu strāvu, izmantojot GPIO. Raspberry Pi GPIO maksimālā strāvas izeja ir 16 mA. Es izmantoju 330 omus, kas mums nodrošina bāzes strāvu aptuveni (5-0,7)/330 = 13mA. Es izvēlējos NPN tranzistoru S8050, tāpēc 400mA slodzes pārslēgšana no abiem ventilatoriem nav problēma.
2. darbība: reģistrējiet CPU temperatūru, izmantojot ThingSpeak
![Reģistrējiet CPU temperatūru, izmantojot ThingSpeak Reģistrējiet CPU temperatūru, izmantojot ThingSpeak](https://i.howwhatproduce.com/images/011/image-32699-4-j.webp)
ThingSpeak ir platforma projektiem, kuru pamatā ir lietu interneta koncepcija. Šī platforma ļauj veidot lietojumprogrammas, pamatojoties uz datiem, kas savākti no sensoriem. ThingSpeak galvenās iezīmes ietver: datu vākšanu reāllaikā, datu apstrādi un vizualizāciju. ThingSpeak API ne tikai ļauj nosūtīt, uzglabāt un piekļūt datiem, bet arī nodrošina dažādas statistiskās metodes to apstrādei.
ThingSpeak var integrēt populāras ierīces un pakalpojumus, piemēram:
- Arduino
- Aveņu pii
- oBridge / RealTime.io
- Elektriskā imp
- Mobilās un tīmekļa lietojumprogrammas
- Sociālie tīkli
- Datu analīze MATLAB
Pirms sākam, jums ir nepieciešams konts vietnē ThingSpeak.
- Dodieties uz šo saiti un reģistrējieties ThingSpeak.
- Pēc konta aktivizēšanas pierakstieties.
- Dodieties uz Kanāli -> Mani kanāli
- Noklikšķiniet uz pogas Jauns kanāls.
- Ievadiet augšupielādējamo datu nosaukumu, aprakstu un laukus
- Noklikšķiniet uz pogas Saglabāt kanālu, lai saglabātu visus iestatījumus.
Mums ir nepieciešama API atslēga, kuru vēlāk pievienosim python kodam, lai augšupielādētu CPU temperatūru Thingspeak mākonī.
Noklikšķiniet uz cilnes API atslēgas, lai iegūtu rakstīšanas API atslēgu
Kad esat ieguvis rakstīšanas API atslēgu, mēs esam gandrīz gatavi augšupielādēt savus datus.
3. darbība: iegūstiet CPU temperatūru no Raspberry Pi, izmantojot Python
Skripta pamatā ir procesora temperatūras iegūšana, kas notiek katru sekundi. To var iegūt no termināļa, palaižot komandu vcgencmd ar parametru meet_temp.
vcgencmd mēra_temps
Subprocess.check_output () bibliotēka tika izmantota, lai izpildītu komandu, un pēc tam, izmantojot regulāro izteiksmi, tika iegūta faktiskā vērtība no atgrieztās virknes.
no apakšprocesa importēšanas check_output
no atkārtotas importēšanas findalldef get_temp (): temp = check_output (["vcgencmd", "meet_temp"]). atšifrēt () temp = float (findall ('\ d+\. / d+', temp) [0]) return (temp) drukāt (get_temp ())
Pēc temperatūras vērtības iegūšanas dati jānosūta uz ThingSpeak mākoni. Izmantojiet savu rakstīšanas API atslēgu, lai mainītu mainīgo myApi zemāk esošajā Python kodā.
no urllib importēšanas pieprasījuma
no atkārtotas importēšanas atrast visu no laika importēšanas miega no apakšprocesa importēt check_output myAPI = '################' baseURL = 'https://api.thingspeak.com/update?api_key=% s ' % myAPIdef get_temp (): temp = check_output (["vcgencmd", "meet_temp"]). atšifrēt () temp = float (findall (' / d+\. / d+', temp) [0]) return (temp] mēģiniet: kamēr True: temp = get_temp () conn = request.urlopen (baseURL + '& field1 = % s' % (temp)) print (str (temp)) conn.close () miega režīms (1), izņemot tastatūruInterrupt: print ("Iziet, nospiediet Ctrl+C")
4. solis: Ventilatora vadība, pamatojoties uz temperatūru
Tālāk parādītais Python skripts īsteno loģiku, kas ieslēdz ventilatoru, kad temperatūra paaugstinās virs tempOn, un izslēdzas tikai tad, kad temperatūra nokrītas zem sliekšņa. Tādā veidā ventilators ātri neieslēgsies un neizslēgsies.
importēt RPi. GPIO kā GPIO
importēt sistēmu no atkārtotas importēšanas atrast visu laiku importēt miega režīmu no apakšprocesa importēt check_output def get_temp (): temp = check_output (["vcgencmd", "intézkedés_temp"]). dekodēt () temp = float (findall ('\ d+\. / d+ ', temp) [0]) atgriezties (temp) mēģināt: GPIO.setwarnings (False) tempOn = 50 slieksnis = 10 controlPin = 14 pinState = False GPIO.setmode (GPIO. BCM) GPIO.setup (controlPin, GPIO. OUT, sākotnējais = 0), kamēr patiess: temp = get_temp (), ja temp> tempOn, nevis pinState vai temp <tempOn - slieksnis un pinState: pinState = nav pinState GPIO.output (controlPin, pinState) print (str (temp) + "" + str (pinState)) miega režīms (1), izņemot tastatūruInterrupt: print ("Exit press Ctrl+C") izņemot: print ("Other Exception") print ("--- Start Exception Data:") traceback.print_exc (limit = 2, fails = sys.stdout) print ("--- Beigu izņēmuma dati:") beidzot: print ("CleanUp") GPIO.cleanup () print ("Programmas beigas")
5. darbība: galīgais Python kods
Galveno python kodu var atrast manā GitHub kontā šajā saitē. Neaizmirstiet ievietot savu rakstīšanas API atslēgu.
- Piesakieties savā Raspberry PI panelī
- Terminālī palaidiet šādu komandu
python3 cpu.py
6. darbība. Datu uzraudzība, izmantojot Thingspeak Cloud
![Datu uzraudzība, izmantojot Thingspeak Cloud Datu uzraudzība, izmantojot Thingspeak Cloud](https://i.howwhatproduce.com/images/011/image-32699-5-j.webp)
Pēc kāda laika atveriet savu kanālu vietnē ThingSpeak, un jums vajadzētu redzēt temperatūras augšupielādi Thingspeak mākonī reāllaikā.
7. darbība: palaidiet Python skriptu startēšanas laikā
Lai to izdarītu, /etc/rc.local faila beigās:
sudo nano /etc/rc.local
Jums ir jāievieto skripta sākuma komanda rindas izejas 0 priekšā:
sudo python /home/pi/cpu.py &
& Simbola klātbūtne komandas beigās ir obligāta, jo tas ir karogs, lai sāktu procesu fonā. Pēc atsāknēšanas skripts tiks automātiski palaists un ventilators ieslēgsies, kad būs izpildīti norādītie nosacījumi.
Ieteicams:
Kustību vadība ar Raspberry Pi un LIS3DHTR, 3 asu akselerometrs, izmantojot Python: 6 soļi
![Kustību vadība ar Raspberry Pi un LIS3DHTR, 3 asu akselerometrs, izmantojot Python: 6 soļi Kustību vadība ar Raspberry Pi un LIS3DHTR, 3 asu akselerometrs, izmantojot Python: 6 soļi](https://i.howwhatproduce.com/images/007/image-20378-j.webp)
Kustību vadība, izmantojot Raspberry Pi un LIS3DHTR, 3 asu akselerometru, izmantojot Python: Skaistums mūs ieskauj, bet parasti mums ir jāstaigā dārzā, lai to zinātu. - RumiKā mēs esam izglītotā grupa, kas, šķiet, esam, mēs ieguldām lielāko daļu savas enerģijas, strādājot pie mūsu personālajiem datoriem un mobilajiem tālruņiem. Tāpēc mēs bieži ļaujamies savai labklājībai
Vadība visā pasaulē, izmantojot internetu, izmantojot Arduino: 4 soļi
![Vadība visā pasaulē, izmantojot internetu, izmantojot Arduino: 4 soļi Vadība visā pasaulē, izmantojot internetu, izmantojot Arduino: 4 soļi](https://i.howwhatproduce.com/images/009/image-26759-j.webp)
Vadība visā pasaulē, izmantojot internetu, izmantojot Arduino: Sveiki, es esmu Rithik. Izmantojot tālruni, mēs izveidosim vadāmu internetu. Mēs izmantosim tādu programmatūru kā Arduino IDE un Blynk. Tas ir vienkārši, un, ja jums izdevās, varat kontrolēt tik daudz elektronisko komponentu, cik vēlaties
ESP8266 RGB LED STRIP WIFI vadība - NODEMCU kā IR tālvadības pults LED joslai, kas tiek kontrolēta, izmantojot Wifi - RGB LED STRIP viedtālruņa vadība: 4 soļi
![ESP8266 RGB LED STRIP WIFI vadība - NODEMCU kā IR tālvadības pults LED joslai, kas tiek kontrolēta, izmantojot Wifi - RGB LED STRIP viedtālruņa vadība: 4 soļi ESP8266 RGB LED STRIP WIFI vadība - NODEMCU kā IR tālvadības pults LED joslai, kas tiek kontrolēta, izmantojot Wifi - RGB LED STRIP viedtālruņa vadība: 4 soļi](https://i.howwhatproduce.com/images/001/image-2218-28-j.webp)
ESP8266 RGB LED STRIP WIFI vadība | NODEMCU kā IR tālvadības pults LED joslai, kas tiek kontrolēta, izmantojot Wifi | RGB LED STRIP viedtālruņa vadība: Sveiki, puiši, šajā apmācībā mēs iemācīsimies izmantot nodemcu vai esp8266 kā IR tālvadības pulti, lai kontrolētu RGB LED sloksni, un Nodemcu vadīs ar viedtālruni, izmantojot wifi. Tātad būtībā jūs varat kontrolēt RGB LED STRIP ar savu viedtālruni
RF 433MHZ radio vadība, izmantojot HT12D HT12E - RF tālvadības pults izveide, izmantojot HT12E un HT12D ar 433 MHz: 5 soļi
![RF 433MHZ radio vadība, izmantojot HT12D HT12E - RF tālvadības pults izveide, izmantojot HT12E un HT12D ar 433 MHz: 5 soļi RF 433MHZ radio vadība, izmantojot HT12D HT12E - RF tālvadības pults izveide, izmantojot HT12E un HT12D ar 433 MHz: 5 soļi](https://i.howwhatproduce.com/images/001/image-2937-16-j.webp)
RF 433MHZ radio vadība, izmantojot HT12D HT12E | RF tālvadības pults izveide, izmantojot HT12E un HT12D ar 433 MHz: Šajā pamācībā es jums parādīšu, kā izveidot RADIO tālvadības pulti, izmantojot 433 MHz raidītāja uztvērēja moduli ar HT12E kodējumu & HT12D dekodētāja IC. Šajā pamācībā jūs varat nosūtīt un saņemt datus, izmantojot ļoti lētas KOMPONENTES, piemēram: HT
Siltummaiņas ventilatora termostata vadība: 7 soļi (ar attēliem)
![Siltummaiņas ventilatora termostata vadība: 7 soļi (ar attēliem) Siltummaiņas ventilatora termostata vadība: 7 soļi (ar attēliem)](https://i.howwhatproduce.com/images/006/image-15217-17-j.webp)
Siltummaiņas ventilatora termostata vadība: Sveiki visi! Šajā instrukcijā es jums parādīšu, kā automatizēt siltuma apmaiņas ventilatoru, izmantojot lētu termostata moduli. Brīdinājums: Šis projekts izmanto tīkla spriegumu, un ar to ir jārīkojas pareizi. Ja neesat pārliecināts, ko darāt, nemēģiniet