Obsah:
- Zásoby
- Krok 1: Budovanie obvodu
- Krok 2: Zaznamenajte teplotu procesora pomocou ThingSpeak
- Krok 3: Získanie teploty CPU z Raspberry Pi pomocou Pythonu
- Krok 4: Ovládanie ventilátora na základe teploty
- Krok 5: Finálny kód Pythonu
- Krok 6: Monitorovanie údajov prostredníctvom cloudu Thingspeak
- Krok 7: Spustite skript Python pri spustení
Video: Inteligentné ovládanie ventilátora Raspberry Pi pomocou systému Python a Thingspeak: 7 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Stručný prehľad
V predvolenom nastavení je ventilátor priamo pripojený k GPIO - to znamená, že je neustále v prevádzke. Napriek relatívne tichému chodu ventilátora nie je jeho nepretržitá prevádzka efektívnym využitím aktívneho chladiaceho systému. Nepretržitá prevádzka ventilátora môže byť zároveň nepríjemná. Aj keď je Raspberry Pi vypnutý, ventilátor bude fungovať, ak je pripojené napájanie.
Tento článok ukáže, ako pomocou jednoduchých a nie komplikovaných manipulácií zmeniť existujúci chladiaci systém na inteligentný, ktorý sa zapne iba vtedy, keď to procesor skutočne potrebuje. Ventilátor by sa zapínal iba vtedy, ak je intenzívne používaný, čím sa zníži spotreba energie a hluk ventilátora. Tiež predlžuje životnosť ventilátora tým, že ho vypne, keď nie je potrebný.
Čo sa naučíte
Ako implementovať skript Pythonu na ovládanie ventilátora na základe aktuálnej teploty CPU Raspberry pomocou ovládania On-Off s teplotnou hysteréziou. Ako prenášať údaje z vášho RaspberryPi do programu Things Speak Cloud.
Zásoby
Komponenty, ktoré budete potrebovať pre tento projekt, sú nasledujúce
- Počítač Raspberry Pi 4, model B 4 GB
- NPN tranzistor S8050330ohms odpor
- Hliníkové kovové puzdro Armor s dvoma ventilátormi pre Raspberry Pi
- Prepojovacie káble
- Breadboard
Krok 1: Budovanie obvodu
Obvod je veľmi jednoduchý. Napájanie ventilátora je prerušené pomocou tranzistora NPN. V tejto konfigurácii tranzistor funguje ako prepínač spodnej strany. Rezistor je potrebný iba na obmedzenie prúdu prostredníctvom GPIO. GPIO Raspberry Pi má maximálny prúdový výstup 16mA. Použil som 330 ohmov, čo nám dáva základný prúd asi (5-0,7)/330 = 13mA. Vybral som NPN tranzistor S8050, takže prepínať 400mA záťaž z oboch ventilátorov nie je problém.
Krok 2: Zaznamenajte teplotu procesora pomocou ThingSpeak
ThingSpeak je platforma pre projekty založené na koncepte internetu vecí. Táto platforma vám umožňuje vytvárať aplikácie na základe údajov zhromaždených zo senzorov. Medzi hlavné vlastnosti ThingSpeak patrí: zber údajov v reálnom čase, spracovanie údajov a vizualizácia. ThingSpeak API vám umožňuje nielen odosielať, ukladať a pristupovať k údajom, ale poskytuje aj rôzne štatistické metódy na ich spracovanie.
ThingSpeak môže integrovať obľúbené zariadenia a služby, ako napríklad:
- Arduino
- Malina pii
- oBridge / RealTime.io
- Elektrický imp
- Mobilné a webové aplikácie
- Sociálne siete
- Analýza údajov v MATLABe
Predtým, ako začneme, potrebujete účet v ThingSpeak.
- Prejdite na nasledujúci odkaz a zaregistrujte sa do ThingSpeak.
- Po aktivácii účtu sa prihláste.
- Prejdite na Kanály -> Moje kanály
- Kliknite na tlačidlo Nový kanál.
- Zadajte názov, popis a polia údajov, ktoré chcete nahrať
- Kliknutím na tlačidlo Uložiť kanál uložíte všetky svoje nastavenia.
Potrebujeme kľúč API, ktorý neskôr pridáme do kódu pythonu, aby sme mohli nahrať teplotu svojho procesora do cloudu Thingspeak.
Kliknutím na kartu API Keys získate kľúč Write API
Keď budete mať kľúč API rozhrania Write, sme takmer pripravení nahrať naše údaje.
Krok 3: Získanie teploty CPU z Raspberry Pi pomocou Pythonu
Skript je založený na načítaní teploty procesora, ktorá sa vyskytuje každú sekundu. Môžete ho získať z terminálu spustením príkazu vcgencmd s parametrom opatření_temp.
vcgencmd meraj_teplotu
Na vykonanie príkazu bola použitá knižnica Subprocess.check_output () a potom pomocou regulárneho výrazu extrahovaná aktuálna hodnota z vráteného reťazca.
z importu podprocesu check_output
from re import findalldef get_temp (): temp = check_output (["vcgencmd", "opatření_temp"]). decode () temp = float (findall ('\ d+\. / d+', temp) [0]) return (temp) print (get_temp ())
Po načítaní hodnoty teploty je potrebné odoslať údaje do cloudu ThingSpeak. Na zmenu premennej myApi v nižšie uvedenom kóde Pythonu použite svoj kľúč API API.
z žiadosti o import adresy URL
z opätovného importu findall z času import spánku z podprocesu import check_output myAPI = '###################' baseURL = 'https://api.thingspeak.com/update?api_key=% s ' % myAPIdef get_temp (): temp = check_output (["vcgencmd", "measure_temp"]). decode () 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) okrem KeyboardInterrupt: print ("Ukončiť stlačením Ctrl+C")
Krok 4: Ovládanie ventilátora na základe teploty
Skript Python zobrazený nižšie implementuje logiku, ktorá zapne ventilátor, keď teplota vystúpi nad teplotu tempOn, a vypne sa iba vtedy, keď teplota klesne pod prahovú hodnotu. Ventilátor sa tak nebude rýchlo zapínať a vypínať.
importujte RPi. GPIO ako GPIO
import sys from re import findall from time import sleep from subprocess import check_output def get_temp (): temp = check_output (["vcgencmd", "opatření_temp"]). decode () temp = float (findall ('\ d+\. / d+ ', temp) [0]) return (temp) try: GPIO.setwarnings (False) tempOn = 50 prah = 10 controlPin = 14 pinState = False GPIO.setmode (GPIO. BCM) GPIO.setup (controlPin, GPIO. OUT, initial = 0) while True: temp = get_temp () if temp> tempOn and not pinState or temp <tempOn - threshold and pinState: pinState = not pinState GPIO.output (controlPin, pinState) print (str (temp) + "" + str (pinState)) spánok (1) okrem KeyboardInterrupt: print ("ExitPress Ctrl+C") okrem: print ("Other Exception") print ("--- Start Exception Data:") traceback.print_exc (limit = 2, file = sys.stdout) print ("--- End Exception Data:") konečne: print ("CleanUp") GPIO.cleanup () print ("End of program")
Krok 5: Finálny kód Pythonu
Hlavný kód pythonu nájdete na mojom účte GitHub v nasledujúcom odkaze. Nezabudnite zadať svoj vlastný kľúč API rozhrania Write.
- Prihláste sa na svoju dosku Raspberry PI
- Na termináli spustite nasledujúci príkaz
python3 cpu.py
Krok 6: Monitorovanie údajov prostredníctvom cloudu Thingspeak
Po chvíli otvorte svoj kanál na ThingSpeak a mali by ste vidieť, ako sa teplota nahráva do cloudu Thingspeak v reálnom čase.
Krok 7: Spustite skript Python pri spustení
Ak to chcete urobiť, na konci súboru /etc/rc.local:
sudo nano /etc/rc.local
Pred ukončenie riadka 0 musíte umiestniť príkaz na spustenie skriptu:
sudo python /home/pi/cpu.py &
Prítomnosť symbolu & na konci príkazu je povinná, pretože ide o príznak na spustenie procesu na pozadí. Po reštarte sa skript automaticky spustí a ventilátor sa zapne, keď sú splnené stanovené podmienky.
Odporúča:
Ovládajte svoje zariadenie pomocou systému Android WiFi Esp8266 Ovládanie: 6 krokov
Ovládajte svoje zariadenie pomocou Android WiFi Ovládanie Esp8266: teraz budeme vedieť, ako ovládať zariadenia pomocou WiFi modulu esp8266 a Arduino ovládať vaše zariadenie pomocou Android WiFi ovládania, aby ste získali ďalšie informácie. kliknite na odkaz mohamed ashraf
Inteligentné záhradníctvo a inteligentné poľnohospodárstvo založené na IoT pomocou systému ESP32: 7 krokov
Inteligentné záhradníctvo založené na IoT a inteligentné poľnohospodárstvo pomocou systému ESP32: Svet sa mení v čase a tiež v poľnohospodárstve. V dnešnej dobe ľudia integrujú elektroniku do všetkých oblastí a poľnohospodárstvo v tomto nie je výnimkou. Toto zlúčenie elektroniky v poľnohospodárstve pomáha poľnohospodárom a ľuďom, ktorí spravujú záhrady. V tomto
Ovládanie jasu Ovládanie LED na báze PWM pomocou tlačidiel, Raspberry Pi a Scratch: 8 krokov (s obrázkami)
Ovládanie jasu Ovládanie LED na základe PWM pomocou tlačidiel, Raspberry Pi a Scratch: Snažil som sa nájsť spôsob, ako vysvetliť, ako PWM funguje u mojich študentov, a tak som si dal za úlohu pokúsiť sa ovládať jas LED pomocou dvoch tlačidiel. - jedno tlačidlo zvyšuje jas LED diódy a druhé ju stmieva. Programovať
ESP8266 RGB LED STRIP WIFI ovládanie - NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi - Ovládanie smartfónu RGB LED STRIP: 4 kroky
ESP8266 RGB LED STRIP WIFI ovládanie | NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi | Ovládanie smartfónu RGB LED STRIP: Ahoj, v tomto návode sa naučíme, ako používať nodemcu alebo esp8266 ako IR diaľkové ovládanie na ovládanie RGB LED pásu a Nodemcu budete ovládať smartfónom cez wifi. V zásade teda môžete RGB LED STRIP ovládať pomocou svojho smartfónu
Ovládanie podsvietenia fotoaparátu RGB pomocou mobilného systému Android: 6 krokov
Ovládanie podsvietenia kamery RGB pomocou mobilného telefónu s Androidom: RGB svetlá v porovnaní s tromi LED svetlami červená, zelená & Modrá. Úpravou jasu LED diódy vytvoríme novú farbu. LED teda upravuje jas pomocou kódov (0-255). ►Keďže sú diódy LED veľmi blízko seba, vidíme iba konečné farby