INHOUDSOPGAWE:

Hoe om 'n Raspberry Pi -temperatuurmonitor te bou: 9 stappe
Hoe om 'n Raspberry Pi -temperatuurmonitor te bou: 9 stappe

Video: Hoe om 'n Raspberry Pi -temperatuurmonitor te bou: 9 stappe

Video: Hoe om 'n Raspberry Pi -temperatuurmonitor te bou: 9 stappe
Video: Как сделать схему датчика температуры с помощью диода 2024, November
Anonim
Hoe om 'n Raspberry Pi -temperatuurmonitor te bou
Hoe om 'n Raspberry Pi -temperatuurmonitor te bou

Temperatuur en humiditeit is belangrike datapunte in die industriële wêreld van vandag. Omgewingsdata vir bedienerkamers, kommersiële vrieskaste en produksielyne word gemonitor om dinge vlot te laat verloop. Daar is baie oplossings wat wissel van basies tot kompleks, en dit kan oorweldigend lyk oor wat u onderneming nodig het en waar om te begin.

Ons sal kyk hoe u die temperatuur kan monitor met 'n Raspberry Pi en verskillende temperatuursensors wat u kan gebruik. Dit is 'n goeie plek om te begin, aangesien hierdie oplossings goedkoop, maklik om te doen is, en u 'n grondslag bied om voort te bou vir ander omgewingsmonitering.

Voorrade

  • Framboos Pi (3, 4 of Zero WH)
  • Temperatuursensor (DHT2, DSB18B20, BME280 of Sense HAT)
  • 6 "40-pins IDE man-tot-vroulike verlengkabel (Sense HAT-oplossing)
  • 10K weerstand, broodbord, 40-pins breekbord + lintkabel, drade (vir DSB18B20-oplossing)

Stap 1: Framboos Pi

'N Raspberry Pi is 'n goedkoop enkelbordrekenaar waarmee u aan 'n temperatuursensor kan koppel en die data na 'n data -visualiseringsagteware kan stroom. Raspberry Pi's het begin as 'n leermiddel en het ontwikkel tot 'n industriële werkplekhulpmiddel. Die gemak van gebruik en die vermoë om te kodeer met Python, die vinnigste groeiende programmeertaal, het hulle tot 'n oplossing gebring.

U wil 'n Raspberry Pi met ingeboude WiFi hê, wat van enige model 3, 4 en nul W/WH is. Tussen dié kan u kies op grond van pryse en funksies. Die Zero W/WH is die goedkoopste, maar as u meer funksionaliteit benodig, kan u kies tussen die 3 en 4. U kan slegs een Zero W/WH op 'n slag koop as gevolg van beperkings deur die Raspberry Pi Foundation. Ongeag watter Pi u kies, koop 'n laaier, want dit is die manier waarop u die Pi en 'n SD -kaart met Raspbian kan bestuur om die installering van die bedryfstelsel so maklik as moontlik te maak.

Daar is ook ander enkelbordrekenaars wat kan werk, maar dit is vir 'n ander tyd en 'n ander artikel.

Stap 2: Sensors

Daar is drie sensors wat ons aanbeveel om te gebruik, want dit is goedkoop, maklik om aan te sluit en akkurate metings te gee; DSB18B20, DHT22, en Raspberry Pi Sense HAT.

DHT22 - Hierdie temperatuur- en humiditeitsensor het 'n temperatuurnauwkeurigheid van +/- 0,5 C en 'n humiditeitsbereik van 0 tot 100 persent. Dit is eenvoudig om aan die Raspberry Pi te koppel en het geen optrekweerstand nodig nie.

DSB18B20 - Hierdie temperatuursensor het 'n digitale uitset, wat goed werk met die Raspberry Pi. Dit het drie drade en benodig 'n broodbord en weerstand vir die verbinding.

BME280 - Hierdie sensor meet temperatuur, humiditeit en barometriese druk. Dit kan gebruik word in beide SPI en I2C.

