Cuprins:
- Provizii
- Pasul 1: Raspberry Pi
- Pasul 2: senzori
- Pasul 3: Configurarea Raspberry Pi
- Pasul 4: Cont de stat inițial
- Pasul 5: Soluția DHT22
- Pasul 6: Soluția DSB18B20
- Pasul 7: Soluția BME280
- Pasul 8: Sense HAT
- Pasul 9: Personalizați tabloul de bord al stării inițiale
Video: Cum să construiți un monitor de temperatură Raspberry Pi: 9 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Temperatura și umiditatea sunt date vitale în lumea industrială actuală. Monitorizarea datelor de mediu pentru camerele serverelor, congelatoarele comerciale și liniile de producție este necesară pentru ca lucrurile să funcționeze fără probleme. Există o mulțime de soluții, de la cele de bază la cele complexe și poate părea copleșitor cu privire la ce are nevoie afacerea dvs. și de unde să începeți.
Vom parcurge modul de monitorizare a temperaturii cu un Raspberry Pi și cu diferiți senzori de temperatură pe care îi puteți utiliza. Acesta este un loc bun pentru a începe, deoarece aceste soluții sunt ieftine, ușor de realizat și vă oferă o bază pe care să o construiți pentru alte monitorizări de mediu.
Provizii
- Raspberry Pi (3, 4 sau Zero WH)
- Senzor de temperatură (DHT2, DSB18B20, BME280 sau Sense HAT)
- Cablu prelungitor de 6 "40 pini IDE de la tată la mamă (soluție Sense HAT)
- Rezistor 10K, panou de bord, placă de rupere cu 40 de pini + cablu panglică, fire (pentru soluția DSB18B20)
Pasul 1: Raspberry Pi
Un Raspberry Pi este un computer single board ieftin care vă va permite să vă conectați la un senzor de temperatură și să transmiteți datele către un software de vizualizare a datelor. Raspberry Pi’s a început ca un instrument de învățare și a evoluat către un instrument industrial la locul de muncă. Ușurința de utilizare și abilitatea de a codifica cu Python, limbajul de programare cu cea mai rapidă creștere, le-a făcut să meargă la soluție.
Veți dori un Raspberry Pi care să aibă WiFi încorporat, care este orice model 3, 4 și zero W / WH. Între acestea puteți alege în funcție de prețuri și caracteristici. Zero W / WH este cel mai ieftin, dar dacă aveți nevoie de mai multe funcționalități, puteți alege între 3 și 4. Puteți cumpăra un singur Zero W / WH la un moment dat, din cauza limitărilor de la Raspberry Pi Foundation. Indiferent ce Pi alegeți, asigurați-vă că achiziționați un încărcător, deoarece acesta este modul în care veți alimenta Pi și un card SD cu Raspbian pentru a facilita instalarea sistemului de operare.
Există și un alt computer de bord care poate funcționa la fel de bine, dar asta este pentru altă dată și pentru un alt articol.
Pasul 2: senzori
Există trei senzori pe care vă recomandăm să îi folosiți, deoarece sunt ieftini, ușor de conectat și oferă citiri precise; DSB18B20, DHT22 și Raspberry Pi Sense HAT.
DHT22 - Acest senzor de temperatură și umiditate are o precizie a temperaturii de +/- 0,5 C și un interval de umiditate de la 0 la 100%. Este simplu să conectați la Raspberry Pi și nu necesită rezistențe de tragere.
DSB18B20 - Acest senzor de temperatură are o ieșire digitală, care funcționează bine cu Raspberry Pi. Are trei fire și necesită o placă de rezistență și un rezistor pentru conexiune.
BME280 - Acest senzor măsoară temperatura, umiditatea și presiunea barometrică. Poate fi folosit atât în SPI, cât și în I2C.
Sense HAT - Acesta este un supliment la bord pentru Raspberry Pi care are LED-uri, senzori și un joystick mic. Se conectează direct la GPIO de pe Raspberry Pi, dar folosind un cablu cu bandă vă oferă citiri mai precise ale temperaturii.
Pasul 3: Configurarea Raspberry Pi
Dacă este pentru prima dată când configurați Raspberry Pi, va trebui să instalați sistemul de operare Raspbian și să vă conectați Pi la WiFi. Acest lucru va necesita un monitor și o tastatură pentru a vă conecta la Pi. Odată ce îl aveți în funcțiune și conectat la WiFI, Pi-ul dvs. este gata de funcționare.
Pasul 4: Cont de stat inițial
Veți avea nevoie de undeva pentru a vă trimite datele pentru a păstra un jurnal istoric și pentru a vizualiza fluxul de date în timp real, astfel încât să folosim Starea inițială. Accesați https://iot.app.initialstate.com și creați un cont nou sau conectați-vă la contul dvs. existent.
În continuare, trebuie să instalăm modulul Python Initial State pe Pi. La promptul de comandă (nu uitați mai întâi SSH în Pi), rulați următoarea comandă:
$ cd / home / pi /
$ / curl -sSL https://get.initialstate.com/python -o - | sudo bash
După ce introduceți comanda curl în promptul de comandă, veți vedea ceva similar cu următoarea ieșire pe ecran:
pi @ raspberrypi ~
$ / curl -sSL https://get.initialstate.com/python -o - | sudo bash Parolă: Început ISStreamer Python Instalare ușoară! Acest lucru poate dura câteva minute pentru a instala, luați o cafea:) Dar nu uitați să vă întoarceți, voi avea întrebări mai târziu! S-a găsit easy_install: setuptools 1.1.6 S-a găsit pip: pip 1.5.6 din /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) versiune principală pip: 1 versiune pip minoră: 5 ISStreamer găsit, actualizare … Cerință deja actualizată: ISStreamer în /Library/Python/2.7/site-packages Curățare … Doriți să obțineți automat un exemplu de script? [y / N] Unde doriți să salvați exemplul? [implicit:./is_example.py] Vă rugăm să selectați aplicația Stare inițială pe care o utilizați: 1. app.initialstate.com 2. [NOU!] iot.app.initialstate.com Introduceți alegerea 1 sau 2: Introduceți iot.app.initialstate.com nume utilizator: Introduceți parola iot.app.initialstate.com:
Când vi se solicită să obțineți automat un exemplu de script, tastați y. Aceasta va crea un script de testare pe care îl putem rula pentru a ne asigura că putem transmite în flux date în starea inițială. Următorul prompt vă va întreba unde doriți să salvați fișierul de exemplu. Puteți să tastați o cale locală personalizată sau să apăsați Enter pentru a accepta locația implicită. În cele din urmă, veți fi întrebat ce aplicație de stare inițială utilizați. Dacă ați creat recent un cont, selectați opțiunea 2, introduceți numele de utilizator și parola. După aceea, instalarea va fi completă.
Să aruncăm o privire la exemplul de script care a fost creat.
$ nano este_exemplu.py
Pe linia 15, veți vedea o linie care începe cu streamer = Streamer (bucket_ …. Această linie creează o nouă bucket de date numită „Exemplu de flux Python” și este asociată contului dvs. Această asociere se întâmplă din cauza access_key =”…” parametru pe aceeași linie. Această serie lungă de litere și cifre este cheia de acces la contul dvs. de stat inițial. Dacă accesați contul dvs. de stat inițial din browserul dvs. web, faceți clic pe numele de utilizator din partea dreaptă sus, apoi accesați „setările mele”, veți găsi aceeași cheie de acces aici sub „Chei de acces în flux”.
De fiecare dată când creați un flux de date, acea cheie de acces va direcționa fluxul de date către contul dvs. (deci nu partajați cheia cu nimeni).
Rulați scriptul de testare pentru a ne asigura că putem crea un flux de date în contul dvs. de stare inițială. Rulați următoarele:
$ python is_example.py
Reveniți la contul de stat inițial din browserul dvs. web. O nouă bucată de date numită „Exemplu de flux Python” ar fi trebuit să apară în stânga în raftul jurnalului (poate fi necesar să reîmprospătați pagina). Faceți clic pe acest compartiment și apoi faceți clic pe pictograma Waves pentru a vizualiza datele de testare
Dacă utilizați Python 3, puteți instala modulul Initial State Streamer pe care îl puteți instala folosind următoarea comandă:
pip3 instalează ISStreamer
Acum suntem gata să configurăm senzorul de temperatură cu Pi pentru a transmite temperatura către un tablou de bord.
Pasul 5: Soluția DHT22
DHT22 va avea trei pini - 5V, Gnd și date. Ar trebui să existe o etichetă pin pentru alimentarea pe DHT22 (de exemplu, „+” sau „5V”). Conectați acest lucru la pinul 2 (pinul din dreapta sus, 5V) al Pi. Pinul Gnd va fi etichetat „-” sau „Gnd” sau ceva echivalent. Conectați acest lucru la pinul 6 Gnd (doi pini sub pinul de 5V) de pe Pi. Pinul rămas de pe DHT22 este pinul de date și va fi etichetat „out” sau „s” sau „data”. Conectați-l la unul dintre pinii GPIO de pe Pi, cum ar fi GPIO4 (pinul 7). Odată ce acest lucru este conectat, porniți Pi-ul.
Instalați modulul Adafruit DHT Python la promptul de comandă pentru a facilita citirea datelor senzorului DHT22:
$ sudo pip instala Adafruit_DHT
Cu sistemul nostru de operare instalat împreună cu cele două module Python pentru citirea datelor senzorilor și trimiterea datelor către starea inițială, suntem gata să scriem scriptul nostru Python. Următorul script va crea / adăuga la o bucată de date de stare inițială, va citi datele senzorului DHT22 și va trimite acele date către un tablou de bord în timp real. Tot ce trebuie să faceți este să modificați liniile 6-11.
import Adafruit_DHT
din ISStreamer. Streamer import Timp de import Streamer # --------- Setări utilizator --------- SENSOR_LOCATION_NAME = "Birou" BUCKET_NAME = ": partial_sunny: Temperatura camerei" BUCKET_KEY = "rt0129" ACCESS_KEY = „ACHIZAȚI AICI CHEIA DE ACCES LA STAT” AICI „MINUTES_BETWEEN_READS = 10METRIC_UNITS = False # --------------------------------- streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) în timp ce True: umiditate, temp_c = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) dacă METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Temperatura (C)"): temp_f = format (temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Temperatura (F)", temp_f) umiditate = format (umiditate, ".2f") streamer.log (SENSOR_LOCATION_NAME + „Umiditate (%)”, umiditate) streamer.flush () time.sleep (60 * MINUTES_BETWEEN_READS)
- Linia 6 - Această valoare trebuie să fie unică pentru fiecare nod / senzor de temperatură. Acesta ar putea fi numele camerei nodului senzorului, locația fizică, identificatorul unic sau orice altceva. Asigurați-vă că este unic pentru fiecare nod pentru a vă asigura că datele din acest nod merg la propriul flux de date din tabloul de bord.
- Linia 7 - Acesta este numele cupei de date. Acest lucru poate fi modificat oricând în UI State Initial.
- Linia 8 - Aceasta este cheia cupei. Trebuie să fie aceeași cheie de bucket pentru fiecare nod pe care doriți să îl afișați în același tablou de bord.
- Linia 9 - Aceasta este cheia de acces la contul dvs. de stat inițial. Copiați și lipiți această cheie din contul dvs. de stat inițial.
- Linia 10 - Acesta este timpul dintre citirea senzorului. Schimbați în consecință.
- Linia 11 - Puteți specifica unități metrice sau imperiale pe linia 11.
După ce ați setat liniile 6-11 în scriptul Python pe Pi, salvați și ieșiți din editorul de text. Rulați scriptul cu următoarea comandă:
$ python tempsensor.py
Acum veți avea trimiterea de date către un tablou de bord al stării inițiale. Accesați secțiunea finală a acestui articol pentru detalii despre cum să vă personalizați tabloul de bord.
Pasul 6: Soluția DSB18B20
Cablul panglică se conectează la pinii GPIO de pe Pi. DS18B20 are trei fire. Firul roșu se conectează la 3,3V. Firul albastru / negru se conectează la masă. Firul galben se conectează la un rezistor de tragere / pinul 4. Odată ce acesta este conectat, porniți Pi-ul.
Cea mai recentă versiune a Raspbian (kernel 3.18) necesită o adăugire la fișierul /boot/config.txt pentru ca Pi să comunice cu DS18B20. Rulați următoarele pentru a edita acest fișier:
$ sudo nano /boot/config.txt
Dacă următoarea linie nu este deja în acest fișier (dacă este, este probabil în partea de jos a fișierului), adăugați-l și salvați fișierul.
dtoverlay = w1-gpio, gpiopin = 4
Reporniți Pi-ul pentru ca modificările să aibă efect.
$ sudo reporniți
Pentru a porni interfața de citire a senzorului de temperatură, trebuie să executăm două comenzi. Accesați un prompt de comandă de pe Pi sau SSH în Pi. Tastați următoarele comenzi:
$ sudo modprobe w1-gpio $ sudo modprobe w1-therm
Ieșirea senzorului de temperatură este acum scrisă într-un fișier de pe Pi. Pentru a găsi acel fișier:
$ cd / sys / bus / w1 / dispozitive
În acest director, va exista un subdirector care începe cu „28-“. Ceea ce vine după „28-” este numărul de serie al senzorului. cd în acel director. În acest director, un fișier numit w1_slave conține ieșirea senzorului. Utilizați nano pentru a vizualiza conținutul fișierului. După ce ați intrat în fișier, va arăta cam așa:
a2 01 4b 46 7f ff 0e 10 d8: crc = d8 DA2 01 4b 46 7f ff 0e 10 d8 t = 26125
Numărul după „t =” este numărul dorit. Aceasta este temperatura în 1/1000 grade Celsius (în exemplul de mai sus, temperatura este 26,125 C). Avem nevoie doar de un program simplu care citește acest fișier și analizează numărul respectiv. Vom ajunge la asta în doar o secundă.
Totul este acum pregătit pentru a începe transmiterea în flux a datelor. Pentru a deschide editorul de text, tastați următoarele în promptul de comandă:
$ nano temperature.py
Copiați și lipiți codul de mai jos în editorul de text.
import os
import glob import time from ISStreamer. Streamer import Streamerstreamer = Streamer (bucket_name = "Temperatura Stream", bucket_key = "piot_temp_stream031815", access_key = "PUT_YOUR_ACCESS_KEY_HERE") os.system ('modprobe w1-gpio') os.system -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') lines = f.readlines () f.close () return lines def read_temp (): lines = read_temp_raw () while lines [0].strip () [- 3:]! = 'YES': time.sleep (0.2) lines = 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 returnează temp_c în timp ce True: temp_c = read_temp () temp_f = temp_c * 9.0 / 5.0 + 32.0 streamer.log ("temperature (C)", temp_c) streamer.log ("temperature (F)", temp_f) time.sleep (.5)
Trebuie să vă puneți cheia de acces la starea inițială pe linia 6 în locul lui PUT_YOUR_ACCESS_KEY_HERE (copiați cheia de streaming în clipboard din „Contul meu” și lipiți-o în codul nano din terminalul dvs.).
Linia 6 va crea un compartiment numit „Flux de temperatură” în contul dvs. de stare inițială (presupunând că ați specificat corect acces_cheie pe aceeași linie). Liniile 8 până la 30 ale acestui script interacționează pur și simplu cu senzorul DS18B20 pentru a citi temperatura acestuia din fișierul w1_slave despre care am discutat anterior. Funcția read_temp_raw () de pe linia 15 citește fișierul raw w1_slave. Funcția read_temp () de pe linia 21 analizează temperatura din fișierul respectiv. Linia 34 apelează aceste funcții pentru a obține temperatura curentă. Linia 35 convertește temperatura de la Celsius la Fahrenheit. Liniile 35 și 36 transmit temperatura către contul dvs. de stare inițială. Linia 37 întrerupe scriptul timp de 0,5 secunde, setând cât de des va fi citit și transmis senzorul de temperatură.
Suntem gata să începem streamingul. Rulați următoarea comandă:
$ sudo python temperature.py
Reveniți la contul dvs. de stare inițială din browserul dvs. web și căutați o nouă bucată de date numită Flux de temperatură. Ar trebui să vedeți fluxul de date de temperatură în direct. Variați temperatura senzorului ținându-l în mână sau punându-l într-un pahar de gheață.
Acum veți avea trimiterea datelor către un tablou de bord al stării inițiale. Accesați secțiunea finală a acestui articol pentru detalii despre cum să vă personalizați tabloul de bord.
Pasul 7: Soluția BME280
Veți avea nevoie de următoarele pentru a construi această soluție:
-BME280 Senzor de presiune, temperatură și umiditate
Acest senzor vine cu știfturi pe care va trebui să le lipiți pe senzor. Vă recomandăm să folosiți o placă de prindere cu știfturile cu partea lungă în jos în placă de prindere pentru a ușura lipirea. După ce ați terminat acest lucru, trebuie să conectăm senzorul la Pi.
Conectați pinul VIN de pe senzor la pinul 3,3V 1 de pe Pi. Conectați pinul GND de pe senzor pinul de masă 6 de pe Pi. Conectați pinul SCK de pe senzor la pinul SCL 5 de pe Pi. Conectați pinul SDI al senzorului la pinul SDA 3 de pe Pi. Va trebui să utilizați Python 3 pentru această soluție și să instalați modulul Initial State Streamer folosind metoda de instalare pip3.
De asemenea, va trebui să instalați câteva biblioteci Adafruit Python.
pip3 instalează adafruit-blinkapip3 instalează pureio pip3 instalează spidev pip3 instalează adafruit-GPIO pip3 instalează adafruit-circuitpython-bme280
Pentru a utiliza senzorul, trebuie să activăm I2C pe Pi.
sudo raspi-config
Aceasta va deschide instrumentul de configurare software Raspberry Pi. Accesați Opțiunea 5 Opțiuni de interfață. De aici, mergeți la I2C. Vă va solicita să vă întreb dacă doriți să activați I2C, selectați Da și Finalizați. Acum aveți I2C activat pentru a comunica cu senzorul.
Putem testa acest lucru executând următoarele:
sudo i2cdetect -y 1
Aceasta va verifica dacă Pi-ul dvs. vede senzorul. În modul în care este conectat, ar trebui să afișeze senzorul la adresa 77. Dacă nu detectați senzorul, reporniți Pi, reactivați opțiunea de interfață I2C pe Pi și încercați din nou. Odată ce senzorul este detectat, este timpul pentru a rula codul nostru principal care va trimite date către starea inițială. A creat un fișier numit bme280sensor.py cu comanda nano. Copiați și lipiți codul din esență în editorul de text. Va trebui să faceți modificări la liniile 12-19.
timpul de import
import board import busio import adafruit_bme280 din ISStreamer. Streamer import Streamer # Creați obiect bibliotecă folosind Bus I2C porti2c = busio. I2C (board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- - Setări utilizator --------- SENSOR_LOCATION_NAME = "Birou" BUCKET_NAME = ": partial_sunny: Temperatura camerei" BUCKET_KEY = "temp1" ACCESS_KEY = "CHEEA TA DE ACCES AICI" # schimba acest lucru pentru a se potrivi cu presiunea locației (hPa) la nivelul mării bme280.sea_level_pressure = 1013.25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = False # --------------------------------- # SAU creați obiect bibliotecă utilizând portul SPI Bus #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) în timp ce True: umiditate = format (bme280.humidity, ".1f") pressure = format (bme280.pressure, ".1f") temp_c = bme280.temperatu dacă METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Temperatura (C)", temp_c) altceva: 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 + "Umiditate (%)", umiditate) streamer.log (SENSOR_LOCATION_NAME + "Presiune (hPA)", presiune) streamer.flush () time.sleep (60 * MINUTES_BETWEEN_READS)
- Linia 12- Această valoare ar trebui să fie unică pentru fiecare nod / senzor de temperatură. Acesta ar putea fi numele camerei nodului senzorului, locația fizică, identificatorul unic sau orice altceva. Asigurați-vă că este unic pentru fiecare nod pentru a vă asigura că datele din acest nod merg la propriul flux de date din tabloul de bord.
- Linia 13- Acesta este numele buclei de date. Acest lucru poate fi modificat oricând în UI State Initial.
- Linia 14- Aceasta este cheia dvs. de cupă. Trebuie să fie aceeași cheie de bucket pentru fiecare nod pe care doriți să îl afișați în același tablou de bord.
- Linia 15 - Aceasta este cheia de acces la contul dvs. de stat inițial. Copiați și lipiți această cheie din contul dvs. de stat inițial.
- Linia 17 - Aceasta este presiunea locației dvs. (hPa) la nivelul mării. Puteți găsi aceste informații pe majoritatea site-urilor meteo.
- Linia 18 - Acesta este timpul dintre citirea senzorului. Schimbați în consecință. Linia 19- Aici puteți specifica unități metrice sau imperiale.
După ce ați setat liniile 12-19 în scriptul Python de pe Pi Zero WH, salvați și ieșiți din editorul de text. Rulați scriptul cu următoarea comandă:
$ python3 bme280sensor.py
Acum veți avea trimiterea datelor către un tablou de bord al stării inițiale. Accesați secțiunea finală a acestui articol pentru detalii despre cum să vă personalizați tabloul de bord.
Pasul 8: Sense HAT
Primul pas în utilizarea Sense HAT este instalarea fizică pe Pi. Cu Pi pornit, atașați HAT-ul așa cum se arată în imagine.
Dacă decideți să utilizați soluția așa cum se arată mai sus, este posibil să observați că valorile de temperatură ale Sense HAT vor fi cam mari - asta pentru că sunt. Vinovatul este căldura generată de CPU-ul lui Pi încălzind aerul din jurul Sense HAT atunci când este așezat deasupra lui Pi. Pentru a face util senzorul de temperatură, trebuie fie să îndepărtăm HAT de Pi, fie să încercăm să calibrăm citirea senzorului de temperatură. O soluție bună pentru îndepărtarea senzorului de Pi este un cablu care permite Sense HAT să se agațe de Pi. Un cablu prelungitor de 6 , 40-pini IDE de la tată la mamă va face trucul.
Odată ce ați decis asupra celor două opțiuni, porniți Pi-ul. Trebuie să instalăm biblioteca Python pentru a ușura citirea valorilor senzorilor din Sense HAT. Mai întâi, va trebui să vă asigurați că totul este actualizat în versiunea dvs. de Raspbian:
$ sudo apt-get update
Apoi, instalați biblioteca Sense HAT Python:
$ sudo apt-get install sense-hat
Reporniți Pi. Suntem pregătiți să testăm Sense HAT citind datele senzorului din acesta și trimitând aceste date în starea inițială.
Creați un fișier numit sensehat și deschideți-l în editorul de text introducând următoarele în promptul de comandă:
$ nano sensehat.py
Copiați și lipiți codul de mai jos în editorul de text.
din sense_hat importă SenseHat
import timp sistem de import din ISStreamer. Streamer import Streamer # --------- Setări utilizator --------- BUCKET_NAME = "Vremea biroului" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = " Office "MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # --------------------------------- streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) sense = SenseHat () în timp ce True: # Citiți senzorii temp_c = sense.get_temperature () umiditate = sense.get_humidity () pressure_mb = sense.get_pressure () # Formatează datele temp_f = temp_c * 9.0 / 5.0 + 32.0 temp_f = float ("{0:.2f}". Format (temp_f)) umiditate = float ("{0:.2f}". Format (umiditate)) pressure_in = 0.03937008 * (pressure_mb) pressure_in = float ("{ 0:.2f} ". Format (pressure_in)) # Print and stream print SENSOR_LOCATION_NAME +" Temperatura (F): "+ str (temp_f) print SENSOR_LOCATION_NAME +" Umiditate (%): "+ str (umiditate) print SENSOR_LOCATION_NAME +" Presiune (IN): "+ str (pressure_in) streamer.log (": sunny: "+ SEN SOR_LOCATION_NAME + "Temperatura (F)", temp_f) streamer.log (": sweat_drops:" + SENSOR_LOCATION_NAME + "Umiditate (%)", umiditate) streamer.log (": cloud:" + SENSOR_LOCATION_NAME + "Pressure (IN)", pressure_in) streamer.flush () time.sleep (60 * MINUTES_BETWEEN_SENSEHAT_READS)
Observați pe prima linie că importăm biblioteca SenseHat în script. Înainte de a rula acest script, trebuie să ne configurăm parametrii de utilizator.
# --------- Setarile utilizatorului ---------
BUCKET_NAME = "Vremea la birou" BUCKET_KEY = "sens" ACCESS_KEY = "Cheia_Acces_Te" SENSOR_LOCATION_NAME = "Biroul" MINUTES_BETWEEN_SENSEHAT_READS = 0,1 # ------------------------- --------
Mai exact, trebuie să vă setați ACCESS_KEY la cheia de acces la contul de stat inițial. Puteți schimba BUCKET_NAME și SENSOR_LOCATION_NAME la locația reală a senzorului. Salvați și ieșiți din editorul de text.
La un prompt de comandă de pe Pi, rulați scriptul:
$ sudo python sensehat.py
Acum veți avea trimiterea datelor către un tablou de bord al stării inițiale. Accesați secțiunea finală a acestui articol pentru detalii despre cum să vă personalizați tabloul de bord.
Pasul 9: Personalizați tabloul de bord al stării inițiale
Accesați contul dvs. de stat inițial și priviți-vă datele. Puteți face clic dreapta pe o placă pentru a schimba tipul graficului și faceți clic pe Editare plăci pentru a redimensiona și muta plăcile. Aș recomanda utilizarea termostatului de măsurare pentru temperatură și a nivelului de lichid de măsurare pentru umiditate. Puteți crea grafice liniare atât pentru temperatură, cât și pentru umiditate, pentru a vedea modificările în timp. De asemenea, puteți adăuga o imagine de fundal la tabloul de bord.
Puteți seta alerte Trigger, astfel încât să puteți primi un SMS sau un e-mail dacă temperatura scade sub sau depășește un anumit prag. Accesați secțiunea de date și faceți clic pe setări. De acolo, accesați fila Declanșatoare. Introduceți cheia de flux pe care doriți să o monitorizați, operatorul pe care doriți să îl utilizați și valoarea pragului. Faceți clic pe semnul plus pentru a adăuga declanșatorul. Apoi, veți introduce adresa de e-mail sau numărul de telefon pentru a primi alerta la și veți face clic pe semnul plus. După ce ați setat toate declanșatoarele, dați clic pe butonul Terminat din partea de jos.
Acum că ați creat un monitor de temperatură folosind un senzor de temperatură și un Raspberry Pi, puteți începe să vă gândiți la ce alte date de mediu puteți monitoriza în continuare.
Recomandat:
Cum să construiți un monitor de plantă cu Arduino: 7 pași
Cum să construiești un monitor de plante cu Arduino: În acest tutorial vom învăța cum să detectăm umiditatea solului folosind un senzor de umiditate și să aprindem un LED verde dacă totul este în regulă și afișajul OLED și Visuino
Cum să construiți un sistem de udare a plantelor folosind Arduino: 7 pași
Cum să construiești un sistem de udare a plantelor folosind Arduino: În acest tutorial vom învăța cum să realizăm un sistem de udare a plantelor folosind un senzor de umiditate, pompa de apă și un LED verde intermitent dacă totul este în regulă și afișajul OLED și Visuino
Cum să construiți un dispozitiv ECG low cost: 26 de pași
Cum să construiți un dispozitiv ECG low cost: Bună ziua tuturor! Numele meu este Mariano și sunt inginer biomedical. Am petrecut câteva weekenduri pentru a proiecta și realiza un prototip de dispozitiv ECG cu cost redus bazat pe placa Arduino conectată prin Bluetooth la un dispozitiv Android (smartphone sau tabletă). Aș
Cum să construiți un site web pe un Raspberry Pi, cu Node.js, Express și MongoDB Partea 1: 6 pași
Cum să construiți un site web pe un Raspberry Pi, cu Node.js, Express și MongoDB … Partea 1: Bine ați venit la PARTEA 1 a tutorialului meu de aplicații web node.js. Partea 1 va trece prin software-ul necesar pentru dezvoltarea aplicației node.js, cum să utilizați redirecționarea porturilor, cum să creați o aplicație folosind Express și cum să vă rulați aplicația. A doua parte a acestui
Cum să construiți un monitor digital ECG și ritm cardiac: 6 pași
Cum se construiește un monitor digital ECG și ritm cardiac: o electrocardiogramă (ECG) măsoară activitatea electrică a bătăilor inimii pentru a arăta cât de repede bate inima, precum și ritmul acesteia. Există un impuls electric, cunoscut și sub numele de undă, care călătorește prin inimă pentru a face mușchiul inimii să