Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Hindbær Pi
- Trin 2: Sensorer
- Trin 3: Opsætning af Raspberry Pi
- Trin 4: Indledende statskonto
- Trin 5: DHT22 -løsning
- Trin 6: DSB18B20 -løsning
- Trin 7: BME280 -løsning
- Trin 8: Føl HAT
- Trin 9: Tilpas dit oprindelige tilstands dashboard
Video: Sådan opbygges en Raspberry Pi temperaturmonitor: 9 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Temperatur og fugtighed er vitale datapunkter i nutidens industrielle verden. Overvågning af miljødata for serverrum, kommercielle frysere og produktionslinjer er nødvendig for at holde tingene kørende. Der er masser af løsninger derude lige fra grundlæggende til komplekse, og det kan virke overvældende på, hvad din virksomhed har brug for, og hvor du skal starte.
Vi går igennem, hvordan du overvåger temperaturen med en Raspberry Pi og forskellige temperatursensorer, du kan bruge. Dette er et godt sted at starte, da disse løsninger er billige, lette at gøre og giver dig et fundament at bygge videre på til anden miljøovervågning.
Forbrugsvarer
- Hindbær Pi (3, 4 eller Zero WH)
- Temperatursensor (DHT2, DSB18B20, BME280 eller Sense HAT)
- 6 "40-pin IDE forlængerkabel fra han til hun (Sense HAT-løsning)
- 10K modstand, brødbræt, 40-benet breakout board + båndkabel, ledninger (til DSB18B20 løsning)
Trin 1: Hindbær Pi
En Raspberry Pi er en billig enkeltkortcomputer, der giver dig mulighed for at oprette forbindelse til en temperatursensor og streame dataene til en datavisualiseringssoftware. Raspberry Pi startede som et læringsværktøj og har udviklet sig til et industrielt arbejdspladsværktøj. Brugervenligheden og evnen til at kode med Python, det hurtigst voksende programmeringssprog, har gjort dem til en løsning.
Du vil have en Raspberry Pi, der har indbygget WiFi, som er enhver model 3, 4 og nul W/WH. Mellem dem kan du vælge baseret på priser og funktioner. Zero W/WH er den billigste, men hvis du har brug for mere funktionalitet, kan du vælge mellem 3 og 4. Du kan kun købe en Zero W/WH ad gangen på grund af begrænsninger fra Raspberry Pi Foundation. Uanset hvilken Pi du vælger, skal du købe en oplader, da det er sådan, du får strøm til Pi og et SD -kort med Raspbian for at gøre installationen af operativsystemet så let som muligt.
Der er anden enkelt bordcomputer, der også kan fungere, men det er til en anden gang og en anden artikel.
Trin 2: Sensorer
Der er tre sensorer, vi anbefaler at bruge, fordi de er billige, nemme at tilslutte og giver nøjagtige aflæsninger; DSB18B20, DHT22 og Raspberry Pi Sense HAT.
DHT22 - Denne temperatur- og fugtighedsføler har temperaturnøjagtighed på +/- 0,5 C og et fugtighedsområde fra 0 til 100 procent. Det er enkelt at koble op til Raspberry Pi og kræver ikke nogen pull -up -modstande.
DSB18B20 - Denne temperatursensor har en digital udgang, som fungerer godt med Raspberry Pi. Den har tre ledninger og kræver et brødbræt og en modstand til forbindelsen.
BME280 - Denne sensor måler temperatur, fugtighed og barometrisk tryk. Det kan bruges i både SPI og I2C.
Sense HAT - Dette er en tilføjelse ombord til Raspberry Pi, der har lysdioder, sensorer og et lille joystick. Det tilsluttes direkte til GPIO på Raspberry Pi, men ved hjælp af et båndkabel giver du mere nøjagtige temperaturmålinger.
Trin 3: Opsætning af Raspberry Pi
Hvis det er første gang, du konfigurerer din Raspberry Pi, skal du installere Raspbian -operativsystemet og slutte din Pi til WiFi. Dette kræver en skærm og et tastatur for at oprette forbindelse til Pi. Når du har kørt den og har forbindelse til WiFI'en, er din Pi klar til brug.
Trin 4: Indledende statskonto
Du skal bruge et sted til at sende dine data for at føre en historisk log og se datastrømmen i realtid, så vi vil bruge Initial State. Gå til https://iot.app.initialstate.com, og opret en ny konto, eller log ind på din eksisterende konto.
Dernæst skal vi installere Initial State Python -modulet på din Pi. Ved en kommandoprompt (glem ikke at SSH først i din Pi), kør følgende kommando:
$ cd/home/pi/
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
Når du har indtastet curl -kommandoen i kommandoprompten, vil du se noget, der ligner følgende output til skærmen:
pi@raspberrypi ~
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash Password: Begyndende ISStreamer Python Nem installation! Dette kan tage et par minutter at installere, få en kop kaffe:) Men glem ikke at komme tilbage, jeg har spørgsmål senere! Fundet easy_install: setuptools 1.1.6 Fundet pip: pip 1.5.6 fra /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip mindre version: 5 ISStreamer fundet, opdaterer … Krav allerede opdateret: ISStreamer i /Library/Python/2.7/site-packages Rydder op … Vil du automatisk få et eksempel script? [y/N] Hvor vil du gemme eksemplet? [standard:./is_example.py] Vælg, hvilken starttilstandsapp du bruger: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com Indtast valg 1 eller 2: Indtast iot.app.initialstate.com brugernavn: Indtast iot.app.initialstate.com adgangskode:
Når du bliver bedt om automatisk at hente et eksempel script, skal du skrive y. Dette vil oprette et test script, som vi kan køre for at sikre, at vi kan streame data til den oprindelige tilstand. Den næste prompt spørger, hvor du vil gemme eksempelfilen. Du kan enten skrive en tilpasset lokal sti eller trykke på enter for at acceptere standardplaceringen. Endelig bliver du spurgt, hvilken Initial State -app du bruger. Hvis du for nylig har oprettet en konto, skal du vælge mulighed 2, indtaste dit brugernavn og din adgangskode. Herefter vil installationen være fuldført.
Lad os se på eksemplet på script, der blev oprettet.
$ nano er_eksempel.py
På linje 15 vil du se en linje, der starter med streamer = Streamer (bucket_…. Disse linjer opretter en ny databucket med navnet "Python Stream -eksempel" og er tilknyttet din konto. Denne tilknytning sker på grund af access_key = "…" parameter på den samme linje. Den lange række bogstaver og tal er din adgangsnøgle til din oprindelige statskonto. Hvis du går til din oprindelige statskonto i din webbrowser, skal du klikke på dit brugernavn øverst til højre og derefter gå til "mine indstillinger", finder du den samme adgangsnøgle her under "Streaming Access Keys".
Hver gang du opretter en datastrøm, leder denne adgangsnøgle datastrømmen til din konto (så del ikke din nøgle med nogen).
Kør testskriptet for at sikre, at vi kan oprette en datastrøm til din Initial State -konto. Kør følgende:
$ python er_eksempel.py
Gå tilbage til din Initial State -konto i din webbrowser. En ny dataskovl kaldet "Python Stream -eksempel" skulle have vist sig til venstre i din loghylde (du skal muligvis opdatere siden). Klik på denne spand, og klik derefter på ikonet Waves for at se testdataene
Hvis du bruger Python 3, kan du installere Initial State Streamer -modulet, som du kan installere ved hjælp af følgende kommando:
pip3 installer ISStreamer
Nu er vi klar til at konfigurere temperatursensoren med Pi til at streame temperaturen til et instrumentbræt.
Trin 5: DHT22 -løsning
DHT22 vil have tre ben - 5V, Gnd og data. Der skal være en pin -etiket til strøm på DHT22 (f.eks. ‘+’ Eller ‘5V’). Tilslut dette til pin 2 (den øverste højre pin, 5V) på Pi. Gnd-stiften vil blive mærket '-' eller 'Gnd' eller noget tilsvarende. Tilslut dette til pin 6 Gnd (to ben under 5V pin) på Pi. Den resterende pin på DHT22 er datapinden og vil blive mærket 'out' eller 's' eller 'data'. Tilslut dette til en af GPIO -benene på Pi, f.eks. GPIO4 (pin 7). Når dette er kablet, tænd for din Pi.
Installer Adafruit DHT Python -modulet ved en kommandoprompt for at gøre læsning af DHT22 sensordata super let:
$ sudo pip installer Adafruit_DHT
Da vores operativsystem er installeret sammen med vores to Python -moduler til læsning af sensordata og afsendelse af data til den oprindelige tilstand, er vi klar til at skrive vores Python -script. Følgende script vil oprette/tilføje til en data-bucket i initialtilstand, læse sensordataene fra DHT22 og sende disse data til et dashboard i realtid. Alt du skal gøre er at ændre linje 6–11.
importer Adafruit_DHT
fra ISStreamer. Streamer import Streamer importtid# --------- Brugerindstillinger --------- SENSOR_LOCATION_NAME = "Kontor" BUCKET_NAME = ": delvis_sunny: Rumtemperaturer" BUCKET_KEY = "rt0129" ACCESS_KEY = "PLACER DIN INDLEDENDE STATTILGANG NØGLE HER" MINUTES_BETWEEN_READS = 10METRIC_UNITS = Falsk # -------------------------------- streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) mens True: luftfugtighed, 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) luftfugtighed = format (luftfugtighed, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Fugtighed (%)", fugtighed) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)
- Linje 6 - Denne værdi skal være unik for hver node/temperatursensor. Dette kan være din sensornodes rumnavn, fysiske placering, entydige identifikator eller hvad som helst. Bare sørg for, at det er unikt for hver node for at sikre, at dataene fra denne knude går til sin egen datastrøm i dit dashboard.
- Linje 7 - Dette er navnet på dataskovlen. Dette kan til enhver tid ændres i den oprindelige tilstandsgrænseflade.
- Linje 8 - Dette er din bucket -nøgle. Det skal være den samme bucket -nøgle for hver node, du vil have vist i det samme dashboard.
- Linje 9 - Dette er din adgangsnøgle til din oprindelige statskonto. Kopier og indsæt denne nøgle fra din Initial State -konto.
- Linje 10 - Dette er tiden mellem sensorlæsninger. Ændre i overensstemmelse hermed.
- Linje 11 - Du kan angive metriske eller kejserlige enheder på linje 11.
Når du har angivet linjer 6–11 i dit Python -script på din Pi, skal du gemme og afslutte teksteditoren. Kør scriptet med følgende kommando:
$ python tempsensor.py
Nu vil du have data til at sende til et Initial State -dashboard. Gå til det sidste afsnit i denne artikel for at få flere oplysninger om, hvordan du tilpasser dit dashboard.
Trin 6: DSB18B20 -løsning
Båndkablet tilsluttes GPIO -benene på Pi. DS18B20 har tre ledninger. Den røde ledning forbindes til 3,3V. Den blå/sorte ledning forbindes til jorden. Den gule ledning tilsluttes en pull-up modstand/pin 4. Når dette er tilsluttet, tænd for din Pi.
Den seneste version af Raspbian (kerne 3.18) kræver en tilføjelse til din /boot/config.txt -fil for at Pi kan kommunikere med DS18B20. Kør følgende for at redigere denne fil:
$ sudo nano /boot/config.txt
Hvis følgende linje ikke allerede er i denne fil (hvis den er, er det sandsynligvis i bunden af filen), tilføj den og gem filen.
dtoverlay = w1-gpio, gpiopin = 4
Genstart din Pi, så ændringerne træder i kraft.
$ sudo genstart
For at starte temperaturfølerens læsegrænseflade skal vi køre to kommandoer. Gå til en kommandoprompt på din Pi eller SSH til din Pi. Indtast følgende kommandoer:
$ sudo modprobe w1-gpio $ sudo modprobe w1-therm
Output fra din temperatursensor skrives nu til en fil på din Pi. Sådan finder du den fil:
$ cd/sys/bus/w1/enheder
I dette bibliotek vil der være en undermappe, der starter med "28-". Det, der kommer efter "28-", er serienummeret på din sensor. cd i den mappe. Inde i dette bibliotek indeholder en fil med navnet w1_slave output fra din sensor. Brug nano til at se filens indhold. Når du har indtastet filen, vil den se sådan ud:
a2 01 4b 46 7f ff 0e 10 d8: crc = d8 YESa2 01 4b 46 7f ff 0e 10 d8 t = 26125
Tallet efter “t =” er det tal, vi ønsker. Dette er temperaturen i 1/1000 grader Celsius (i eksemplet ovenfor er temperaturen 26,125 C). Vi mangler bare et simpelt program, der læser denne fil og analyserer dette nummer. Det kommer vi til på bare et sekund.
Alt er nu klar til at vi kan begynde at streame data. For at åbne teksteditoren skal du skrive følgende i kommandoprompten:
$ nano temperatur. py
Kopier og indsæt nedenstående kode i teksteditoren.
import os
import glob importtid fra 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 return temp_c while 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 skal sætte din adgangsnøgle til initial tilstand på linje 6 i stedet for PUT_YOUR_ACCESS_KEY_HERE (kopier streamingnøglen til dit udklipsholder fra 'Min konto' og indsæt den i koden i nano i din terminal).
Linje 6 opretter en spand med navnet "Temperaturstrøm" i din initialstatkonto (forudsat at du har angivet din adgangsnøgle korrekt på samme linje). Linje 8 til 30 i dette script er simpelthen grænseflade med DS18B20 -sensoren for at læse dens temperatur fra w1_slave -filen, vi diskuterede tidligere. Funktionen read_temp_raw () på linje 15 læser rå w1_slave -filen. Funktionen read_temp () på linje 21 analyserer temperaturen fra filen. Linje 34 kalder disse funktioner for at få den aktuelle temperatur. Linje 35 konverterer temperaturen fra Celsius til Fahrenheit. Linje 35 og 36 streamer temperaturen til din Initial State -konto. Linje 37 sætter scriptet på pause i 0,5 sekunder og indstiller, hvor ofte temperatursensoren skal læses og streames.
Vi er klar til at starte streaming. Kør følgende kommando:
$ sudo python temperatur. py
Gå tilbage til din Initial State -konto i din webbrowser, og kig efter en ny dataskovl kaldet Temperaturstrøm. Du bør se temperaturdatastreaming live. Varier temperaturen på sensoren ved at holde den i hånden eller læg den i et glas is.
Nu vil du have data til at sende til et Initial State -dashboard. Gå til det sidste afsnit i denne artikel for at få flere oplysninger om, hvordan du tilpasser dit dashboard.
Trin 7: BME280 -løsning
Du skal bruge følgende for at bygge denne løsning:
-BME280 Tryk-, temperatur- og luftfugtighedssensor
Denne sensor leveres med stifter, som du skal lodde på sensoren. Jeg anbefaler at bruge et brødbræt med stifterne langsiden ned i brødbrættet for at gøre lodning lettere. Når du har gennemført dette, skal vi koble sensoren til Pi.
Tilslut VIN -stiften på sensoren til 3,3V ben 1 på Pi. Tilslut GND -stiften på sensoren til jordstiften 6 på Pi. Tilslut SCK -stiften på sensoren til SCL -stiften 5 på Pi. Tilslut SDI -pin på sensoren til SDA pin 3 på Pi. Du skal bruge Python 3 til denne løsning og installere Initial State Streamer -modulet ved hjælp af pip3 -installationsmetode.
Du skal også installere et par Adafruit Python -biblioteker.
pip3 install adafruit-blinkapip3 install purio pip3 install spidev pip3 install adafruit-GPIO pip3 install adafruit-circuitpython-bme280
For at bruge sensoren skal vi aktivere I2C på Pi.
sudo raspi-config
Dette åbner Raspberry Pi Software Configuration Tool. Gå til Option 5 Interfacing Options. Herfra går du til I2C. Det vil bede dig om at spørge dig, om du vil aktivere I2C, Vælg Ja og Afslut. Nu har du I2C aktiveret til at kommunikere med sensoren.
Vi kan teste dette ved at køre følgende:
sudo i2cdetect -y 1
Dette vil verificere, at din Pi ser sensoren. På den måde, at den er tilsluttet, skal den vise sensoren på adresse 77. Hvis du ikke registrerer sensoren, skal du genstarte din Pi, genaktivere I2C -interfacemuligheden på din Pi, og prøve igen. Når din sensor er registreret, er det tid at køre vores hovedkode, der sender data til den oprindelige tilstand. Oprettede en fil kaldet bme280sensor.py med nano -kommandoen. Kopier og indsæt koden fra essensen i teksteditoren. Du skal foretage ændringer til linje 12–19.
importtid
import board import busio import adafruit_bme280 fra ISStreamer. Streamer import Streamer # Opret biblioteksobjekt ved hjælp af vores Bus I2C porti2c = busio. I2C (board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- -Brugerindstillinger --------- SENSOR_LOCATION_NAME = "Kontor" BUCKET_NAME = ": delvis_sunny: Rumtemperatur" BUCKET_KEY = "temp1" ACCESS_KEY = "DIN ADGANGSNØGLE HER" # ændre dette for at matche stedets tryk (hPa) ved havniveau bme280.sea_level_pressure = 1013,25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = Falsk # --------------------------------- # ELLER opret biblioteksobjekt ved hjælp af vores 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: luftfugtighed = format (bme280.fugtighed, ".1f") tryk = format (bme280.tryk, ".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 + "Fugtighed (%)", fugtighed) streamer.log (SENSOR_LOCATION_NAME + "Tryk (hPA)", tryk) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)
- Linje 12- Denne værdi skal være unik for hver node/temperatursensor. Dette kan være din sensornodes rumnavn, fysiske placering, entydige identifikator eller hvad som helst. Bare sørg for, at det er unikt for hver node for at sikre, at dataene fra denne knude går til sin egen datastrøm i dit dashboard.
- Linje 13- Dette er navnet på dataskovlen. Dette kan til enhver tid ændres i den oprindelige tilstandsgrænseflade.
- Linje 14- Dette er din bucket-nøgle. Det skal være den samme bucket -nøgle for hver node, du vil have vist i det samme dashboard.
- Linje 15- Dette er din adgangsnøgle til din første statskonto. Kopier og indsæt denne nøgle fra din Initial State -konto.
- Linje 17- Dette er dit lokations tryk (hPa) ved havets overflade. Du kan finde disse oplysninger på de fleste vejrwebsteder.
- Linje 18 - Dette er tiden mellem sensorlæsninger. Skift i overensstemmelse hermed. Linje 19- Her kan du angive metriske eller kejserlige enheder.
Når du har angivet linjer 12–19 i dit Python -script på din Pi Zero WH, skal du gemme og afslutte teksteditoren. Kør scriptet med følgende kommando:
$ python3 bme280sensor.py
Nu vil du have data til at sende til et Initial State -dashboard. Gå til det sidste afsnit i denne artikel for at få flere oplysninger om, hvordan du tilpasser dit dashboard.
Trin 8: Føl HAT
Det første trin i at bruge Sense HAT er at fysisk installere det på din Pi. Med Pi slukket, monteres hatten som vist på billedet.
Hvis du beslutter dig for at bruge løsningen som vist ovenfor, kan du bemærke, at din Sense HATs temperaturmålinger vil være lidt høje - det er fordi de er. Synderen er varmen, der genereres fra Pi’ens CPU, der opvarmer luften omkring Sense HAT, når den sidder oven på Pi’en. For at gøre temperatursensoren nyttig, skal vi enten fjerne hatten fra Pi eller forsøge at kalibrere temperaturfølerens aflæsning. En god løsning til at få sensoren væk fra Pi er et kabel, der lader Sense HAT dingle væk fra Pi. Et 6 , 40-benet IDE han til hun forlængerkabel kabel vil gøre tricket.
Når du har besluttet dig for de to muligheder, skal du tænde for din Pi. Vi skal installere Python -biblioteket for at gøre det let at læse sensorværdierne fra Sense HAT. Først skal du sikre dig, at alt er opdateret på din version af Raspbian:
$ sudo apt-get opdatering
Installer derefter Sense HAT Python -biblioteket:
$ sudo apt-get installer sense-hat
Genstart din Pi. Vi er klar til at teste Sense HAT ved at læse sensordata fra den og sende disse data til den oprindelige tilstand.
Opret en fil kaldet sensehat, og åbn den i teksteditoren ved at indtaste følgende i kommandoprompten:
$ nano sensehat.py
Kopier og indsæt nedenstående kode i teksteditoren.
fra sense_hat import SenseHat
importtid import sys fra ISStreamer. Streamer import Streamer # --------- Brugerindstillinger --------- BUCKET_NAME = "Kontorvejr" 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: # Læs sensorerne temp_c = sense.get_temperature () luftfugtighed = sense.get_humidity () tryk_mb = sense.get_pressure () # Formatér data temp_f = temp_c * 9,0 / 5,0 + 32.0 temp_f = float ("{0:.2f}". Format (temp_f)) luftfugtighed = float ("{0:.2f}". Format (luftfugtighed)) pressure_in = 0.03937008*(pressure_mb) pressure_in = float ("{ 0:.2f} ". Format (pressure_in)) # Udskriv og stream print SENSOR_LOCATION_NAME +" Temperatur (F): " + str (temp_f) print SENSOR_LOCATION_NAME +" Fugtighed (%): " + str (fugtighed) print SENSOR_LOCATION_NAME +" Tryk (IN): " + str (pressure_in) streamer.log (": sunny: " + SEN SOR_LOCATION_NAME + "Temperatur (F)", temp_f) streamer.log (": sweat_drops:" + SENSOR_LOCATION_NAME + "Fugtighed (%)", fugtighed) streamer.log (": cloud:" + SENSOR_LOCATION_NAME + "Tryk (IN)", tryk_i) streamer.flush () time.sleep (60*MINUTES_BETWEEN_SENSEHAT_READS)
Bemærk på den første linje, at vi importerer SenseHat -biblioteket til scriptet. Inden du kører dette script, skal vi konfigurere vores brugerparametre.
# --------- Brugerindstillinger ---------
BUCKET_NAME = "Kontorvejr" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = "Kontor" MINUTES_BETWEEN_SENSEHAT_READS = 0.1# ------------------------- --------
Specifikt skal du indstille din ACCESS_KEY til din adgangsnøgle til din initialstatskonto. Du kan ændre BUCKET_NAME og SENSOR_LOCATION_NAME til den faktiske sensorplacering. Gem og afslut teksteditoren.
Kør scriptet ved en kommandoprompt på din Pi:
$ sudo python sensehat.py
Nu vil du have data til at sende til et Initial State -dashboard. Gå til det sidste afsnit i denne artikel for at få flere oplysninger om, hvordan du tilpasser dit dashboard.
Trin 9: Tilpas dit oprindelige tilstands dashboard
Gå til din oprindelige statskonto og se på dine data. Du kan højreklikke på en flise for at ændre diagramtypen og klikke på Rediger fliser for at ændre størrelsen og flytte dine fliser rundt. Jeg vil anbefale at bruge målertermostaten til temperatur og målerens væskeniveau til fugtighed. Du kan oprette linjediagrammer for både temperatur og fugtighed for at se ændringer over tid. Du kan også tilføje et baggrundsbillede til dit dashboard.
Du kan indstille Trigger -advarsler, så du kan få en SMS eller e -mail, hvis temperaturen falder under eller går over en bestemt tærskel. Gå til din dataskovl, og klik på indstillinger. Gå derfra til fanen Triggers. Indtast den strømnøgle, du vil overvåge, den operatør, du vil bruge, og tærskelværdien. Klik på plustegnet for at tilføje udløseren. Derefter indtaster du din e -mail eller dit telefonnummer for at modtage advarslen på og klikker på plustegnet. Når du har indstillet alle dine udløsere, skal du klikke på knappen Udført i bunden.
Nu hvor du har oprettet en temperaturmonitor ved hjælp af en temperatursensor og en Raspberry Pi, kan du begynde at tænke på, hvilke andre miljødata du kan overvåge næste gang.
Anbefalede:
Sådan opbygges et plantevandingssystem ved hjælp af Arduino: 7 trin
Sådan opbygges et plantevandingssystem ved hjælp af Arduino: I denne vejledning lærer vi, hvordan man laver et plantevandingssystem ved hjælp af en fugtighedsføler, vandpumpe og blinker en grøn LED, hvis alt er ok, og OLED Display og Visuino. Se videoen
Sådan opbygges en billig EKG -enhed: 26 trin
Sådan bygger du en lavpris -EKG -enhed: Hej alle sammen! Jeg hedder Mariano og er en biomedicinsk ingeniør. Jeg brugte nogle weekender på at designe og realisere en prototype af en billig EKG -enhed baseret på Arduino -kort forbundet via Bluetooth til en Android -enhed (smartphone eller tablet). Jeg ville
Sådan opbygges en siddetidstracker: 7 trin
Sådan opbygges en siddetidssporing: Dette projekt vil bruge Zio Qwiic ultralydsafstandssensor til at registrere og spore en person. Enheden placeres strategisk oven på en skærm/skærm, der vender mod den person, der sidder, foran hans/hendes computer. Projektet vil
Sådan opbygges en spil- eller grundcomputer (alle komponenter): 13 trin
Sådan bygger du en gaming- eller grundlæggende computer (alle komponenter): Så du vil vide, hvordan du bygger en computer? I disse instruktioner vil jeg lære dig at bygge en grundlæggende stationær computer. Her er de nødvendige dele: PC Case bundkort (Sørg for, at det er PGA, hvis AMD og LGA hvis Intel) CPU Cooler Case Fans Pow
Sådan opbygges en folketæller med Raspberry Pi og Ubidots: 6 trin
Sådan opbygges en folketæller med Raspberry Pi og Ubidots: I dette enkle projekt bruger vi en bevægelsessensor til at registrere, om et objekt passerer foran vores Raspberry Pi. Derefter tæller vi, hvor mange gange det sker, og sender denne værdi til Ubidots. Persontællere er typisk dyre enheder, der bruges i