Jinsi ya Kuunda Raspberry Pi Joto Monitor: 9 Hatua
Jinsi ya Kuunda Raspberry Pi Joto Monitor: 9 Hatua
Anonim
Jinsi ya Kuunda Raspberry Pi Joto Monitor
Jinsi ya Kuunda Raspberry Pi Joto Monitor

Joto na unyevu ni sehemu muhimu za data katika ulimwengu wa leo wa viwanda. Ufuatiliaji wa data ya mazingira kwa vyumba vya seva, freezers za kibiashara, na laini za uzalishaji ni muhimu kuweka mambo yakiendelea vizuri. Kuna suluhisho nyingi huko nje kutoka kwa msingi hadi ngumu na inaweza kuonekana kuwa kubwa juu ya kile biashara yako inahitaji na wapi kuanza.

Tutatembea jinsi ya kufuatilia joto na Raspberry Pi na sensorer tofauti za joto unazoweza kutumia. Hapa ni mahali pazuri kuanza kwa kuwa suluhisho hizi ni za bei rahisi, rahisi kufanya, na inakupa msingi wa kujenga kwa ufuatiliaji mwingine wa mazingira.

Vifaa

  • Raspberry Pi (3, 4, au Zero WH)
  • Sensorer ya Joto (DHT2, DSB18B20, BME280, au Sense HAT)
  • Cable 6 "40-Pin IDE Kiume hadi Kike Ugani (Sense HAT Solution)
  • 10K Resistor, Breadboard, 40-Pin Breakout Board + Cable Ribbon, waya (Kwa Suluhisho la DSB18B20)

Hatua ya 1: Raspberry Pi

Raspberry Pi ni kompyuta moja ya bei rahisi ambayo itakuruhusu kuungana na sensorer ya joto na kusambaza data kwenye programu ya taswira ya data. Raspberry Pi's ilianza kama zana ya kujifunza na imebadilika kuwa zana ya mahali pa kazi ya viwandani. Urahisi wa matumizi na uwezo wa kuweka nambari na Python, lugha inayokua kwa kasi zaidi ya programu, imewafanya kwenda suluhisho.

Utahitaji Raspberry Pi ambayo ina WiFi iliyojengwa, ambayo ni mfano wowote 3, 4, na zero W / WH. Kati ya hizo unaweza kuchagua kulingana na bei na huduma. Zero W / WH ni ya bei rahisi lakini ikiwa unahitaji utendaji zaidi unaweza kuchagua kati ya 3 na 4. Unaweza tu kununua Zero W / WH moja kwa wakati kwa sababu ya mapungufu na Raspberry Pi Foundation. Chochote unachochagua Pi, hakikisha unanunua chaja kwani ndivyo utakavyowezesha Pi na kadi ya SD na Raspbian kufanya usanidi wa mfumo wa uendeshaji iwe rahisi iwezekanavyo.

Kuna kompyuta nyingine ya bodi moja ambayo inaweza kufanya kazi pia, lakini hiyo ni kwa wakati mwingine na nakala nyingine.

Hatua ya 2: Sensorer

Kuna sensorer tatu tunapendekeza tuzitumie kwa sababu ni za bei rahisi, rahisi kuunganishwa, na hutoa usomaji sahihi; DSB18B20, DHT22, na Raspberry Pi Sense HAT.

DHT22 - sensorer hii ya joto na unyevu ina usahihi wa joto wa +/- 0.5 C na kiwango cha unyevu kutoka asilimia 0 hadi 100. Ni rahisi kuweka waya hadi kwenye Raspberry Pi na hauhitaji vizuizi vyovyote vya kuvuta.

DSB18B20 - Sensor hii ya joto ina pato la dijiti, ambayo inafanya kazi vizuri na Raspberry Pi. Ina waya tatu na inahitaji ubao wa mkate na kontena kwa unganisho.

BME280 - Sensorer hii inapima joto, unyevu, na shinikizo la kijiometri. Inaweza kutumika katika SPI na I2C.