Sense HAT - Dit is 'n toevoeging aan boord vir Raspberry Pi met LED's, sensors en 'n klein joystick. Dit maak direk verbinding met die GPIO op die Raspberry Pi, maar met behulp van 'n lintkabel kan u meer akkurate temperatuurmetings kry.

Stap 3: Opstelling van Framboos Pi

As dit die eerste keer is dat u Raspberry Pi instel, moet u die Raspbian -bedryfstelsel installeer en u Pi aan WiFi koppel. Dit sal 'n monitor en 'n sleutelbord benodig om aan te sluit op die Pi. As u dit eers aan die gang het en aan die WiFI gekoppel is, is u Pi gereed om te gebruik.

Stap 4: Aanvanklike staatrekening

Aanvanklike staatsrekening
Aanvanklike staatsrekening
Aanvanklike staatsrekening
Aanvanklike staatsrekening

U moet êrens u data stuur om 'n historiese logboek te hou en die intydse datastroom te sien, sodat ons die oorspronklike toestand kan gebruik. Gaan na https://iot.app.initialstate.com en skep 'n nuwe rekening of meld by u bestaande rekening aan.

Vervolgens moet ons die Initial State Python -module op u Pi installeer. Voer die volgende opdrag uit by 'n opdragprompt (moenie vergeet om eers in u Pi te SSH nie):

$ cd/home/pi/

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Nadat u die krulopdrag in die opdragprompt ingevoer het, sal u iets soortgelyk aan die volgende uitvoer na die skerm sien:

pi@raspberrypi ~

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash wagwoord: begin met die installering van ISStreamer Python! Dit kan 'n paar minute neem om te installeer, koffie te drink:) Maar vergeet nie om terug te kom nie, ek het later vrae! Easy_install: setuptools 1.1.6 Gevind pip: pip 1.5.6 van /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip hoof weergawe: 1 pip minor weergawe: 5 ISStreamer gevind, word opgedateer … Vereis reeds op datum: ISStreamer in /Library/Python/2.7/site-packages Maak skoon … Wil u outomaties 'n voorbeeldskrif kry? [j/n] Waar wil u die voorbeeld stoor? [standaard:./is_example.py] Kies asseblief watter aanvanklike staatsprogram u gebruik: 1. app.initialstate.com 2. [NUUT!] iot.app.initialstate.com Voer keuse 1 of 2 in: voer iot.app in.initialstate.com gebruikersnaam: Voer wagwoord iot.app.initialstate.com in:

Tik y as u gevra word om 'n voorbeeldskrip outomaties te kry. Dit sal 'n toetsskrif skep wat ons kan uitvoer om te verseker dat ons data na die oorspronklike toestand kan stroom. Die volgende aanwysing vra waar u die voorbeeldlêer wil stoor. U kan 'n aangepaste plaaslike pad tik of op Enter druk om die standaard ligging te aanvaar. Uiteindelik sal u gevra word watter aanvanklike staat -app u gebruik. As u onlangs 'n rekening geskep het, kies opsie 2, voer u gebruikersnaam en wagwoord in. Daarna sal die installasie voltooi wees.

Kom ons kyk na die voorbeeldskrif wat geskep is.

$ nano is_voorbeeld.py

Op reël 15 sien u 'n reël wat begin met streamer = Streamer (bucket_…. Hierdie reëls skep 'n nuwe data -emmer met die naam "Voorbeeld van Python -stroom" en word met u rekening geassosieer. Hierdie assosiasie gebeur as gevolg van die access_key = "…" parameter op dieselfde reël. Die lang reeks letters en syfers is die toegangsleutel van u aanvanklike staatrekening. As u in u webblaaier na u oorspronklike staatrekening gaan, klik dan op u gebruikersnaam regs bo en gaan dan na "my instellings", vind u dieselfde toegangsleutel hier onder "Streaming Access Keys".

Elke keer as u 'n datastroom skep, stuur die toegangsleutel die datastroom na u rekening (moenie u sleutel met iemand deel nie).

