Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Bringebær Pi
- Trinn 2: Sensorer
- Trinn 3: Oppsett av Raspberry Pi
- Trinn 4: Første statskonto
- Trinn 5: DHT22 -løsning
- Trinn 6: DSB18B20 -løsning
- Trinn 7: BME280 -løsning
- Trinn 8: Sense HAT
- Trinn 9: Tilpass det opprinnelige statuspanelet
Video: Hvordan bygge en Raspberry Pi temperaturmonitor: 9 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Temperatur og fuktighet er viktige datapunkter i dagens industrielle verden. Overvåkning av miljødata for serverrom, kommersielle frysere og produksjonslinjer er nødvendig for at ting skal fungere jevnt. Det er mange løsninger der ute, fra grunnleggende til komplekse, og det kan virke overveldende på hva virksomheten din trenger og hvor du skal begynne.
Vi går gjennom hvordan du overvåker temperaturen med en Raspberry Pi og forskjellige temperatursensorer du kan bruke. Dette er et godt sted å starte siden disse løsningene er rimelige, enkle å gjøre og gir deg et grunnlag å bygge videre på for annen miljøovervåking.
Rekvisita
- Bringebær Pi (3, 4 eller Zero WH)
- Temperatursensor (DHT2, DSB18B20, BME280 eller Sense HAT)
- 6 "40-pinners IDE mann til hunn skjøteledning (Sense HAT-løsning)
- 10K motstand, brødbrett, 40-pinners breakout board + båndkabel, ledninger (for DSB18B20 løsning)
Trinn 1: Bringebær Pi
En Raspberry Pi er en rimelig enkeltkort -datamaskin som lar deg koble til en temperatursensor og streame dataene til en datavisualiseringsprogramvare. Raspberry Pi begynte som et læringsverktøy og har utviklet seg til et industrielt arbeidsplassverktøy. Brukervennligheten og muligheten til å kode med Python, det raskest voksende programmeringsspråket, har gjort dem til en løsning.
Du vil ha en Raspberry Pi som har WiFi innebygd, som er hvilken som helst modell 3, 4 og null W/WH. Mellom dem kan du velge basert på priser og funksjoner. Zero W/WH er den billigste, men hvis du trenger mer funksjonalitet kan du velge mellom 3 og 4. Du kan bare kjøpe en Zero W/WH om gangen på grunn av begrensninger fra Raspberry Pi Foundation. Uansett hvilken Pi du velger, sørg for å kjøpe en lader siden det er slik du vil drive Pi og et SD -kort med Raspbian for å gjøre installasjonen av operativsystemet så enkelt som mulig.
Det er også en enkelt brettcomputer som kan fungere, men det er en annen gang og en annen artikkel.
Trinn 2: Sensorer
Det er tre sensorer vi anbefaler å bruke fordi de er rimelige, enkle å koble til og gir nøyaktige avlesninger. DSB18B20, DHT22 og Raspberry Pi Sense HAT.
DHT22 - Denne temperatur- og fuktighetssensoren har temperaturnøyaktighet på +/- 0,5 C og et fuktighetsområde fra 0 til 100 prosent. Det er enkelt å koble til Raspberry Pi og krever ingen trekkmotstander.
DSB18B20 - Denne temperatursensoren har en digital utgang, som fungerer godt med Raspberry Pi. Den har tre ledninger og krever et brødbrett og motstand for tilkoblingen.
BME280 - Denne sensoren måler temperatur, fuktighet og barometrisk trykk. Den kan brukes i både SPI og I2C.
Sense HAT - Dette er et tillegg ombord for Raspberry Pi som har lysdioder, sensorer og en liten joystick. Den kobles direkte til GPIO på Raspberry Pi, men ved hjelp av en båndkabel gir du mer nøyaktige temperaturavlesninger.
Trinn 3: Oppsett av Raspberry Pi
Hvis dette er første gang du konfigurerer Raspberry Pi, må du installere Raspbian -operativsystemet og koble Pi -en til WiFi. Dette krever en skjerm og et tastatur for å koble til Pi. Når du har den i gang og er koblet til WiFI, er din Pi klar til å gå.
Trinn 4: Første statskonto
Du trenger et sted for å sende dataene dine for å føre en historisk logg og se datastrømmen i sanntid, slik at vi bruker Initial State. Gå til https://iot.app.initialstate.com og opprett en ny konto eller logg deg på din eksisterende konto.
Deretter må vi installere Initial State Python -modulen på din Pi. Ved en ledetekst (ikke glem å SSH i Pi først), kjør følgende kommando:
$ cd/home/pi/
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
Etter at du har angitt curl -kommandoen i ledeteksten, vil du se noe som ligner på følgende utdata til skjermen:
pi@raspberrypi ~
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash Passord: Start ISStreamer Python Enkel installasjon! Dette kan ta et par minutter å installere, ta en kaffe:) Men ikke glem å komme tilbake, jeg har spørsmål senere! Funnet easy_install: setuptools 1.1.6 Funnet pip: pip 1.5.6 fra /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip hovedversjon: 1 pip mindre versjon: 5 ISStreamer funnet, oppdaterer … Krav allerede oppdatert: ISStreamer i /Library/Python/2.7/site-packages Rydder opp … Vil du automatisk få et eksempelskript? [y/N] Hvor vil du lagre eksemplet? [standard:./is_example.py] Velg hvilken Initial State -app du bruker: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com Angi valg 1 eller 2: Skriv inn iot.app.initialstate.com brukernavn: Skriv inn iot.app.initialstate.com passord:
Når du blir bedt om å automatisk få et eksempelskript, skriver du y. Dette vil opprette et testskript som vi kan kjøre for å sikre at vi kan streame data til opprinnelig tilstand. Den neste ledeteksten vil spørre hvor du vil lagre eksempelfilen. Du kan enten skrive en tilpasset lokal bane eller trykke enter for å godta standardplasseringen. Til slutt blir du spurt hvilken Initial State -app du bruker. Hvis du nylig har opprettet en konto, velger du alternativ 2, skriver inn brukernavn og passord. Etter det vil installasjonen være fullført.
La oss se på eksempelskriptet som ble opprettet.
$ nano er_eksempel.py
På linje 15 vil du se en linje som starter med streamer = Streamer (bucket_…. Disse linjene oppretter en ny databøtte med navnet "Python Stream -eksempel" og er knyttet til kontoen din. Denne tilknytningen skjer på grunn av access_key = "…" parameteren på den samme linjen. Den lange serien med bokstaver og tall er tilgangsnøkkelen til din opprinnelige statskonto. Hvis du går til din opprinnelige statskonto i nettleseren din, klikker du på brukernavnet ditt øverst til høyre, og går deretter til "mine innstillinger", finner du den samme tilgangsnøkkelen her under "Streaming Access Keys".
Hver gang du oppretter en datastrøm, vil tilgangsnøkkelen lede datastrømmen til kontoen din (så ikke del nøkkelen med noen).
Kjør testskriptet for å sikre at vi kan opprette en datastrøm til din opprinnelige statskonto. Kjør følgende:
$ python er_eksempel.py
Gå tilbake til din opprinnelige statskonto i nettleseren din. En ny databøtte kalt "Python Stream -eksempel" burde ha dukket opp til venstre i logghyllen din (du må kanskje oppdatere siden). Klikk på denne bøtta og klikk deretter på Waves -ikonet for å se testdataene
Hvis du bruker Python 3, kan du installere Initial State Streamer -modulen du kan installere ved hjelp av følgende kommando:
pip3 installer ISStreamer
Nå er vi klare til å sette opp temperatursensoren med Pi for å streame temperaturen til et dashbord.
Trinn 5: DHT22 -løsning
DHT22 vil ha tre pinner - 5V, Gnd og data. Det bør være en pin -etikett for strøm på DHT22 (f.eks. ‘+’ Eller ‘5V’). Koble denne til pinne 2 (pinnen øverst til høyre, 5V) på Pi. Gnd-pinnen vil bli merket ‘-’ eller ‘Gnd’ eller noe tilsvarende. Koble denne til pin 6 Gnd (to pins under 5V pin) på Pi. Den gjenværende PIN -koden på DHT22 er datapinnen og vil bli merket "ut" eller "s" eller "data". Koble denne til en av GPIO -pinnene på Pi, for eksempel GPIO4 (pinne 7). Når dette er kablet, slå på Pi.
Installer Adafruit DHT Python -modulen ved en ledetekst for å gjøre lesing av DHT22 sensordata superenkelt:
$ sudo pip installer Adafruit_DHT
Med operativsystemet vårt installert sammen med våre to Python -moduler for lesing av sensordata og sending av data til Initial State, er vi klare til å skrive vårt Python -skript. Det følgende skriptet vil opprette/legge til en data-bøtte for første tilstand, lese sensordataene for DHT22 og sende disse dataene til et dashbord i sanntid. Alt du trenger å gjøre er å endre linje 6–11.
importer Adafruit_DHT
fra ISStreamer. Streamer import Streamer importtid# --------- Brukerinnstillinger --------- SENSOR_LOCATION_NAME = "Kontor" BUCKET_NAME = ": delvis_sunny: Romtemperaturer" BUCKET_KEY = "rt0129" ACCESS_KEY = "PLASSER DITT TILGANGSNØKEL FOR UTLØPSSTATEN HER" MINUTES_BETWEEN_READS = 10METRIC_UNITS = Falske # -------------------------------- streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) mens True: fuktighet, temp_c = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) hvis METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME): temp_f = format (temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Temperatur (F)", temp_f) fuktighet = format (fuktighet, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Fuktighet (%)", fuktighet) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)
- Linje 6 - Denne verdien skal være unik for hver node/temperatursensor. Dette kan være sensornodenes romnavn, fysiske plassering, unike identifikator eller hva som helst. Bare sørg for at den er unik for hver node for å sikre at dataene fra denne noden går til sin egen datastrøm i dashbordet.
- Linje 7 - Dette er navnet på databøtten. Dette kan når som helst endres i det opprinnelige tilstandsgrensesnittet.
- Linje 8 - Dette er bøttenøkkelen din. Det må være den samme bøttenøkkelen for hver node du vil vise på samme dashbord.
- Linje 9 - Dette er tilgangsnøkkelen til din første statskonto. Kopier og lim inn denne nøkkelen fra din opprinnelige statskonto.
- Linje 10 - Dette er tiden mellom sensoravlesninger. Endre deretter.
- Linje 11 - Du kan angi metriske eller keiserlige enheter på linje 11.
Etter at du har angitt linje 6–11 i Python -skriptet på Pi, lagrer og avslutter du tekstredigeringsprogrammet. Kjør skriptet med følgende kommando:
$ python tempsensor.py
Nå vil du få data til å sende til et opprinnelig statuspanel. Gå til den siste delen av denne artikkelen for detaljer om hvordan du tilpasser dashbordet.
Trinn 6: DSB18B20 -løsning
Båndkabelen kobles til GPIO -pinnene på Pi. DS18B20 har tre ledninger. Den røde ledningen kobles til 3,3V. Den blå/svarte ledningen kobles til bakken. Den gule ledningen kobles til en opptrekksmotstand/pinne 4. Når dette er koblet til, slår du på din Pi.
Den siste versjonen av Raspbian (kjerne 3.18) krever et tillegg til filen /boot/config.txt for at Pi skal kommunisere med DS18B20. Kjør følgende for å redigere denne filen:
$ sudo nano /boot/config.txt
Hvis følgende linje ikke allerede er i denne filen (hvis den er det, er det sannsynligvis nederst i filen), legg til den og lagre filen.
dtoverlay = w1-gpio, gpiopin = 4
Start Pi på nytt for at endringene skal tre i kraft.
$ sudo omstart
For å starte temperatursensorens lesegrensesnitt må vi kjøre to kommandoer. Gå til en ledetekst på Pi eller SSH til Pi. Skriv inn følgende kommandoer:
$ sudo modprobe w1-gpio $ sudo modprobe w1-therm
Utgangen fra temperatursensoren din skrives nå til en fil på din Pi. For å finne den filen:
$ cd/sys/buss/w1/enheter
I denne katalogen vil det være en undermappe som starter med "28-". Det som kommer etter “28-” er serienummeret til sensoren din. cd i den katalogen. Inne i denne katalogen inneholder en fil med navnet w1_slave utdataene fra sensoren din. Bruk nano for å se innholdet i filen. Når du har skrevet inn filen, vil den se slik ut:
a2 01 4b 46 7f ff 0e 10 d8: crc = d8 YESa2 01 4b 46 7f ff 0e 10 d8 t = 26125
Tallet etter “t =” er tallet vi ønsker. Dette er temperaturen i 1/1000 grader Celsius (i eksemplet ovenfor er temperaturen 26,125 C). Vi trenger bare et enkelt program som leser denne filen og analyserer det tallet. Vi kommer til det på bare et sekund.
Alt er nå klart for oss å begynne å streame data. For å åpne tekstredigereren skriver du inn følgende i ledeteksten:
$ nano temperatur. py
Kopier og lim inn koden nedenfor i tekstredigereren.
import os
import glob import time from ISStreamer. Streamer import Streamerstreamer = Streamer (bucket_name = "Temperature 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 retur temp_c mens True: temp_c = read_temp () temp_f = temp_c * 9.0 / 5.0 + 32.0 streamer.log ("temperatur (C)", temp_c) streamer.log ("temperatur (F)", temp_f) time.sleep (.5)
Du må sette tilgangsnøkkelen til opprinnelig tilstand på linje 6 i stedet for PUT_YOUR_ACCESS_KEY_HERE (kopier streamingnøkkelen til utklippstavlen fra "Min konto" og lim den inn i koden i nano i terminalen).
Linje 6 vil opprette en bøtte med navnet "Temperaturstrøm" i din opprinnelige tilstandskonto (forutsatt at du spesifiserte tilgangsnøkkelen din på samme linje). Linje 8 til 30 i dette skriptet grensesnitt ganske enkelt med DS18B20 -sensoren for å lese temperaturen fra w1_slave -filen vi diskuterte tidligere. Read_temp_raw () -funksjonen på linje 15 leser rå w1_slave -filen. Read_temp () -funksjonen på linje 21 analyserer temperaturen fra filen. Linje 34 kaller disse funksjonene for å få gjeldende temperatur. Linje 35 konverterer temperaturen fra Celsius til Fahrenheit. Linje 35 og 36 strømmer temperaturen til din opprinnelige statskonto. Linje 37 setter skriptet på pause i 0,5 sekunder, og angir hvor ofte temperatursensoren skal leses og streames.
Vi er klare til å begynne å streame. Kjør følgende kommando:
$ sudo python temperatur. py
Gå tilbake til den opprinnelige tilstandskontoen i nettleseren din og se etter en ny databøtte kalt Temperaturstrøm. Du bør se temperaturdatastrømming live. Varier temperaturen på sensoren ved å holde den i hånden eller legge den i et glass is.
Nå vil du få data til å sende til et opprinnelig statuspanel. Gå til den siste delen av denne artikkelen for detaljer om hvordan du tilpasser dashbordet.
Trinn 7: BME280 -løsning
Du trenger følgende for å bygge denne løsningen:
-BME280 Trykk-, temperatur- og fuktighetssensor
Denne sensoren kommer med pins som du må lodde på sensoren. Jeg anbefaler å bruke et brødbrett med pinnene langsiden ned i brødbrettet for å gjøre lodding enklere. Når du har fullført dette må vi koble sensoren til Pi.
Koble VIN -pinnen på sensoren til 3,3V pinne 1 på Pi. Koble GND -pinnen på sensoren til jordpinnen 6 på Pi. Koble SCK -pinnen på sensoren til SCL -pinnen 5 på Pi. Koble SDI -pinnen på sensoren til SDA -pinne 3 på Pi. Du må bruke Python 3 for denne løsningen og installere Initial State Streamer -modulen ved hjelp av pip3 installasjonsmetode.
Du må også installere noen få Adafruit Python -biblioteker.
pip3 install adafruit-blinkapip3 install pureio pip3 install spidev pip3 install adafruit-GPIO pip3 install adafruit-circuitpython-bme280
For å bruke sensoren må vi aktivere I2C på Pi.
sudo raspi-config
Dette vil åpne Raspberry Pi Software Configuration Tool. Gå til Alternativ 5 Grensesnittalternativer. Herfra går du til I2C. Den vil be deg om å spørre deg om du vil aktivere I2C, Velg Ja og Fullfør. Nå har du I2C aktivert for å kommunisere med sensoren.
Vi kan teste dette ved å kjøre følgende:
sudo i2cdetect -y 1
Dette vil bekrefte at Pi ser sensoren. På den måten den er tilkoblet, skal den vise sensoren på adresse 77. Hvis du ikke oppdager sensoren, må du starte Pi på nytt, aktivere I2C -grensesnittalternativet på Pi igjen, og prøve igjen. Når sensoren din er oppdaget, er det på tide å kjøre hovedkoden vår som sender data til opprinnelig tilstand. Opprettet en fil som heter bme280sensor.py med nano -kommandoen. Kopier og lim inn koden fra essensen i tekstredigereren. Du må gjøre endringer i linje 12–19.
importtid
import board import busio import adafruit_bme280 fra ISStreamer. Streamer import Streamer # Lag bibliotekobjekt ved hjelp av vår Bus I2C porti2c = busio. I2C (board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- -Brukerinnstillinger --------- SENSOR_LOCATION_NAME = "Kontor" BUCKET_NAME = ": delvis_sunny: Romtemperatur" BUCKET_KEY = "temp1" ACCESS_KEY = "DIN TILGANGSNØKKEL HER" # endre dette for å matche stedets trykk (hPa) ved havnivå bme280.sea_level_pressure = 1013,25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = Falske # --------------------------------- # ELLER opprett bibliotekobjekt ved hjelp av vår Bus 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) mens True: fuktighet = format (bme280.fuktighet, ".1f") trykk = format (bme280.trykk, ".1f") temp_c = bme280.temperatur re if METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Temperature (C)", temp_c) else: temp_f = format (temp_c * 9.0 / 5.0 + 32.0, ".1f") streamer.log (SENSOR_LOCATION_NAME + "Temperatur (F)", temp_f) streamer.log (SENSOR_LOCATION_NAME + "Fuktighet (%)", fuktighet) streamer.log (SENSOR_LOCATION_NAME + "Trykk (hPA)", trykk) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)
- Linje 12- Denne verdien skal være unik for hver node/temperatursensor. Dette kan være sensornodenes romnavn, fysiske plassering, unike identifikator eller hva som helst. Bare sørg for at den er unik for hver node for å sikre at dataene fra denne noden går til sin egen datastrøm i dashbordet.
- Linje 13- Dette er navnet på databøtten. Dette kan når som helst endres i brukergrensesnittet for opprinnelig tilstand.
- Linje 14- Dette er din bøttenøkkel. Det må være den samme bøttenøkkelen for hver node du vil vise på samme dashbord.
- Linje 15- Dette er tilgangsnøkkelen til din første statskonto. Kopier og lim inn denne nøkkelen fra din opprinnelige statskonto.
- Linje 17- Dette er trykk på stedet ditt (hPa) ved havnivå. Du finner denne informasjonen på de fleste værnettsteder.
- Linje 18 - Dette er tiden mellom sensoravlesninger. Endre deretter. Linje 19- Her kan du angi metriske eller keiserlige enheter.
Etter at du har angitt linje 12–19 i Python -skriptet på Pi Zero WH, lagrer og avslutter du tekstredigeringsprogrammet. Kjør skriptet med følgende kommando:
$ python3 bme280sensor.py
Nå vil du få data til å sende til et opprinnelig statuspanel. Gå til den siste delen av denne artikkelen for detaljer om hvordan du tilpasser dashbordet.
Trinn 8: Sense HAT
Det første trinnet i å bruke Sense HAT er å fysisk installere den på din Pi. Med Pi slått av, fest HAT som vist på bildet.
Hvis du bestemmer deg for å bruke løsningen som vist ovenfor, kan du legge merke til at Sense HATs temperaturavlesninger vil være litt høye - det er fordi de er det. Den skyldige er varmen som genereres fra Pi’s CPU og varmer opp luften rundt Sense HAT når den sitter på toppen av Pi. For å gjøre temperatursensoren nyttig, må vi enten fjerne hatten fra Pi eller prøve å kalibrere temperatursensoravlesningen. En god løsning for å få sensoren vekk fra Pi er en kabel som lar Sense HAT dingle vekk fra Pi. En 6 , 40-pinners IDE mann til hun skjøteledningskabel vil gjøre susen.
Når du har bestemt deg for de to alternativene, slå på Pi. Vi må installere Python -biblioteket for å gjøre det enkelt å lese sensorverdiene fra Sense HAT. Først må du sørge for at alt er oppdatert på din versjon av Raspbian:
$ sudo apt-get oppdatering
Deretter installerer du Sense HAT Python -biblioteket:
$ sudo apt-get install sense-hat
Start Pi på nytt. Vi er klare til å teste Sense HAT ved å lese sensordata fra den og sende dataene til Initial State.
Lag en fil som heter sensehat, og åpne den i tekstredigereren ved å skrive inn følgende i ledeteksten:
$ nano sensehat.py
Kopier og lim inn koden nedenfor i tekstredigereren.
fra sense_hat import SenseHat
importtid import sys fra ISStreamer. Streamer import Streamer # --------- Brukerinnstillinger --------- BUCKET_NAME = "Kontorvær" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = " Kontor "MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # --------------------------------- streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) sense = SenseHat () mens True: # Les sensorene temp_c = sense.get_temperature () fuktighet = sense.get_humidity () pressure_mb = sense.get_pressure () # Format data temp_f = temp_c * 9.0 / 5.0 + 32.0 temp_f = float ("{0:.2f}". Format (temp_f)) fuktighet = float ("{0:.2f}". Format (fuktighet)) pressure_in = 0.03937008*(pressure_mb) pressure_in = float ("{ 0:.2f} ". Format (pressure_in)) # Skriv ut og strøm utskrift SENSOR_LOCATION_NAME +" Temperatur (F): " + str (temp_f) print SENSOR_LOCATION_NAME +" Fuktighet (%): " + str (fuktighet) print SENSOR_LOCATION_NAME +" Pressure (IN): " + str (pressure_in) streamer.log (": sunny: " + SEN SOR_LOCATION_NAME + "Temperatur (F)", temp_f) streamer.log (": sweat_drops:" + SENSOR_LOCATION_NAME + "Fuktighet (%)", fuktighet) streamer.log (": cloud:" + SENSOR_LOCATION_NAME + "Trykk (IN)", trykk_in) streamer.flush () time.sleep (60*MINUTES_BETWEEN_SENSEHAT_READS)
Legg merke til på første linje at vi importerer SenseHat -biblioteket til skriptet. Før du kjører dette skriptet, må vi konfigurere brukerparametrene våre.
# --------- Brukerinstillinger ---------
BUCKET_NAME = "Kontorvær" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = "Kontor" MINUTES_BETWEEN_SENSEHAT_READS = 0.1# ------------------------- --------
Nærmere bestemt må du angi ACCESS_KEY til tilgangsnøkkelen til din opprinnelige statskonto. Du kan endre BUCKET_NAME og SENSOR_LOCATION_NAME til den faktiske sensorplasseringen. Lagre og avslutt tekstredigeringsprogrammet.
Kjør skriptet ved en ledetekst på Pi:
$ sudo python sensehat.py
Nå vil du få data til å sende til et opprinnelig statuspanel. Gå til den siste delen av denne artikkelen for detaljer om hvordan du tilpasser dashbordet.
Trinn 9: Tilpass det opprinnelige statuspanelet
Gå til din opprinnelige statskonto og se på dataene dine. Du kan høyreklikke på en flis for å endre diagramtypen og klikke på Rediger fliser for å endre størrelsen og flytte flisene rundt. Jeg vil anbefale å bruke målertermostaten for temperatur og målerens væskenivå for fuktighet. Du kan lage linjediagrammer for både temperatur og fuktighet for å se endringer over tid. Du kan også legge til et bakgrunnsbilde på oversikten.
Du kan angi Trigger -varsler slik at du kan få en SMS eller e -post hvis temperaturen faller under eller går over en viss terskel. Gå til data bøtte og klikk på innstillinger. Derfra går du til fanen Utløsere. Skriv inn strømnøkkelen du vil overvåke, operatøren du vil bruke, og terskelverdien. Klikk på plusstegnet for å legge til utløseren. Deretter skriver du inn e -postadressen eller telefonnummeret ditt for å motta varselet og klikker på plusstegnet. Når du har angitt alle utløsere, klikker du på Ferdig -knappen nederst.
Nå som du har opprettet en temperaturmonitor ved hjelp av en temperatursensor og en Raspberry Pi, kan du begynne å tenke på hvilke andre miljødata du kan overvåke neste gang.
Anbefalt:
Hvordan bygge en planteovervåking med Arduino: 7 trinn
Hvordan bygge en planteovervåking med Arduino: I denne opplæringen lærer vi hvordan du oppdager jordfuktighet ved hjelp av en fuktighetssensor og blinker en grønn LED hvis alt er i orden og OLED -skjerm og Visuino. Se videoen
Hvordan bygge et plantevanningssystem ved hjelp av Arduino: 7 trinn
Hvordan bygge et plantevanningssystem ved hjelp av Arduino: I denne opplæringen lærer vi hvordan du lager et plantevanningssystem ved hjelp av en fuktighetssensor, vannpumpe og blinker en grønn LED hvis alt er i orden og OLED Display og Visuino. Se videoen
Hvordan bygge en billig EKG -enhet: 26 trinn
Hvordan bygge en billig EKG -enhet: Hei alle sammen! Jeg heter Mariano og er en biomedisinsk ingeniør. Jeg brukte noen helger på å designe og realisere en prototype av en billig EKG -enhet basert på Arduino -kort som er koblet via Bluetooth til en Android -enhet (smarttelefon eller nettbrett). Jeg ville
Hvordan bygge et nettsted på en Raspberry Pi, med Node.js, Express og MongoDB Del 1: 6 trinn
Hvordan bygge et nettsted på en Raspberry Pi, med Node.js, Express og MongoDB … Del 1: Velkommen til DEL 1 i min node.js webapp -opplæring. Del 1 kommer til å gå gjennom nødvendig programvare som brukes for node.js apputvikling, hvordan du bruker portvideresending, hvordan du bygger en app ved hjelp av Express og hvordan du kjører appen din. Den andre delen av dette
Hvordan bygge en gitarhøyttalerboks eller bygge to for stereoen din. 17 trinn (med bilder)
Hvordan bygge en gitarhøyttalerboks eller bygge to for stereoen din .: Jeg ønsket at en ny gitarhøyttaler skulle følge med rørforsterkeren jeg bygger. Høyttaleren vil forbli ute i butikken min, så det trenger ikke være noe for spesielt. Tolex -belegg kan bli for lett skadet, så jeg sprayet utsiden svart etter en lett sand