Tartalomjegyzék:

A Raspberry Pi ventilátor intelligens vezérlése a Python és a Thingspeak használatával: 7 lépés
A Raspberry Pi ventilátor intelligens vezérlése a Python és a Thingspeak használatával: 7 lépés

Videó: A Raspberry Pi ventilátor intelligens vezérlése a Python és a Thingspeak használatával: 7 lépés

Videó: A Raspberry Pi ventilátor intelligens vezérlése a Python és a Thingspeak használatával: 7 lépés
Videó: ChatGPT Running Locally on Raspberry Pi (ft. Ryan Reynolds) 2024, Július
Anonim
A Raspberry Pi ventilátor intelligens vezérlése a Python és a Thingspeak használatával
A Raspberry Pi ventilátor intelligens vezérlése a Python és a Thingspeak használatával

Rövid áttekintés

Alapértelmezés szerint a ventilátor közvetlenül csatlakozik a GPIO -hoz - ez azt jelenti, hogy állandóan működik. Annak ellenére, hogy a ventilátor viszonylag csendesen működik, folyamatos működése nem hatékony felhasználása az aktív hűtőrendszernek. Ugyanakkor a ventilátor állandó működése csak bosszantó lehet. Továbbá, ha a Raspberry Pi ki van kapcsolva, a ventilátor továbbra is működik, ha a tápfeszültség csatlakoztatva van.

Ez a cikk bemutatja, hogyan lehet egyszerű és nem bonyolult manipulációk segítségével egy meglévő hűtőrendszert intelligens rendszerré alakítani, amelyet csak akkor kapcsolnak be, ha a processzornak valóban szüksége van rá. A ventilátort csak nagy igénybevétel esetén kapcsolják be, ezáltal csökkentve a ventilátor energiafogyasztását és zaját. Továbbá meghosszabbítja a ventilátor élettartamát, ha kikapcsolja, ha nincs rá szükség.

Mit fog tanulni

Hogyan lehet megvalósítani egy Python-szkriptet a ventilátor vezérléséhez a Raspberry CPU aktuális hőmérséklete alapján az On-Off vezérlés és a hőmérséklet hiszterézis segítségével. Hogyan lehet adatokat továbbítani a RaspberryPi-ről a Things Speak Cloud-ra.

Kellékek

A projekthez szükséges összetevők a következők

  • Raspberry Pi 4 B számítógépmodell 4 GB
  • NPN tranzisztor S8050330ohmos ellenállás
  • Páncél alumínium fém tok kettős ventilátorral a Raspberry Pi számára
  • Jumper kábelek
  • Kenyeretábla

1. lépés: Az áramkör építése

A pálya építése
A pálya építése
A pálya építése
A pálya építése

Az áramkör meglehetősen egyszerű. A ventilátor áramellátása NPN tranzisztorral történik. Ebben a konfigurációban a tranzisztor alacsony oldali kapcsolóként működik. Az ellenállás csak az áram korlátozására van szükség a GPIO -n keresztül. A Raspberry Pi GPIO maximális áramkimenete 16 mA. 330 ohmot használtam, ami körülbelül (5-0,7)/330 = 13mA alapáramot ad nekünk. Az S8050 NPN tranzisztorokat választottam, így a 400 mA -es terhelés váltása mindkét ventilátorból nem jelent problémát.

2. lépés: Naplózza a CPU hőmérsékletét a ThingSpeak segítségével

Naplózza a CPU hőmérsékletét a ThingSpeak segítségével
Naplózza a CPU hőmérsékletét a ThingSpeak segítségével

A ThingSpeak a tárgyak internetén alapuló projektek platformja. Ez a platform lehetővé teszi alkalmazások létrehozását az érzékelőkről gyűjtött adatok alapján. A ThingSpeak fő jellemzői a következők: valós idejű adatgyűjtés, adatfeldolgozás és vizualizáció. A ThingSpeak API nemcsak adatok küldését, tárolását és elérését teszi lehetővé, hanem különféle statisztikai módszereket is kínál azok feldolgozásához.

A ThingSpeak integrálhat olyan népszerű eszközöket és szolgáltatásokat, mint például:

  • Arduino
  • Málna pii
  • oBridge / RealTime.io
  • Elektromos imp
  • Mobil és webes alkalmazások
  • Közösségi hálózatok
  • Adatelemzés a MATLAB -ban

Mielőtt elkezdenénk, szüksége van egy fiókra a ThingSpeak -en.

  1. Lépjen a következő linkre, és regisztráljon a ThingSpeak szolgáltatásba.
  2. A fiók aktiválása után jelentkezzen be.
  3. Lépjen a Csatornák -> Saját csatornák menüpontra
  4. Kattintson az Új csatorna gombra.
  5. Adja meg a feltölteni kívánt adatok nevét, leírását és mezőit
  6. Kattintson a Csatorna mentése gombra az összes beállítás mentéséhez.