Begin die toetsskrif om seker te maak dat ons 'n datastroom na u aanvanklike staatrekening kan skep. Voer die volgende uit:

$ python is_voorbeeld.py

Gaan terug na u aanvanklike staatrekening in u webblaaier. 'N Nuwe data -emmer met die naam "Python Stream -voorbeeld" moes links in u logblad verskyn (u moet die bladsy moontlik herlaai). Klik op hierdie emmer en klik dan op die Waves -ikoon om die toetsdata te sien

As u Python 3 gebruik, kan u die Initial State Streamer -module installeer wat u met die volgende opdrag kan installeer:

pip3 installeer ISStreamer

Nou is ons gereed om die temperatuursensor met die Pi op te stel om temperatuur na 'n dashboard te stroom.

Stap 5: DHT22 -oplossing

DHT22 Oplossing
DHT22 Oplossing

Die DHT22 sal drie penne hê - 5V, Gnd en data. Daar moet 'n penetiket vir krag op die DHT22 wees (bv. '+' Of '5V'). Koppel dit aan pen 2 (regs bo, 5V) van die Pi. Die Gnd-pen sal '-' of 'Gnd' of iets soortgelyks genoem word. Koppel dit aan pen 6 Gnd (twee penne onder die 5V -pen) op die Pi. Die oorblywende pen op die DHT22 is die datapennetjie en sal 'out' of 's' of 'data' genoem word. Koppel dit aan een van die GPIO -penne op die Pi, soos GPIO4 (pen 7). As dit eers bedraad is, skakel u Pi aan.

Installeer die Adafruit DHT Python -module by 'n opdragprompt om die lees van DHT22 sensordata super maklik te maak:

$ sudo pip installeer Adafruit_DHT

Met ons bedryfstelsel geïnstalleer saam met ons twee Python -modules vir die lees van sensordata en die stuur van data na die oorspronklike toestand, is ons gereed om ons Python -script te skryf. Die volgende skrif sal 'n data-emmer van die eerste toestand skep/byvoeg, die sensordata van DHT22 lees en dit na 'n intydse paneelbord stuur. Al wat u hoef te doen is om reëls 6–11 te verander.

voer Adafruit_DHT in

vanaf ISStreamer. Streamer invoer Streamer invoer tyd# --------- Gebruikersinstellings --------- SENSOR_LOCATION_NAME = "Kantoor" BUCKET_NAME = ": gedeeltelik_sonnig: kamertemperature" BUCKET_KEY = "rt0129" ACCESS_KEY = "PLAAS U EERSTE STAAT TOEGANG SLEUTEL HIER" MINUTES_BETWEEN_READS = 10METRIC_UNITS = Onwaar # --------------------------------- streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) terwyl True: humiditeit, temp_c = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) as METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME) ": temp_f = formaat (temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Temperatuur (F)", temp_f) humiditeit = formaat (humiditeit, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Humiditeit (%)", humiditeit) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)

  • Reël 6 - Hierdie waarde moet uniek wees vir elke node/temperatuursensor. Dit kan die kamernaam, fisiese ligging, unieke identifiseerder of wat ook al van u sensorknoop wees. Maak net seker dat dit uniek is vir elke knoop om te verseker dat die data van hierdie knoop na sy eie datastroom in u dashboard gaan.
  • Reël 7 - Dit is die naam van die data -emmer. Dit kan te eniger tyd verander word in die Initial State UI.
  • Reël 8 - Dit is u emmersleutel. Dit moet dieselfde emmersleutel wees vir elke knoop wat u in dieselfde paneelbord wil vertoon.
  • Reël 9 - Dit is die toegangsleutel van u aanvanklike staatrekening. Kopieer en plak hierdie sleutel uit u aanvanklike staatrekening.
  • Reël 10 - Dit is die tyd tussen sensorlesings. Verander dienooreenkomstig.
  • Reël 11 - U kan metrieke of imperiale eenhede op reël 11 spesifiseer.

Nadat u reëls 6–11 in u Python -script op u Pi gestel het, stoor en verlaat u die teksredakteur. Begin die script met die volgende opdrag:

$ python tempsensor.py

U sal nou data na 'n aanvanklike toestand -paneelbord stuur. Gaan na die laaste gedeelte van hierdie artikel vir meer inligting oor hoe u u dashboard kan aanpas.

Stap 6: DSB18B20 -oplossing

DSB18B20 Oplossing
DSB18B20 Oplossing
DSB18B20 Oplossing
DSB18B20 Oplossing

Die lintkabel word verbind met die GPIO -penne op die Pi. Die DS18B20 het drie drade. Die rooi draad sluit aan op 3.3V. Die blou/swart draad verbind met die grond. Die geel draad word verbind met 'n optrekweerstand/pen 4. Sodra dit aangesluit is, skakel die Pi aan.

Die nuutste weergawe van Raspbian (kern 3.18) vereis 'n toevoeging tot u /boot/config.txt -lêer sodat die Pi met die DS18B20 kan kommunikeer. Voer die volgende uit om hierdie lêer te wysig:

$ sudo nano /boot/config.txt

As die volgende reël nog nie in hierdie lêer is nie (indien wel, is dit waarskynlik onderaan die lêer), voeg dit by en stoor die lêer.

dtoverlay = w1-gpio, gpiopin = 4

Herlaai u Pi sodat die veranderinge in werking tree.

$ sudo herlaai

Om die leesvlak van die temperatuursensor te begin, moet ons twee opdragte uitvoer. Gaan na 'n opdragprompt op u Pi of SSH in u Pi. Tik die volgende opdragte:

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

Die uitset van u temperatuursensor word nou na 'n lêer op u Pi geskryf. Om die lêer te vind:

$ cd/sys/bus/w1/toestelle

In hierdie gids sal daar 'n subgids wees wat begin met '28-'. Wat kom na die “28-” is die reeksnommer van u sensor. cd in die gids. In hierdie gids bevat 'n lêer met die naam w1_slave die uitset van u sensor. Gebruik nano om die inhoud van die lêer te sien. Sodra u die lêer ingevoer het, sal dit so lyk:

a2 01 4b 46 7f ff 0e 10 d8: crc = d8 YESa2 01 4b 46 7f ff 0e 10 d8 t = 26125

Die getal na "t =" is die getal wat ons wil hê. Dit is die temperatuur in 1/1000 grade Celsius (in die voorbeeld hierbo is die temperatuur 26,125 C). Ons benodig net 'n eenvoudige program wat hierdie lêer lees en die getal ontleed. Ons sal dit binne 'n sekonde bereik.

Alles is nou gereed vir ons om data te begin stroom. Om die teksredakteur oop te maak, tik die volgende in die opdragprompt:

$ nano temperatuur.py

Kopieer en plak die onderstaande kode in die teksteditor.

invoer 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 retour temp_c terwyl True: temp_c = read_temp () temp_f = temp_c * 9.0 / 5.0 + 32.0 streamer.log ("temperatuur (C)", temp_c) streamer.log ("temperatuur (F)", temp_f) time.sleep (.5)

U moet u toegangsleutel vir aanvanklike staat op reël 6 plaas in plaas van PUT_YOUR_ACCESS_KEY_HERE (kopieer die stromingsleutel na u knipbord vanaf 'My rekening' en plak dit in die kode in nano in u terminale).

Reël 6 skep 'n emmer met die naam "Temperatuurstroom" in u aanvanklike staatrekening (as u u toegangsleutel op dieselfde reël korrek gespesifiseer het). Reëls 8 tot 30 van hierdie script koppel eenvoudig met die DS18B20 -sensor om die temperatuur daarvan te lees uit die w1_slave -lêer wat ons vroeër bespreek het. Die funksie read_temp_raw () op reël 15 lees die rou w1_slave -lêer. Die read_temp () -funksie op reël 21 ontleed die temperatuur van die lêer. Lyn 34 noem hierdie funksies om die huidige temperatuur te kry. Lyn 35 verander die temperatuur van Celsius na Fahrenheit. Reëls 35 en 36 stroom die temperatuur na u aanvanklike staatrekening. Reël 37 onderbreek die skrif vir 0,5 sekondes en stel vas hoe gereeld die temperatuursensor gelees en gestroom sal word.

Ons is gereed om te begin stroom. Voer die volgende opdrag uit:

$ sudo python temperatuur.py

Gaan terug na u aanvanklike staatrekening in u webblaaier en soek 'n nuwe data -emmer genaamd Temperatuurstroom. U behoort temperatuurdata regstreeks te sien stroom. Wissel die temperatuur van die sensor deur dit in u hand te hou of in 'n glas ys te sit.

U sal nou data na 'n aanvanklike toestand -paneelbord stuur. Gaan na die laaste gedeelte van hierdie artikel vir meer inligting oor hoe u u dashboard kan aanpas.

Stap 7: BME280 -oplossing

U benodig die volgende om hierdie oplossing te bou:

-BME280 Druk-, temperatuur- en humiditeitsensor

Hierdie sensor bevat penne wat u op die sensor moet soldeer. Ek raai u aan om 'n broodbord met die penne met die lang kant na onder in die broodbord te gebruik om die soldering makliker te maak. Nadat u dit voltooi het, moet ons die sensor na die Pi koppel.

Koppel die VIN -pen op die sensor aan 3.3V -pen 1 op die Pi. Koppel die GND -pen op die sensor aan die grondpen 6 op die Pi. Koppel die SCK -pen op die sensor aan die SCL -pen 5 op die Pi. Koppel die SDI -pen op die sensor aan SDA -pen 3 op die Pi. U moet Python 3 gebruik vir hierdie oplossing en die Initial State Streamer -module installeer met behulp van pip3 -installeringsmetode.

U moet ook 'n paar Adafruit Python -biblioteke installeer.

pip3 installeer adafruit-blinkapip3 installeer pureio pip3 installeer spidev pip3 installeer adafruit-GPIO pip3 installeer adafruit-circuitpython-bme280

Om die sensor te gebruik, moet ons I2C op die Pi aktiveer.

sudo raspi-config

Dit maak die Raspberry Pi sagteware -konfigurasiehulpmiddel oop. Gaan na opsie 5 koppelvlakopsies. Gaan van hier af na I2C. Dit sal u vra om u te vra of u I2C wil aktiveer, kies Ja en voltooi. Nou het u I2C aangeskakel om met die sensor te kommunikeer.

Ons kan dit toets deur die volgende uit te voer:

sudo i2cdetect -y 1

Dit sal verifieer dat u Pi die sensor sien. In die manier waarop dit verbind is, moet dit die sensor op adres 77 wys. As u die sensor nie opspoor nie, herlaai u Pi, heraktiveer die I2C -koppelvlakopsie op u Pi en probeer weer. Sodra u sensor opgespoor is, is dit tyd om ons hoofkode uit te voer wat data na die oorspronklike toestand sal stuur. 'N Lêer geskep met die naam bme280sensor.py met die nano -opdrag. Kopieer en plak die kode uit die kern in die teksredigeerder. U moet reëls 12–19 verander.

invoer tyd

