Obsah:

Ako zostaviť monitor teploty Raspberry Pi: 9 krokov
Ako zostaviť monitor teploty Raspberry Pi: 9 krokov

Video: Ako zostaviť monitor teploty Raspberry Pi: 9 krokov

Video: Ako zostaviť monitor teploty Raspberry Pi: 9 krokov
Video: Мини ПК на Intel N100 - AC8-N, мощная безвентиляторная платформа, установка Home Assistant OS 2024, Júl
Anonim
Ako vytvoriť monitor teploty Raspberry Pi
Ako vytvoriť monitor teploty Raspberry Pi

Teplota a vlhkosť sú v dnešnom priemyselnom svete životne dôležitými údajmi. Monitorovanie environmentálnych údajov pre serverové miestnosti, komerčné mrazničky a výrobné linky je nevyhnutné pre bezproblémový chod. Existuje mnoho riešení, od základných po komplexné, a môže sa zdať zdrvujúce, čo vaša firma potrebuje a kde začať.

Prejdeme sa, ako monitorovať teplotu pomocou Raspberry Pi a rôznych teplotných senzorov, ktoré môžete použiť. Je to dobré miesto, kde začať, pretože tieto riešenia sú lacné, ľahko vykonateľné a poskytujú vám základ, z ktorého môžete vychádzať pri ďalšom monitorovaní životného prostredia.

Zásoby

  • Raspberry Pi (3, 4 alebo Zero WH)
  • Snímač teploty (DHT2, DSB18B20, BME280 alebo Sense HAT)
  • 6 "40-kolíkový predlžovací kábel IDE medzi mužmi a ženami (riešenie Sense HAT)
  • 10K odpor, nepájivá doska, 40-kolíková oddeľovacia doska + plochý kábel, vodiče (pre riešenie DSB18B20)

Krok 1: Raspberry Pi

Raspberry Pi je lacný jednodoskový počítač, ktorý vám umožní pripojiť sa k snímaču teploty a streamovať údaje do softvéru na vizualizáciu údajov. Raspberry Pi začínali ako učebný nástroj a vyvinuli sa ako nástroj priemyselného pracoviska. Jednoduché použitie a schopnosť kódovať v jazyku Python, najrýchlejšie sa rozvíjajúcom programovacom jazyku, z nich urobili riešenie.

Budete chcieť Raspberry Pi so vstavaným WiFi, ktoré sú akýmkoľvek modelom 3, 4 a nulovým W/WH. Medzi nimi si môžete vybrať podľa cien a funkcií. Zero W/WH je najlacnejší, ale ak potrebujete viac funkcií, môžete si vybrať medzi 3 a 4. Naraz si kvôli obmedzeniam nadácie Raspberry Pi Foundation môžete kúpiť iba jeden Zero W/WH. Bez ohľadu na to, ktoré Pi si vyberiete, kúpte si nabíjačku, pretože tak budete napájať Pi a kartu SD pomocou Raspbian, aby bola inštalácia operačného systému čo najľahšia.

Môžu fungovať aj ďalšie jednodoskové počítače, ale to je na iný čas a ďalší článok.

Krok 2: Senzory

Odporúčame použiť tri senzory, pretože sú lacné, ľahko sa pripájajú a poskytujú presné hodnoty; DSB18B20, DHT22 a Raspberry Pi Sense HAT.

DHT22 - Tento snímač teploty a vlhkosti má teplotnú presnosť +/- 0,5 C a rozsah vlhkosti od 0 do 100 percent. Pripojenie k Raspberry Pi je jednoduché a nevyžaduje žiadne pull -up rezistory.

DSB18B20 - Tento snímač teploty má digitálny výstup, ktorý funguje dobre s Raspberry Pi. Má tri vodiče a na pripojenie vyžaduje nepájivú dosku a odpor.

BME280 - Tento senzor meria teplotu, vlhkosť a barometrický tlak. Môže byť použitý v SPI aj I2C.

Sense HAT - Toto je doplnok pre Raspberry Pi, ktorý má diódy LED, senzory a malý joystick. Pripája sa priamo k GPIO na Raspberry Pi, ale pomocou plochého kábla vám poskytne presnejšie údaje o teplote.

Krok 3: Nastavenie Raspberry Pi

Ak nastavujete Raspberry Pi prvýkrát, budete musieť nainštalovať operačný systém Raspbian a pripojiť svoj Pi k WiFi. Na pripojenie k počítaču Pi to bude vyžadovať monitor a klávesnicu. Akonáhle ho spustíte a pripojíte k WiFI, váš Pi je pripravený ísť.

Krok 4: Počiatočný stavový účet

Počiatočný štátny účet
Počiatočný štátny účet
Počiatočný štátny účet
Počiatočný štátny účet

Budete musieť niekam odoslať svoje údaje, aby ste si udržali historický denník a zobrazili dátový tok v reálnom čase, takže použijeme Počiatočný stav. Prejdite na https://iot.app.initialstate.com a vytvorte si nový účet alebo sa prihláste do svojho existujúceho účtu.

Ďalej musíme na váš Pi nainštalovať modul Počiatočný stav Python. Na príkazovom riadku (nezabudnite najskôr SSH do svojho Pi) spustite nasledujúci príkaz:

$ cd/domov/pi/

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

Po zadaní príkazu curl do príkazového riadka sa na obrazovke zobrazí niečo podobné nasledujúcemu výstupu:

pi@raspberrypi ~

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash Heslo: Začiatok ISStreamer Python Jednoduchá inštalácia! Inštalácia môže trvať niekoľko minút, dajte si kávu:) Ale nezabudnite sa vrátiť, otázky budem mať neskôr! Nájdená jednoduchá inštalácia: setuptools 1.1.6 Nájdená pip: pip 1.5.6 z /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: 5 ISStreamer nájdený, aktualizuje sa … Požiadavka je už aktuálna: ISStreamer v /Library/Python/2.7/site-packages Čistenie … Chcete automaticky získať ukážkový skript? [y/N] Kam chcete uložiť príklad? [predvolené:./is_example.py] Vyberte aplikáciu, ktorú používate v počiatočnom stave: 1. app.initialstate.com 2. [NOVINKA!] iot.app.initialstate.com Zadajte voľbu 1 alebo 2: Zadajte iot.app Používateľské meno.initialstate.com: Zadajte heslo na adrese iot.app.initialstate.com:

Po zobrazení výzvy na automatické získanie ukážkového skriptu zadajte y. Tým sa vytvorí testovací skript, ktorý môžeme spustiť, aby sme zaistili, že budeme môcť streamovať údaje do počiatočného stavu. Nasledujúca výzva sa spýta, kam chcete uložiť ukážkový súbor. Môžete buď zadať vlastnú miestnu cestu, alebo stlačením klávesu Enter prijať predvolené umiestnenie. Nakoniec sa vás opýta, akú aplikáciu počiatočného stavu používate. Ak ste si nedávno vytvorili účet, vyberte možnosť 2, zadajte svoje používateľské meno a heslo. Potom bude inštalácia dokončená.

Pozrime sa na ukážkový skript, ktorý bol vytvorený.

$ nano is_example.py

Na riadku 15 uvidíte riadok, ktorý začína na streamer = Streamer (bucket_ …. Tieto riadky vytvoria nový zväzok údajov s názvom „Príklad Python streamu“a budú priradené k vášmu účtu. K tomuto priradeniu dochádza z dôvodu access_key = „…“parameter na tom istom riadku. Táto dlhá séria písmen a číslic je váš prístupový kľúč k účtu Počiatočný stav. Ak vo webovom prehliadači prejdete na svoj účet Počiatočný stav, kliknite vpravo hore na svoje používateľské meno a potom na položku „Moje nastavenia“, Rovnaký prístupový kľúč nájdete tu v časti „Streamovacie prístupové kľúče“.

Zakaždým, keď vytvoríte stream údajov, tento prístupový kľúč ho presmeruje do vášho účtu (kľúč teda nikomu nezdieľajte).

Spustite testovací skript, aby ste sa uistili, že môžeme vytvoriť tok údajov pre váš účet Počiatočný stav. Spustite nasledujúce:

$ python is_example.py

Vo webovom prehliadači sa vráťte k svojmu počiatočnému účtu. Nový priečinok s údajmi s názvom „Príklad Python streamu“sa mal zobraziť vľavo na poličke denníka (možno budete musieť stránku obnoviť). Kliknutím na toto vedro a potom kliknutím na ikonu Vlny zobrazíte údaje o teste

Ak používate Python 3, môžete nainštalovať modul počiatočného stavu Streamer, ktorý môžete nainštalovať pomocou nasledujúceho príkazu:

pip3 nainštalujte ISStreamer

Teraz sme pripravení nastaviť teplotný senzor pomocou Pi na prenos teploty na palubnú dosku.

Krok 5: Riešenie DHT22

Riešenie DHT22
Riešenie DHT22

DHT22 bude mať tri piny - 5V, GND a dáta. Na napájači DHT22 by mal byť štítok s kolíkom (napr. „+“Alebo „5V“). Pripojte to na pin 2 (pravý horný kolík, 5 V) na Pi. Gnd pin bude označený „-“alebo „Gnd“alebo niečo podobné. Pripojte to k pinu 6 Gnd (dva piny pod kolíkom 5 V) na Pi. Zostávajúci pin na DHT22 je dátový pin a bude označený ako „out“alebo „s“alebo „data“. Pripojte to k jednému z pinov GPIO na Pi, ako je GPIO4 (pin 7). Akonáhle je toto zapojené, zapnite Pi.

Nainštalujte modul Adafruit DHT Python do príkazového riadka, aby bolo čítanie údajov zo senzora DHT22 veľmi jednoduché:

$ sudo pip install Adafruit_DHT

S nainštalovaným operačným systémom a dvoma modulmi Pythonu na čítanie údajov zo senzorov a odosielanie údajov do počiatočného stavu sme pripravení napísať náš skript Python. Nasledujúci skript vytvorí/pripojí sa k súboru údajov počiatočného stavu, načíta údaje zo senzora DHT22 a odošle tieto údaje na informačný panel v reálnom čase. Všetko, čo musíte urobiť, je upraviť riadky 6–11.

importovať Adafruit_DHT

od ISStreamer. Streamer import Streamer čas importu# --------- Používateľské nastavenia --------- SENSOR_LOCATION_NAME = "Kancelária" BUCKET_NAME = ": částečně_sunny: Teploty miestnosti" BUCKET_KEY = "rt0129" ACCESS_KEY = „UMIESTNITE KĽÚČ ZA PRVÉHO ŠTÁTU TU“MINUTES_BETWEEN_READS = 10METRIC_UNITS = False # --------------------------------- streamer = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) while True: vlhkosť, temp_c = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) if METRIC_UNITS: streamer.log (SENSOR_LOC: temp_f = formát (temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Teplota (F)", temp_f) vlhkosť = formát (vlhkosť, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Vlhkosť (%)", vlhkosť) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)

  • Riadok 6 - Táto hodnota by mala byť jedinečná pre každý uzol/snímač teploty. Môže to byť názov miestnosti vášho senzorového uzla, fyzická poloha, jedinečný identifikátor alebo čokoľvek. Uistite sa, že je jedinečný pre každý uzol, aby ste zaistili, že údaje z tohto uzla pôjdu do vlastného toku údajov na vašom hlavnom paneli.
  • Riadok 7 - Toto je názov dátového segmentu. Toto je možné kedykoľvek zmeniť v používateľskom rozhraní počiatočného stavu.
  • Riadok 8 - Toto je váš kľúč od vedra. Musí to byť rovnaký kľúč vedra pre každý uzol, ktorý chcete zobraziť na rovnakom paneli.
  • Riadok 9 - Toto je váš prístupový kľúč k počiatočnému stavu účtu. Skopírujte a prilepte tento kľúč z účtu Počiatočný stav.
  • Riadok 10 - Toto je čas medzi načítaním senzorov. Podľa toho zmeňte.
  • Riadok 11 - Na riadku 11 môžete zadať metrické alebo imperiálne jednotky.

Potom, čo ste vo svojom skripte Python na svojom Pi nastavili riadky 6–11, uložte a ukončite textový editor. Spustite skript pomocou nasledujúceho príkazu:

$ python tempsensor.py

Teraz budete mať údaje odoslané na informačný panel Počiatočný stav. V poslednej časti tohto článku nájdete podrobnosti o prispôsobení hlavného panela.

Krok 6: Riešenie DSB18B20

Riešenie DSB18B20
Riešenie DSB18B20
Riešenie DSB18B20
Riešenie DSB18B20

Plochý kábel sa pripája k pinom GPIO na zariadení Pi. DS18B20 má tri vodiče. Červený vodič sa pripája na 3,3 V. Modro/čierny vodič sa pripája k zemi. Žltý vodič sa pripája k výsuvnému odporu/kolíku 4. Po zapojení zapojte Pi.

Najnovšia verzia Raspbian (jadro 3.18) vyžaduje, aby Pi komunikovalo s DS18B20 do vášho súboru /boot/config.txt. Na úpravu tohto súboru spustite nasledujúce položky:

$ sudo nano /boot/config.txt

Ak nasledujúci riadok ešte nie je v tomto súbore (ak je, je pravdepodobné, že je v spodnej časti súboru), pridajte ho a súbor uložte.

dtoverlay = w1-gpio, gpiopin = 4

Reštartujte svoj Pi, aby sa zmeny prejavili.

$ sudo reštart

Na spustenie rozhrania na čítanie snímača teploty musíme spustiť dva príkazy. Prejdite na príkazovom riadku na svojom Pi alebo SSH do svojho Pi. Zadajte nasledujúce príkazy:

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

Výstup vášho teplotného senzora sa teraz zapisuje do súboru vo vašom Pi. Ak chcete nájsť tento súbor:

$ cd/sys/bus/w1/zariadenia

V tomto adresári bude podadresár, ktorý začína na „28-“. Za „28-“nasleduje sériové číslo vášho senzora. cd do tohto adresára. V tomto adresári obsahuje súbor s názvom w1_slave výstup z vášho senzora. Na zobrazenie obsahu súboru použite nano. Keď zadáte súbor, bude to vyzerať takto:

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

Číslo za „t =“je číslo, ktoré chceme. Toto je teplota v 1/1000 stupňoch Celzia (v príklade vyššie je teplota 26,125 ° C). Potrebujeme jednoduchý program, ktorý načíta tento súbor a analyzuje toto číslo. K tomu sa dostaneme za sekundu.

Teraz je všetko pripravené na to, aby sme mohli začať streamovať údaje. Ak chcete otvoriť textový editor, do príkazového riadka zadajte nasledujúci príkaz:

$ nano temperature.py

Skopírujte a prilepte nižšie uvedený kód do textového editora.

import os

import glob import time from ISStreamer. Streamer import Streamerstreamer = Streamer (bucket_name = "Temperature Stream", bucket_key = "piot_temp_stream031815", access_key = "PUT_YOUR_ACCESS_KEY_HERE") os.system ('modprobe w1-gpio') os.system -therm ') base_dir ='/sys/bus/w1/devices/'device_folder = glob.glob (base_dir + '28*') [0] device_file = device_folder + '/w1_slave' def read_temp_raw (): f = open (file_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 vrátiť temp_c pri True: temp_c = read_temp () temp_f = temp_c * 9,0 / 5,0 + 32,0 streamer.log ("teplota (C)", temp_c) streamer.log ("teplota (F)", temp_f) čas.spánok (.5)

Miesto PUT_YOUR_ACCESS_KEY_HERE musíte vložiť prístupový kľúč do počiatočného stavu na riadok 6 (skopírujte streamovací kľúč do svojej schránky z „Môj účet“a vložte ho do kódu v nano na termináli).

Riadok 6 vytvorí vo vašom účte počiatočného stavu vedro s názvom „Teplotný tok“(za predpokladu, že ste v tom istom riadku správne zadali svoj prístupový kľúč). Riadky 8 až 30 tohto skriptu jednoducho komunikujú so senzorom DS18B20 a čítajú jeho teplotu zo súboru w1_slave, o ktorom sme diskutovali vyššie. Funkcia read_temp_raw () na riadku 15 číta surový súbor w1_slave. Funkcia read_temp () na riadku 21 analyzuje teplotu z tohto súboru. Linka 34 volá tieto funkcie, aby získala aktuálnu teplotu. Riadok 35 prevádza teplotu z Celzia na Fahrenheita. Riadky 35 a 36 prenášajú teplotu na váš účet Počiatočný stav. Riadok 37 pozastaví skript na 0,5 sekundy a nastaví, ako často sa bude snímač teploty načítavať a streamovať.

Sme pripravení začať streamovať. Spustite nasledujúci príkaz:

$ sudo python temperature.py

Vo webovom prehliadači sa vráťte k svojmu počiatočnému stavu a vyhľadajte nový zväzok údajov s názvom Teplotný tok. Živé vysielanie údajov o teplote by ste mali vidieť. Teplotu senzora meníte tak, že ho držíte v ruke alebo ho vkladáte do pohára ľadu.

Teraz budete mať údaje odoslané na informačný panel Počiatočný stav. V poslednej časti tohto článku nájdete podrobnosti o prispôsobení hlavného panela.

Krok 7: Riešenie BME280

Na zostavenie tohto riešenia budete potrebovať:

-BME280 Snímač tlaku, teploty a vlhkosti

Tento senzor je dodávaný s kolíkmi, ktoré budete musieť na snímač pripájať. Na uľahčenie spájkovania odporúčam použiť doštičku s kolíkmi dlhou stranou nadol do dosky na chlieb. Akonáhle to dokončíte, musíme pripojiť senzor k Pi.

Pripojte pin VIN na snímači k 3,3 V kolíku 1 na Pi. Pripojte pin GND na senzore k uzemňovaciemu kolíku 6 na Pi. Pripojte pin SCK na snímači k kolíku SCL 5 na Pi. Pripojte pin SDI na snímači k kolíku 3 SDA na Pi. Na toto riešenie budete musieť použiť Python 3 a nainštalovať modul Initial State Streamer pomocou metódy pip3 install.

Budete tiež musieť nainštalovať niekoľko knižníc Adafruit Python.

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

Aby sme mohli senzor používať, musíme na Pi povoliť I2C.

sudo raspi-config

Tým sa otvorí nástroj na konfiguráciu softvéru Raspberry Pi. Prejdite na možnosť 5 Možnosti rozhrania. Odtiaľto choďte na I2C. Zobrazí sa otázka, či chcete povoliť I2C, zvoľte Áno a Dokončiť. Teraz máte povolenú komunikáciu I2C so senzorom.

Môžeme to otestovať spustením nasledujúceho:

sudo i2cdetect -y 1

Tým sa overí, či váš Pi vidí senzor. Spôsob, akým je pripojený, by mal ukazovať senzor na adrese 77. Ak senzor nezistíte, reštartujte počítač Pi, znova na svojom Pi povoľte možnosť rozhrania I2C a skúste to znova. Hneď ako bude detekovaný váš senzor, je čas na spustenie nášho hlavného kódu, ktorý bude odosielať údaje do počiatočného stavu. Pomocou príkazu nano bol vytvorený súbor s názvom bme280sensor.py. Skopírujte a prilepte kód z podstaty do textového editora. Na riadkoch 12–19 budete musieť vykonať zmeny.

čas importu

import board import busio import adafruit_bme280 od ISStreamer. Strreamer import Streamer # Vytvorte objekt knižnice pomocou nášho Bus I2C porti2c = busio. I2C (board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- -Používateľské nastavenia --------- SENSOR_LOCATION_NAME = "Kancelária" BUCKET_NAME = ": čiastočne_sunny: izbová teplota" BUCKET_KEY = "temp1" ACCESS_KEY = "KĽÚČ PRÍSTUPU TU" # zmeňte tak, aby zodpovedal tlaku miesta (hPa) na hladine mora bme280.sea_level_pressure = 1013,25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = False # --------------------------------- # ALEBO vytvorte objekt knižnice pomocou nášho portu Bus SPI #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) while True: vlhkosť = formát (bme280.humidity, ".1f") tlak = formát (bme280.pressure, ".1f") temp_c = bme280.temperatu 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 + "Temperature (F)", temp_f) streamer.log (SENSOR_LOCATION_NAME + "Vlhkosť (%)", vlhkosť) streamer.log (SENSOR_LOCATION_NAME + "Tlak (hPA)", tlak) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)

  • Riadok 12- Táto hodnota by mala byť jedinečná pre každý uzol/snímač teploty. Môže to byť názov miestnosti vášho senzorového uzla, fyzická poloha, jedinečný identifikátor alebo čokoľvek. Uistite sa, že je jedinečný pre každý uzol, aby ste zaistili, že údaje z tohto uzla pôjdu do vlastného toku údajov na vašom hlavnom paneli.
  • Riadok 13- Toto je názov dátového segmentu. Toto je možné kedykoľvek zmeniť v používateľskom rozhraní počiatočného stavu.
  • Riadok 14- Toto je váš kľúč od vedra. Musí to byť rovnaký kľúč vedra pre každý uzol, ktorý chcete zobraziť na rovnakom paneli.
  • Riadok 15- Toto je váš prístupový kľúč k počiatočnému stavu účtu. Skopírujte a prilepte tento kľúč z účtu Počiatočný stav.
  • Riadok 17- Toto je tlak vášho miesta (hPa) na úrovni mora. Tieto informácie nájdete na väčšine webových stránok o počasí.
  • Riadok 18 - Toto je čas medzi načítaním senzorov. Riadok 19- Tu môžete zadať metrické alebo imperiálne jednotky.

Potom, čo ste vo svojom skripte Python na svojom Pi Zero WH nastavili riadky 12–19, uložte a ukončite textový editor. Spustite skript pomocou nasledujúceho príkazu:

$ python3 bme280sensor.py

Teraz budete mať údaje odoslané na informačný panel Počiatočný stav. V poslednej časti tohto článku nájdete podrobnosti o prispôsobení hlavného panela.

Krok 8: Vnímajte Klobúk

Zmysel Klobúk
Zmysel Klobúk
Zmysel Klobúk
Zmysel Klobúk

Prvým krokom pri používaní Sense HAT je jeho fyzická inštalácia na váš Pi. Keď je Pi vypnuté, pripevnite HAT podľa obrázku.

Ak sa rozhodnete použiť riešenie, ako je uvedené vyššie, môžete si všimnúť, že hodnoty teploty vášho Sense HAT budú trochu vysoké - to preto, že sú. Na vine je teplo generované z CPU Pi, ktoré ohrieva vzduch okolo Sense HAT, keď sedí na vrchu Pi. Aby bol teplotný senzor užitočný, musíme buď odstrániť HAT od Pi, alebo sa pokúsiť kalibrovať odčítanie teplotného senzora. Dobrým riešením na oddelenie senzora od Pi je kábel, ktorý necháva Sense HAT visieť od Pi. Na svoje si príde 6 “, 40-kolíkový predlžovací kábel IDE s konektorom IDE.

Akonáhle sa rozhodnete pre tieto dve možnosti, zapnite Pi. Musíme nainštalovať knižnicu Python, aby bolo ľahké čítať hodnoty senzorov zo Sense HAT. Najprv budete musieť zaistiť, aby bolo vo vašej verzii Raspbian všetko aktuálne:

$ sudo apt-get aktualizácia

Ďalej nainštalujte knižnicu Sense HAT Python:

$ sudo apt-get install sense-hat

Reštartujte počítač Pi. Sme pripravení otestovať Sense HAT tak, že z neho prečítame údaje senzora a pošleme ich do počiatočného stavu.

Vytvorte súbor s názvom sensehat a otvorte ho v textovom editore zadaním nasledujúceho príkazu do príkazového riadka:

$ nano sensehat.py

Skopírujte a prilepte nižšie uvedený kód do textového editora.

from sense_hat import SenseHat

čas importu import sys z ISStreamer. Streamer import Streamer # --------- Používateľské nastavenia --------- BUCKET_NAME = "Kancelárske počasie" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = " Kancelária "MINUTES_BETWEEN_SENSEHAT_READS = 0,1 # --------------------------------- streamer = Streamer (názov_nápojníka = BUCKET_NAME, kľúč_kôš = BUCKET_KEY, access_key = ACCESS_KEY) sense = SenseHat () while True: # Prečítajte si senzory temp_c = sense.get_temperature () vlhkosť = sense.get_humidity () pressure_mb = sense.get_pressure () # Formátujte údaje temp_f = temp_c * 9,0 / 5,0 + 32,0 temp_f = float ("{0:.2f}". Formát (temp_f)) vlhkosť = float ("{0:.2f}". Formát (vlhkosť)) pressure_in = 0,03937008*(pressure_mb) pressure_in = float ("{ 0:.2f} ". Formát (pressure_in)) # Vytlačte a streamujte tlač SENSOR_LOCATION_NAME +" Teplota (F): " + str (temp_f) tlač SENSOR_LOCATION_NAME +" Vlhkosť (%): " + str (vlhkosť) tlač SENSOR_LOCATION_NAME +" Tlak (IN): " + str (pressure_in) streamer.log (": slnečný: " + SEN SOR_LOCATION_NAME + "Teplota (F)", temp_f) streamer.log (": sweat_drops:" + SENSOR_LOCATION_NAME + "Vlhkosť (%)", vlhkosť) streamer.log (": cloud:" + SENSOR_LOCATION_NAME + "Tlak (IN)", pressure_in) streamer.flush () time.sleep (60*MINUTES_BETWEEN_SENSEHAT_READS)

Všimnite si v prvom riadku, že importujeme knižnicu SenseHat do skriptu. Pred spustením tohto skriptu musíme nastaviť naše používateľské parametre.

# --------- Používateľské nastavenia ---------

BUCKET_NAME = "Počasie v kancelárii" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = "Kancelária" MINUTES_BETWEEN_SENSEHAT_READS = 0,1# ------------------------- --------

Konkrétne musíte nastaviť svoj ACCESS_KEY na prístupový kľúč k počiatočnému stavu účtu. BUCKET_NAME a SENSOR_LOCATION_NAME môžete zmeniť na skutočné umiestnenie senzora. Uložte a ukončite textový editor.

Na príkazovom riadku na počítači Pi spustite skript:

$ sudo python sensehat.py

Teraz budete mať údaje odoslané na informačný panel Počiatočný stav. V poslednej časti tohto článku nájdete podrobnosti o prispôsobení hlavného panela.

Krok 9: Prispôsobte svoj informačný panel počiatočného stavu

Prispôsobte svoj informačný panel počiatočného stavu
Prispôsobte svoj informačný panel počiatočného stavu

Prejdite na svoj účet Počiatočný stav a pozrite sa na svoje údaje. Kliknutím na dlaždicu pravým tlačidlom myši zmeníte typ grafu a kliknutím na položku Upraviť dlaždice zmeníte veľkosť a presuniete dlaždice. Odporúčam použiť termostat na meranie teploty a hladinu kvapaliny na meranie vlhkosti. Môžete vytvárať čiarové grafy pre teplotu aj vlhkosť, aby ste videli zmeny v priebehu času. Na svoj informačný panel môžete tiež pridať obrázok na pozadí.

Môžete nastaviť upozornenia na spustenie, aby ste mohli dostať SMS alebo e -mail, ak teplota klesne pod alebo prekročí určitý prah. Prejdite do priečinka s údajmi a kliknite na nastavenia. Odtiaľ prejdite na kartu Spúšťače. Zadajte kľúč streamu, ktorý chcete monitorovať, operátora, ktorého chcete použiť, a prahovú hodnotu. Kliknutím na znamienko plus pridáte Spúšťač. Potom zadáte svoj e -mail alebo telefónne číslo, na ktoré chcete dostať upozornenie, a kliknite na znamienko plus. Po nastavení všetkých spúšťačov kliknite na tlačidlo Hotovo v spodnej časti.

Teraz, keď ste vytvorili teplotný monitor pomocou teplotného senzora a Raspberry Pi, môžete začať premýšľať o tom, aké ďalšie údaje o životnom prostredí môžete ďalej sledovať.

Odporúča: