Hvordan Bygge En Raspberry Pi Temperatur Monitor

Temperatur og fuktighet er viktige datapunkter i dagens industrielle verden. Overvåking av miljødata for serverrom, kommersielle frysere og produksjonslinjer er nødvendig for å holde ting i gang. Det er mange løsninger der ute som spenner fra grunnleggende til komplekse, og det kan virke overveldende på hva bedriften din trenger og hvor du skal begynne.

Vi går gjennom hvordan du bygger og bruker En Raspberry Pi temperatursensor med forskjellige temperatursensorer. Dette er et godt sted å starte siden disse løsningene er billige, enkle å gjøre, og gir deg et grunnlag for å bygge av for annen miljøovervåking.

En Raspberry Pi er en billig enkeltbordcomputer som lar deg koble til en temperatursensor og streame dataene til en datavisualiseringsprogramvare. Raspberry Pi startet som et læringsverktøy og har utviklet seg til et industrielt arbeidsplassverktøy. Enkel bruk og evne 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 noen modell 3, 4 OG null W / WH. Mellom de du kan velge basert på priser og funksjoner. Null W / WH er den billigste, men hvis du trenger mer funksjonalitet, kan du velge mellom 3 og 4. Du kan bare kjøpe En Null W/WH om gangen på grunn av begrensninger Av Raspberry Pi Foundation. Uansett Hva Pi du velger, sørg for å kjøpe en lader siden det er hvordan du vil drive Pi og ET SD-kort Med Raspbian å gjøre installasjonen av operativsystemet så enkelt som mulig.

Det finnes andre enkeltkortdatamaskiner som også kan fungere, men det er for en annen gang og en annen artikkel.

Sensorer

det er fire sensorer vi anbefaler å bruke fordi de er billige, enkle å koble til og gir nøyaktige avlesninger; DSB18B20, DHT22, BME280 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 Opp Til Raspberry Pi og krever ingen trekk opp motstander.

DSB18B20-denne temperatursensoren har en digital utgang, som fungerer bra med Raspberry Pi. Den har tre ledninger og krever et brødfjel og motstand for tilkoblingen.

BME280-denne sensoren måler temperatur, fuktighet og barometertrykk. Den kan brukes i BÅDE SPI og I2C.

Sense HAT — Dette er et tillegg om bord For Raspberry Pi som har Lysdioder, sensorer og en liten joystick. Den kobles direkte til GPIO På Raspberry Pi, men ved hjelp av en flatkabel gir du mer nøyaktige temperaturavlesninger.

Raspberry Pi Setup

Hvis dette er første gang du setter Opp Raspberry Pi, må du installere Raspbian-Operativsystemet og koble Pi Til WiFi. Dette vil kreve en skjerm og et tastatur for å koble Til Pi. Når Du har det oppe og går og koblet Til WiFI, Er Pi klar til å gå.

Initial State Account

du trenger et sted å sende dataene dine for å holde 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 inn på din eksisterende konto.

