Sadržaj:

Kako izgraditi monitor temperature Raspberry Pi: 9 koraka
Kako izgraditi monitor temperature Raspberry Pi: 9 koraka

Video: Kako izgraditi monitor temperature Raspberry Pi: 9 koraka

Video: Kako izgraditi monitor temperature Raspberry Pi: 9 koraka
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Studeni
Anonim
Kako izgraditi monitor temperature Raspberry Pi
Kako izgraditi monitor temperature Raspberry Pi

Temperatura i vlaga vitalni su podaci u današnjem industrijskom svijetu. Nadzor podataka o okolišu za poslužiteljske prostorije, komercijalne zamrzivače i proizvodne linije neophodan je kako bi stvari nesmetano funkcionirale. Postoji mnogo rješenja u rasponu od osnovnih do složenih i može se činiti neodoljivim o tome što vašem poslu treba i odakle započeti.

Proći ćemo kroz kako pratiti temperaturu pomoću Raspberry Pi -a i različitih temperaturnih senzora koje možete koristiti. Ovo je dobro mjesto za početak jer su ova rješenja jeftina, laka za napraviti i daju vam temelje za nadogradnju za drugi monitoring okoliša.

Pribor

  • Raspberry Pi (3, 4 ili nula WH)
  • Senzor temperature (DHT2, DSB18B20, BME280 ili Sense HAT)
  • 6 "40-pinski IDE produžni kabel muški na ženski (Sense HAT rješenje)
  • 10K otpornik, pločica, 40-pinska razvodna ploča + vrpčani kabel, žice (za rješenje DSB18B20)

Korak 1: Raspberry Pi

Raspberry Pi je jeftino jednopločno računalo koje će vam omogućiti povezivanje s temperaturnim senzorom i strujanje podataka u softver za vizualizaciju podataka. Raspberry Pi su započeli kao alat za učenje, a evoluirali su do alata za industrijsko radno mjesto. Jednostavnost korištenja i mogućnost kodiranja s Pythonom, najbrže rastućim programskim jezikom, učinili su ih rješenjem.

Željet ćete Raspberry Pi s ugrađenim WiFi -om, bilo koji model 3, 4 i nula W/WH. Između onih koje možete birati na temelju cijene i značajki. Zero W/WH je najjeftiniji, ali ako vam je potrebno više funkcija, možete birati između 3 i 4. Možete kupiti samo jedan Zero W/WH odjednom zbog ograničenja Raspberry Pi Foundation. Koji god Pi odaberete, svakako kupite punjač jer ćete tako napajati Pi i SD karticu s Raspbian -om kako bi instalacija operativnog sustava bila što lakša.

Postoje i druga jednokrilna računala koja također mogu raditi, ali to je za drugi put i drugi članak.

Korak 2: Senzori

Preporučujemo korištenje tri senzora jer su jeftini, lako se povezuju i daju točna očitanja; DSB18B20, DHT22 i Raspberry Pi Sense HAT.

DHT22 - Ovaj osjetnik temperature i vlažnosti ima temperaturnu točnost od +/- 0,5 C i raspon vlažnosti od 0 do 100 posto. Lako je spojiti na Raspberry Pi i ne zahtijevaju nikakve otpornike.

DSB18B20 - Ovaj temperaturni senzor ima digitalni izlaz, koji dobro radi s Raspberry Pi. Ima tri žice i zahtijeva vezu i otpornik za povezivanje.

BME280 - Ovaj senzor mjeri temperaturu, vlažnost i barometarski tlak. Može se koristiti u SPI i I2C.

Sense HAT - Ovo je dodatak na ploči za Raspberry Pi koji ima LED diode, senzore i maleni joystick. Povezuje se izravno s GPIO -om na Raspberry Pi -u, ali pomoću vrpčnog kabela dobivate točnija očitanja temperature.

Korak 3: Postavljanje Raspberry Pi

Ako je ovo prvi put da postavljate svoj Raspberry Pi, morat ćete instalirati Raspbian operacijski sustav i povezati svoj Pi na WiFi. To će zahtijevati monitor i tipkovnicu za povezivanje s Pi. Nakon što ga pokrenete i povežete na WiFI, vaš Pi je spreman za rad.

Korak 4: Početni državni račun

Početni državni račun
Početni državni račun
Početni državni račun
Početni državni račun

Morat ćete negdje poslati svoje podatke kako biste vodili povijesni dnevnik i pregledavali tok podataka u stvarnom vremenu, pa ćemo koristiti početno stanje. Idite na https://iot.app.initialstate.com i stvorite novi račun ili se prijavite na svoj postojeći račun.

Zatim moramo instalirati Python modul početnog stanja na vaš Pi. U naredbenom retku (ne zaboravite prvo unijeti SSH u svoj Pi), pokrenite sljedeću naredbu:

$ cd/home/pi/

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Nakon što unesete naredbu curl u naredbeni redak, na zaslonu ćete vidjeti nešto slično sljedećem izlazu:

pi@raspberrypi ~

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash Lozinka: Počinje ISStreamer Python Laka instalacija! Ovo može potrajati nekoliko minuta za instalaciju, uzmite kavu:) Ali ne zaboravite se vratiti, imat ću pitanja kasnije! Nađeno easy_install: setuptools 1.1.6 Pronađeno pip: pip 1.5.6 iz /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) glavna verzija pipa: 1 mala verzija pipa: 5 ISStreamer je pronađen, ažurira se … Zahtev je već ažuriran: ISStreamer u /Library/Python/2.7/site-packages Cleaning… Želite li automatski dobiti primjer skripte? [y/N] Gdje želite spremiti primjer? [zadano:./is_example.py] Molimo odaberite aplikaciju početnog stanja koju koristite: 1. app.initialstate.com 2. [NOVO!] iot.app.initialstate.com Unesite izbor 1 ili 2: Unesite iot.app.initialstate.com korisničko ime: Unesite lozinku iot.app.initialstate.com:

Kada se od vas zatraži da automatski nabavite primjer skripte, upišite y. Ovo će stvoriti testnu skriptu koju možemo pokrenuti kako bismo bili sigurni da možemo strujati podatke u početno stanje. Sljedeći upit će vas upitati gdje želite spremiti datoteku primjera. Možete unijeti prilagođeni lokalni put ili pritisnuti enter da biste prihvatili zadanu lokaciju. Na kraju će vas pitati koju aplikaciju Initial State koristite. Ako ste nedavno stvorili račun, odaberite opciju 2, unesite svoje korisničko ime i lozinku. Nakon toga instalacija će biti dovršena.

Pogledajmo primjer skripte koja je stvorena.

$ nano is_example.py

U retku 15 vidjet ćete redak koji počinje sa streamer = Streamer (bucket_…. Ovi retci stvaraju novu podatkovnu gomilu pod nazivom „Primjer Python Stream -a“i povezani su s vašim računom. To povezivanje događa se zbog access_key =”…“parametar na istom retku. Taj dugi niz slova i brojki ključ je za pristup vašem računu početnog stanja. Ako u svom web pregledniku otvorite račun početnog stanja, kliknite svoje korisničko ime u gornjem desnom kutu, a zatim idite na "moje postavke", taj isti pristupni ključ pronaći ćete ovdje u odjeljku "Pristupni ključevi za strujanje".

Svaki put kada stvorite podatkovni tok, taj pristupni ključ usmjerit će taj podatkovni tok na vaš račun (stoga nemojte ni s kim dijeliti svoj ključ).

Pokrenite testnu skriptu kako biste bili sigurni da možemo stvoriti tok podataka na vaš račun početnog stanja. Pokrenite sljedeće:

$ python je_example.py

Vratite se na početno stanje računa u svom web pregledniku. Nova podatkovna korpa pod nazivom „Primjer Python Stream -a“trebala se pojaviti s lijeve strane na polici vašeg dnevnika (možda ćete morati osvježiti stranicu). Kliknite na ovu kantu, a zatim kliknite na ikonu Valovi za pregled podataka o ispitivanju

Ako koristite Python 3, možete instalirati početni modul streamera koji možete instalirati pomoću sljedeće naredbe:

pip3 instalirajte ISStreamer

Sada smo spremni za postavljanje temperaturnog osjetnika s Pi -om za prenošenje temperature na nadzornu ploču.

Korak 5: DHT22 rješenje

Rješenje DHT22
Rješenje DHT22

DHT22 će imati tri pina - 5V, Gnd i podatke. Na DHT22 bi trebala biti oznaka pin -a za napajanje (npr. "+" Ili "5V"). Spojite ovo na pin 2 (gornji desni pin, 5V) na Pi. Gnd pin će imati oznaku '-' ili 'Gnd' ili nešto ekvivalentno. Spojite ga na pin 6 Gnd (dva pina ispod 5V pina) na Pi. Preostali pin na DHT22 je pin podataka i bit će označen kao 'out' ili 's' ili 'data'. Spojite ga na jedan od GPIO pinova na Pi, poput GPIO4 (pin 7). Kad se ovo poveže, uključite svoj Pi.

Instalirajte Adafruit DHT Python modul u naredbeni redak kako biste čitanje podataka senzora DHT22 učinili vrlo jednostavnim:

$ sudo pip instalirajte Adafruit_DHT

S instaliranim operativnim sustavom zajedno s dva Python modula za čitanje podataka senzora i slanje podataka u početno stanje, spremni smo za pisanje naše skripte Python. Sljedeća skripta će stvoriti/dodati u podatkovnu sekciju početnog stanja, pročitati podatke senzora DHT22 i poslati te podatke na nadzornu ploču u stvarnom vremenu. Sve što trebate učiniti je izmijeniti retke 6-11.

uvoz Adafruit_DHT

iz ISStreamer. Streamer import Vrijeme uvoza streamera# --------- Korisničke postavke --------- SENSOR_LOCATION_NAME = "Ured" BUCKET_NAME = ": djelomično_sunčno: Temperature u prostoriji" BUCKET_KEY = "rt0129" ACCESS_KEY = "OVDJE KLJUČITE SVOJ POČETNI DRŽAVNI PRISTUP" MINUTES_BETWEEN_READS = 10METRIC_UNITS = Netačno # --------------------------------- streamer = Niz (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) dok je True: vlažnost, temp_c = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) ako je METRIC_UNITS: streamer.log (SENSOR_, Temp. "SOC"): temp_f = format (temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Temperatura (F)", temp_f) vlažnost = format (vlažnost, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Vlažnost (%)", vlažnost) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)

  • Red 6 - Ova vrijednost treba biti jedinstvena za svaki čvor/osjetnik temperature. To može biti naziv sobe vašeg čvora senzora, fizička lokacija, jedinstveni identifikator ili bilo što drugo. Samo provjerite je li jedinstven za svaki čvor kako biste bili sigurni da podaci s ovog čvora idu u vlastiti tok podataka na vašoj nadzornoj ploči.
  • Redak 7 - Ovo je naziv spremišta podataka. To se može promijeniti u bilo kojem trenutku u korisničkom sučelju početnog stanja.
  • Red 8 - Ovo je vaš ključ kante. To mora biti isti ključ spremnika za svaki čvor koji želite prikazati na istoj nadzornoj ploči.
  • Redak 9 - Ovo je ključ za pristup vašem računu početnog stanja. Kopirajte i zalijepite ovaj ključ s računa početnog stanja.
  • Red 10 - Ovo je vrijeme između očitanja senzora. Promijenite u skladu s tim.
  • Redak 11 - U retku 11 možete navesti metričke ili imperijalne jedinice.

Nakon što ste postavili retke 6-11 u Python skripti na svom Pi, spremite i izađite iz uređivača teksta. Pokrenite skriptu sa sljedećom naredbom:

$ python tempsensor.py

Sada ćete podatke slati na nadzornu ploču početnog stanja. Idite na posljednji odjeljak ovog članka za detalje o tome kako prilagoditi nadzornu ploču.

Korak 6: Rješenje DSB18B20

Rješenje DSB18B20
Rješenje DSB18B20
Rješenje DSB18B20
Rješenje DSB18B20

Vrpčasti kabel povezuje se s GPIO pinovima na Pi. DS18B20 ima tri žice. Crvena žica spaja se na 3.3V. Plavo/crna žica spaja se na masu. Žuta žica spaja se na pull-up otpornik/iglu 4. Nakon što se ovo ožiči, uključite Pi.

Najnovija verzija Raspbiana (kernel 3.18) zahtijeva dodatak vašoj /boot/config.txt datoteci kako bi Pi komunicirao s DS18B20. Za uređivanje ove datoteke pokrenite sljedeće:

$ sudo nano /boot/config.txt

Ako sljedeći redak već nije u ovoj datoteci (ako jest, vjerojatno je pri dnu datoteke), dodajte ga i spremite datoteku.

dtoverlay = w1-gpio, gpiopin = 4

Ponovo pokrenite Pi da bi promjene stupile na snagu.

$ sudo ponovno podizanje sustava

Za pokretanje sučelja za čitanje osjetnika temperature moramo pokrenuti dvije naredbe. Idite na naredbeni redak na svom Pi ili SSH u svom Pi. Upišite sljedeće naredbe:

$ sudo modprobe w1-gpio $ sudo modprobe w1-therm

Izlaz vašeg senzora temperature sada se zapisuje u datoteku na vašem Pi. Da biste pronašli tu datoteku:

$ cd/sys/sabirnica/w1/uređaji

U ovom direktoriju će se nalaziti poddirektorij koji počinje sa „28-“. Nakon “28-” dolazi serijski broj vašeg senzora. cd u taj direktorij. Unutar ovog direktorija datoteka s imenom w1_slave sadrži izlaz vašeg senzora. Upotrijebite nano za pregled sadržaja datoteke. Nakon što unesete datoteku, ona će izgledati otprilike ovako:

a2 01 4b 46 7f ff 0e 10 d8: crc = d8 DAa2 01 4b 46 7f ff 0e 10 d8 t = 26125

Broj iza "t =" je broj koji želimo. Ovo je temperatura u 1/1000 stupnjeva Celzijusa (u gornjem primjeru temperatura je 26.125 C). Trebamo samo jednostavan program koji čita ovu datoteku i raščlanjuje taj broj. Doći ćemo do toga za samo sekundu.

Sada je sve spremno za početak protoka podataka. Da biste otvorili uređivač teksta, u naredbeni redak upišite sljedeće:

$ nano temperature.py

Kopirajte i zalijepite donji kod u uređivač teksta.

uvoz os

import glob vrijeme uvoza iz ISStreamer. Streamer uvoz Streamerstreamer = Streamer (bucket_name = "Temperaturni tok", bucket_key = "piot_temp_stream031815", access_key = "PUT_YOUR_ACCESS_KEY_HERE") os.system ('modprobe w1-gpys') os -therm ') base_dir ='/sys/bus/w1/devices/'device_folder = glob.glob (base_dir + '28*') [0] device_file = device_folder + '/w1_slave' def read_temp_raw (): f = open (device_file, 'r') retki = f.readlines () f.close () povratni redovi def read_temp (): lines = read_temp_raw () dok su retci [0].strip () [-3:]! = 'YES': time.sleep (0.2) retci = read_temp_raw () equals_pos = lines [1].find ('t =') if equals_pos! = -1: temp_string = lines [1] [equals_pos+2:] temp_c = float (temp_string) / 1000.0 vraćanje temp_c dok je True: temp_c = read_temp () temp_f = temp_c * 9.0 / 5.0 + 32.0 streamer.log ("temperatura (C)", temp_c) streamer.log ("temperatura (F)", temp_f) vrijeme.spavanje (0,5)

Ključ za pristup početnom stanju morate staviti u redak 6 umjesto PUT_YOUR_ACCESS_KEY_HERE (kopirajte ključ za streaming u međuspremnik iz 'Moj račun' i zalijepite ga u kod u nano na vašem terminalu).

Redak 6 stvorit će kantu pod nazivom "Temperaturni tok" na vašem računu početnog stanja (pod pretpostavkom da ste ispravno naveli svoj access_key u ovom istom retku). Redci 8 do 30 ove skripte jednostavno se povezuju sa senzorom DS18B20 kako bi očitali njezinu temperaturu iz datoteke w1_slave o kojoj smo ranije govorili. Funkcija read_temp_raw () u retku 15 čita neobrađenu datoteku w1_slave. Funkcija read_temp () u retku 21 raščlanjuje temperaturu iz te datoteke. Linija 34 poziva ove funkcije kako bi dobila trenutnu temperaturu. Linija 35 pretvara temperaturu iz Celzijevih u Fahrenheitove. Reci 35 i 36 prenose temperaturu na vaš račun početnog stanja. Redak 37 pauzira skriptu na 0,5 sekundi, postavljajući koliko često će se osjetnik temperature čitati i emitirati.

Spremni smo za početak streaminga. Pokrenite sljedeću naredbu:

$ sudo python temperature.py

Vratite se na svoj račun početnog stanja u svom web pregledniku i potražite novu podatkovnu kantu pod nazivom Temperature Stream. Trebali biste vidjeti prijenos podataka o temperaturi uživo. Promijenite temperaturu senzora držeći ga u ruci ili stavljajući u čašu leda.

Sada ćete slati podatke na nadzornu ploču početnog stanja. Idite na posljednji odjeljak ovog članka za detalje o tome kako prilagoditi nadzornu ploču.

Korak 7: Rješenje BME280

Za izradu ovog rješenja trebat će vam sljedeće:

-BME280 Senzor pritiska, temperature i vlage

Ovaj senzor dolazi s iglama koje ćete morati lemiti na senzoru. Preporučujem upotrebu matične ploče s dugim iglama prema dolje u matičnu ploču radi lakšeg lemljenja. Nakon što ovo dovršite, moramo spojiti senzor na Pi.

Spojite VIN pin na senzoru na 3.3V pin 1 na Pi. Spojite pin GND na osjetnik uzemljenja pin 6 na Pi. Spojite SCK pin na senzoru na SCL pin 5 na Pi. Spojite SDI pin na senzoru na SDA pin 3 na Pi. Za ovo rješenje morate koristiti Python 3 i instalirati modul Initial State Streamer koristeći pip3 metodu instaliranja.

Također ćete morati instalirati nekoliko Adafruit Python knjižnica.

pip3 instalirati adafruit-blinkapip3 instalirati pureio pip3 instalirati spidev pip3 instalirati adafruit-GPIO pip3 instalirati adafruit-circuitpython-bme280

Za korištenje senzora moramo omogućiti I2C na Pi.

sudo raspi-config

Ovo će otvoriti Raspberry Pi Software Configuration Tool. Idite na opciju 5 Opcije sučelja. Odavde idite na I2C. Od vas će se zatražiti da li želite omogućiti I2C, odaberite Da i Završi. Sada imate omogućen I2C za komunikaciju sa senzorom.

To možemo isprobati na sljedeći način:

sudo i2cdetect -y 1

Ovo će potvrditi da vaš Pi vidi senzor. Način na koji je spojen, trebao bi prikazati senzor na adresi 77. Ako ne otkrijete senzor, ponovno pokrenite svoj Pi, ponovno omogućite opciju sučelja I2C na vašem Pi i pokušajte ponovno. Nakon što je vaš senzor otkriven, vrijeme je za pokretanje našeg glavnog koda koji će slati podatke u početno stanje. Kreirao je datoteku pod nazivom bme280sensor.py s nano naredbom. Kopirajte i zalijepite kôd iz srži u uređivač teksta. Morat ćete promijeniti redove 12-19.

vrijeme uvoza

import board import busio import adafruit_bme280 iz ISStreamer. Streamer import Streamer # Stvorite objekt knjižnice pomoću naše sabirnice I2C porti2c = busio. I2C (board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- -Korisničke postavke --------- SENSOR_LOCATION_NAME = "Ured" BUCKET_NAME = ": djelomično_sunčano: Sobna temperatura" BUCKET_KEY = "temp1" ACCESS_KEY = "VAŠ KLJUČ ZA PRISTUP" # promijenite ovo tako da odgovara pritisku lokacije (hPa) na razini mora bme280.sea_level_pressure = 1013,25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = False # --------------------------------- # ILI stvorite objekt knjižnice koristeći naš SPI port sabirnice #spi = busio. SPI (board. SCK, board. MOSI, board. MISO) #bme_cs = digitalio. DigitalInOut (board. D10) #bme280 = adafruit_bme280. Adafruit_BME280_SPI (spi, bme_cs) streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) dok je True: vlažnost = format (bme280.humidity, ".1f") pressure = format (bme280.pressure, ".1f") temp_c = bme280.temperatu re if METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Temperatura (C)", temp_c) else: temp_f = format (temp_c * 9.0 / 5.0 + 32.0, ".1f") streamer.log (SENSOR_LOCATION_NAME + "Temperatura (F)", temp_f) streamer.log (SENSOR_LOCATION_NAME + "Vlažnost (%)", vlažnost) streamer.log (SENSOR_LOCATION_NAME + "Tlak (hPA)", tlak) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)

  • Red 12- Ova vrijednost treba biti jedinstvena za svaki čvor/osjetnik temperature. To može biti naziv sobe vašeg čvora senzora, fizička lokacija, jedinstveni identifikator ili bilo što drugo. Samo provjerite je li jedinstven za svaki čvor kako biste bili sigurni da podaci iz ovog čvora idu u vlastiti tok podataka na vašoj nadzornoj ploči.
  • Redak 13- Ovo je naziv spremišta podataka. To se može promijeniti u bilo kojem trenutku u korisničkom sučelju početnog stanja.
  • Redak 14- Ovo je vaš ključ kante. To mora biti isti ključ spremnika za svaki čvor koji želite prikazati na istoj nadzornoj ploči.
  • Redak 15- Ovo je ključ za pristup vašem računu početnog stanja. Kopirajte i zalijepite ovaj ključ s računa početnog stanja.
  • Linija 17- Ovo je tlak vaše lokacije (hPa) na razini mora. Ove informacije možete pronaći na većini vremenskih web stranica.
  • Red 18 - Ovo je vrijeme između očitanja senzora. Promijenite u skladu s tim. Red 19- Ovdje možete odrediti metričke ili imperijalne jedinice.

Nakon što ste postavili retke 12–19 u Python skripti na svom Pi Zero WH, spremite i izađite iz uređivača teksta. Pokrenite skriptu sa sljedećom naredbom:

$ python3 bme280sensor.py

Sada ćete slati podatke na nadzornu ploču početnog stanja. Idite na posljednji odjeljak ovog članka za detalje o tome kako prilagoditi nadzornu ploču.

Korak 8: Osjetite ŠEŠIR

Sense HAT
Sense HAT
Sense HAT
Sense HAT

Prvi korak u korištenju Sense HAT -a je fizička instalacija na vaš Pi. Kad je Pi isključen, pričvrstite ŠEŠIR kako je prikazano na slici.

Ako odlučite koristiti rješenje kako je gore prikazano, možda ćete primijetiti da će očitanja temperature vašeg Sense HAT -a biti malo visoka - to je zato što jesu. Krivac je toplina proizvedena iz Pi -jevog CPU -a zagrijavajući zrak oko Sense HAT -a dok sjedi na vrhu Pi -a. Da bi senzor temperature bio koristan, moramo ili odmaknuti HAT od Pi ili pokušati kalibrirati očitanje osjetnika temperature. Dobro rješenje za odvajanje senzora od Pi je kabel koji omogućuje da Sense HAT visi dalje od Pi. 6 , 40-pinski IDE kabel produžnog kabela s muškim na ženski spoj će uspjeti.

Kad se odlučite za dvije opcije, uključite svoj Pi. Moramo instalirati knjižnicu Python kako bismo olakšali čitanje vrijednosti senzora iz Sense HAT -a. Prvo ćete morati osigurati da je sve ažurirano na vašoj verziji Raspbiana:

$ sudo apt-get ažuriranje

Zatim instalirajte knjižnicu Sense HAT Python:

$ sudo apt-get install sense-hat

Ponovo pokrenite Pi. Spremni smo testirati Sense HAT čitanjem podataka senzora s njega i slanjem tih podataka u početno stanje.

Izradite datoteku pod nazivom sensehat i otvorite je u uređivaču teksta unosom sljedeće u naredbeni redak:

$ nano sensehat.py

Kopirajte i zalijepite donji kod u uređivač teksta.

from sense_hat uvoz SenseHat

import time import sys from ISStreamer. Streamer import Streamer # --------- Korisničke postavke --------- BUCKET_NAME = "Vrijeme u uredu" BUCKET_KEY = "sensehat" ACCESS_KEY = "Vaš_Access_Key" SENSOR_LOCATION_NAME = " Ured "MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # --------------------------------- streamer = Streamer (ime kante = BUCKET_NAME, kanta_key = BUCKET_KEY, access_key = ACCESS_key 32.0 temp_f = plovak ("{0:.2f}". Format (temp_f)) vlažnost = plovak ("{0:.2f}". Format (vlažnost)) pressure_in = 0.03937008*(pressure_mb) pressure_in = float ("{ 0:.2f} ". Format (pressure_in)) # Ispis i strujanje ispisa SENSOR_LOCATION_NAME +" Temperatura (F): " + str (temp_f) ispis SENSOR_LOCATION_NAME +" Vlažnost (%): " + str (vlažnost) ispis SENSOR_LOCATION_NAME +" Tlak (IN): " + str (pressure_in) streamer.log (": sunny: " + SEN SOR_LOCATION_NAME + "Temperatura (F)", temp_f) streamer.log (": sweat_drops:" + SENSOR_LOCATION_NAME + "Vlažnost (%)", vlažnost) streamer.log (": cloud:" + SENSOR_LOCATION_NAME + "Tlak (IN)", pressure_in) streamer.flush () time.sleep (60*MINUTES_BETWEEN_SENSEHAT_READS)

U prvom retku primijetite da uvozimo knjižnicu SenseHat u skriptu. Prije nego pokrenete ovu skriptu, moramo postaviti naše korisničke parametre.

# --------- Korisničke postavke ---------

BUCKET_NAME = "Vrijeme u uredu" BUCKET_KEY = "sensehat" ACCESS_KEY = "Vaš_Access_Key" SENSOR_LOCATION_NAME = "Ured" MINUTES_BETWEEN_SENSEHAT_READS = 0.1# ------------------------- --------

Konkretno, morate postaviti svoj ACCESS_KEY na ključ pristupa računu početnog stanja. Možete promijeniti BUCKET_NAME i SENSOR_LOCATION_NAME na stvarnu lokaciju senzora. Spremite i izađite iz uređivača teksta.

U naredbenom retku na svom Pi pokrenite skriptu:

$ sudo python sensehat.py

Sada ćete slati podatke na nadzornu ploču početnog stanja. Idite na posljednji odjeljak ovog članka za detalje o tome kako prilagoditi nadzornu ploču.

Korak 9: Prilagodite početnu nadzornu ploču stanja

Prilagodite početnu nadzornu ploču stanja
Prilagodite početnu nadzornu ploču stanja

Idite na svoj račun početnog stanja i pogledajte svoje podatke. Možete kliknuti desnom tipkom miša na pločicu za promjenu vrste grafikona i kliknite Uredi pločice za promjenu veličine i pomicanje pločica. Preporučio bih korištenje termostata za mjerenje temperature i razine tekućine za mjerenje vlage. Možete stvoriti linijske grafikone za temperaturu i vlažnost kako biste vidjeli promjene tijekom vremena. Na nadzornu ploču možete dodati i pozadinsku sliku.

Možete postaviti upozorenja okidača tako da možete dobiti SMS ili e -poruku ako temperatura padne ispod ili pređe određeni prag. Idite u svoju podatkovnu korpu i kliknite postavke. Odatle idite na karticu Okidači. Unesite ključ streama koji želite nadzirati, operatora kojeg želite koristiti i vrijednost praga. Pritisnite znak plus da biste dodali okidač. Zatim ćete unijeti svoju e -adresu ili telefonski broj na koji ćete primiti upozorenje i kliknuti znak plus. Nakon što postavite sve okidače, kliknite gumb Gotovo pri dnu.

Sada kada ste stvorili monitor temperature pomoću senzora temperature i Raspberry Pi, možete početi razmišljati o tome koje druge podatke o okolišu možete sljedeće pratiti.

Preporučeni: