Sisukord:
- Tarvikud
- Samm: vooluringi ehitamine
- Samm: logige protsessori temperatuur üles ThingSpeak abil
- Samm: protsessori temperatuuri hankimine Raspberry Pi -lt Pythoni abil
- 4. samm: ventilaatori juhtimine temperatuuri alusel
- Samm: viimane Pythoni kood
- 6. samm: andmete jälgimine Thingspeak Cloudi kaudu
- Samm: käivitage käivitamisel Pythoni skript
Video: Vaarika Pi ventilaatori nutikas juhtimine Pythoni ja Thingspeaki abil: 7 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Lühiülevaade
Vaikimisi on ventilaator otse GPIO -ga ühendatud - see tähendab selle pidevat tööd. Vaatamata ventilaatori suhteliselt vaiksele tööle ei ole selle pidev töö aktiivse jahutussüsteemi tõhus kasutamine. Samal ajal võib ventilaatori pidev töö lihtsalt häirida. Samuti, kui Raspberry Pi on välja lülitatud, töötab ventilaator endiselt, kui toide on ühendatud.
See artikkel näitab, kuidas lihtsate ja mitte keeruliste manipulatsioonide abil muuta olemasolev jahutussüsteem nutikaks, mis lülitatakse sisse ainult siis, kui protsessor seda tõesti vajab. Ventilaator lülitatakse sisse ainult intensiivse kasutamise korral, vähendades seega ventilaatori energiatarvet ja müra. Samuti pikendate ventilaatori eluiga, hoides selle välja, kui seda pole vaja.
Mida õpid
Kuidas rakendada Pythoni skripti ventilaatori juhtimiseks, lähtudes Raspberry CPU praegusest temperatuurist, kasutades sisse- ja väljalülitamist koos temperatuuri hüstereesiga. Kuidas andmeid RaspberryPi-st edastada asjadesse Speak Cloud.
Tarvikud
Selle projekti jaoks vajalikud komponendid on järgmised
- Raspberry Pi 4 arvutimudel B 4 GB
- NPN transistori takisti S8050330ohms
- Armor alumiiniumist metallkarp koos kahe ventilaatoriga Raspberry Pi jaoks
- Jumper kaablid
- Leivalaud
Samm: vooluringi ehitamine
Ahel on üsna lihtne. Ventilaatori toide katkestatakse NPN -transistori abil. Selles konfiguratsioonis toimib transistor madala külje lülitina. Takisti on vajalik ainult GPIO kaudu voolu piiramiseks. Raspberry Pi GPIO maksimaalne voolutugevus on 16 mA. Ma kasutasin 330 oomi, mis annab meile baasvoolu umbes (5-0,7)/330 = 13mA. Valisin NPN transistori S8050, nii et 400mA koormuse vahetamine mõlemalt ventilaatorilt pole probleem.
Samm: logige protsessori temperatuur üles ThingSpeak abil
ThingSpeak on platvorm projektidele, mis põhinevad asjade Interneti kontseptsioonil. See platvorm võimaldab teil luua rakendusi, mis põhinevad anduritelt kogutud andmetel. ThingSpeaki põhijooned on järgmised: reaalajas andmete kogumine, andmetöötlus ja visualiseerimine. ThingSpeak API võimaldab mitte ainult andmeid saata, salvestada ja neile juurde pääseda, vaid pakub ka erinevaid statistilisi meetodeid nende töötlemiseks.
ThingSpeak saab integreerida populaarseid seadmeid ja teenuseid, näiteks:
- Arduino
- Vaarika pii
- oBridge / RealTime.io
- Elektriline imp
- Mobiili- ja veebirakendused
- Sotsiaalsed võrgustikud
- Andmete analüüs MATLABis
Enne alustamist vajate ThingSpeaki kontot.
- Minge järgmisele lingile ja registreeruge ThingSpeaki.
- Pärast konto aktiveerimist logige sisse.
- Minge jaotisse Kanalid -> Minu kanalid
- Klõpsake nuppu Uus kanal.
- Sisestage üleslaaditavate andmete nimi, kirjeldus ja väljad
- Kõigi seadete salvestamiseks klõpsake nuppu Salvesta kanal.
Vajame API -võtit, mille lisame hiljem pythoni koodi, et laadida oma protsessori temperatuur Thingspeaki pilve.
Kirjutamise API võtme saamiseks klõpsake vahekaarti API võtmed
Kui teil on Write API võti, oleme peaaegu valmis oma andmed üles laadima.
Samm: protsessori temperatuuri hankimine Raspberry Pi -lt Pythoni abil
Skript põhineb protsessori temperatuuri toomisel, mis toimub iga sekund. Selle saab terminalist, käivitades vcgencmd käsu parameetriga meet_temp.
vcgencmd mõõtmistemperatuur
Käsu täitmiseks kasutati raamatukogu Subprocess.check_output () ja seejärel kasutati tavalise avaldise abil tagastatud stringist tegelikku väärtust.
alamprotsessist import check_output
uuesti importimisel findalldef get_temp (): temp = check_output (["vcgencmd", "meet_temp"]). dekodeerida () temp = float (findall ('\ d+\. / d+', temp) [0]) return (temp) print (get_temp ())
Pärast temperatuuri väärtuse toomist tuleb andmed saata ThingSpeaki pilve. Kasutage oma Write API võtit, et muuta myApi muutujat allpool olevas Pythoni koodis.
urllibi imporditaotlusest
uuesti impordist leida kõik ajast importimise unerežiim alamprotsessist import check_output myAPI = '################' baseURL = 'https://api.thingspeak.com/update?api_key=% s ' % myAPIdef get_temp (): temp = check_output (["vcgencmd", "meet_temp"]). dekodeerida () temp = float (findall (' / d+\. / d+', temp) [0]) return (temp) try: while True: temp = get_temp () conn = request.urlopen (baseURL + '& field1 = % s' % (temp)) print (str (temp)) conn.close () uni (1), v.a klaviatuurInterrupt: print ("Väljumiseks vajutage Ctrl+C")
4. samm: ventilaatori juhtimine temperatuuri alusel
Allpool näidatud Pythoni skript rakendab loogikat, mis lülitab ventilaatori sisse, kui temperatuur tõuseb üle tempOn, ja lülitub välja ainult siis, kui temperatuur langeb allapoole künnist. Sel viisil ei lülitu ventilaator kiiresti sisse ja välja.
RPi. GPIO importimine GPIO -na
impordi sys uuesti impordist findall ajast importimise unerežiim alamprotsessist import check_output def get_temp (): temp = check_output (["vcgencmd", "meet_temp"]). dekodeeri () temp = float (findall ('\ d+\. / d+ ', temp) [0]) return (temp) try: GPIO.setwarnings (False) tempOn = 50 künnis = 10 controlPin = 14 pinState = False GPIO.setmode (GPIO. BCM) GPIO.setup (controlPin, GPIO. OUT, Initial = 0) samas True: temp = get_temp () kui temp> tempOn ja mitte pinState või temp <tempOn - künnis ja pinState: pinState = not pinState GPIO.output (controlPin, pinState) print (str (temp) + "" + str (pinState)) uni (1) välja arvatud KeyboardInterrupt: print ("Välju vajutades Ctrl+C"), välja arvatud: print ("Muu erand") print ("--- Alusta erandi andmeid:") traceback.print_exc (limiit = 2, file = sys.stdout) print ("--- End Exception Data:") lõpuks: print ("CleanUp") GPIO.cleanup () print ("Programmi lõpp")
Samm: viimane Pythoni kood
Peamise püütoni koodi leiate minu GitHubi kontolt järgmiselt lingilt. Ärge unustage panna oma Write API võtit.
- Logige sisse oma Raspberry PI -plaadile
- Käivitage terminalis järgmine käsk
python3 cpu.py
6. samm: andmete jälgimine Thingspeak Cloudi kaudu
Mõne aja pärast avage oma kanal ThingSpeakis ja näete temperatuuri reaalajas üleslaadimist Thingspeaki pilve.
Samm: käivitage käivitamisel Pythoni skript
Selleks tehke faili /etc/rc.local lõpus:
sudo nano /etc/rc.local
Peate paigutama skripti käivitamise käsu rea väljapääsu 0 ette:
sudo python /home/pi/cpu.py &
& Sümboli olemasolu käsu lõpus on kohustuslik, kuna see on lipp protsessi alustamiseks taustal. Pärast taaskäivitamist käivitatakse skript automaatselt ja ventilaator lülitub sisse, kui määratud tingimused on täidetud.
Soovitan:
Mini ilmajaam Arduino ja ThingSpeaki abil: 4 sammu
Mini ilmajaam Arduino ja ThingSpeaki abil: Tere kõigile. Selles juhendis juhendan teid isikupärastatud mini -ilmajaama tegemiseks. Samuti kasutame oma ilmastikuandmete üleslaadimiseks nende serveritesse ThingSpeak API -d või muidu, mis on ilmastikuolude eesmärk
Seadme juhtimine Androidi WiFi abil Esp8266 Juhtimine: 6 sammu
Seadme juhtimine Androidi WiFi abil Esp8266 Juhtimine: nüüd teame, kuidas juhtida seadmeid esp8266 WiFi -mooduli abil ja Arduino teie seadet Androidi WiFi -juhtimise abil lisateabe saamiseks. klõpsake linki mohamed ashraf
Liikumise juhtimine Raspberry Pi ja LIS3DHTR abil, 3-teljeline kiirendusmõõtur, Pythoni kasutamine: 6 sammu
Liikumise juhtimine Raspberry Pi ja LIS3DHTR, 3-teljelise kiirendusmõõturi abil, kasutades Pythoni: Ilu ümbritseb meid, kuid tavaliselt peame selle tundmiseks aias jalutama. - RumiAsame haritud rühmana, kes me näime olevat, investeerime valdava osa oma energiast töötamiseks enne arvutite ja mobiiltelefonide kasutamist. Seetõttu laseme sageli oma heaolul
Orienteerumise õppimine Raspberry Pi ja MXC6226XU abil Pythoni abil: 6 sammu
Orienteerumise õppimine Raspberry Pi ja MXC6226XU abil Pythoni kasutamine: mürad on lihtsalt osa sõiduki töötamisest. Väga häälestatud sõidukimootori sumin on suurepärane heli. Rehvimustrid nurisevad vastu teed, tuul karjub peeglite, plastkildude ja armatuurlaua ümber liikudes
Õhuseiresüsteem NodeMCU ja IOT Thingspeaki abil: 4 sammu
Õhuseiresüsteem NodeMCU ja IOT Thingspeaki abil: ThingSpeak on avatud lähtekoodiga IoT rakendus ja API riistvaraseadmetest ja anduritest andmete salvestamiseks ja toomiseks. See kasutab suhtlemiseks HTTP -protokolli Interneti või LAN kaudu. Lisatud on MATLABi analüüs, et analüüsida ja visualiseerida