Deretter må vi installere Initial State Python-modulen på Din Pi. Ved en ledetekst (ikke glem Å SSH i Din 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 skrevet inn curl-kommandoen i kommandoprompten, vil du se noe som ligner på følgende utgang til skjermen:

når du blir bedt om å automatisk få et eksempelskript, skriv y. Dette vil skape et testskript som vi kan kjøre for å sikre at vi kan streame data til Opprinnelig Tilstand. Neste spørsmål vil spørre hvor du vil lagre eksempelfilen. Du kan enten skrive inn en tilpasset lokal bane eller trykke enter for å godta standardplasseringen. Til slutt blir du spurt hvilken Innledende Tilstandsapp du bruker. Hvis du nylig har opprettet en konto, velger du alternativ 2, skriver inn brukernavn og passord. Etter det vil installasjonen bli fullført.

La oss ta en titt på eksempelskriptet som ble opprettet.

$ nano is_example.py

på linje 15 vil du se en linje som starter med streamer = Streamer(bucket_ .... Disse linjene oppretter en ny databøtte som heter «Python Stream Example» og er knyttet til kontoen din. Denne tilknytningen skjer på grunn av parameteren access_key="..." på samme linje. Den lange serien av bokstaver og tall er Din Første Statskonto tilgangsnøkkel. Hvis du går til Din Opprinnelige Statskonto i nettleseren din, klikker du på brukernavnet ditt øverst til høyre, og deretter går du til «mine innstillinger», du finner den samme tilgangsnøkkelen her under «Streaming Access Keys».

Tilgangsnøkler For Innledende Tilstandsstrøm

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 is_example.py

Gå tilbake til Din Opprinnelige Statskonto i nettleseren din. En ny databøtte kalt «Python Stream Example» burde ha vist seg til venstre i logghyllen din(du må kanskje oppdatere siden). Klikk på denne bøtte og klikk deretter På Waves-ikonet for å vise testdataene.

initial State Python Stream Eksempel dashboard

hvis du bruker Python 3, kan du installere Initial State Streamer-Modulen du kan installere ved hjelp av følgende kommando:

pip3 install ISStreamer

Nå er vi klare til å sette opp temperatursensoren Med Pi for å streame temperaturen til et dashbord.

DHT22 Solution

du trenger følgende elementer for å bygge denne løsningen:
– DHT22 Temperatur-Og Fuktighetssensor

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 dette til pin 2 (øverste høyre pin, 5V) På Pi. Gnd-pin vil bli merket ‘ – ‘Eller’ Gnd ‘ eller noe tilsvarende. Koble dette til pin 6 Gnd (to pinner under 5v pin) På Pi. Den resterende pin PÅ DHT22 er data pin og vil bli merket ‘ out ‘eller’ s ‘eller ‘ data’. Koble dette til EN AV GPIO-pinnene På Pi som GPIO4 (pin 7). Når Dette er kablet, slå På Pi.

for denne løsningen må vi bruke Python 3 Og CircuitPython library som Adafruit har frarådet Dht Python library.

Installer CircuitPython-DHT Python-modulen ved en ledetekst for å gjøre lesing DHT22 sensordata super enkelt:

$ pip3 install adafruit-circuitpython-dht
$ sudo apt-get install libgpiod2

med vårt operativsystem installert sammen med Våre To Python-moduler for å lese sensordata og sende data Til Opprinnelig Tilstand, er vi klare til å skrive Vårt Python-skript. Følgende skript vil opprette / legge til En Initial State data bucket, lese DHT22 sensordata, og sende disse dataene til en real-time dashboard. Alt du trenger å gjøre er å endre linjene 6-11.

  • Linje 7 – denne verdien skal være unik for hver node / temperatursensor. Dette kan være sensornodens romnavn, fysisk plassering, unik identifikator eller hva som helst. Bare sørg for at det er unikt for hver node for å sikre at dataene fra denne noden går til sin egen datastrøm i dashbordet.
  • Linje 8-dette er navnet på databøtten. Dette kan endres når som helst I Den Opprinnelige Tilstand UI.
  • Linje 9-Dette er din bøtte nøkkel. Det må være den samme bøtte nøkkelen for hver node du vil vises i samme dashbordet.
  • Linje 10-Dette Er Din Første Tilstandskonto tilgangsnøkkel. Kopier og lim inn denne nøkkelen fra Din Opprinnelige Statskonto.
  • Linje 11-dette er tiden mellom sensor leser. Endre tilsvarende.
  • Linje 12 – du kan angi metriske eller britiske enheter på linje 11.

etter at du har satt linjer 7-12 i Python-skriptet på Pi, lagre og gå ut av tekstredigereren. Kjør skriptet med følgende kommando:

$ python3 tempsensor.py
Her er et eksempel på BRUK AV DHT22-sensoren Med Raspberry Pi

Nå har du data som sendes til Et Innledende dashbord. Gå til den siste delen av denne artikkelen for detaljer om hvordan du tilpasser dashbordet.

DSB18B20 Solution

du trenger følgende elementer for å bygge denne løsningen:
– DSB18B20 Temperatursensor
– 10k Motstand
– Brødfjel
– 40-Pin Breakout Board + Flatkabel
– Ledninger

båndkabelen kobles TIL gpio-pinnene på Pi. DS18B20 har tre ledninger. Den røde ledningen kobles til 3.3 V. den blå / svarte ledningen kobles til bakken. Den gule ledningen kobles til en pull-up motstand/pin 4. Når Dette er koblet opp, slå På Pi.

den nyeste versjonen Av Raspbian (kernel 3.18) krever et tillegg til /boot / config.txt-fil For Pi å 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, er den sannsynligvis nederst i filen), legg den til og lagre filen.

dtoverlay=w1-gpio,gpiopin=4

Start Pi På Nytt for at endringene skal tre i kraft.

$ sudo reboot

for å starte temperatursensoren les grensesnitt må vi kjøre to kommandoer. Gå til en ledetekst På Pi eller SSH i Pi. Skriv inn følgende kommandoer:

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

utgangen av temperatursensoren din skrives nå til en fil på Pi. For å finne den filen:

$ cd /sys/bus/w1/devices

i denne katalogen vil det være en underkatalog 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 som heter w1_slave utgangen av sensoren. Bruk nano til å vise 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 ut det nummeret. Vi kommer til det om bare et sekund.

Alt er nå klart for oss å starte streaming av data. For å åpne tekstredigeringsprogrammet, skriv inn følgende i ledeteksten:

$ nano temperature.py

Kopier og lim inn koden nedenfor i teksteditoren.

Du må sette Din Opprinnelige Tilgangsnøkkel på linje 6 i stedet for PUT_YOUR_ACCESS_KEY_HERE (kopier streaming-nøkkelen til utklippstavlen fra ‘Min Konto’ og lim den inn i koden i nano i terminalen din).

Linje 6 vil opprette en bøtte med navnet «Temperaturstrøm» i Din Opprinnelige statskonto (forutsatt at du har angitt access_key riktig på samme linje). Linjer 8 til 30 av dette skriptet bare grensesnitt MED ds18b20 sensor for å lese temperaturen fra w1_slave filen vi diskuterte tidligere. Read_temp_raw () – funksjonen på linje 15 leser den rå w1_slave-filen. Read_temp () – funksjonen på linje 21 analyserer temperaturen fra den filen. Linje 34 kaller disse funksjonene for å få gjeldende temperatur. Linje 35 konverterer temperaturen Fra Celsius Til Fahrenheit. Linjene 35 og 36 strømmer temperaturen til Din Opprinnelige statskonto. Linje 37 stopper skriptet i 0,5 sekunder, og angir hvor ofte temperaturføleren skal leses og streames.

Vi er klare til å starte streaming. Kjør følgende kommando:

$ sudo python temperature.py

Gå tilbake til Din Opprinnelige statskonto i nettleseren din og se etter en ny databøtte kalt Temperaturstrøm. Du bør se temperaturdata streaming i live. Varier temperaturen på sensoren ved å holde den i hånden eller sette den i et glass is.

nå vil du ha data som sendes til Et Innledende tilstandsdashbord. Gå til den siste delen av denne artikkelen for detaljer om hvordan du tilpasser dashbordet.

BME280 Solution

Du trenger følgende bygg denne løsningen:
– BME280 Trykk, Temperatur, & Fuktighetssensor

hvis DU bruker EN BME280 som ikke er Fra Adafruit, vil oppsettet og koden være annerledes. DU kan finne et eksempel på HVORDAN DU bruker BME280-sensoren i denne artikkelen om overvåking av fuktighet i gjennomsøkingsrommet.

denne sensoren leveres med pinner som du må lodde på sensoren. Jeg anbefaler å bruke en brødfjel med pinnene langsiden ned i brødfjel for å gjøre lodding enklere. Når du har fullført dette, må vi koble sensoren til Pi.

Koble VIN-tappen på sensoren til 3,3 v-tapp 1 på Pi. Koble GND pin på sensoren bakken pin 6 På Pi. Koble SCK pin på sensoren TIL SCL pin 5 På Pi. Koble SDI-tappen på sensoren til SDA-tappen 3 på Pi.

Du må bruke Python 3 for denne løsningen og installere Initial State Streamer-modulen ved hjelp av pip3-installasjonsmetoden. Du må også installere Noen Adafruit Python-biblioteker.

pip3 install adafruit-blinka
pip3 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 Grensesnitt Alternativer. Herfra går du til I2C. Det vil be 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 ut ved å kjøre følgende:

sudo i2cdetect -y 1

dette vil bekrefte At Pi ser sensoren. På den måten at den er tilkoblet, bør den vise sensoren på adresse 77. Hvis du ikke oppdager sensoren, start Pi På Nytt, aktiver i2c-grensesnittalternativet på Pi, og prøv igjen.

når sensoren er oppdaget, er det på tide å kjøre hovedkoden som sender data Til Opprinnelig Tilstand. Opprettet en fil som heter bme280sensor.py med nano-kommandoen. Kopier og lim inn koden fra hovedpunkt i teksteditoren. Du må gjøre endringer i linjene 12-19.

  • Linje 12 – denne verdien skal være unik for hver node / temperatursensor. Dette kan være sensornodens romnavn, fysisk plassering, unik identifikator eller hva som helst. Bare sørg for at det er unikt 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 endres når som helst I Den Opprinnelige Tilstand UI.
  • Linje 14-Dette er din bøtte nøkkel. Det må være den samme bøtte nøkkelen for hver node du vil vises i samme dashbordet.
  • Linje 15-Dette Er Din Første Tilstandskonto tilgangsnøkkel. Kopier og lim inn denne nøkkelen fra Din Opprinnelige Statskonto.
  • Linje 17-dette er ditt sted trykk (hPa) på havnivå. Du kan finne denne informasjonen på de fleste vær nettsteder.
  • Linje 18-dette er tiden mellom sensor leser. Endre tilsvarende.
  • Linje 19-Her kan du angi metriske eller britiske enheter.

etter at du har satt linjer 12-19 I Python-skriptet på Pi, lagre og gå ut av tekstredigereren. Kjør skriptet med følgende kommando:

$ python3 bme280sensor.py

Nå vil du ha data sender til En Innledende tilstand dashbordet. Gå til den siste delen av denne artikkelen for detaljer om hvordan du tilpasser dashbordet.

Sense HAT Solution

du trenger følgende elementer for å bygge denne løsningen:
– Raspberry Pi Sense HAT
-6 » 40-Pin IDE Hann Til Hunn Skjøteledning(valgfritt for temperatur nøyaktighet)

det første trinnet i å bruke Sense HAT er å fysisk installere Den på Din Pi. Med Pi drevet ned, festet HATTEN som vist nedenfor.

Sense HAT-tilkobling Til Raspberry Pi

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. Den skyldige er varmen som genereres fra Pi ‘ S CPU, og oppvarmer luften rundt Sense HAT når Den sitter på Toppen Av Pi. For å gjøre temperatursensoren nyttig, må vi enten få HATTEN bort 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 bort Fra Pi. En 6″, 40-pin IDE mann til kvinne skjøteledning kabel vil gjøre utslaget.

Raspberry Pi i et tilfelle med skjøteledning som kobler Til Sense HAT

når du bestemmer deg for de to alternativene, slår Du 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 update

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 Opprinnelig Tilstand.

Opprett en fil som heter sensehat og åpne den i tekstredigeringsprogrammet ved å skrive inn follwoing i ledeteksten:

$ nano sensehat.py

Kopier og lim inn koden nedenfor i teksteditoren.

Legg Merke til på første linje at Vi importerer SenseHat-biblioteket i skriptet. Før du kjører dette skriptet, må vi sette opp brukerparametrene våre.

spesifikt må du sette DIN ACCESS_KEY til Din Opprinnelige tilstandskonto-tilgangsnøkkel. DU kan endre BUCKET_NAME og SENSOR_LOCATION_NAME til den faktiske sensorplasseringen. Lagre og avslutt teksteditoren.

kjør skriptet ved en ledetekst På Pi:

$ sudo python sensehat.py

Nå vil du ha data sender til En Innledende tilstand dashbordet. Gå til den siste delen av denne artikkelen for detaljer om hvordan du tilpasser dashbordet.

Tilpass Ditt Opprinnelige Dashbord

Med Raspberry Pi temperatursensor bygget kan du nå gå til Din Opprinnelige Statskonto og se på dataene dine. Du kan høyreklikke På En Flis for å endre diagramtypen og klikke Rediger Fliser for å endre størrelse og flytte Fliser rundt. Jeg vil anbefale å bruke måle termostat for temperatur og måle 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 i dashbordet.

Du kan angi Utløservarsler slik at DU kan få EN SMS eller e-post hvis temperaturen faller under eller går over en viss terskel. Gå til data bucket og klikk på innstillinger. Derfra går du til Utløsere-fanen. Skriv inn strømnøkkelen du vil overvåke, operatoren 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 på og klikker på plusstegnet. Når du har satt alle Utløserne, klikker Du På Ferdig-knappen nederst.

Initial State temperature dashboard

Nå som Du har opprettet En Raspberry Pi temperatursensor ved hjelp av en sensor og En Raspberry Pi, kan du begynne å tenke på hvilke andre miljødata du kan overvåke neste.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.

Previous post Master Gardener :Cassia trees are easy to grow
Next post Adaptiv læring