Sense HAT - Hii ni nyongeza kwenye bodi ya Raspberry Pi ambayo ina LED, sensorer, na fimbo ndogo ya kufurahisha. Inaunganisha moja kwa moja kwenye GPIO kwenye Raspberry Pi lakini kutumia kebo ya utepe inakupa usomaji sahihi zaidi wa joto.

Hatua ya 3: Usanidi wa Pi Raspberry

Ikiwa hii ni mara ya kwanza kuanzisha Pi yako ya Raspberry utahitaji kusanikisha Mfumo wa Uendeshaji wa Raspbian na unganisha Pi yako na WiFi. Hii itahitaji mfuatiliaji na kibodi kuungana na Pi. Mara tu unayo na inaendesha na kuunganishwa kwenye WiFI, Pi yako iko tayari kwenda.

Hatua ya 4: Akaunti ya Jimbo la Awali

Akaunti ya Jimbo la Awali
Akaunti ya Jimbo la Awali
Akaunti ya Jimbo la Awali
Akaunti ya Jimbo la Awali

Utahitaji mahali pengine kutuma data yako kuweka kumbukumbu ya kihistoria na kuona mkondo wa data wa wakati halisi ili tutumie Jimbo la Awali. Nenda kwa https://iot.app.initialstate.com na uunda akaunti mpya au ingia kwenye akaunti yako iliyopo.

Ifuatayo, tunahitaji kusanikisha moduli ya Jimbo la Awali la Python kwenye Pi yako. Kwa mwongozo wa amri (usisahau SSH kwenye Pi yako kwanza), tumia amri ifuatayo:

$ cd / nyumbani / pi /

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

Baada ya kuingiza amri ya curl katika msukumo wa amri utaona kitu sawa na pato lifuatalo kwenye skrini:

pi @ raspberrypi ~

$ / curl -sSL https://get.initialstate.com/python -o - | Nenosiri la sudo bash: Kuanzia Usanidi wa ISStreamer Python Ufungaji Rahisi! Hii inaweza kuchukua dakika kadhaa kufunga, kunyakua kahawa kadhaa:) Lakini usisahau kurudi, nitakuwa na maswali baadaye! Imepatikana easy_install: setuptools 1.1.6 Imepatikana pip: pip 1.5.6 kutoka / Library / Python / 2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip great version: 1 pip minor version: 5 ISStreamer imepatikana, inasasisha… Mahitaji tayari yamesasishwa: ISStreamer katika /Library/Python/2.7/site-packages Inasafisha… Je! Unataka kiatomati kupata hati ya mfano? [y / N] Unataka kuokoa mfano wapi? [chaguo-msingi:./is_example.py] Tafadhali chagua programu ipi ya Jimbo la Awali unayotumia: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com Ingiza chaguo 1 au 2: Ingiza iot.app jina la mtumiaji la.initialstate.com: Ingiza nenosiri la iot.app.initialstate.com:

Unapohamasishwa kupata kiatomati hati, andika y. Hii itaunda hati ya majaribio ambayo tunaweza kukimbia ili kuhakikisha kuwa tunaweza kusambaza data kwenda Jimbo la Awali. Haraka inayofuata itauliza wapi unataka kuhifadhi faili ya mfano. Unaweza kuandika aina ya njia ya kawaida au kugonga kuingia kukubali eneo chaguo-msingi. Mwishowe, utaulizwa ni programu ipi ya Jimbo la Awali unayotumia. Ikiwa hivi karibuni umeunda akaunti, chagua chaguo 2, ingiza jina lako la mtumiaji na nywila. Baada ya hapo ufungaji utakamilika.

Wacha tuangalie mfano wa hati ambayo iliundwa.

$ nano ni_mfano.py

Kwenye laini ya 15, utaona laini inayoanza na streamer = Streamer (ndoo_…. Mistari hii inaunda ndoo mpya ya data iitwayo "Mfano wa Mkondo wa Python" na inahusishwa na akaunti yako. Chama hiki hufanyika kwa sababu ya ufikiaji_key = "…" parameta kwenye laini hiyo hiyo. Mfululizo huo mrefu wa herufi na nambari ni ufunguo wako wa ufikiaji wa akaunti ya Jimbo la Awali. Ukienda kwenye akaunti yako ya Jimbo la Awali katika kivinjari chako cha wavuti, bonyeza jina lako la mtumiaji kulia juu, kisha nenda kwenye "mipangilio yangu", utapata ufunguo huo wa ufikiaji hapa chini ya "Funguo za Ufikiaji wa Utiririshaji".

Kila wakati unapounda mkondo wa data, ufunguo huo wa ufikiaji utaelekeza mkondo huo wa data kwenye akaunti yako (kwa hivyo usishiriki ufunguo wako na mtu yeyote).

Tumia hati ya jaribio ili kuhakikisha kuwa tunaweza kuunda mkondo wa data kwenye akaunti yako ya Jimbo la Awali. Endesha yafuatayo:

$ chatu ni_mfano.py

Rudi kwenye akaunti yako ya Jimbo la Awali katika kivinjari chako cha wavuti. Ndoo mpya ya data iitwayo "Mfano wa Mkondo wa Python" inapaswa kuwa imeonekana upande wa kushoto kwenye rafu yako ya logi (huenda ukalazimika kuonyesha ukurasa upya). Bonyeza kwenye ndoo hii na kisha bonyeza ikoni ya Mawimbi ili kuona data ya jaribio

Ikiwa unatumia Python 3 unaweza kusanikisha Module ya Awali ya Streamer State unaweza kusanikisha kwa kutumia amri ifuatayo:

pip3 kufunga ISStreamer

Sasa tuko tayari kuanzisha kihisi cha joto na Pi kutiririsha joto kwenye dashibodi.

Hatua ya 5: Suluhisho la DHT22

Suluhisho la DHT22
Suluhisho la DHT22

DHT22 itakuwa na pini tatu - 5V, Gnd, na data. Lazima kuwe na lebo ya pini ya nguvu kwenye DHT22 (k.m. '+' au '5V'). Unganisha hii ili kubandika 2 (pini ya juu kulia, 5V) ya Pi. Pini ya Gnd itaandikwa '-' au 'Gnd' au kitu sawa. Unganisha hii kubandika 6 Gnd (pini mbili chini ya pini 5V) kwenye Pi. Pini iliyobaki kwenye DHT22 ni pini ya data na itaandikwa 'nje' au 's' au 'data'. Unganisha hii kwa moja ya pini za GPIO kwenye Pi kama GPIO4 (pini 7). Mara hii ni waya, nguvu kwenye Pi yako.

Sakinisha moduli ya Adafruit DHT Python kwa haraka ya amri ili kufanya kusoma data ya sensorer DHT22 kuwa rahisi sana:

$ sudo pip kufunga Adafruit_DHT

Na mfumo wetu wa uendeshaji umewekwa pamoja na moduli zetu mbili za chatu ya kusoma data ya sensa na kutuma data kwa Jimbo la Awali, tuko tayari kuandika hati yetu ya Python. Hati ifuatayo itaunda / kuambatanisha kwenye ndoo ya data ya Jimbo la Awali, soma data ya sensorer ya DHT22, na utume data hiyo kwa dashibodi ya wakati halisi. Unachohitaji kufanya ni kurekebisha laini ya 6-11.

kuagiza Adafruit_DHT

kutoka ISStreamer. Streamer kuagiza Saa ya kuingiza Streamer # --------- Mipangilio ya Mtumiaji --------- SENSOR_LOCATION_NAME = "Ofisi" BUCKET_NAME = ": sehemu_sunny: Joto la Chumba" BUCKET_KEY = "rt0129" ACCESS_KEY = "WEKA MAFUNZO YAKO YA HALI YA KWANZA HAPA" HAPA "DAKIKA_KATI YA_KUSOMA = 10METRIC_UNITS = Uongo # ------------------------------------- streamer = Streamer (ndoo_name = BUCKET_NAME, ndoo_key = BUCKET_KEY, access_key = ACCESS_KEY) wakati ni Kweli: unyevu, temp_c = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) ikiwa METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Template": temp_f = fomati (temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Joto (F)", temp_f) unyevu = fomati (unyevu, ".2f") "Unyevu (%)", unyevu) mtiririko (muda) (kulala) (60 * MINUTES_BETWEEN_READS)

  • Mstari wa 6 - Thamani hii inapaswa kuwa ya kipekee kwa kila sensorer ya nodi / joto. Hii inaweza kuwa jina la chumba cha kihisi chako cha sensa, eneo halisi, kitambulisho cha kipekee, au chochote kile. Hakikisha tu kuwa ni ya kipekee kwa kila node ili kuhakikisha kuwa data kutoka kwa node hii inakwenda kwenye mkondo wake wa data kwenye dashibodi yako.
  • Mstari wa 7 - Hili ndilo jina la ndoo ya data. Hii inaweza kubadilishwa wakati wowote katika UI ya Jimbo la Awali.
  • Mstari wa 8 - Hii ni ufunguo wako wa ndoo. Inahitaji kuwa ufunguo wa ndoo sawa kwa kila nodi unayotaka kuonyeshwa kwenye dashibodi sawa.
  • Mstari wa 9 - Hii ni ufunguo wako wa ufikiaji wa akaunti ya Jimbo la Awali. Nakili na ubandike ufunguo huu kutoka kwa akaunti yako ya Jimbo la Awali.
  • Mstari wa 10 - Huu ni wakati kati ya usomaji wa sensa. Badilisha ipasavyo.
  • Mstari wa 11 - Unaweza kutaja vitengo vya metri au kifalme kwenye laini ya 11.

Baada ya kuweka mistari 6-11 katika hati yako ya Python kwenye Pi yako, salama na utoke kihariri cha maandishi. Tumia hati na amri ifuatayo:

$ chatu tempsensor.py

Sasa utakuwa na data inayotuma kwa dashibodi ya Jimbo la Awali. Nenda kwenye sehemu ya mwisho ya nakala hii kwa maelezo juu ya jinsi ya kubadilisha dashibodi yako.

Hatua ya 6: Suluhisho la DSB18B20

Suluhisho la DSB18B20
Suluhisho la DSB18B20
Suluhisho la DSB18B20
Suluhisho la DSB18B20

Cable ya Ribbon inaunganisha na pini za GPIO kwenye Pi. DS18B20 ina waya tatu. Waya nyekundu huunganisha na 3.3V. Waya ya bluu / nyeusi inaunganisha chini. Waya wa manjano unaunganisha na kontena / pini ya kuvuta 4. Mara tu hii inapofungwa, weka nguvu kwenye Pi yako.

Toleo la hivi karibuni la Raspbian (kernel 3.18) inahitaji nyongeza kwa faili yako ya / boot/config.txt kwa Pi kuwasiliana na DS18B20. Endesha zifuatazo kuhariri faili hii:

$ sudo nano / boot/config.txt

Ikiwa laini ifuatayo haiko tayari kwenye faili hii (ikiwa iko, inawezekana iko chini ya faili), ongeza na uhifadhi faili.

dtoverlay = w1-gpio, gpiopin = 4

Anzisha tena Pi yako ili mabadiliko yatekelezwe.

$ sudo reboot

Ili kuanza kiwambo cha kusoma kiwambo cha joto tunahitaji kutumia amri mbili. Nenda kwa haraka ya amri kwenye Pi au SSH yako kwenye Pi yako. Andika amri zifuatazo:

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

Pato la sensorer yako ya joto sasa inaandikiwa faili kwenye Pi yako. Kupata faili hiyo:

$ cd / sys / basi / w1 / vifaa

Katika saraka hii, kutakuwa na saraka ndogo inayoanza na "28-". Kinachokuja baada ya "28-" ni nambari ya serial ya sensa yako. cd kwenye saraka hiyo. Ndani ya saraka hii, faili inayoitwa w1_slave ina pato la sensor yako. Tumia nano kutazama yaliyomo kwenye faili. Mara tu umeingia kwenye faili, itaonekana kama hii:

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

Nambari baada ya "t =" ndio nambari tunayotaka. Hii ndio joto katika nyuzi 1/1000 Celsius (kwa mfano hapo juu, joto ni 26.125 C). Tunahitaji tu programu rahisi inayosoma faili hii na kuchanganua nambari hiyo. Tutafika kwa sekunde moja tu.

Kila kitu sasa kiko tayari kwetu kuanza kutiririsha data. Ili kufungua mhariri wa maandishi andika zifuatazo katika mwongozo wa amri:

Joto la $ nano.py

Nakili na ubandike nambari hapa chini kwenye kihariri cha maandishi.

kuagiza os

kuagiza muda wa kuingiza glob kutoka ISStreamer. Streamer import Streamerstreamer = Streamer (ndoo_name = "Mtiririko wa Joto", ndoo_key = "piot_temp_stream031815", access_key = "PUT_YOUR_ACCESS_KEY_HERE") os.system ('modprobe w1-gpio') os. -therm ') base_dir =' / sys / basi / w1 / vifaa / 'kifaa_folder = glob.glob (base_dir + '28 *') [0] kifaa_file = kifaa_folder + '/ w1_slave' def read_temp_raw (): f = open (file_file, 'r') lines = f.readlines () f.close () mistari ya kurudisha def read_temp (): lines = read_temp_raw () wakati mistari [0].trip () [- 3:]! = 'YES': kulala. / 1000.0 kurudi temp_c wakati Kweli: temp_c = read_temp () temp_f = temp_c * 9.0 / 5.0 + 32.0 streamer.log ("joto (C)", temp_c) streamer.log ("joto (F)", temp_f) muda. (.5)

Unahitaji kuweka ufunguo wako wa ufikiaji wa Jimbo la Awali kwenye laini ya 6 badala ya PUT_YOUR_ACCESS_KEY_HERE (nakili kitufe cha kutiririsha kwenye clipboard yako kutoka 'Akaunti Yangu' na ubandike kwenye nambari katika nano kwenye terminal yako).

Laini ya 6 itaunda ndoo iitwayo "Mtiririko wa Joto" katika akaunti yako ya Jimbo la Awali (ikifikiri umeelezea ufikiaji wako wa ufunguo kwenye laini hii hiyo). Mistari ya 8 hadi 30 ya hati hii ina interface tu na sensa ya DS18B20 kusoma joto lake kutoka kwa faili ya w1_slave tuliyojadili hapo awali. Kazi ya kusoma_temp_raw () kwenye laini ya 15 inasoma faili mbichi ya w1_slave. Kazi ya kusoma_temp () kwenye laini ya 21 hutenganisha joto kutoka kwa faili hiyo. Mstari wa 34 huita kazi hizi kupata joto la sasa. Mstari wa 35 hubadilisha joto kutoka Celsius hadi Fahrenheit. Mistari 35 na 36 hutiririsha joto kwa akaunti yako ya Jimbo la Awali. Mstari wa 37 unasitisha hati kwa sekunde 0.5, ikiweka mara ngapi sensor ya joto itasomwa na kutiririka.

Tuko tayari kuanza kutiririsha. Tumia amri ifuatayo:

$ sudo chatu joto.py

Rudi kwenye akaunti yako ya Jimbo la Awali katika kivinjari chako cha wavuti na utafute ndoo mpya ya data inayoitwa Mkondo wa Joto. Unapaswa kuona mtiririko wa data ya joto katika moja kwa moja. Tofauti joto la sensa kwa kuishika mkononi au kuiweka kwenye glasi ya barafu.

Sasa utakuwa na data inayotuma kwa dashibodi ya Jimbo la Awali. Nenda kwenye sehemu ya mwisho ya nakala hii kwa maelezo juu ya jinsi ya kubadilisha dashibodi yako.

Hatua ya 7: Suluhisho la BME280

Utahitaji yafuatayo kujenga suluhisho hili:

Shinikizo -BME280, Joto, na Sura ya Unyevu

Sensor hii inakuja na pini ambazo utahitaji kuzifunga kwenye sensor. Ninapendekeza utumie ubao wa mkate na pini upande mrefu chini kwenye ubao wa mkate ili kufanya soldering iwe rahisi. Mara tu utakapomaliza hii tunahitaji kuweka waya kwa Pi.

Unganisha pini ya VIN kwenye sensa kwa pini ya 3.3V 1 kwenye Pi. Unganisha pini ya GND kwenye sensorer pini ya ardhi 6 kwenye Pi. Unganisha pini ya SCK kwenye sensa kwa pini ya SCL 5 kwenye Pi. Unganisha pini ya SDI kwenye sensa kwa pini ya SDA 3 kwenye Pi. Utahitaji kutumia Python 3 kwa suluhisho hili na usakinishe moduli ya Streamer ya Jimbo la Awali ukitumia njia ya kusanikisha pip3.

Utahitaji pia kusanikisha maktaba machache ya Adafruit Python.

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

Kutumia sensor tunahitaji kuwezesha I2C kwenye Pi.

Sudo raspi-config

Hii itafungua Zana ya Usanidi wa Programu ya Raspberry Pi. Nenda kwa Chaguo 5 Chaguzi za Kuingiliana. Kutoka hapa nenda kwa I2C. Itasababisha kukuuliza ikiwa unataka kuwezesha I2C, Chagua Ndio na Maliza. Sasa una I2C imewezeshwa kuwasiliana na sensa.

Tunaweza kujaribu hii kwa kutekeleza yafuatayo:

Sura i2cdetect -y 1

Hii itathibitisha kuwa Pi yako anaona kitambuzi. Kwa njia ambayo inaunganisha, inapaswa kuonyesha sensorer kwenye anwani 77. Ikiwa hautagundua kitambuzi, washa tena Pi yako, wezesha tena chaguo la kiolesura cha I2C kwenye Pi yako, na ujaribu tena. Mara tu kitambuzi chako kitakapogunduliwa, ni wakati kuendesha nambari yetu kuu ambayo itatuma data kwa Jimbo la Awali. Iliunda faili inayoitwa bme280sensor.py na amri ya nano. Nakili na ubandike nambari kutoka kwa kiini kwenye kihariri cha maandishi. Utahitaji kufanya mabadiliko kwenye mistari 12-19.

muda wa kuagiza

kuagiza bodi kuagiza kuagiza busio kuagiza adafruit_bme280 kutoka ISStreamer. Streamer kuagiza Streamer # Unda kitu cha maktaba ukitumia basi yetu I2C porti2c = busio. I2C (board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- - Mipangilio ya Mtumiaji --------- SENSOR_LOCATION_NAME = "Ofisi" BUCKET_NAME = ": sehemu_sunny: Joto la Chumba" BUCKET_KEY = "temp1" ACCESS_KEY = "UPATIKANAJI WAKO MUHIMU HAPA" # badilisha hii ilingane na shinikizo la eneo (hPa) kwenye usawa wa bahari bme280.sea_level_pressure = DAKIKA 1013.25_BETWEEN_READS = METRIC_UNITS = Uongo # --------------------------------- # AU unda kitu cha maktaba ukitumia bandari yetu ya 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) mkondoni = mkondo (ndoo_name = BUCKET_NAME, ndoo_key = BUCKET_KEY, access_key = ACCESS_KEY) wakati Kweli: humidity = format (bme280.humidity, ".1f") pressure = format (bme280.pressure, ".1f") temp_c = bme280.temperatu re ikiwa METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Joto (C)", temp_c) nyingine: temp_f = fomati (temp_c * 9.0 / 5.0 + 32.0, ".1f") streamer.log (SENSOR_LOCATION_NAME + "Joto (F)", temp_f) streamer.log (SENSOR_LOCATION_NAME + "Unyevu (%)", unyevu) streamer.log (SENSOR_LOCATION_NAME + "Shinikizo (hPA)", shinikizo) streamer.flush () wakati. kulala (60 * MINUTES_BETWEEN_READS)

  • Mstari wa 12- Thamani hii inapaswa kuwa ya kipekee kwa kila sensorer ya nodi / joto. Hii inaweza kuwa jina la chumba cha kihisi chako, eneo halisi, kitambulisho cha kipekee, au chochote kile. Hakikisha tu kuwa ni ya kipekee kwa kila node ili kuhakikisha kuwa data kutoka kwa node hii inakwenda kwenye mkondo wake wa data kwenye dashibodi yako.
  • Mstari wa 13- Hili ni jina la ndoo ya data. Hii inaweza kubadilishwa wakati wowote katika UI ya Jimbo la Awali.
  • Mstari wa 14- Hii ni ufunguo wako wa ndoo. Inahitaji kuwa ufunguo sawa wa ndoo kwa kila nodi unayotaka kuonyeshwa kwenye dashibodi sawa.
  • Mstari wa 15- Hii ni ufunguo wako wa ufikiaji wa akaunti ya Jimbo la Awali. Nakili na ubandike ufunguo huu kutoka kwa akaunti yako ya Jimbo la Awali.
  • Mstari wa 17- Hii ni shinikizo la eneo lako (hPa) kwenye usawa wa bahari. Unaweza kupata habari hii kwenye wavuti nyingi za hali ya hewa.
  • Mstari wa 18 - Huu ni wakati kati ya usomaji wa sensa. Badilisha ipasavyo. Mstari wa 19- Hapa unaweza kutaja vitengo vya metri au kifalme.

Baada ya kuweka laini 12-19 kwenye hati yako ya Python kwenye Pi Zero WH yako, weka na utoke kihariri cha maandishi. Tumia hati na amri ifuatayo:

$ python3 bme280sensor.py

Sasa utakuwa na data inayotuma kwa dashibodi ya Jimbo la Awali. Nenda kwenye sehemu ya mwisho ya nakala hii kwa maelezo juu ya jinsi ya kubadilisha dashibodi yako.

Hatua ya 8: Sense HAT

Hisia Kofia
Hisia Kofia
Hisia Kofia
Hisia Kofia

Hatua ya kwanza ya kutumia Sense HAT ni kuiweka kwenye Pi yako. Pamoja na Pi iliyowezeshwa chini, imeambatanisha HAT kama inavyoonekana kwenye picha.

Ukiamua kutumia suluhisho kama inavyoonyeshwa hapo juu unaweza kugundua kuwa usomaji wako wa joto wa Sense HAT utakuwa juu kidogo - ni kwa sababu ndio. Mkosaji ni joto linalotokana na CPU ya Pi inapokanzwa hewa karibu na Sense HAT wakati inakaa juu ya Pi. Ili kufanya sensorer ya joto iwe muhimu, tunahitaji kupata HAT mbali na Pi au jaribu kudhibiti usomaji wa sensorer ya joto. Suluhisho nzuri ya kupata sensorer kutoka kwa Pi ni kebo ambayo inaruhusu Sense HAT itengane na Pi. Cable ya 6 , pini 40 IDE kwa kebo ya kebo ya kike itafanya ujanja.

Mara tu ukiamua juu ya chaguzi mbili, weka nguvu kwenye Pi yako. Tunahitaji kufunga maktaba ya Python ili iwe rahisi kusoma maadili ya sensorer kutoka kwa Sense HAT. Kwanza, utahitaji kuhakikisha kuwa kila kitu kimesasishwa juu ya toleo lako la Raspbian:

$ sudo apt-pata sasisho

Ifuatayo, weka maktaba ya Sense HAT Python:

$ sudo apt-kufunga kufunga-kofia

Anzisha tena Pi yako. Tuko tayari kujaribu Sense HAT kwa kusoma data ya sensa kutoka kwake na kutuma data hiyo kwa Jimbo la Awali.

Unda faili inayoitwa sensehat na uifungue kwenye kihariri cha maandishi kwa kuingiza ufuatiliaji wa haraka ya amri:

$ nano sensehat.py

Nakili na ubandike nambari hapa chini katika kihariri cha maandishi.

kutoka sense_hat kuagiza SenseHat

kuagiza sys za kuingiza wakati kutoka ISStreamer. Streamer import Streamer # --------- Mipangilio ya Mtumiaji --------- BUCKET_NAME = "Ofisi ya Hali ya Hewa" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = " Ofisi "MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # ----------------------, upatikanaji_key = ACCESS_KEY) sense = SenseHat () wakati ni Kweli: # Soma sensorer temp_c = sense.get_temperature () unyevu = sense.get_humidity () pressure_mb = sense.get_pressure () # Fomati data temp_f = temp_c * 9.0 / 5.0 + 32.0 temp_f = kuelea ("{0:.2f}". Fomati (temp_f)) unyevu = kuelea ("{0:.2f}". Fomati (unyevu)) shinikizo_in = 0.03937008 * (shinikizo_mb) 0:.2f} ". Fomati (shinikizo_in)) # Chapisha na utiririshe chapisha SENSOR_LOCATION_NAME +" Joto (F): "+ str (temp_f) chapa SENSOR_LOCATION_NAME +" Unyevu (%): "+ str (unyevu) chapa SENSOR_LOCATION_NAME +" Shinikizo (IN): "+ str (pressure_in) streamer.log (": jua: "+ SEN SOR_LOCATION_NAME + "Joto (F)", temp_f) streamer.log (": sweat_drops:" + SENSOR_LOCATION_NAME + "Humidity (%)", unyevu) streamer.log (": cloud:" + SENSOR_LOCATION_NAME + "Pressure (IN)", shinikizo_katika) mtiririko. muda () saa. kulala (60 * MINUTES_BETWEEN_SENSEHAT_READS)

Angalia kwenye mstari wa kwanza kwamba tunaingiza maktaba ya SenseHat kwenye hati. Kabla ya kuendesha hati hii, tunahitaji kusanidi vigezo vya mtumiaji.

# --------- Mipangilio ya Mtumiaji ---------

Hasa, unahitaji kuweka ACCESS_KEY yako kwa ufunguo wako wa ufikiaji wa akaunti ya Jimbo la Awali. Unaweza kubadilisha BUCKET_NAME na SENSOR_LOCATION_NAME kuwa eneo halisi la kitambuzi. Hifadhi na utoke kihariri cha maandishi.

Kwa mwongozo wa amri kwenye Pi yako, endesha hati:

$ sudo chatu sensehat.py

Sasa utakuwa na data inayotuma kwa dashibodi ya Jimbo la Awali. Nenda kwenye sehemu ya mwisho ya nakala hii kwa maelezo juu ya jinsi ya kubadilisha dashibodi yako.

Hatua ya 9: Customize Dashibodi yako ya Jimbo la Awali

Customize Dashibodi yako ya Awali ya Jimbo
Customize Dashibodi yako ya Awali ya Jimbo

Nenda kwenye akaunti yako ya Jimbo la Awali na uangalie data yako. Unaweza kubofya kulia kwenye Tile kubadilisha aina ya chati na bonyeza Hariri Tiles ili kubadilisha ukubwa na kuzungusha Tiles zako. Napenda kupendekeza kutumia thermostat ya kupima joto na kiwango cha kioevu cha kupima kwa unyevu. Unaweza kuunda grafu za laini kwa joto na unyevu ili kuona mabadiliko kwa muda. Unaweza pia kuongeza picha ya mandharinyuma kwenye dashibodi yako.

Unaweza kuweka tahadhari za Kuchochea ili uweze kupata SMS au barua pepe ikiwa joto hupungua chini au huenda juu ya kizingiti fulani. Nenda kwenye ndoo yako ya data na bonyeza mipangilio. Kutoka hapo nenda kwenye kichupo cha Kuchochea. Ingiza kitufe cha mtiririko unachotaka kufuatilia, operesheni unayotaka kutumia, na thamani ya kizingiti. Bonyeza ishara ya kuongeza ili kuongeza Kichocheo. Kisha utaingiza barua pepe au nambari yako ya simu ili kupokea arifa na bonyeza alama ya pamoja. Mara tu unapoweka vichochezi vyako vyote bonyeza kitufe kilichofanyika chini.

Sasa kwa kuwa umeunda mfuatiliaji wa joto ukitumia sensorer ya joto na Pi ya Raspberry, unaweza kuanza kufikiria juu ya data zingine za mazingira ambazo unaweza kufuatilia baadaye.

Ilipendekeza: