Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Piirin rakentaminen
- Vaihe 2: Kirjaa suorittimen lämpötila ThingSpeakin avulla
- Vaihe 3: CPU -lämpötilan saaminen Raspberry Pi -laitteesta Pythonin avulla
- Vaihe 4: Puhaltimen ohjaus lämpötilan perusteella
- Vaihe 5: Lopullinen Python -koodi
- Vaihe 6: Tietojen seuranta Thingspeak Cloudin kautta
- Vaihe 7: Suorita Python -skripti käynnistyksen yhteydessä
Video: Raspberry Pi -tuulettimen älykäs ohjaus Pythonin ja Thingspeakin avulla: 7 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Lyhyt katsaus
Oletuksena tuuletin on kytketty suoraan GPIO: hon - tämä tarkoittaa sen jatkuvaa toimintaa. Huolimatta puhaltimen suhteellisen hiljaisesta toiminnasta, sen jatkuva toiminta ei ole tehokas aktiivisen jäähdytysjärjestelmän käyttö. Samaan aikaan tuulettimen jatkuva toiminta voi olla vain ärsyttävää. Lisäksi, jos Raspberry Pi on kytketty pois päältä, tuuletin toimii edelleen, jos virta on kytketty.
Tämä artikkeli näyttää, kuinka yksinkertaisista ja ei monimutkaisista manipulaatioista muutetaan olemassa oleva jäähdytysjärjestelmä älykkääksi, joka käynnistetään vain, kun prosessori todella tarvitsee sitä. Tuuletin kytketään päälle vain, kun sitä käytetään paljon, mikä vähentää tuulettimen virrankulutusta ja melua. Pidentää myös tuulettimen käyttöikää pitämällä se pois päältä, kun sitä ei tarvita.
Mitä opit
Kuinka toteuttaa Python-skripti tuulettimen ohjaamiseksi Raspberry-suorittimen nykyisen lämpötilan perusteella käyttämällä On-Off-ohjausta lämpötilan hystereesillä.
Tarvikkeet
Tässä projektissa tarvittavat komponentit ovat seuraavat
- Raspberry Pi 4 -tietokonemalli B 4 Gt
- NPN -transistori S8050330ohms vastus
- Panssari -alumiininen metallikotelo, jossa on kaksi tuuletinta Raspberry Pi: lle
- Käynnistyskaapelit
- Leipälauta
Vaihe 1: Piirin rakentaminen
Piiri on melko yksinkertainen. Puhaltimen virta katkaistaan NPN -transistorin avulla. Tässä kokoonpanossa transistori toimii matalan puolen kytkimenä. Vastus vaaditaan vain rajoittamaan virtaa GPIO: n kautta. Raspberry Pi: n GPIO: n maksimivirta on 16 mA. Käytin 330 ohmia, mikä antaa meille perusvirran noin (5-0,7)/330 = 13 mA. Valitsin NPN -transistorin S8050, joten 400 mA: n kuorman vaihtaminen molemmista puhaltimista ei ole ongelma.
Vaihe 2: Kirjaa suorittimen lämpötila ThingSpeakin avulla
ThingSpeak on alusta esineiden Internet -konseptiin perustuville projekteille. Tämän alustan avulla voit rakentaa sovelluksia antureista kerättyjen tietojen perusteella. ThingSpeakin pääominaisuuksia ovat: reaaliaikainen tiedonkeruu, tietojen käsittely ja visualisointi. ThingSpeak -sovellusliittymän avulla voit lähettää, tallentaa ja käyttää tietoja, mutta se tarjoaa myös erilaisia tilastollisia menetelmiä niiden käsittelemiseksi.
ThingSpeak voi integroida suosittuja laitteita ja palveluita, kuten:
- Arduino
- Vadelma pii
- oBridge / RealTime.io
- Sähkö imp
- Mobiili- ja verkkosovellukset
- Sosiaaliset verkostot
- Tietojen analysointi MATLABissa
Ennen kuin aloitamme, tarvitset tilin ThingSpeakissa.
- Siirry seuraavaan linkkiin ja kirjaudu ThingSpeakiin.
- Kirjaudu tilisi aktivoinnin jälkeen sisään.
- Siirry kohtaan Kanavat -> Omat kanavat
- Napsauta Uusi kanava -painiketta.
- Kirjoita ladattavien tietojen nimi, kuvaus ja kentät
- Tallenna kaikki asetukset napsauttamalla Tallenna kanava -painiketta.
Tarvitsemme API -avaimen, jonka lisäämme myöhemmin python -koodiin, jotta voimme ladata suorittimen lämpötilan Thingspeak -pilveen.
Napsauta API Keys -välilehteä saadaksesi Write API -avaimen
Kun sinulla on Write API -avain, olemme melkein valmiita lataamaan tietomme.
Vaihe 3: CPU -lämpötilan saaminen Raspberry Pi -laitteesta Pythonin avulla
Skripti perustuu prosessorin lämpötilan noutamiseen, joka tapahtuu joka sekunti. Sen voi saada päätelaitteesta suorittamalla vcgencmd -komennon parametrin meet_temp avulla.
vcgencmd toimenpide_temp
Subprocess.check_output () -kirjastoa käytettiin komennon suorittamiseen ja sitten säännöllisen lausekkeen avulla todellisen arvon poimimiseen palautetusta merkkijonosta.
aliprosessista tuonti check_output
uudelleen tuonnista findalldef get_temp (): temp = check_output (["vcgencmd", "meet_temp"]). decode () temp = float (findall ('\ d+\. / d+', temp) [0]) return (temp) tulosta (get_temp ())
Kun lämpötila -arvo on haettu, tiedot on lähetettävä ThingSpeak -pilveen. Käytä Write API -avainta muuttaaksesi myApi -muuttujaa alla olevassa Python -koodissa.
urllib -tuontipyynnöstä
uudelleen tuonnista löytää kaikki ajan tuonnin lepotilasta aliprosessista tuonti check_output myAPI = '################' baseURL = 'https://api.thingspeak.com/update?api_key=% s ' % myAPIdef get_temp (): temp = check_output (["vcgencmd", "meet_temp"]). dekoodata () 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) paitsi KeyboardInterrupt: print ("Lopeta painamalla Ctrl+C")
Vaihe 4: Puhaltimen ohjaus lämpötilan perusteella
Alla näkyvä Python -skripti toteuttaa logiikan, joka käynnistää tuulettimen, kun lämpötila nousee lämpötilan yläpuolelle ja sammuu vasta, kun lämpötila laskee kynnyksen alle. Tällä tavalla tuuletin ei käynnisty ja sammu nopeasti.
Tuo RPi. GPIO GPIO: ksi
tuoda sys uudelleen tuonnista löytää kaikki ajan tuonnin lepotilasta aliprosessista tuonti check_output def get_temp (): temp = check_output (["vcgencmd", "meet_temp"]). decode () temp = float (findall ('\ d+\. / d+ ', temp) [0]) return (temp) try: GPIO.setwarnings (False) tempOn = 50 kynnys = 10 controlPin = 14 pinState = False GPIO.setmode (GPIO. BCM) GPIO.setup (controlPin, GPIO. OUT, Initial = 0) kun True: temp = get_temp () jos temp> tempOn eikä pinState tai temp <tempOn - kynnys ja pinState: pinState = not pinState GPIO.output (controlPin, pinState) print (str (temp) + "" + str (pinState)) lepotila (1) paitsi KeyboardInterrupt: print ("Lopeta painamalla Ctrl+C") paitsi: print ("Other Exception") print ("--- Start Exception Data:") traceback.print_exc (limit = 2, tiedosto = sys.stdout) print ("--- Lopeta poikkeustiedot:") lopuksi: print ("CleanUp") GPIO.cleanup () print ("Ohjelman loppu")
Vaihe 5: Lopullinen Python -koodi
Python -pääkoodi löytyy GitHub -tililtäni seuraavasta linkistä. Muista laittaa oma Write API -avaimesi.
- Kirjaudu Raspberry PI -kortillesi
- Suorita seuraava komento terminaalissa
python3 cpu.py
Vaihe 6: Tietojen seuranta Thingspeak Cloudin kautta
Hetken kuluttua avaa kanavasi ThingSpeakissa ja näet lämpötilan lataamisen Thingspeak-pilveen reaaliajassa.
Vaihe 7: Suorita Python -skripti käynnistyksen yhteydessä
Voit tehdä tämän /etc/rc.local -tiedoston lopussa:
sudo nano /etc/rc.local
Sinun on asetettava komentosarjan aloituskomento rivin poistumisen 0 eteen:
sudo python /home/pi/cpu.py &
& -Merkin läsnäolo komennon lopussa on pakollinen, koska prosessin käynnistäminen taustalla on lippu. Uudelleenkäynnistyksen jälkeen komentosarja käynnistyy automaattisesti ja tuuletin käynnistyy, kun määritetyt ehdot täyttyvät.
Suositeltava:
Mini -sääasema Arduinon ja ThingSpeakin avulla: 4 vaihetta
Mini -sääasema Arduinon ja ThingSpeakin avulla: Hei kaikki. Tässä opastettavassa opastan sinua vaiheissa, joilla voit tehdä henkilökohtaisen minisääaseman. Käytämme myös ThingSpeak -sovellusliittymää säätietojen lataamiseen heidän palvelimilleen, tai muuten mikä on sääilmiön tarkoitus
Suuntautumisen opiskelu Raspberry Pi: n ja MXC6226XU: n avulla Pythonin avulla: 6 vaihetta
Suuntautumisen opiskelu Raspberry Pi: n ja MXC6226XU: n avulla Pythonin avulla: Äänet ovat yksinkertaisesti osa ajoneuvon työskentelyä. Hyvin viritetyn ajoneuvomoottorin humina on upea ääni. Renkaiden kulutuspinnat nurisevat tietä vasten, tuuli huutaa peilien, muovikappaleiden ja kojelaudan kappaleiden ympäri
Kiihtyvyyden seuranta Raspberry Pi: n ja AIS328DQTR: n avulla Pythonin avulla: 6 vaihetta
Kiihtyvyyden seuranta Raspberry Pi: n ja AIS328DQTR: n avulla Pythonin avulla: Kiihtyvyys on rajallinen, mielestäni joidenkin fysiikan lakien mukaan.- Terry Riley Gepardi käyttää hämmästyttävää kiihtyvyyttä ja nopeita nopeuden muutoksia jahtaessaan. Nopein olento rannalla silloin tällöin käyttää huipputahdiaan saaliin saamiseen
IoT -pohjainen älykäs puutarhanhoito ja älykäs maatalous ESP32: 7 askeleen avulla
IoT -pohjainen älykäs puutarhanhoito ja älykäs maatalous ESP32: n avulla: Maailma muuttuu ajan ja maatalouden tavoin. Nykyään ihmiset integroivat elektroniikkaa kaikilla aloilla, eikä maatalous ole poikkeus tähän. Tämä elektroniikan yhdistäminen maataloudessa auttaa viljelijöitä ja puutarhoja hoitavia ihmisiä
Kiihtyvyyden vaihtelujen seuranta Raspberry Pi: n ja MMA7455: n avulla Pythonin avulla: 6 vaihetta
Kiihtyvyyden vaihtelujen seuranta Raspberry Pi: n ja MMA7455: n avulla Pythonin avulla: En kompastunut, testasin painovoimaa. Se toimii edelleen … Esitys kiihtyvästä avaruussukkulastä selvensi, että sukkulan korkeimmassa kohdassa oleva kello valitsee nopeammin kuin tukikohdan painovoima -ajan laajenemisen vuoksi. Jonkin verran