import board import busio import adafruit_bme280 van ISStreamer. Streamer import Streamer # Skep biblioteekvoorwerp met behulp van ons Bus I2C porti2c = busio. I2C (board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- -Gebruikersinstellings --------- SENSOR_LOCATION_NAME = "Kantoor" BUCKET_NAME = ": deels_sonnig: Kamertemperatuur" BUCKET_KEY = "temp1" ACCESS_KEY = "U TOEGANG SLEUTEL HIER" # verander dit om by die druk van die ligging aan te pas (hPa) op seevlak bme280.sea_level_pressure = 1013,25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = Onwaar # --------------------------------- # OF skep biblioteekvoorwerp met behulp van ons Bus SPI -poort #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) terwyl True: humiditeit = formaat (bme280. humiditeit, ".1f") druk = formaat (bme280.druk, ".1f") temp_c = bme280.temperatuur re if METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Temperature (C)", temp_c) else: temp_f = formaat (temp_c * 9.0 / 5.0 + 32.0, ".1f") streamer.log (SENSOR_LOCATION_NAME + "Temperatuur (F)", temp_f) streamer.log (SENSOR_LOCATION_NAME + "Humidity (%)", humiditeit) streamer.log (SENSOR_LOCATION_NAME + "Pressure (hPA)", druk) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)

  • Reël 12- Hierdie waarde moet uniek wees vir elke node/temperatuursensor. Dit kan die kamernaam, fisiese ligging, unieke identifiseerder of wat ook al van u sensorknooppunt wees. Maak net seker dat dit uniek is vir elke knoop om te verseker dat die data van hierdie knoop na sy eie datastroom in u dashboard gaan.
  • Reël 13- Dit is die naam van die data-emmer. Dit kan te eniger tyd verander word in die Initial State UI.
  • Reël 14- Dit is u emmersleutel. Dit moet dieselfde emmersleutel wees vir elke knoop wat u in dieselfde paneelbord wil vertoon.
  • Reël 15- Dit is u toegangsleutel vir u aanvanklike staat. Kopieer en plak hierdie sleutel uit u aanvanklike staatrekening.
  • Reël 17- Dit is die druk van u ligging (hPa) op seevlak. U kan hierdie inligting op die meeste weerwebwerwe vind.
  • Reël 18 - Dit is die tyd tussen sensorlesings. Verander dienooreenkomstig: Reël 19- Hier kan u metrieke of imperiale eenhede spesifiseer.

Nadat u reëls 12–19 in u Python -script op u Pi Zero WH gestel het, stoor en verlaat u die teksredakteur. Begin die script met die volgende opdrag:

$ python3 bme280sensor.py

U sal nou data na 'n aanvanklike toestand -paneelbord stuur. Gaan na die laaste gedeelte van hierdie artikel vir meer inligting oor hoe u u dashboard kan aanpas.

Stap 8: Sin HAT

Sin HAT
Sin HAT
Sin HAT
Sin HAT

Die eerste stap in die gebruik van die Sense HAT is om dit fisies op u Pi te installeer. Terwyl die Pi afgeskakel is, heg die HAT aan soos op die foto getoon.

As u besluit om die oplossing te gebruik, soos hierbo getoon, sal u opmerk dat die temperatuurmetings van u Sense HAT 'n bietjie hoog sal wees - dit is omdat dit die geval is. Die skuldige is die hitte wat gegenereer word deur die CPU van die Pi, wat die lug rondom die Sense HAT opwarm wanneer dit bo -op die Pi sit. Om die temperatuursensor nuttig te maak, moet ons die hoed van die Pi verwyder of die temperatuur sensor se kalibrasie probeer kalibreer. 'N Goeie oplossing om die sensor van die Pi af weg te kry, is 'n kabel waarmee die Sense HAT van die Pi kan wegbeweeg. 'N 6-inch, 40-pins IDE-manlike-vroulike verlengkabelkabel sal die ding doen.

As u eers besluit het oor die twee opsies, skakel u Pi aan. Ons moet die Python -biblioteek installeer om die sensorwaardes van die Sense HAT maklik te kan lees. Eerstens moet u seker maak dat alles op datum is met u weergawe van Raspbian:

$ sudo apt-get update

Installeer vervolgens die Sense HAT Python -biblioteek:

$ sudo apt-get install-sense-hat

Herlaai jou Pi. Ons is gereed om die Sense HAT te toets deur sensordata daaruit te lees en die data na die oorspronklike toestand te stuur.

Skep 'n lêer met die naam sensehat en maak dit oop in die teksteditor deur die volgende in die opdragprompt in te voer:

$ nano sensehat.py

Kopieer en plak die onderstaande kode in die teksredigeerder.

van sense_hat invoer SenseHat

invoer tyd invoer sys van ISStreamer. Streamer invoer Streamer # --------- Gebruikersinstellings --------- BUCKET_NAME = "Kantoorweer" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = " Kantoor "MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # --------------------------------- streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) sense = SenseHat () terwyl True: # Lees die sensors temp_c = sense.get_temperature () humiditeit = sense.get_humidity () pressure_mb = sense.get_pressure () # Formateer die data temp_f = temp_c * 9.0 / 5.0 + 32.0 temp_f = float ("{0:.2f}". Formaat (temp_f)) humiditeit = float ("{0:.2f}". Formaat (humiditeit)) pressure_in = 0.03937008*(pressure_mb) pressure_in = float ("{ 0:.2f} ". Formaat (druk_in)) # Druk en stroomafdruk SENSOR_LOCATION_NAME +" Temperatuur (F): " + str (temp_f) druk SENSOR_LOCATION_NAME +" Humiditeit (%): " + str (humiditeit) druk SENSOR_LOCATION_NAME +" Druk (IN): " + str (pressure_in) streamer.log (": sunny: " + SEN SOR_LOCATION_NAME + "Temperatuur (F)", temp_f) streamer.log (": sweat_drops:" + SENSOR_LOCATION_NAME + "Humiditeit (%)", humiditeit) streamer.log (": cloud:" + SENSOR_LOCATION_NAME + "Druk (IN)", druk_in) streamer.flush () time.sleep (60*MINUTES_BETWEEN_SENSEHAT_READS)

Let op die eerste reël dat ons die SenseHat -biblioteek in die script invoer. Voordat u hierdie script uitvoer, moet ons ons gebruikersparameters opstel.

# --------- Gebruikersinstellings ---------

BUCKET_NAME = "Kantoorweer" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = "Kantoor" MINUTES_BETWEEN_SENSEHAT_READS = 0.1# ------------------------- --------

Spesifiek moet u u ACCESS_KEY op u toegangsleutel vir die aanvanklike staatrekening stel. U kan BUCKET_NAME en SENSOR_LOCATION_NAME verander na die werklike sensorposisie. Stoor en verlaat die teksredakteur.

Voer die script uit op 'n opdragprompt op u Pi:

$ sudo python sensehat.py

U sal nou data na 'n aanvanklike toestand -paneelbord stuur. Gaan na die laaste gedeelte van hierdie artikel vir meer inligting oor hoe u u dashboard kan aanpas.

Stap 9: Pas u aanvanklike toestandskerm aan

Pas u aanvanklike toestandskerm aan
Pas u aanvanklike toestandskerm aan

Gaan na u aanvanklike staatrekening en kyk na u data. U kan met die rechtermuisknop op 'n teël klik om die tipe grafiek te verander en op Teëls wysig klik om die grootte van die teëls te verander. Ek beveel aan dat u die termometer vir temperatuur gebruik en die vloeistofpeil van die meter vir humiditeit. U kan lyngrafieke vir temperatuur en humiditeit skep om veranderinge oor tyd te sien. U kan ook 'n agtergrondprent by u paneelbord voeg.

U kan Trigger -waarskuwings instel sodat u 'n SMS of e -pos kan kry as die temperatuur onder of onder 'n sekere drempel styg. Gaan na u data -emmer en klik op instellings. Gaan van daar na die oortjie Snellers. Voer die stroom -sleutel in wat u wil monitor, die operateur wat u wil gebruik en die drempelwaarde. Klik op die plusteken om die sneller by te voeg. Tik dan u e -pos of telefoonnommer in om die waarskuwing te ontvang en klik op die plusteken. Sodra u al u snellers ingestel het, klik op die knoppie Klaar onderaan.

Noudat u 'n temperatuurmonitor geskep het met behulp van 'n temperatuursensor en 'n Raspberry Pi, kan u begin nadink oor watter ander omgewingsdata u volgende kan monitor.

Aanbeveel: