Taula de continguts:

Com construir un monitor de temperatura Raspberry Pi: 9 passos
Com construir un monitor de temperatura Raspberry Pi: 9 passos

Vídeo: Com construir un monitor de temperatura Raspberry Pi: 9 passos

Vídeo: Com construir un monitor de temperatura Raspberry Pi: 9 passos
Vídeo: #369 Definitive Guide to Attaching Sensors to the Raspberry Pi (Tutorial) 2024, De novembre
Anonim
Com es construeix un monitor de temperatura Raspberry Pi
Com es construeix un monitor de temperatura Raspberry Pi

La temperatura i la humitat són dades vitals en el món industrial actual. El seguiment de les dades ambientals per a sales de servidors, congeladors comercials i línies de producció és necessari perquè les coses funcionin sense problemes. Hi ha moltes solucions que van des de bàsiques fins a complexes i pot semblar aclaparador sobre el que necessita el vostre negoci i per on començar.

Veurem com controlar la temperatura amb un Raspberry Pi i diferents sensors de temperatura que podeu utilitzar. Aquest és un bon lloc per començar, ja que aquestes solucions són econòmiques, fàcils de fer i us ofereixen les bases necessàries per a una altra supervisió ambiental.

Subministraments

  • Raspberry Pi (3, 4 o Zero WH)
  • Sensor de temperatura (DHT2, DSB18B20, BME280 o Sense HAT)
  • Cable d'extensió IDE mascle a femella de 6 "40 pines (solució Sense HAT)
  • Resistència 10K, tauler de pa, tauler de ruptura de 40 pins + cable de cinta, cables (per a la solució DSB18B20)

Pas 1: Raspberry Pi

Un Raspberry Pi és un ordinador de placa única de baix cost que us permetrà connectar-vos a un sensor de temperatura i transmetre les dades a un programari de visualització de dades. Raspberry Pi’s va començar com una eina d’aprenentatge i s’ha convertit en una eina de treball industrial. La facilitat d’ús i la capacitat de codificar amb Python, el llenguatge de programació que més creix, els ha convertit en una solució.

Voleu un Raspberry Pi que tingui WiFi integrat, que sigui qualsevol model 3, 4 i zero W / WH. Entre aquests, podeu triar segons els preus i les funcions. El Zero W / WH és el més barat, però si necessiteu més funcionalitats, podeu triar entre el 3 i el 4. Només podeu comprar un Zero W / WH a la vegada a causa de les limitacions de Raspberry Pi Foundation. Independentment del Pi que trieu, assegureu-vos de comprar un carregador, ja que és així com alimentareu el Pi i una targeta SD amb Raspbian per facilitar la instal·lació del sistema operatiu.

Hi ha altres ordinadors de placa única que també poden funcionar, però això és per a un altre moment i per a un altre article.

Pas 2: Sensors

Hi ha tres sensors que recomanem utilitzar perquè són econòmics, fàcils de connectar i ofereixen lectures precises; DSB18B20, DHT22 i Raspberry Pi Sense HAT.

DHT22: aquest sensor de temperatura i humitat té una precisió de temperatura de +/- 0,5 C i un rang d’humitat del 0 al 100%. És fàcil connectar-se al Raspberry Pi i no requereix cap resistència de tracció.

DSB18B20: aquest sensor de temperatura té una sortida digital, que funciona bé amb el Raspberry Pi. Té tres cables i requereix una placa de connexió i una resistència per a la connexió.

BME280: aquest sensor mesura la temperatura, la humitat i la pressió baromètrica. Es pot utilitzar tant en SPI com en I2C.

Sense HAT: és un complement incorporat per a Raspberry Pi que té LEDs, sensors i un petit joystick. Es connecta directament al GPIO del Raspberry Pi, però mitjançant un cable de cinta es proporcionen lectures de temperatura més precises.

Pas 3: Configuració de Raspberry Pi

Si és la primera vegada que configureu el vostre Raspberry Pi, haureu d’instal·lar el sistema operatiu Raspbian i connectar el vostre Pi a WiFi. Això requerirà un monitor i un teclat per connectar-se al Pi. Un cop el tingueu en marxa i connectat al WiFI, el vostre Pi ja està a punt.

Pas 4: compte estatal inicial

Compte estatal inicial
Compte estatal inicial
Compte estatal inicial
Compte estatal inicial

Necessitareu un lloc per enviar les vostres dades per guardar un registre històric i veure el flux de dades en temps real, de manera que farem servir l'estat inicial. Aneu a https://iot.app.initialstate.com i creeu un compte nou o inicieu sessió al vostre compte existent.

A continuació, hem d’instal·lar el mòdul Initial State Python al vostre Pi. En un símbol del sistema (no oblideu introduir SSH al vostre Pi), executeu l'ordre següent:

$ cd / home / pi /

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

Després d'introduir l'ordre curl a l'indicador d'ordres, veureu una cosa similar a la següent sortida a la pantalla:

pi @ raspberrypi ~

$ / curl -sSL https://get.initialstate.com/python -o - | sudo bash Contrasenya: Començant a instal·lar fàcilment ISStreamer Python. Això pot trigar uns quants minuts a instal·lar-se, prendre un cafè:) Però no oblideu tornar, ja que tindré preguntes més endavant. Trobat easy_install: setuptools 1.1.6 Trobat pip: pip 1.5.6 de /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) versió major pip: 1 versió pip menor: 5 ISStreamer trobat, actualitzant-se … Requisit ja actualitzat: ISStreamer a /Library/Python/2.7/site-packages Neteja … Voleu obtenir automàticament un exemple de script? [Sí / N] On voleu desar l'exemple? [predeterminat:./is_example.py] Seleccioneu l'aplicació Estat inicial que utilitzeu: 1. app.initialstate.com 2. [NOU!] iot.app.initialstate.com Introduïu l'opció 1 o 2: Introduïu iot.app Nom d'usuari de.initialstate.com: Introduïu la contrasenya iot.app.initialstate.com:

Quan se us demani que obtingueu automàticament un exemple de script, escriviu y. Això crearà un script de prova que podem executar per assegurar-nos que podem transmetre dades a l'estat inicial. El següent missatge us preguntarà on voleu desar el fitxer d'exemple. Podeu escriure un camí local personalitzat o prémer Retorn per acceptar la ubicació predeterminada. Finalment, se us demanarà quina aplicació d’estat inicial utilitzeu. Si recentment heu creat un compte, seleccioneu l'opció 2, introduïu el vostre nom d'usuari i la vostra contrasenya. Després, la instal·lació es completarà.

Vegem l'exemple de script que es va crear.

$ nano és_exemple.py

A la línia 15, veureu una línia que comença amb streamer = Streamer (bucket_ …. Aquesta línia crea un nou dipòsit de dades anomenat "Exemple de flux de Python" i està associat amb el vostre compte. Aquesta associació es produeix a causa de l'access_key = "…" paràmetre en aquesta mateixa línia. Aquesta llarga sèrie de lletres i números és la vostra clau d'accés al compte d'estat inicial. Si aneu al vostre compte d'estat inicial al navegador web, feu clic al vostre nom d'usuari a la part superior dreta i aneu a "la meva configuració", trobareu la mateixa clau d'accés aquí a "Tecles d'accés en temps real".

Cada vegada que creeu un flux de dades, aquesta clau d'accés dirigirà aquest flux de dades al vostre compte (per tant, no compartiu la vostra clau amb ningú).

Executeu l'script de prova per assegurar-vos que podem crear un flux de dades al vostre compte d'estat inicial. Executeu el següent:

$ python és_exemple.py

Torneu al vostre compte d’estat inicial al navegador web. A la part esquerra del prestatge de registre s’hauria d’haver aparegut un nou dipòsit de dades anomenat “Exemple de corrent de Python” (és possible que hagueu d’actualitzar la pàgina). Feu clic sobre aquest dipòsit i, a continuació, feu clic a la icona Ones per veure les dades de la prova

Si utilitzeu Python 3, podeu instal·lar el mòdul Streamer State Initial que podeu instal·lar mitjançant l'ordre següent:

pip3 instal·la ISStreamer

Ara estem preparats per configurar el sensor de temperatura amb el Pi per transmetre la temperatura a un tauler.

Pas 5: solució DHT22

Solució DHT22
Solució DHT22

El DHT22 tindrà tres pins: 5V, Gnd i dades. Hi hauria d’haver una etiqueta de pin per alimentar el DHT22 (per exemple, ‘+’ o ‘5V’). Connecteu-lo al pin 2 (el pin superior dret, 5V) del Pi. El pin Gnd tindrà l'etiqueta "-" o "Gnd" o alguna cosa equivalent. Connecteu-lo al pin 6 Gnd (dos pins per sota del pin de 5V) del Pi. El pin restant del DHT22 és el pin de dades i s’etiquetarà com a “fora” o “s” o “dades”. Connecteu-lo a un dels pins GPIO del Pi, com ara GPIO4 (pin 7). Un cop connectat, engegueu el Pi.

Instal·leu el mòdul Adafruit DHT Python en un símbol del sistema per facilitar la lectura de les dades del sensor DHT22:

$ sudo pip install Adafruit_DHT

Amb el nostre sistema operatiu instal·lat juntament amb els nostres dos mòduls Python per llegir dades del sensor i enviar dades a l’estat inicial, estem preparats per escriure el nostre script Python. El següent script crearà / s'afegirà a un dipòsit de dades d'estat inicial, llegirà les dades del sensor DHT22 i enviarà aquestes dades a un tauler de control en temps real. Tot el que heu de fer és modificar les línies 6-11.

importa Adafruit_DHT

d'importació ISStreamer. Streamer importació de temps d'importació de Streamer # --------- Configuració de l'usuari --------- SENSOR_LOCATION_NAME = "Oficina" BUCKET_NAME = ": partial_sunny: Temperatura de l'habitació" BUCKET_KEY = "rt0129" ACCESS_KEY = "POSEU AQUÍ LA CLAU D'ACCÉS A L'ESTAT INICIAL" MINUTES_BETWEEN_READS = 10METRIC_UNITS = Fals # --------------------------------- streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) mentre és True: humitat, temp_c = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) si METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Temperatura (C)"): temp_f = format (temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Temperatura (F)", temp_f) humitat = format (humitat, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Humitat (%)", humitat) streamer.flush () time.sleep (60 * MINUTES_BETWEEN_READS)

  • Línia 6: aquest valor ha de ser únic per a cada sensor de temperatura / node. Aquest podria ser el nom de la sala, la ubicació física, l'identificador únic o el que sigui del vostre node sensor. Assegureu-vos que sigui únic per a cada node per assegurar-vos que les dades d’aquest node van al seu propi flux de dades al tauler.
  • Línia 7: aquest és el nom del dipòsit de dades. Això es pot canviar en qualsevol moment a la IU de l'estat inicial.
  • Línia 8: aquesta és la vostra clau de dipòsit. Ha de ser la mateixa clau de dipòsit per a cada node que vulgueu que es mostri al mateix tauler.
  • Línia 9: aquesta és la clau d'accés al compte d'estat inicial. Copieu i enganxeu aquesta clau del vostre compte d'estat inicial.
  • Línia 10: és el temps entre les lectures del sensor. Canvieu en conseqüència.
  • Línia 11: podeu especificar unitats mètriques o imperials a la línia 11.

Després d’haver definit les línies 6-11 a l’escriptura Python al Pi, deseu i sortiu de l’editor de text. Executeu l'script amb l'ordre següent:

$ python tempsensor.py

Ara tindreu l’enviament de dades a un tauler d’estat inicial. Aneu a la secció final d’aquest article per obtenir informació sobre com personalitzar el tauler.

Pas 6: solució DSB18B20

Solució DSB18B20
Solució DSB18B20
Solució DSB18B20
Solució DSB18B20

El cable de cinta es connecta als pins GPIO del Pi. El DS18B20 té tres cables. El cable vermell es connecta a 3,3V. El fil blau / negre es connecta a terra. El cable groc es connecta a una resistència pull-up / pin 4. Un cop connectat, engegueu el Pi.

L'última versió de Raspbian (nucli 3.18) requereix una addició al fitxer /boot/config.txt perquè el Pi es comuniqui amb el DS18B20. Executeu el següent per editar aquest fitxer:

$ sudo nano /boot/config.txt

Si la línia següent encara no es troba en aquest fitxer (si és que és probable que estigui a la part inferior del fitxer), afegiu-la i deseu-lo.

dtoverlay = w1-gpio, gpiopin = 4

Reinicieu el Pi perquè els canvis entrin en vigor.

$ sudo reiniciar

Per iniciar la interfície de lectura del sensor de temperatura, hem d'executar dues ordres. Aneu a un indicador d’ordres del vostre Pi o SSH al vostre Pi. Escriviu les ordres següents:

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

La sortida del sensor de temperatura s’està escrivint en un fitxer del vostre Pi. Per trobar aquest fitxer:

$ cd / sys / bus / w1 / dispositius

En aquest directori, hi haurà un subdirectori que comença per “28-“. El que ve després del "28-" és el número de sèrie del sensor. cd en aquest directori. Dins d’aquest directori, un fitxer anomenat w1_slave conté la sortida del sensor. Utilitzeu nano per veure el contingut del fitxer. Un cop hàgiu introduït el fitxer, es mostrarà així:

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

El número després de "t =" és el número que volem. Aquesta és la temperatura en 1/1000 graus Celsius (a l'exemple anterior, la temperatura és de 26.125 C). Només necessitem un programa senzill que llegeixi aquest fitxer i analitzi aquest nombre. Arribarem a això en només un segon.

Ara ja està tot a punt per començar a transmetre dades. Per obrir l'editor de text, escriviu el següent a l'indicador d'ordres:

$ nano temperature.py

Copieu i enganxeu el codi següent a l'editor de text.

import os

import glob time time from ISStreamer. Streamer import Streamerstreamer = Streamer (bucket_name = "Temperatura Stream", bucket_key = "piot_temp_stream031815", access_key = "PUT_YOUR_ACCESS_KEY_HERE") os.system ('modprobe w1-gpio') os.system -therm ') base_dir =' / sys / bus / w1 / devices / 'device_folder = glob.glob (base_dir + '28 *') [0] device_file = device_folder + '/ w1_slave' def read_temp_raw (): f = open (device_file, 'r') lines = f.readlines () f.close () return lines def read_temp (): lines = read_temp_raw () while lines [0].strip () [- 3:]! = 'YES': time.sleep (0.2) lines = read_temp_raw () equals_pos = lines [1].find ('t =') if equals_pos! = -1: temp_string = lines [1] [equals_pos + 2:] temp_c = float (temp_string) / 1000.0 torna temp_c mentre és cert: temp_c = read_temp () temp_f = temp_c * 9.0 / 5.0 + 32.0 streamer.log ("temperature (C)", temp_c) streamer.log ("temperature (F)", temp_f) time.sleep (.5)

Heu de posar la clau d'accés a l'estat inicial a la línia 6 en lloc de PUT_YOUR_ACCESS_KEY_HERE (copieu la clau de transmissió al porta-retalls des de "El meu compte" i enganxeu-la al codi en nano del vostre terminal).

La línia 6 crearà un dipòsit anomenat "Corrent de temperatura" al vostre compte d'estat inicial (suposant que hagueu especificat correctament la vostra clau d'accés en aquesta mateixa línia). Les línies 8 a 30 d’aquest script simplement s’interfacen amb el sensor DS18B20 per llegir la seva temperatura des del fitxer w1_slave que hem comentat anteriorment. La funció read_temp_raw () de la línia 15 llegeix el fitxer raw w1_slave. La funció read_temp () de la línia 21 analitza la temperatura d’aquest fitxer. La línia 34 crida aquestes funcions per obtenir la temperatura actual. La línia 35 converteix la temperatura de Celsius a Fahrenheit. Les línies 35 i 36 transmeten la temperatura al vostre compte d’estat inicial. La línia 37 posa en pausa l’escriptura durant 0,5 segons, configurant la freqüència amb què es llegeix i emet el sensor de temperatura.

Estem preparats per començar a transmetre. Executeu l'ordre següent:

$ sudo python temperature.py

Torneu al vostre compte d’estat inicial al navegador web i cerqueu un dipòsit de dades nou anomenat Stream de temperatura. Hauríeu de veure les dades de temperatura en directe. Varia la temperatura del sensor mantenint-lo a la mà o posant-lo en un got de gel.

Ara tindreu l’enviament de dades a un tauler d’estat inicial. Aneu a la secció final d’aquest article per obtenir detalls sobre com personalitzar el tauler.

Pas 7: Solució BME280

Per crear aquesta solució, necessitareu el següent:

-BME280 Sensor de pressió, temperatura i humitat

Aquest sensor ve amb pins que cal soldar al sensor. Us recomano fer servir una placa amb els passadors llargs cap avall per facilitar la soldadura. Un cop ho hàgiu completat, hem de connectar el sensor al Pi.

Connecteu el pin VIN del sensor al pin 1 de 3,3V del Pi. Connecteu el pin GND al sensor i el pin de terra 6 del Pi. Connecteu el pin SCK del sensor al pin SCL 5 del Pi. Connecteu el pin SDI del sensor al pin SDA 3 del Pi. Haureu d’utilitzar Python 3 per a aquesta solució i instal·lar el mòdul Initial State Streamer mitjançant el mètode d’instal·lació de pip3.

També haureu d’instal·lar algunes biblioteques Adafruit Python.

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

Per utilitzar el sensor, hem d’habilitar I2C al Pi.

sudo raspi-config

Això obrirà l'eina de configuració del programari Raspberry Pi. Aneu a l’opció 5 Opcions d’interfície. Des d’aquí aneu a I2C. Us demanarà si voleu habilitar I2C, seleccioneu Sí i Finalitza. Ara teniu habilitat I2C per comunicar-vos amb el sensor.

Podem provar-ho executant el següent:

sudo i2cdetect -y 1

Això verificarà que el vostre Pi veu el sensor. De la manera que es connecta, hauria de mostrar el sensor a l’adreça 77. Si no el detecteu, reinicieu el Pi, torneu a activar l’opció d’interfície I2C al Pi i torneu-ho a provar. Un cop detectat el sensor, és hora per executar el nostre codi principal que enviarà dades a l'estat inicial. S'ha creat un fitxer anomenat bme280sensor.py amb l'ordre nano. Copieu i enganxeu el codi del resum a l'editor de text. Haureu de fer canvis a les línies 12-19.

temps d'importació

import board import busio import adafruit_bme280 from ISStreamer. Streamer import Streamer # Crea objecte de biblioteca amb el nostre Bus I2C porti2c = busio. I2C (board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- - Configuració de l'usuari --------- SENSOR_LOCATION_NAME = "Oficina" BUCKET_NAME = ": partial_sunny: Temperatura de l'habitació" BUCKET_KEY = "temp1" ACCESS_KEY = "LA VOSTRA CLAVE D'ACCÉS AQUÍ" # canvieu això perquè coincideixi amb la pressió de la ubicació (hPa) a nivell del mar bme280.sea_level_pressure = 1013,25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = Fals # --------------------------------- # O creeu objecte de biblioteca amb el nostre port SPI Bus #spi = busio. SPI (board. SCK, board. MOSI, board. MISO) #bme_cs = digitalio. DigitalInOut (board. D10) # bme280 = adafruit_bme280. Adafruit_BME280_SPI (spi, bme_cs) streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) mentre que True: humitat = format (bme280.humidity, ".1f") pressure = format (bme280.pressure, ".1f") temp_c = bme280.temperatu re si METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Temperatura (C)", temp_c) else: temp_f = format (temp_c * 9.0 / 5.0 + 32.0, ".1f") streamer.log (SENSOR_LOCATION_NAME + "Temperatura (F)", temp_f) streamer.log (SENSOR_LOCATION_NAME + "Humitat (%)", humitat) streamer.log (SENSOR_LOCATION_NAME + "Pressió (hPA)", pressió) streamer.flush () time.sleep (60 * MINUTES_BETWEEN_READS)

  • Línia 12- Aquest valor ha de ser únic per a cada sensor de temperatura / node. Aquest podria ser el nom de la sala, la ubicació física, l'identificador únic o el que sigui del vostre node sensor. Assegureu-vos que sigui únic per a cada node per assegurar-vos que les dades d’aquest node van al seu propi flux de dades al vostre tauler.
  • Línia 13: aquest és el nom del dipòsit de dades. Això es pot canviar en qualsevol moment a la IU de l'estat inicial.
  • Línia 14: aquesta és la vostra clau de dipòsit. Ha de ser la mateixa clau de dipòsit per a cada node que vulgueu que es mostri al mateix tauler.
  • Línia 15: aquesta és la clau d’accés al compte d’estat inicial. Copieu i enganxeu aquesta clau del vostre compte d'estat inicial.
  • Línia 17: aquesta és la pressió de la vostra ubicació (hPa) al nivell del mar. Podeu trobar aquesta informació a la majoria de llocs web meteorològics.
  • Línia 18: és el temps entre les lectures del sensor. Canvieu en conseqüència. Línia 19- Aquí podeu especificar unitats mètriques o imperials.

Després d’haver definit les línies 12–19 a l’escriptura Python al Pi Zero WH, deseu i sortiu de l’editor de text. Executeu l'script amb l'ordre següent:

$ python3 bme280sensor.py

Ara tindreu l’enviament de dades a un tauler d’estat inicial. Aneu a la secció final d’aquest article per obtenir detalls sobre com personalitzar el tauler.

Pas 8: Sense HAT

HAT de sentit
HAT de sentit
HAT de sentit
HAT de sentit

El primer pas per utilitzar el Sense HAT és instal·lar-lo físicament al vostre Pi. Amb el Pi apagat, connecteu el HAT tal com es mostra a la imatge.

Si decidiu utilitzar la solució tal com es mostra més amunt, potser notareu que les lectures de temperatura del vostre Sense HAT seran una mica elevades, ja que ho són. El culpable és la calor generada per la CPU del Pi que escalfa l’aire al voltant del Sense HAT quan està assegut a la part superior del Pi. Per fer que el sensor de temperatura sigui útil, hem d’allunyar el HAT del Pi o intentar calibrar la lectura del sensor de temperatura. Una bona solució per allunyar el sensor del Pi és un cable que permet que el Sense HAT pengi del Pi. Un cable d’extensió IDE mascle a femella de 6 polzades de 40 polzades farà el truc.

Un cop decidiu les dues opcions, engegueu el Pi. Hem d’instal·lar la biblioteca Python per facilitar la lectura dels valors del sensor del Sense HAT. En primer lloc, haureu d'assegurar-vos que tot estigui actualitzat a la vostra versió de Raspbian:

$ sudo apt-get update

A continuació, instal·leu la biblioteca Sense HAT Python:

$ sudo apt-get install sense-hat

Reinicieu el Pi. Estem preparats per provar el Sense HAT llegint les dades del sensor i enviant-les a l’estat inicial.

Creeu un fitxer anomenat sensehat i obriu-lo a l'editor de text introduint el següent a l'indicador d'ordres:

$ nano sensehat.py

Copieu i enganxeu el codi següent a l'editor de text.

de sense_hat importen SenseHat

temps d'importació d'importació de sistemes des ISStreamer. Streamer importació Streamer # --------- Configuració de l'usuari --------- BUCKET_NAME = "Temps de l'Oficina" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = " Oficina "MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # --------------------------------- streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) sense = SenseHat () mentre és cert: # Llegiu els sensors temp_c = sense.get_temperature () humitat = sense.get_humidity () pressure_mb = sense.get_pressure () # Format de les dades temp_f = temp_c * 9.0 / 5.0 + 32.0 temp_f = float ("{0:.2f}". Format (temp_f)) humitat = float ("{0:.2f}". Format (humitat)) pressure_in = 0.03937008 * (pressure_mb) pressure_in = float ("{ 0:.2f} ". Format (pressure_in)) # Imprimir i transmetre SENSOR_LOCATION_NAME +" Temperatura (F): "+ str (temp_f) imprimir SENSOR_LOCATION_NAME +" Humitat (%): "+ str (humitat) imprimir SENSOR_LOCATION_NAME +" Pressió (IN): "+ str (pressure_in) streamer.log (": assolellat: "+ SEN SOR_LOCATION_NAME + "Temperatura (F)", temp_f) streamer.log (": sweat_drops:" + SENSOR_LOCATION_NAME + "Humitat (%)", humitat) streamer.log (": núvol:" + SENSOR_LOCATION_NAME + "Pressió (IN)", pressure_in) streamer.flush () time.sleep (60 * MINUTES_BETWEEN_SENSEHAT_READS)

Observeu a la primera línia que estem important la biblioteca SenseHat a l'script. Abans d’executar aquest script, hem de configurar els nostres paràmetres d’usuari.

# --------- Configuració de l'usuari ---------

BUCKET_NAME = "Temps de l'Oficina" BUCKET_KEY = "sensehat" ACCESS_KEY = "El vostre_Accés_Clau" SENSOR_LOCATION_NAME = "Oficina" MINUTES_BETWEEN_SENSEHAT_READS = 0,1 # ------------------------- --------

En concret, heu d’establir ACCESS_KEY a la clau d’accés al compte d’estat inicial. Podeu canviar BUCKET_NAME i SENSOR_LOCATION_NAME a la ubicació real del sensor. Deseu i sortiu de l'editor de text.

En un indicador d'ordres del Pi, executeu l'script:

$ sudo python sensehat.py

Ara tindreu l’enviament de dades a un tauler d’estat inicial. Aneu a la secció final d’aquest article per obtenir detalls sobre com personalitzar el tauler.

Pas 9: personalitzeu el tauler d’estats inicial

Personalitzeu el tauler d’estats inicial
Personalitzeu el tauler d’estats inicial

Aneu al vostre compte d’estat inicial i mireu les vostres dades. Podeu fer clic amb el botó dret a una rajola per canviar el tipus de gràfic i fer clic a Edita les rajoles per canviar la mida i moure les rajoles. Recomanaria fer servir el termòstat de mesurament per a la temperatura i el nivell de líquid per a la humitat. Podeu crear gràfics lineals per a la temperatura i la humitat per veure els canvis al llarg del temps. També podeu afegir una imatge de fons al tauler.

Podeu configurar alertes d’activació perquè pugueu rebre un SMS o un correu electrònic si la temperatura baixa o supera un llindar determinat. Aneu al vostre dipòsit de dades i feu clic a Configuració. Des d'allà, aneu a la pestanya Activadors. Introduïu la clau de flux que voleu supervisar, l'operador que voleu utilitzar i el valor llindar. Feu clic al signe més per afegir el disparador. A continuació, introduïu el vostre correu electrònic o número de telèfon per rebre l'alerta i feu clic al signe més. Un cop hàgiu configurat tots els activadors, feu clic al botó Fet a la part inferior.

Ara que heu creat un monitor de temperatura mitjançant un sensor de temperatura i un Raspberry Pi, podeu començar a pensar quines altres dades ambientals podeu controlar a continuació.

Recomanat: