Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Temperatura dhe lagështia janë pika jetike të të dhënave në botën e sotme industriale. Monitorimi i të dhënave mjedisore për dhomat e serverëve, ngrirësit komercial dhe linjat e prodhimit është i nevojshëm për t'i mbajtur gjërat pa probleme. Ka shumë zgjidhje atje duke filluar nga ato themelore në ato komplekse dhe mund të duket dërrmuese në atë që i nevojitet biznesit tuaj dhe ku të filloni.
Ne do të shqyrtojmë se si të monitorojmë temperaturën me një Raspberry Pi dhe sensorë të ndryshëm të temperaturës që mund të përdorni. Ky është një vend i mirë për të filluar pasi këto zgjidhje janë të lira, të lehta për tu bërë dhe ju jep një bazë për të ndërtuar për monitorime të tjera mjedisore.
Furnizimet
- Raspberry Pi (3, 4, ose Zero WH)
- Sensori i temperaturës (DHT2, DSB18B20, BME280, ose Sense HAT)
- 6 "40-pin IDE Mashkull për Femër Extension Cable (Sense HAT Solution)
- Rezistencë 10K, tabelë me bukë, dërrasë shpërthimi 40-pin + kabllo shiriti, tela (Për zgjidhjen DSB18B20)
Hapi 1: Raspberry Pi
Një Raspberry Pi është një kompjuter i lirë me një bord të vetëm që do t'ju lejojë të lidheni me një sensor të temperaturës dhe t'i transmetoni të dhënat në një softuer të vizualizimit të të dhënave. Raspberry Pi filloi si një mjet mësimi dhe ka evoluar në një mjet industrial të punës. Lehtësia e përdorimit dhe aftësia për të koduar me Python, gjuha e programimit me rritjen më të shpejtë, i ka bërë ata të shkojnë drejt zgjidhjes.
Ju do të dëshironi një Raspberry Pi që ka WiFi të integruar, të cilat janë çdo model 3, 4 dhe zero W/WH. Midis atyre që mund të zgjidhni bazuar në çmimet dhe veçoritë. Zero W/WH është më e lira, por nëse keni nevojë për më shumë funksionalitet, mund të zgjidhni midis 3 dhe 4. Mund të blini vetëm një Zero W/WH në të njëjtën kohë për shkak të kufizimeve nga Fondacioni Raspberry Pi. Çfarëdo që Pi të zgjidhni, sigurohuni që të blini një karikues pasi kështu do të fuqizoni Pi dhe një kartë SD me Raspbian për të bërë sa më të lehtë instalimin e sistemit operativ.
Ka kompjuterë të tjerë me bord të vetëm që mund të funksionojnë gjithashtu, por kjo është për një kohë tjetër dhe një artikull tjetër.
Hapi 2: Sensorët
Ekzistojnë tre sensorë që ne rekomandojmë t'i përdorni sepse janë të lira, të lehta për t'u lidhur dhe japin lexime të sakta; DSB18B20, DHT22 dhe Raspberry Pi Sense HAT.
DHT22 - Ky sensor i temperaturës dhe lagështisë ka saktësi të temperaturës prej +/- 0.5 C dhe një lagështi nga 0 në 100 përqind. Toshtë e thjeshtë të lidhesh me Raspberry Pi dhe nuk kërkon ndonjë rezistencë tërheqëse.
DSB18B20 - Ky sensor i temperaturës ka një dalje dixhitale, e cila funksionon mirë me Raspberry Pi. Ka tre tela dhe kërkon një tabelë buke dhe rezistencë për lidhjen.
BME280 - Ky sensor mat temperaturën, lagështinë dhe presionin barometrik. Mund të përdoret si në SPI ashtu edhe në I2C.
Sense HAT - Kjo është një shtesë në bord për Raspberry Pi që ka LED, sensorë dhe një levë të vogël. Ai lidhet drejtpërdrejt me GPIO në Raspberry Pi por përdorimi i një kablloje me shirit ju jep lexime më të sakta të temperaturës.
Hapi 3: Konfigurimi i Raspberry Pi
Nëse kjo është hera e parë që vendosni Raspberry Pi tuaj do t'ju duhet të instaloni sistemin operativ Raspbian dhe ta lidhni Pi -në tuaj me WiFi. Kjo do të kërkojë një monitor dhe tastierë për t'u lidhur me Pi. Pasi ta keni funksionuar dhe lidhur me WiFI, Pi juaj është gati për të shkuar.
Hapi 4: Llogaria fillestare e shtetit
Do t'ju duhet diku për të dërguar të dhënat tuaja për të mbajtur një regjistër historik dhe për të parë rrjedhën e të dhënave në kohë reale, kështu që ne do të përdorim gjendjen fillestare. Shkoni në https://iot.app.initialstate.com dhe krijoni një llogari të re ose regjistrohuni në llogarinë tuaj ekzistuese.
Tjetra, ne duhet të instalojmë modulin e gjendjes fillestare Python në Pi tuaj. Në një komandë të shpejtë (mos harroni të futni SSH së pari në Pi tuaj), ekzekutoni komandën e mëposhtme:
$ cd/home/pi/
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
Pasi të futni komandën curl në komandën e shpejtë, do të shihni diçka të ngjashme me daljen e mëposhtme në ekran:
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash Fjalëkalimi: Fillimi ISStreamer Python Instalim i lehtë! Kjo mund të zgjasë disa minuta për të instaluar, pi pak kafe:) Por mos harroni të ktheheni, do të kem pyetje më vonë! Gjetur easy_install: setuptools 1.1.6 Gjetur pip: pip 1.5.6 nga /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) versioni kryesor i pipit: 1 pip version i vogël: 5 ISStreamer u gjet, duke u përditësuar … Kërkesa tashmë e përditësuar: ISStreamer në /Library/Python/2.7/site-packages Pastrimi … Dëshironi të merrni automatikisht një skenar shembull? [y/N] Ku doni ta ruani shembullin? [parazgjedhja:./is_example.py] Ju lutemi zgjidhni cilin aplikacion të gjendjes fillestare po përdorni: 1. app.initialstate.com 2. [E RE!] iot.app.initialstate.com Shkruani zgjedhjen 1 ose 2: Futni iot.app.initialstate.com emri i përdoruesit: Shkruani fjalëkalimin iot.app.initialstate.com:
Kur ju kërkohet të merrni automatikisht një skenar shembull, shkruani y. Kjo do të krijojë një skript testi që mund të ekzekutojmë për të siguruar që ne mund t'i transmetojmë të dhënat në gjendjen fillestare. Fjala tjetër do të pyesë se ku doni të ruani skedarin shembull. Ju ose mund të shkruani një shteg të personalizuar lokal ose të shtypni enter për të pranuar vendndodhjen e paracaktuar. Më në fund, do të pyeteni se cilin aplikacion të gjendjes fillestare po përdorni. Nëse keni krijuar një llogari kohët e fundit, zgjidhni opsionin 2, shkruani emrin e përdoruesit dhe fjalëkalimin tuaj. Pas kësaj, instalimi do të përfundojë.
Le të hedhim një vështrim në skenarin shembull të krijuar.
$ nano is_example.py
Në rreshtin 15, do të shihni një rresht që fillon me streamer = Streamer (bucket_…. Kjo rresht krijon një kovë të re të të dhënave të quajtur "Shembulli i Python Stream" dhe shoqërohet me llogarinë tuaj. Kjo shoqatë ndodh për shkak të çelësit të qasjes = "…" parametër në të njëjtën linjë. Ajo seri e gjatë e shkronjave dhe numrave është çelësi i hyrjes në llogarinë tuaj të gjendjes fillestare. Nëse shkoni te llogaria juaj e gjendjes fillestare në shfletuesin tuaj të uebit, klikoni mbi emrin e përdoruesit në krye të djathtë, pastaj shkoni te "cilësimet e mia", do të gjeni të njëjtin çelës aksesi këtu nën "Transmetimi i çelësave të hyrjes".
Sa herë që krijoni një rrjedhë të të dhënave, ky çelës aksesi do ta drejtojë atë rrjedhë të të dhënave në llogarinë tuaj (kështu që mos e ndani çelësin tuaj me askënd).
Drejtoni skriptin e provës për t'u siguruar që mund të krijojmë një rrjedhë të të dhënave në llogarinë tuaj të gjendjes fillestare. Drejtoni sa vijon:
$ python is_example.py
Kthehuni te llogaria juaj e gjendjes fillestare në shfletuesin tuaj të internetit. Një kovë e re e të dhënave e quajtur "Shembulli i Python Stream" duhet të jetë shfaqur në të majtë në raftin tuaj të regjistrit (mund t'ju duhet të rifreskoni faqen). Klikoni në këtë kovë dhe pastaj klikoni në ikonën Waves për të parë të dhënat e testit
Nëse jeni duke përdorur Python 3, mund të instaloni Modulin Initial State Streamer që mund të instaloni duke përdorur komandën e mëposhtme:
pip3 instaloni ISStreamer
Tani ne jemi gati të konfigurojmë sensorin e temperaturës me Pi për të transmetuar temperaturën në një pult.
Hapi 5: Zgjidhja DHT22
DHT22 do të ketë tre kunja - 5V, Gnd dhe të dhëna. Duhet të ketë një etiketë pin për fuqinë në DHT22 (p.sh. "+" ose "5V"). Lidheni këtë me kunjin 2 (kunja e sipërme e djathtë, 5V) e Pi. Kunja Gnd do të etiketohet '-' ose 'Gnd' ose diçka ekuivalente. Lidheni këtë me kunjin 6 Gnd (dy kunja nën pin 5V) në Pi. Pina e mbetur në DHT22 është kunja e të dhënave dhe do të etiketohet "jashtë" ose "s" ose "të dhëna". Lidheni këtë me një nga kunjat GPIO në Pi të tilla si GPIO4 (pin 7). Sapo të lidhet kjo, ndizni Pi -në tuaj.
Instaloni modulin Adafruit DHT Python në një komandë të shpejtë për ta bërë leximin e të dhënave të sensorit DHT22 super të lehtë:
$ sudo pip instaloni Adafruit_DHT
Me sistemin tonë operativ të instaluar së bashku me dy modulet tanë Python për leximin e të dhënave të sensorit dhe dërgimin e të dhënave në gjendjen fillestare, ne jemi gati të shkruajmë shkrimin tonë Python. Skenari i mëposhtëm do të krijojë/shtojë një kovë të të dhënave të gjendjes fillestare, do të lexojë të dhënat e sensorit DHT22 dhe do t'i dërgojë ato në një pult të kohës reale. E tëra çfarë ju duhet të bëni është të modifikoni rreshtat 6-11.
importoni Adafruit_DHT
nga ISStreamer. Streamer import Koha e importimit të Streamer# --------- Cilësimet e Përdoruesit --------- SENSOR_LOCATION_NAME = "Zyra" BUCKET_NAME = ": pjesërisht_sunny: Temperaturat e dhomës" BUCKET_KEY = "rt0129" ACCESS_KEY = "Vendosni KEYTU ÇEYLLIMIN T Y FILLIMIT T ST SHTETIT TUAJ" MINUTES_BETWEEN_READS = 10METRIC_UNITS = False # -------------------------------- streamer = Streamer (emri i kovës = BUCKET_NAME, çelësi i kovës = BUCKET_KEY, çelësi i qasjes = ACCESS_KEY) ndërsa E vërtetë: lagështia, temp_c = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) nëse METRIC_UNITS: streamer.log (SENSOR_ Temperatura): temp_f = format (temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Temperatura (F)", temp_f) lagështia = format (lagështia, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Lagështia (%)", lagështia) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)
- Linja 6 - Kjo vlerë duhet të jetë unike për secilën nyje/sensor të temperaturës. Ky mund të jetë emri i dhomës së nyjes tuaj sensor, vendndodhja fizike, identifikuesi unik ose çfarëdo. Vetëm sigurohuni që është unike për secilën nyje për të siguruar që të dhënat nga kjo nyje të shkojnë në rrjedhën e vet të të dhënave në pultin tuaj.
- Linja 7 - Ky është emri i kovës së të dhënave. Kjo mund të ndryshohet në çdo kohë në UI të Shtetit Fillestar.
- Linja 8 - Ky është çelësi juaj i kovës. Duhet të jetë i njëjti çelës kovë për çdo nyje që dëshironi të shfaqet në të njëjtën pult.
- Linja 9 - Ky është çelësi i hyrjes në llogarinë tuaj fillestare të gjendjes. Kopjoni dhe ngjisni këtë çelës nga llogaria juaj e gjendjes fillestare.
- Linja 10 - Kjo është koha midis leximit të sensorit. Ndryshoni në përputhje me rrethanat.
- Linja 11 - Ju mund të specifikoni njësi metrike ose perandorake në rreshtin 11.
Pasi të keni vendosur linjat 6-11 në shkrimin tuaj Python në Pi tuaj, ruani dhe dilni nga redaktuesi i tekstit. Drejtoni skriptin me komandën e mëposhtme:
$ python tempsensor.py
Tani do të keni të dhëna që dërgohen në një pult të gjendjes fillestare. Shkoni në seksionin përfundimtar të këtij artikulli për detaje se si të personalizoni pultin tuaj.
Hapi 6: Zgjidhja DSB18B20
Kablloja e shiritit lidhet me kunjat GPIO në Pi. DS18B20 ka tre tela. Teli i kuq lidhet me 3.3V. Teli blu/i zi lidhet me tokën. Teli i verdhë lidhet me një rezistencë tërheqëse/kunj 4. Pasi të lidhet, lidhni Pi-in tuaj.
Versioni i fundit i Raspbian (kernel 3.18) kërkon një shtesë në skedarin tuaj /boot/config.txt që Pi të komunikojë me DS18B20. Drejtoni sa vijon për të redaktuar këtë skedar:
$ sudo nano /boot/config.txt
Nëse rreshti i mëposhtëm nuk është tashmë në këtë skedar (nëse është, ka të ngjarë të jetë në fund të skedarit), shtojeni dhe ruani skedarin.
dtoverlay = w1-gpio, gpiopin = 4
Rinisni Pi -në tuaj që ndryshimet të hyjnë në fuqi.
$ sudo rindezje
Për të filluar ndërfaqen e leximit të sensorit të temperaturës, duhet të ekzekutojmë dy komanda. Shkoni te një linjë komande në Pi ose SSH tuaj në Pi tuaj. Shkruani komandat e mëposhtme:
$ sudo modprobe w1-gpio $ sudo modprobe w1-term
Dalja e sensorit tuaj të temperaturës tani po shkruhet në një skedar në Pi tuaj. Për të gjetur atë skedar:
$ cd/sys/bus/w1/pajisje
Në këtë drejtori, do të ketë një nën-drejtori që fillon me "28-". Ajo që vjen pas "28-" është numri serik i sensorit tuaj. cd në atë drejtori. Brenda këtij drejtorie, një skedar i quajtur w1_slave përmban daljen e sensorit tuaj. Përdorni nano për të parë përmbajtjen e skedarit. Pasi të keni hyrë në skedar, do të duket diçka si kjo:
a2 01 4b 46 7f ff 0e 10 d8: crc = d8 YESa2 01 4b 46 7f ff 0e 10 d8 t = 26125
Numri pas "t =" është numri që duam. Kjo është temperatura në 1/1000 gradë Celsius (në shembullin e mësipërm, temperatura është 26.125 C). Ne na duhet vetëm një program i thjeshtë që lexon këtë skedar dhe analizon atë numër. Ne do ta arrijmë atë në vetëm një sekondë.
Tani gjithçka është gati që ne të fillojmë transmetimin e të dhënave. Për të hapur redaktuesin e tekstit, shkruani sa vijon në vijën e komandës:
$ nano temperature.py
Kopjoni dhe ngjisni kodin më poshtë në redaktuesin e tekstit.
import os
import glob koha e importit nga 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-gp -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 = hapur (skedari i pajisjes, 'r') linjat = f.leximet () f.mbylli () linjat e kthimit def read_temp (): rreshtat = lexo_temp_raw () ndërsa rreshtat [0]. rripin () [-3:]! = 'PO': koha. gjumi (0.2) rreshta = lexo_temp_raw () barabartë_pos = rreshta [1]. gjeni ('t =') nëse është e barabartë me_pos! = -1: temp_string = rreshta [1] [barazohet_pos+2:] temp_c = noton (temp_string) / 1000.0 ktheje temp_c ndërsa E vërtetë: 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)
Ju duhet të vendosni çelësin tuaj të hyrjes në gjendjen fillestare në rreshtin 6 në vend të PUT_YOUR_ACCESS_KEY_HERE (kopjoni çelësin e transmetimit në kujtesën tuaj nga 'Llogaria ime' dhe ngjiteni në kodin nano në terminalin tuaj).
Linja 6 do të krijojë një kovë të quajtur "Temperatura Stream" në llogarinë tuaj të gjendjes fillestare (duke supozuar se keni specifikuar saktë çelësin tuaj të aksesit në të njëjtën linjë). Linjat 8 deri në 30 të këtij skripti thjesht ndërfaqen me sensorin DS18B20 për të lexuar temperaturën e tij nga skedari w1_slave që diskutuam më herët. Funksioni read_temp_raw () në rreshtin 15 lexon skedarin e papërpunuar w1_slave. Funksioni read_temp () në linjën 21 analizon temperaturën nga ai skedar. Linja 34 i thërret këto funksione për të marrë temperaturën aktuale. Linja 35 konverton temperaturën nga Celsius në Fahrenheit. Linjat 35 dhe 36 transmetojnë temperaturën në llogarinë tuaj të gjendjes fillestare. Linja 37 ndalon shkrimin për 0.5 sekonda, duke vendosur sa shpesh sensori i temperaturës do të lexohet dhe transmetohet.
Ne jemi gati për të filluar transmetimin. Drejtoni komandën e mëposhtme:
$ sudo python temperature.py
Kthehuni te llogaria juaj e gjendjes fillestare në shfletuesin tuaj të internetit dhe kërkoni një kovë të re të të dhënave të quajtur Temperature Stream. Duhet të shihni transmetimin e të dhënave të temperaturës drejtpërdrejt. Ndryshoni temperaturën e sensorit duke e mbajtur atë në dorën tuaj ose duke e vendosur në një gotë akull.
Tani do të keni të dhëna që dërgohen në një pult të gjendjes fillestare. Shkoni në pjesën përfundimtare të këtij artikulli për detaje se si të personalizoni pultin tuaj.
Hapi 7: Zgjidhja BME280
Ju do të keni nevojë për sa më poshtë për të ndërtuar këtë zgjidhje:
-BME280 Sensori i Presionit, Temperaturës dhe Lagështisë
Ky sensor vjen me kunjat që do t'ju duhet të lidhni në sensor. Unë rekomandoj të përdorni një dërrasë buke me kunjat në anën e gjatë poshtë në pjatën e bukës për ta bërë më të lehtë bashkimin. Pasi ta keni përfunduar këtë, ne duhet ta lidhim sensorin me Pi.
Lidhni pinin VIN në sensor me pinin 3.3V 1 në Pi. Lidhni kunjin GND në sensorin pinin e tokës 6 në Pi. Lidhni kunjin SCK në sensor me pinin SCL 5 në Pi. Lidhni kunjin SDI në sensor me kunjin SDA 3 në Pi. Ju do të duhet të përdorni Python 3 për këtë zgjidhje dhe të instaloni modulin Initial State Streamer duke përdorur metodën e instalimit pip3.
Ju gjithashtu do të duhet të instaloni disa biblioteka Adafruit Python.
pip3 install adafruit-blinkapip3 install pureio pip3 install spidev pip3 install adafruit-GPIO pip3 install adafruit-circuitpython-bme280
Për të përdorur sensorin duhet të aktivizojmë I2C në Pi.
sudo raspi-config
Kjo do të hapë Veglën e Konfigurimit të Softuerit Raspberry Pi. Shkoni te Opsioni 5 Opsionet e Ndërfaqes. Nga këtu shkoni në I2C. Do t'ju kërkojë të pyesni nëse doni të aktivizoni I2C, Zgjidhni Po dhe Përfundo. Tani ju keni të aktivizuar I2C për të komunikuar me sensorin.
Ne mund ta provojmë këtë duke ekzekutuar sa vijon:
sudo i2cdetect -y 1
Kjo do të verifikojë që Pi juaj e sheh sensorin. Në mënyrën se si lidhet, duhet të tregojë sensorin në adresën 77. Nëse nuk e zbuloni sensorin, rindizni Pi -n tuaj, aktivizoni opsionin e ndërfaqes I2C në Pi tuaj dhe provoni përsëri. Pasi të zbulohet sensori juaj, është koha për të drejtuar kodin tonë kryesor që do të dërgojë të dhëna në gjendjen fillestare. Krijoi një skedar të quajtur bme280sensor.py me komandën nano. Kopjoni dhe ngjisni kodin nga thelbi në redaktuesin e tekstit. Ju do të duhet të bëni ndryshime në rreshtat 12-19.
koha e importit
bordi i importit import busio import adafruit_bme280 nga ISStreamer. Streamer import Streamer # Krijoni objekt bibliotekë duke përdorur autobusin tonë I2C porti2c = busio. I2C (board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- -Cilësimet e përdoruesit --------- SENSOR_LOCATION_NAME = "Zyra" BUCKET_NAME = ": pjesërisht_sunny: Temperatura e dhomës" BUCKET_KEY = "temp1" ACCESS_KEY = "ÇELEYSIA E TYRE P ACR HYRJE" # ndryshoje këtë që të përputhet me presionin e vendndodhjes (hPa) në nivelin e detit bme280.sea_level_pressure = 1013.25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = False # -------------------------------- # OSE krijoni objektin e bibliotekës duke përdorur portin tonë Bus SPI #spi = busio. SPI (bordi. SCK, bordi. MOSI, bordi. MISO) #bme_cs = digitalio. DigitalInOut (bordi. D10) #bme280 = adafruit_bme280. Adafruit_BME280_SPI (spi, bme_cs) transmetues = Transmetues (emri i kovës = BUCKET_NAME, çelësi i kovës = BUCKET_KEY, çelësi i qasjes = ACCESS_KEY) ndërsa E vërtetë: lagështia = format (bme280. lagështia, ".1f") presion = format (bme280.pressure, ".1f") temp_c = bme280.temperatu re nëse METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Temperatura (C)", temp_c) tjetër: 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 + "Lagështia (%)", lagështia) streamer.log (SENSOR_LOCATION_NAME + "Presioni (hPA)", presioni) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)
- Linja 12- Kjo vlerë duhet të jetë unike për secilën nyje/sensor të temperaturës. Ky mund të jetë emri i dhomës së nyjes tuaj sensor, vendndodhja fizike, identifikuesi unik ose çfarëdo. Vetëm sigurohuni që është unike për secilën nyje për të siguruar që të dhënat nga kjo nyje të shkojnë në rrjedhën e vet të të dhënave në pultin tuaj.
- Linja 13- Ky është emri i kovës së të dhënave. Kjo mund të ndryshohet në çdo kohë në UI të gjendjes fillestare.
- Linja 14- Ky është çelësi juaj i kovës. Duhet të jetë i njëjti çelës kovë për çdo nyje që dëshironi të shfaqet në të njëjtën pult.
- Linja 15- Ky është çelësi i hyrjes në llogarinë tuaj fillestare të gjendjes. Kopjoni dhe ngjisni këtë çelës nga llogaria juaj e gjendjes fillestare.
- Linja 17- Ky është presioni i vendndodhjes tuaj (hPa) në nivelin e detit. Ju mund ta gjeni këtë informacion në shumicën e faqeve të internetit të motit.
- Linja 18 - Kjo është koha midis leximit të sensorit. Ndryshoni në përputhje me rrethanat. Linja 19- Këtu mund të specifikoni njësi metrike ose perandorake.
Pasi të keni vendosur linjat 12–19 në shkrimin tuaj Python në Pi Zero WH tuaj, ruani dhe dilni nga redaktuesi i tekstit. Drejtoni skriptin me komandën e mëposhtme:
$ python3 bme280sensor.py
Tani do të keni të dhëna që dërgohen në një pult të gjendjes fillestare. Shkoni në pjesën përfundimtare të këtij artikulli për detaje se si të personalizoni pultin tuaj.
Hapi 8: Sense HAT
Hapi i parë në përdorimin e Sense HAT është instalimi fizik i tij në Pi tuaj. Me Pi të fikur, bashkëngjitni HAT siç tregohet në figurë.
Nëse vendosni të përdorni zgjidhjen siç tregohet më sipër, mund të vini re se leximet e temperaturës së Sense HAT tuaj do të jenë pak të larta - kjo sepse ato janë. Fajtori është nxehtësia e krijuar nga CPU e Pi që ngroh ajrin rreth Sense HAT kur është ulur në krye të Pi. Për ta bërë sensorin e temperaturës të dobishëm, ne duhet ose ta heqim HAT -in nga Pi ose të përpiqemi të kalibrojmë leximin e sensorit të temperaturës. Një zgjidhje e mirë për largimin e sensorit nga Pi është një kabllo që lejon Sense HAT të largohet nga Pi. Një kabllo kabllore 6 , 40-pin IDE mashkull-femër do të bëjë këtë.
Pasi të vendosni për dy opsionet, ndizni Pi -në tuaj. Ne duhet të instalojmë bibliotekën Python për ta bërë më të lehtë leximin e vlerave të sensorit nga Sense HAT. Së pari, do të duhet të siguroheni që gjithçka është e përditësuar në versionin tuaj të Raspbian:
$ sudo apt-merrni përditësim
Tjetra, instaloni bibliotekën Sense HAT Python:
$ sudo apt-get install sense-hat
Rinisni Pi -në tuaj. Ne jemi gati të testojmë Sense HAT duke lexuar të dhënat e sensorit prej tij dhe duke i dërguar ato në Gjendjen Fillestare.
Krijoni një skedar të quajtur sensehat dhe hapeni atë në redaktuesin e tekstit duke futur sa më poshtë në komandën e shpejtë:
$ nano sensehat.py
Kopjoni dhe ngjisni kodin më poshtë në redaktuesin e tekstit.
nga sense_hat importojnë SenseHat
koha e importit sys import nga ISStreamer. Streamer importo Streamer # --------- Cilësimet e Përdoruesit --------- BUCKET_NAME = "Moti i Zyrës" BUCKET_KEY = "sensehat" ACCESS_KEY = "Çelësi juaj_Aksesit" SENSOR_LOCATION_NAME = " Zyra "MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # --------------------------------- transmetues = transmetues (emri i kovës = BUCKET_NAME, çelësi i kovës = BUCKET_KEY, access_key = ACCESS_KEY) sense = SenseHat () ndërsa True: # Lexoni sensorët temp_c = sense.get_temperature () lagështia = sense.get_humidity () pressure_mb = sense.get_pressure () # Formatoni të dhënat temp_f = temp_c * 9.0 / 5.0 + 32.0 temp_f = float ("{0:.2f}". Format (temp_f)) lagështia = float ("{0:.2f}". Format (lagështia)) press_in = 0.03937008*(press_mb) press_in = float ("{ 0:.2f} ". Format (presion_in)) # Printoni dhe transmetoni printimin SENSOR_LOCATION_NAME +" Temperatura (F): " + str (temp_f) printoni SENSOR_LOCATION_NAME +" Lagështia (%): " + str (lagështia) printoni SENSOR_LOCATION_NAME +" Presioni (IN): " + str (press_in) streamer.log (": sunny: " + SEN SOR_LOCATION_NAME + "Temperatura (F)", temp_f) streamer.log (": djersa_drops:" + SENSOR_LOCATION_NAME + "Lagështia (%)", lagështia) streamer.log (": re:" + SENSOR_LOCATION_NAME + "Presioni (IN)", press_in) streamer.flush () time.sleep (60*MINUTES_BETWEEN_SENSEHAT_READS)
Vini re në rreshtin e parë që po importojmë bibliotekën SenseHat në skenar. Para se të ekzekutoni këtë skenar, ne duhet të konfigurojmë parametrat tanë të përdoruesit.
# --------- Cilësimet e përdoruesit ---------
BUCKET_NAME = "Moti i Zyrës" BUCKET_KEY = "sensehat" ACCESS_KEY = "Çelësi juaj_i qasjes" SENSOR_LOCATION_NAME = "Zyra" MINUTES_BETWEEN_SENSEHAT_READS = 0.1# ------------------------- --------
Në mënyrë të veçantë, ju duhet të vendosni ACCESS_KEY tuaj në çelësin e hyrjes në llogarinë tuaj fillestare. Mund të ndryshoni BUCKET_NAME dhe SENSOR_LOCATION_NAME në vendndodhjen aktuale të sensorit. Ruani dhe dilni nga redaktuesi i tekstit.
Në një komandë të shpejtë në Pi tuaj, ekzekutoni skriptin:
$ sudo python sensehat.py
Tani do të keni të dhëna që dërgohen në një pult të gjendjes fillestare. Shkoni në pjesën përfundimtare të këtij artikulli për detaje se si të personalizoni pultin tuaj.
Hapi 9: Përshtatni Panelin tuaj të Fillestar të Gjendjes
Shkoni te llogaria juaj e gjendjes fillestare dhe shikoni të dhënat tuaja. Mund të klikoni me të djathtën në një pllakë për të ndryshuar llojin e grafikut dhe klikoni "Ndrysho pllaka" për të ndryshuar madhësinë dhe lëvizur pllakat tuaja. Unë do të rekomandoja përdorimin e termostatit të matësit për temperaturën dhe nivelin e lëngut të matësit për lagështinë. Ju mund të krijoni grafikë linjash për temperaturën dhe lagështinë për të parë ndryshimet me kalimin e kohës. Ju gjithashtu mund të shtoni një imazh të sfondit në pultin tuaj.
Ju mund të vendosni Sinjalizimet e aktivizimit në mënyrë që të merrni një SMS ose email nëse temperatura bie nën ose shkon mbi një prag të caktuar. Shkoni në kovën tuaj të të dhënave dhe klikoni në cilësimet. Nga atje shkoni te skedari Triggers. Vendosni çelësin e transmetimit që dëshironi të monitoroni, operatorin që dëshironi të përdorni dhe vlerën e pragut. Klikoni në shenjën plus për të shtuar Shkaktuesin. Pastaj do të futni emailin ose numrin tuaj të telefonit për të marrë paralajmërimin dhe klikoni shenjën plus. Pasi të keni vendosur të gjithë aktivizuesit tuaj, klikoni butonin Done në fund.
Tani që keni krijuar një monitor të temperaturës duke përdorur një sensor të temperaturës dhe një Raspberry Pi, mund të filloni të mendoni se cilat të dhëna të tjera mjedisore mund të monitoroni më tej.