Szükségünk van egy API kulcsra, amelyet később hozzáadunk a python kódhoz annak érdekében, hogy fel tudjuk tölteni a CPU hőmérsékletünket a Thingspeak felhőbe.

Kattintson az API kulcsok fülre az Írás API kulcs beszerzéséhez

Ha megvan az Write API kulcsa, szinte készen állunk az adataink feltöltésére.

3. lépés: A CPU hőmérsékletének meghatározása Raspberry Pi -ről Python használatával

A szkript a processzor hőmérsékletének lekérésén alapul, amely másodpercenként történik. Ezt a terminálról lehet beszerezni a vcgencmd parancs futtatásával az intézkedés_temp paraméterrel.

vcgencmd mérték_hőmérséklet

A Subprocess.check_output () könyvtárat használtuk a parancs végrehajtására, majd a reguláris kifejezés segítségével kinyerjük a tényleges értéket a visszaadott karakterláncból.

alfolyamatból import check_output

re importálásból findalldef get_temp (): temp = check_output (["vcgencmd", "intézkedés_temp"]). dekódolás () temp = float (findall ('\ d+\. / d+', temp) [0]) return (temp) print (get_temp ())

A hőmérsékletérték lekérése után az adatokat el kell küldeni a ThingSpeak felhőbe. Az Write API kulcsa segítségével módosítsa a myApi változót az alábbi Python -kódban.

az urllib importkérésből

újraimportálásból minden időből importálás alvó állapotból alfolyamatból import check_output myAPI = '#################' baseURL = 'https://api.thingspeak.com/update?api_key=% s ' % myAPIdef get_temp (): temp = check_output (["vcgencmd", "intézkedés_temp"]). dekódolás () 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 () sleep (1) kivéve a KeyboardInterrupt: print ("Kilépés lenyomva Ctrl+C")

4. lépés: A ventilátor szabályozása a hőmérséklet alapján

Az alább látható Python -szkript megvalósítja azt a logikát, amely bekapcsolja a ventilátort, amikor a hőmérséklet a tempOn fölé emelkedik, és csak akkor kapcsol ki, ha a hőmérséklet a küszöb alá esik. Így a ventilátor nem fog gyorsan be- és kikapcsolni.

importálja az RPi. GPIO -t GPIO -ként

importálja a sys -t az újból ', temp) [0]) return (temp) try: GPIO.setwarnings (False) tempOn = 50 küszöb = 10 controlPin = 14 pinState = False GPIO.setmode (GPIO. BCM) GPIO.setup (controlPin, GPIO. OUT, kezdeti = 0) míg igaz: temp = get_temp () ha temp> tempOn és nem pinState vagy temp <tempOn - küszöb és pinState: pinState = nem pinState GPIO.output (controlPin, pinState) print (str (temp) + "" + str (pinState)) sleep (1) kivéve a KeyboardInterrupt: print ("Kilépés lenyomva Ctrl+C"), kivéve: print ("Other Exception") print ("--- Exception Data Start:") traceback.print_exc (limit = 2, file = sys.stdout) print ("--- Ex Exception Data:") végül: print ("CleanUp") GPIO.cleanup () print ("Program vége")

5. lépés: Végső Python -kód

A fő python -kód megtalálható a GitHub -fiókomban az alábbi linken. Ne felejtse el megadni saját Write API kulcsát.

  1. Jelentkezzen be a Raspberry PI táblájába
  2. Futtassa a következő parancsot a terminálon

python3 cpu.py

6. lépés: Az adatok figyelése a Thingspeak Cloud segítségével

Adatok megfigyelése a Thingspeak Cloud segítségével
Adatok megfigyelése a Thingspeak Cloud segítségével

Egy idő után nyissa meg csatornáját a ThingSpeak-en, és látni fogja, hogy a hőmérséklet valós időben töltődik fel a Thingspeak felhőbe.

Lépés: Futtassa a Python parancsfájlt indításkor

Ehhez az /etc/rc.local fájl végén tegye a következőket:

sudo nano /etc/rc.local

A script start parancsot a 0 -s sor kilépése elé kell helyezni:

sudo python /home/pi/cpu.py &

A & szimbólum jelenléte a parancs végén kötelező, mivel ez egy zászló a folyamat háttérben történő elindításához. Az újraindítás után a szkript automatikusan fut, és a ventilátor bekapcsol, ha a megadott feltételek teljesülnek.

Ajánlott: