Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Temperatura in vlažnost sta pomembni podatkovni točki v današnjem industrijskem svetu. Spremljanje okoljskih podatkov za strežniške sobe, komercialne zamrzovalnike in proizvodne linije je potrebno za nemoteno delovanje. Obstaja veliko rešitev, od osnovnih do zapletenih in zdi se, da je ogromno, kaj vaše podjetje potrebuje in kje začeti.
Govorili bomo o tem, kako spremljati temperaturo z Raspberry Pi in različnimi temperaturnimi senzorji, ki jih lahko uporabite. To je dobro mesto za začetek, saj so te rešitve poceni, enostavne za izvedbo in vam dajejo podlago za gradnjo drugega spremljanja okolja.
Zaloge
- Raspberry Pi (3, 4 ali nič WH)
- Temperaturni senzor (DHT2, DSB18B20, BME280 ali Sense HAT)
- 6-palčni 40-polni IDE podaljšek moški-ženski (rešitev Sense HAT)
- 10K upor, plošča, 40-pinska prelomna plošča + tračni kabel, žice (za rešitev DSB18B20)
Korak: Raspberry Pi
Raspberry Pi je poceni enokanalni računalnik, ki vam omogoča povezavo s temperaturnim senzorjem in pretakanje podatkov v programsko opremo za vizualizacijo podatkov. Raspberry Pi se je začel kot učno orodje in se razvil v orodje za industrijsko delovno mesto. Zaradi enostavnosti uporabe in zmožnosti kodiranja s Pythonom, najhitreje rastočim programskim jezikom, je prišlo do rešitve.
Želeli boste Raspberry Pi, ki ima vgrajen WiFi, kateri koli model 3, 4 in nič W/WH. Med tistimi, ki jih lahko izbirate glede na cene in funkcije. Zero W/WH je najcenejši, če pa potrebujete več funkcionalnosti, lahko izbirate med 3 in 4. Zaradi omejitev Fundacije Raspberry Pi lahko hkrati kupite samo eno Zero W/WH. Ne glede na Pi, ki ga izberete, ne pozabite kupiti polnilnika, saj boste tako napajali Pi in kartico SD z Raspbian, da bo namestitev operacijskega sistema čim lažja.
Obstajajo lahko tudi drugi enosmerni računalniki, vendar to je za drugič in za drug članek.
2. korak: Senzorji
Priporočamo uporabo treh senzorjev, ker so poceni, enostavni za povezavo in dajejo natančne odčitke; DSB18B20, DHT22 in Raspberry Pi Sense HAT.
DHT22 - Ta senzor temperature in vlažnosti ima temperaturno natančnost +/- 0,5 C in območje vlažnosti od 0 do 100 odstotkov. Priključitev na Raspberry Pi je preprosta in ne zahteva nobenih uporovnih uporov.
DSB18B20 - Ta temperaturni senzor ima digitalni izhod, ki dobro deluje z Raspberry Pi. Ima tri žice in za povezavo potrebuje ploščico in upor.
BME280 - Ta senzor meri temperaturo, vlažnost in barometrični tlak. Uporablja se lahko tako v SPI kot I2C.
Sense HAT - To je dodatek za Raspberry Pi, ki ima LED, senzorje in drobno igralno palico. Povezuje se neposredno z GPIO na Raspberry Pi, vendar vam s tračnim kablom omogoča natančnejše odčitavanje temperature.
3. korak: Nastavitev Raspberry Pi
Če prvič nastavljate svoj Raspberry Pi, boste morali namestiti operacijski sistem Raspbian in svoj Pi povezati z WiFi. To bo zahtevalo monitor in tipkovnico za povezavo s Pi. Ko ga zaženete in povežete z WiFI, je vaš Pi pripravljen za uporabo.
4. korak: Začetni državni račun
Nekaj morate poslati, če želite voditi zgodovinski dnevnik in si ogledati tok podatkov v realnem času, zato bomo uporabili začetno stanje. Pojdite na https://iot.app.initialstate.com in ustvarite nov račun ali se prijavite v svoj obstoječi račun.
Nato moramo na vaš Pi namestiti modul začetnega stanja Python. V ukaznem pozivu (ne pozabite najprej vnesti SSH v svoj Pi) zaženite naslednji ukaz:
$ cd/home/pi/
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
Ko v ukazni poziv vnesete ukaz curl, boste na zaslonu videli nekaj podobnega naslednjemu izhodu:
pi@raspberrypi ~
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash Geslo: Začetek enostavne namestitve ISStreamer Python! To lahko traja nekaj minut za namestitev, popijte kavo:) Ampak ne pozabite se vrniti, pozneje bom imel vprašanja! Najdeno easy_install: setuptools 1.1.6 Najdeno pip: pip 1.5.6 iz /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) glavna različica pipa: 1 pip manjša različica: 5 ISStreamer je bil najden, se posodablja … Zahteva je že posodobljena: ISStreamer v /Library/Python/2.7/site-packages Cleaning… Ali želite samodejno dobiti primer skripta? [y/N] Kam želite shraniti primer? [privzeto:./is_example.py] Izberite aplikacijo začetnega stanja, ki jo uporabljate: 1. app.initialstate.com 2. [NOVO!] iot.app.initialstate.com Vnesite izbiro 1 ali 2: Vnesite iot.app Uporabniško ime.initialstate.com: Vnesite geslo iot.app.initialstate.com:
Ko boste pozvani, da samodejno dobite primer skripta, vnesite y. To bo ustvarilo preskusni skript, ki ga lahko zaženemo, da zagotovimo pretakanje podatkov v začetno stanje. Naslednji poziv vas bo vprašal, kam želite shraniti primer datoteke. Če želite sprejeti privzeto lokacijo, lahko vnesete lokalno pot po meri ali pritisnete enter. Na koncu boste vprašani, katero aplikacijo začetnega stanja uporabljate. Če ste pred kratkim ustvarili račun, izberite možnost 2, vnesite svoje uporabniško ime in geslo. Po tem bo namestitev končana.
Poglejmo primer skripta, ki je bil ustvarjen.
$ nano is_example.py
V vrstici 15 boste videli vrstico, ki se začne s streamer = Streamer (bucket_…. Te vrstice ustvarijo novo podatkovno zbirko z imenom »Primer Python Stream« in je povezana z vašim računom. To povezovanje se zgodi zaradi access_key = »…« v isti vrstici. Ta dolga vrsta črk in številk je ključ za dostop do računa za začetno stanje. Če v spletnem brskalniku odprete račun za začetno stanje, kliknite svoje uporabniško ime v zgornjem desnem kotu in pojdite na »moje nastavitve«, isti ključ za dostop boste našli tukaj pod “Ključi za dostop do pretočnega predvajanja”.
Vsakič, ko ustvarite podatkovni tok, bo ta dostopni ključ ta tok podatkov usmeril v vaš račun (zato ključa ne delite z nikomer).
Zaženite preskusni skript in se prepričajte, da lahko ustvarimo podatkovni tok v vašem računu začetnega stanja. Zaženite naslednje:
$ python is_example.py
V spletnem brskalniku se vrnite na račun začetnega stanja. Novo vedro podatkov, imenovano »Primer Python Stream«, bi se moralo prikazati na levi strani v dnevniku (morda boste morali osvežiti stran). Kliknite to vedro in nato ikono Waves za ogled podatkov o preskusu
Če uporabljate Python 3, lahko namestite začetni modul pretakanja stanja, ki ga lahko namestite z naslednjim ukazom:
pip3 namestite ISStreamer
Zdaj smo pripravljeni nastaviti temperaturni senzor s Pi za pretakanje temperature na armaturno ploščo.
5. korak: Rešitev DHT22
DHT22 bo imel tri zatiče - 5V, Gnd in podatkov. Za napajanje na DHT22 mora biti oznaka pin (npr. "+" Ali "5V"). Priključite ga na pin 2 (zgornji desni zatič, 5V) Pi. Zatič Gnd bo označen z '-' ali 'Gnd' ali podobnim. Priključite ga na pin 6 Gnd (dva zatiča pod 5V pin) na Pi. Preostali zatič na DHT22 je podatkovni zatič in bo označen z "out" ali "s" ali "data". To povežite z enim od zatičev GPIO na Pi, kot je GPIO4 (pin 7). Ko je to povezano, vklopite svoj Pi.
V ukazni poziv namestite modul Adafruit DHT Python, da bo branje podatkov senzorja DHT22 zelo preprosto:
$ sudo pip namestite Adafruit_DHT
Ker je naš operacijski sistem nameščen skupaj z dvema moduloma Python za branje senzorskih podatkov in pošiljanje podatkov v začetno stanje, smo pripravljeni pisati naš skript Python. Naslednji skript bo ustvaril/dodal podatkovnemu segmentu začetnega stanja, prebral podatke senzorja DHT22 in te podatke poslal na nadzorno ploščo v realnem času. Vse kar morate storiti je, da spremenite vrstice 6-11.
uvoz Adafruit_DHT
from ISStreamer. Streamer import Uvoz streamerja# --------- Uporabniške nastavitve --------- SENSOR_LOCATION_NAME = "Pisarna" BUCKET_NAME = ": delno_sunny: Sobne temperature" BUCKET_KEY = "rt0129" ACCESS_KEY = "TUKAJ KLJUČNO VSTOPITE SVOJ ZAČETNI DRŽAVNI DOSTOP" MINUTES_BETWEEN_READS = 10METRIC_UNITS = False # --------------------------------- streamer = Streamer (vedro_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) medtem ko je True: vlažnost, temp_c = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4), če je METRIC_UNITS: streamer.log (SENSOR_, Temperatura + 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)
- Vrstica 6 - Ta vrednost mora biti edinstvena za vsako vozlišče/temperaturni senzor. To je lahko ime sobe vašega vozlišča senzorja, fizična lokacija, edinstven identifikator ali karkoli drugega. Prepričajte se, da je edinstveno za vsako vozlišče, da zagotovite, da podatki iz tega vozlišča gredo v lasten tok podatkov na vaši nadzorni plošči.
- Vrstica 7 - To je ime podatkovnega segmenta. To lahko kadar koli spremenite v uporabniškem vmesniku začetnega stanja.
- Vrstica 8 - to je vaš ključ vedra. Za vsako vozlišče, ki ga želite prikazati na isti nadzorni plošči, mora biti isti ključ.
- 9. vrstica - to je ključ za dostop do vašega začetnega stanja. Kopirajte in prilepite ta ključ iz računa za začetno stanje.
- Vrstica 10 - To je čas med odčitki senzorja. Ustrezno spremenite.
- 11. vrstica - V 11. vrstici lahko določite metrične ali imperialne enote.
Ko nastavite vrstice 6–11 v skriptu Python na svojem Pi, shranite in zapustite urejevalnik besedil. Zaženite skript z naslednjim ukazom:
$ python tempsensor.py
Zdaj boste lahko podatke pošiljali na nadzorno ploščo začetnega stanja. Pojdite na zadnji del tega članka za podrobnosti o tem, kako prilagodite nadzorno ploščo.
6. korak: Rešitev DSB18B20
Tračni kabel se poveže z zatiči GPIO na Pi. DS18B20 ima tri žice. Rdeča žica se priključi na 3.3V. Modro/črna žica se poveže z ozemljitvijo. Rumena žica se poveže z vlečnim uporom/zatičem 4. Ko je ta priključen, vklopite Pi.
Najnovejša različica Raspbiana (jedro 3.18) potrebuje dodatek k datoteki /boot/config.txt, da Pi komunicira z DS18B20. Če želite urediti to datoteko, zaženite to:
$ sudo nano /boot/config.txt
Če naslednja vrstica še ni v tej datoteki (če je, je verjetno na dnu datoteke), jo dodajte in shranite datoteko.
dtoverlay = w1-gpio, gpiopin = 4
Znova zaženite Pi, da bodo spremembe začele veljati.
$ sudo ponovni zagon
Za zagon vmesnika za branje temperaturnega senzorja moramo zagnati dva ukaza. Pojdite v ukazni poziv na svojem Pi ali SSH v svojem Pi. Vnesite naslednje ukaze:
$ sudo modprobe w1-gpio $ sudo modprobe w1-therm
Izhod vašega temperaturnega senzorja se zdaj zapisuje v datoteko na vašem Pi. Če želite najti to datoteko:
$ cd/sys/bus/w1/devices
V tem imeniku bo podimenik, ki se začne z »28-«. Za "28-" je serijska številka vašega senzorja. cd v ta imenik. V tem imeniku datoteka z imenom w1_slave vsebuje izhod vašega senzorja. Za ogled vsebine datoteke uporabite nano. Ko vnesete datoteko, bo videti nekako takole:
a2 01 4b 46 7f ff 0e 10 d8: crc = d8 DAa2 01 4b 46 7f ff 0e 10 d8 t = 26125
Številka za "t =" je število, ki ga želimo. To je temperatura v 1/1000 stopinjah Celzija (v zgornjem primeru je temperatura 26,125 C). Potrebujemo samo preprost program, ki prebere to datoteko in razčleni to številko. Do tega bomo prišli v samo sekundi.
Zdaj je vse pripravljeno, da začnemo pretakati podatke. Če želite odpreti urejevalnik besedila, v ukazni poziv vnesite naslednje:
$ nano temperature.py
Kopirajte in prilepite spodnjo kodo v urejevalnik besedil.
uvoz os
uvoz glob čas 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' -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 = odprto (device_file, 'r') vrstice = f.readlines () f.close () vrnitev vrstic def read_temp (): vrstice = read_temp_raw () medtem ko vrstice [0].strip () [-3:]! = 'DA': time.sleep (0.2) vrstice = 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 vrne temp_c medtem ko 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) time.sleep (.5)
Ključ za dostop do začetnega stanja morate postaviti v vrstico 6 namesto PUT_YOUR_ACCESS_KEY_HERE (ključ za pretakanje kopirajte v odložišče iz »Moj račun« in ga prilepite v kodo v nano v svojem terminalu).
Vrstica 6 bo ustvarila vedro z imenom »Temperaturni tok« v vašem računu za začetno stanje (ob predpostavki, da ste v isti vrstici pravilno podali ključ za dostop). Vrstice 8 do 30 tega skripta se preprosto povežejo s senzorjem DS18B20 in odčitajo njegovo temperaturo iz datoteke w1_slave, o kateri smo govorili prej. Funkcija read_temp_raw () v vrstici 15 bere surovo datoteko w1_slave. Funkcija read_temp () v vrstici 21 razčleni temperaturo iz te datoteke. Vrstica 34 kliče te funkcije, da dobi trenutno temperaturo. Vrstica 35 pretvarja temperaturo iz Celzija v Fahrenheit. V vrsticah 35 in 36 se prenaša temperatura na vaš račun za začetno stanje. Vrstica 37 za 0,5 sekunde zaustavi skript in nastavi, kako pogosto bo temperaturni senzor prebran in pretočen.
Pripravljeni smo začeti pretakanje. Zaženite naslednji ukaz:
$ sudo python temperature.py
V spletnem brskalniku se vrnite na račun začetnega stanja in poiščite novo podatkovno vedro, imenovano Temperature Stream. V živo bi morali videti pretakanje podatkov o temperaturi. Spremenite temperaturo senzorja tako, da ga držite v roki ali postavite v kozarec ledu.
Zdaj boste lahko podatke pošiljali na nadzorno ploščo začetnega stanja. Pojdite na zadnji del tega članka za podrobnosti o tem, kako prilagodite nadzorno ploščo.
7. korak: Rešitev BME280
Za izdelavo te rešitve boste potrebovali naslednje:
-BME280 Senzor tlaka, temperature in vlažnosti
Ta senzor je opremljen z zatiči, ki jih boste morali spajkati na senzor. Za lažje spajkanje priporočam uporabo plošče z dolgimi zatiči navzdol. Ko to dokončate, moramo senzor priključiti na Pi.
Priključite pin VIN na senzorju na 3.3V pin 1 na Pi. Priključite zatič GND na senzor ozemljitveni zatič 6 na Pi. Priključite zatič SCK na senzorju na zatič SCL 5 na Pi. Priključite pin SDI na senzorju na pin 3 SDA na Pi. Za to rešitev boste morali uporabiti Python 3 in namestiti začetni preklopnik stanja z uporabo metode namestitve pip3.
Prav tako boste morali namestiti nekaj knjižnic Adafruit Python.
pip3 namestite adafruit-blinkapip3 namestite pureio pip3 namestite spidev pip3 namestite adafruit-GPIO pip3 namestite adafruit-circuitpython-bme280
Za uporabo senzorja moramo omogočiti I2C na Pi.
sudo raspi-config
S tem se odpre orodje za konfiguracijo programske opreme Raspberry Pi. Pojdite na možnost 5 Možnosti vmesnika. Od tu pojdite na I2C. Vprašal vas bo, ali želite omogočiti I2C, izberite Da in Dokončaj. Zdaj imate omogočen I2C za komunikacijo s senzorjem.
To lahko preizkusimo tako:
sudo i2cdetect -y 1
S tem boste preverili, ali vaš Pi vidi senzor. Način povezave mora prikazati senzor na naslovu 77. Če senzorja ne zaznate, znova zaženite Pi, znova omogočite možnost vmesnika I2C na svojem Pi in poskusite znova. Ko zaznate senzor, je čas za zagon naše glavne kode, ki bo pošiljala podatke v začetno stanje. Ustvaril je datoteko z imenom bme280sensor.py z ukazom nano. Kodo iz bistva kopirajte in prilepite v urejevalnik besedil. Spremeniti morate vrstice 12–19.
čas uvoza
uvoz plošče uvoz busio uvoz adafruit_bme280 iz ISStreamer. Streamer uvoz Streamer # Ustvarite knjižnični objekt z našim vodilom I2C porti2c = busio. I2C (board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- -Uporabniške nastavitve --------- SENSOR_LOCATION_NAME = "Pisarna" BUCKET_NAME = ": delno_sunčno: Sobna temperatura" BUCKET_KEY = "temp1" ACCESS_KEY = "VAŠ KLJUČ ZA DOSTOP" # spremenite tako, da ustreza pritisku lokacije (hPa) na morski gladini bme280.sea_level_pressure = 1013,25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = False # --------------------------------- # ALI ustvarite knjižnični objekt z uporabo našega vodila SPI port #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) medtem ko je True: vlažnost = format (bme280.humidity, ".1f") pressure = format (bme280.pressure, ".1f") temp_c = bme280.temperatu re če METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Temperatura (C)", temp_c) drugače: 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)
- Vrstica 12- Ta vrednost mora biti edinstvena za vsako vozlišče/temperaturni senzor. To je lahko ime sobe vašega vozlišča senzorja, fizična lokacija, edinstven identifikator ali karkoli drugega. Prepričajte se, da je edinstveno za vsako vozlišče, da zagotovite, da podatki iz tega vozlišča gredo v lasten tok podatkov na vaši nadzorni plošči.
- Vrstica 13- To je ime podatkovnega segmenta. To lahko kadar koli spremenite v uporabniškem vmesniku začetnega stanja.
- Vrstica 14- To je vaš ključ vedra. Za vsako vozlišče, ki ga želite prikazati na isti nadzorni plošči, mora biti isti ključ.
- Vrstica 15- To je ključ za dostop do vašega začetnega stanja. Kopirajte in prilepite ta ključ iz računa za začetno stanje.
- Vrstica 17- To je tlak vaše lokacije (hPa) na morski gladini. Te informacije najdete na večini vremenskih spletnih mest.
- Vrstica 18 - To je čas med odčitki senzorja. Skladno s tem se spremeni. Vrstica 19- Tu lahko določite metrične ali imperialne enote.
Ko nastavite vrstice 12–19 v skriptu Python na svojem Pi Zero WH, shranite in zapustite urejevalnik besedil. Zaženite skript z naslednjim ukazom:
$ python3 bme280sensor.py
Zdaj boste lahko podatke pošiljali na nadzorno ploščo začetnega stanja. Pojdite na zadnji del tega članka za podrobnosti o tem, kako prilagodite nadzorno ploščo.
8. korak: Sense HAT
Prvi korak pri uporabi Sense HAT je, da ga fizično namestite na svoj Pi. Ko je Pi izklopljen, pritrdite HAT, kot je prikazano na sliki.
Če se odločite za uporabo rešitve, kot je prikazano zgoraj, boste morda opazili, da bodo temperature vašega Sense HAT nekoliko visoke - to je zato, ker so. Krivec je toplota, ki nastane pri Pi -jevem CPU -ju in segreje zrak okoli Sense HAT -a, ko sedi na vrhu Pi -ja. Da bi bil temperaturni senzor uporaben, moramo bodisi odstraniti HAT od Pi ali poskusiti umeriti odčitek temperaturnega senzorja. Dobra rešitev za odmik senzorja od Pi je kabel, ki omogoča, da senzor HAT odmakne od Pi. 6-palčni, 40-polni IDE moški in ženski podaljšek kabla bo uspel.
Ko se odločite za dve možnosti, vklopite svoj Pi. Za lažje branje vrednosti senzorjev iz Sense HAT moramo namestiti knjižnico Python. Najprej morate zagotoviti, da je v vaši različici Raspbiana vse posodobljeno:
$ sudo apt-get posodobitev
Nato namestite knjižnico Sense HAT Python:
$ sudo apt-get install sense-hat
Znova zaženite Pi. Pripravljeni smo preizkusiti Sense HAT tako, da iz njega preberemo podatke senzorja in jih pošljemo v začetno stanje.
Ustvarite datoteko sensehat in jo odprite v urejevalniku besedil tako, da v ukazni poziv vnesete naslednjo datoteko:
$ nano sensehat.py
Kopirajte in prilepite spodnjo kodo v urejevalnik besedil.
iz sense_hat uvozi SenseHat
import time import sys iz ISStreamer. Streamer import Streamer # --------- Uporabniške nastavitve --------- BUCKET_NAME = "Vreme v pisarni" BUCKET_KEY = "sensehat" ACCESS_KEY = "Vaš_Access_Key" SENSOR_LOCATION_NAME = " Pisarna "MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # --------------------------------- streamer = Streamer (ime vedra = BUCKET_NAME, vedro_key = BUCKET_KEY, access_key = ACCESS_KEY) sense = SenseHat () while True: # Preberite senzorje temp_c = sense.get_temperature () vlažnost = sense.get_humidity () pressure_mb = sense.get_pressure () # Oblikujte podatke temp_f = temp_c * 9.0 / 5.0 + 32.0 temp_f = plavajoče ("{0:.2f}". Format (temp_f)) vlažnost = plavajoče ("{0:.2f}". Format (vlažnost)) pressure_in = 0.03937008*(pressure_mb) pressure_in = float ("{ 0:.2f} ". Format (pressure_in)) # Natisnite in pretočno tiskajte SENSOR_LOCATION_NAME +" Temperatura (F): " + str (temp_f) natisnite SENSOR_LOCATION_NAME +" Vlažnost (%): " + str (vlažnost) natisnite 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)
V prvi vrstici opazite, da knjižnico SenseHat uvozimo v skript. Preden zaženete ta skript, moramo nastaviti uporabniške parametre.
# --------- Uporabniške nastavitve ---------
BUCKET_NAME = "Pisarniško vreme" BUCKET_KEY = "sensehat" ACCESS_KEY = "Vaš_Access_Key" SENSOR_LOCATION_NAME = "Office" MINUTES_BETWEEN_SENSEHAT_READS = 0.1# ------------------------- --------
Natančneje, ACCESS_KEY morate nastaviti na ključ za dostop do računa za začetno stanje. BUCKET_NAME in SENSOR_LOCATION_NAME lahko spremenite na dejansko lokacijo senzorja. Shranite in zapustite urejevalnik besedil.
V ukaznem pozivu na svojem Pi zaženite skript:
$ sudo python sensehat.py
Zdaj boste lahko podatke pošiljali na nadzorno ploščo začetnega stanja. Pojdite na zadnji del tega članka za podrobnosti o tem, kako prilagodite nadzorno ploščo.
9. korak: prilagodite začetno nadzorno ploščo stanja
Pojdite na svoj račun State State in si oglejte svoje podatke. Z desno tipko miške kliknite ploščico, da spremenite vrsto grafikona, in kliknite Uredi ploščice, da spremenite velikost in premikate ploščice. Priporočam uporabo merilnega termostata za temperaturo in nivoja merilne tekočine za vlažnost. Ustvarite lahko črtne grafe za temperaturo in vlažnost, da vidite spremembe skozi čas. Na nadzorno ploščo lahko dodate tudi sliko ozadja.
Nastavite lahko sprožilna opozorila, tako da lahko prejmete SMS ali e -poštno sporočilo, če temperatura pade pod ali preseže določen prag. Pojdite v zbirko podatkov in kliknite na nastavitve. Od tam pojdite na zavihek Sprožilci. Vnesite ključ toka, ki ga želite spremljati, operaterja, ki ga želite uporabiti, in vrednost praga. Kliknite znak plus, da dodate sprožilec. Nato vnesete svoj e -poštni naslov ali telefonsko številko, na katero boste prejeli opozorilo, in kliknite znak plus. Ko nastavite vse sprožilce, kliknite gumb Končano na dnu.
Zdaj, ko ste ustvarili nadzor temperature s senzorjem temperature in Raspberry Pi, lahko začnete razmišljati o tem, katere druge okoljske podatke lahko spremljate.