Orodha ya maudhui:

Kituo cha Hali ya Hewa cha Inky_pHAT: Hatua 5
Kituo cha Hali ya Hewa cha Inky_pHAT: Hatua 5

Video: Kituo cha Hali ya Hewa cha Inky_pHAT: Hatua 5

Video: Kituo cha Hali ya Hewa cha Inky_pHAT: Hatua 5
Video: ОЖИДАНИЕ или РЕАЛЬНОСТЬ! ИГРЫ в РЕАЛЬНОЙ ЖИЗНИ! Маленькие кошмары 2 в реальной жизни! 2024, Novemba
Anonim
Kituo cha Hali ya Hewa cha Inky_pHAT
Kituo cha Hali ya Hewa cha Inky_pHAT
Kituo cha Hali ya Hewa cha Inky_pHAT
Kituo cha Hali ya Hewa cha Inky_pHAT
Kituo cha Hali ya Hewa cha Inky_pHAT
Kituo cha Hali ya Hewa cha Inky_pHAT
Kituo cha Hali ya Hewa cha Inky_pHAT
Kituo cha Hali ya Hewa cha Inky_pHAT

Hapa ningependa kuelezea kituo rahisi cha hali ya hewa cha Raspberry Pi Zero, ambacho kinaonyesha maadili yaliyopimwa na sensorer ya joto / shinikizo / unyevu wa BME280 kwenye onyesho la Pimoroni Inky pHAT e-karatasi / e-wino. Kuruhusu unganisho la sensorer na pHAT kwa GPIO ya Pi niliweka hacker ya Pimorini Pico HAT na vichwa viwili vya kike vilivyounganishwa kati ya GPIO na onyesho. Kifaa hicho kimetumika kuambatisha sensorer kadhaa, kwa hivyo toleo la BME280 lililoelezwa hapa ni mfano tu.

Tofauti na maonyesho ya LCD, maonyesho ya e-wino huweka picha hata kama nguvu imezimwa. Kwa hivyo ni suluhisho nzuri sana ikiwa unataka kuonyesha habari inayosasishwa mara kwa mara, haswa kujenga vifaa vya chini vya nishati. Faida kuu ya toleo la monochrome / nyeusi la Inky pHAT ni kwamba kusasisha onyesho huchukua karibu sekunde moja, badala ya sekunde kumi hadi kumi na tano zinazohitajika na matoleo ya rangi tatu. Tazama sinema.

Maktaba ya Adafruit ya Blinka inaruhusu kuendesha nambari ya Mzunguko wa Chatu kwenye Raspberry Pi, na sampuli za Mzunguko wa Chatu kwa sensorer anuwai zinapatikana kutoka Adafruit. Maelezo ya kina juu ya jinsi ya kusanikisha Blinka na nambari za Mzunguko wa Python zinaweza kupatikana kwenye wavuti ya Adafruit. Maktaba niliyojaribu hadi sasa (BMP280, BME280, TSL2591, TCS34785, VEML7065,…) zilikuwa zikifanya kazi vizuri sana, wakati kulikuwa na shida ndogo katika baadhi ya nambari za mfano.

BME280 ni sensa ya kupima joto, unyevu na shinikizo la anga. Kuvunjika kwa BMP280 kunapatikana kutoka kwa wauzaji wengi, pamoja na Adafruit, lakini mimi hapa nilikuwa nikitumia toleo la bei rahisi la Wachina. Tafadhali fahamu kuwa hizi zinatumia anwani tofauti za i2c (Adafruit: 0x77, zingine: 0x76).

Kuzuka kunaunganishwa na Pi na i2c, na kusoma sensor ni rahisi sana kutumia maktaba na nambari ya mfano.

Hatua ya 1: Vifaa vilivyotumika

Vifaa vilivyotumika
Vifaa vilivyotumika
Vifaa vilivyotumika
Vifaa vilivyotumika
Vifaa vilivyotumika
Vifaa vilivyotumika
Vifaa vilivyotumika
Vifaa vilivyotumika

Zero ya Raspberry, na kichwa cha kiume kimeambatanishwa. Lakini toleo lolote la Raspberry Pi litafanya.

Pimatoni ya Pimoroni Inky, toleo jeusi / monochrome, 25 € | 22 £ | 20US $, huko Pimoroni.

Hackare ya Pimoroni Pico HAT, 2.50 € | 2 £, na vichwa viwili vya kike vikiwa vimeambatanishwa, moja yao ikiwa kichwa cha nyongeza na pini ndefu. Nimeunda matoleo mawili tofauti, angalia maelezo hapa chini.

Kuvunjika kwa BME280, Uwasilishaji wa AZ kupitia Amazon.de @ 7.50 €, na kichwa kikiwa kimefungwa.

Kamba za kuruka za kutanuka

Hiari:

Kifurushi cha umeme cha USB, kwa matumizi ya rununu

Nyumba ya Pi au kifaa (haijaonyeshwa hapa)

Hatua ya 2: Mkutano

Mkutano
Mkutano
Mkutano
Mkutano
Mkutano
Mkutano
  • Solder vichwa vya kike kwa hacker ya Pico HAT. Kabla ya kutengeneza, angalia mwelekeo sahihi. Nimeunda toleo mbili za hii, kwa madhumuni tofauti. Moja iliyo na kichwa cha nyongeza kinachotazama chini kilichowekwa kwenye safu ya mbele na kichwa cha kawaida, cha juu / kinachotazama safu ya nyuma, na toleo lenye kichwa cha nyongeza kinachoweka chini katika safu ya nyuma, na kichwa cha kike cha pembe ya kulia katika safu ya mbele. Tazama picha. Toleo la kwanza linaruhusu kuambatisha na kubadilishana sensorer na nyaya rahisi sana, wakati toleo lenye kichwa kinachokabili ndani huruhusu kuifunga Pi, sensor na pHAT ya Inky ndani ya nyumba. Vinginevyo unaweza kuziunganisha nyaya zinazounganisha GPIO na sensor moja kwa moja kwa hacker ya Pico HAT na / au solder hacker ya Pico HAT moja kwa moja kwenye pini za GPIO. Kwa hali yoyote tumia kiwango kidogo cha solder inayohitajika.
  • Solder kichwa kwa sensorer, ikiwa inahitajika.
  • Weka kitengo cha hacker cha Pico HAT kilichobadilishwa kwenye Pi, kisha ongeza pHAT ya Inky. Ikiwa inahitajika, ingiza msaada, n.k. Kizuizi cha povu au kusimama, kwa pHAT ya Inky.
  • Ambatisha nyaya na sensorer, ukitumia bandari za 3V, GND, SDA na SCL. Sio sensorer zote zitaishi 5V, kwa hivyo tafadhali angalia kabla ya kuziunganisha kwenye bandari za 5V.
  • Sakinisha maktaba ya Blinka, kisha usakinishe maktaba ya Mzunguko Python BME280 kutoka Adafruit.
  • Sakinisha maktaba ya Inky pHAT kutoka Pimoroni.
  • Sakinisha mfano nambari ya chatu iliyoelezewa katika hatua ya baadaye na kushikamana na hii inayoweza kufundishwa.
  • Endesha nambari.

Hatua ya 3: Kutumia Kifaa

Kutumia Kifaa
Kutumia Kifaa

Kuna chaguzi mbili za kutumia kifaa.

Nambari kama inavyoonyeshwa hapa itaanza kutumia skrini iliyoambatanishwa, lakini inaweza kukimbia bila.

Kwa marekebisho madogo kwenye nambari unaweza kutumia crontab kufanya vipimo kwa alama za wakati zilizoainishwa. Hii itaruhusu kupunguza matumizi ya nguvu hata zaidi. Maelezo bora jinsi ya kutumia crontab inaweza kupatikana mahali pengine.

Kwa kushirikiana na kifurushi cha nguvu unaweza kujenga kifaa cha rununu na ukitumie kupima hali ndani au nje, kwenye friji, katika sauna, unyevu wako, pishi la divai, kwenye ndege,….

Kutumia Zero W unaweza kuonyesha sio tu maadili kwenye onyesho, lakini pia upeleke kwa seva au wavuti yako kupitia WLAN, kama ilivyoelezewa mahali pengine.

Hatua ya 4: Hati ya BME280

Hati ya BME280
Hati ya BME280

Kama ilivyoelezwa hapo awali, unahitaji kusanikisha maktaba ya Adafruit Blinka na Circuit Python BME280 na maktaba ya Pimoroni Inky pHAT.

Nambari ya kwanza huanzisha sensorer na Inky pHAT, kisha inasoma viwango vya joto, shinikizo na unyevu kutoka kwa sensa na kuzionyesha kwenye skrini na onyesho la wino wa e. Kutumia amri ya time.sleep (), vipimo vinachukuliwa kila dakika. Rekebisha inavyotakiwa. Kwa kuweka kigezo cha lugha, unaweza kubadilisha lugha inayotumiwa kuonyesha matokeo.

Kutumia onyesho la inki ya pHAT e-wino, kwanza unaunda picha kuonyeshwa kwenye kumbukumbu kabla ya kuhamishiwa kwenye skrini kwa kutumia amri ya inkyphat.show (). Maktaba ya Inky pHAT inarahisisha mchakato, ikitoa amri za kuchora na kupangilia maandishi, mistari, mstatili, duara au kutumia picha za nyuma.

Mbali na maadili yaliyopimwa, wakati wa kipimo unaonyeshwa pia.

Tafadhali kumbuka kuwa hati na maktaba zimeandikwa katika Python 3, kwa hivyo fungua na uendesha kwa kutumia Py3 IDLE au sawa.

# Hati ya joto la bme280 / shinikizo / sensa ya unyevu (toleo lisilo la Adafruit) # na inki pHAT - toleo nyeusi # # toleo la Desemba 01 2018, Dk H # # Inahitaji Adafruit Blinka na maktaba ya Mzunguko Python BME280 # na Pimoroni Inky Wakati wa kuagiza maktaba ya pHAT kuagiza muda wa kuingiza bodi ya kuagiza busio kutoka adafruit_bme280 kuagiza Adafruit_BME280 kutoka adafruit_bme280 kuagiza Adafruit_BME280_I2C kuagiza inkyphat kuagiza sys kutoka PIL kuagiza ImageFont inkyphat.set_colour ('nyeusi') # kwa b / w inky phat inkyphat.set_set) 180 ° font1 = ImageFont.truetype (inkyphat.fonts. FredokaOne, 27) # Chagua font font2 = ImageFont.truetype (inkyphat.fonts. FredokaOne, 19) # Chagua data ya kawaida ya fonti default ("") -> english lang = "EN" i2c = busio. I2C (board. SCL, board. SDA) bmp = Adafruit_BME280_I2C (i2c, address = 0x76) # anwani ya i2c chaguo-msingi (ya Adafruit BMP280) 0x77 (chaguo-msingi), 0x76 kwa kuzuka kwa Wachina) # shinikizo la kumbukumbu la kuweka # inahitajika kwa al hesabu ya kodi, tafadhali rekebisha. Thamani ya kawaida 1013.25 hPa # pembejeo ya mwongozo: #reference_hPa = pembejeo ("Ingiza shinikizo la rejeleo katika hPa:") # au # weka shinikizo wakati wa kuanza kama kumbukumbu, n.k. kwa muda wa vipimo vya urefu wa usingizi (1) # subiri sekunde kabla ya kipimo cha 1 j = 0 pres_norm_sum = 0 wakati j katika masafa (5): # chukua vipimo vitano kufafanua thamani ya kumbukumbu pres_norm_sum = pres_norm_sum + bmp. shinikizo j = j + Wakati 1. Kulala (1) kumbukumbu_hPa = (pres_norm_sum / j) # kuweka kipimo cha ndani kama kiini cha rejeleo kuwezesha vipimo vya urefu maadili t = bmp. joto p = bmp. shinikizo h = bmp. unyevu a = bmp. urefu # mahesabu na maktaba ya adafruit kutoka shinikizo #timestamp ts = datetime.datetime.now () # timestamp ts0_EN = '{:% Y-% fomati (ts) # timestamp - tarehe, EN format ts0_DE = '{:% d.% m.% Y}'. fomati (ts) # timestamp - tarehe, fomati ya Ujerumani ts1 = '{: Fomati (ts) # timestamp - time tmp = "{0: 0.1f}". Format (t) pre = "{0: 0.1f}". Format (p) hyg Fomati (h) alt="{0: 0.1f}". Format (a) tText = "Temp.:" pText_EN = "Shinikizo:" pText_DE = "Luftdruck:" h Text_EN = "Unyevu:" hText_DE = "rel. LF: "aText_EN =" Urefu: "aText_DE =" Höhe üNN: "# exakt: ü. NHN, über Normal Höhen Null if (lang ==" DE "): ts0 = ts0_DE aText = aText_DE pText = pText_DE hText = hText_DE else: # default english ts0 = ts0_EN aText = aText_EN pText = pText_EN hText = hText_EN # maadili ya kuchapisha kuonyesha uchapishaji (ts) chapa (tText, tmp, "° C") chapa (pText, pre, "hPa") chapa (hText, hyg, "%") chapa (aText, alt, "m") chapa () # alama za kuchapisha kwa Inky pHAT t1 = 5 # tab 1, safu ya frist, inarahisisha uboreshaji wa mpangilio t2 = 110 # tab 2, safu ya pili inkyphat. wazi () inkyphat.text ((t1, 0), ts0, inkyphat. BACK, font2) # andika tarehe ya alama ya muda inkyphat.text ((t2, 0), ts1, inkyphat. NYEUSI, font2) # andika wakati wa muhuri wa muda inkyphat.line ((t1, 25, 207, 25), 1, 3) # chora inkyphat ya maandishi. "° C"), inkyphat. BACK, font2) inkyphat.text ((t1, 55), pText, inkyphat. BACK, font2) inkyphat.text ((t2, 55), (pre + "hPa"), inkyphat. NYEUSI, font2) inkyphat.text ((t1, 80), hText, inkyphat. BACK, font2) inkyphat.text ((t2, 80), (hyg + "%"), inkyphat. NYEUSI, font2) # vinginevyo onyesha urefu uliohesabiwa # inkyphat.text ((t1, 80), aText, inkyphat. BACK, font2) # inkyphat.text ((t2, 80), (alt + "m"), inkyphat. NYEUSI, font2) inkyphat. onyesha () wakati. kulala (51) # subiri sekunde kadhaa kabla ya vipimo vifuatavyo, + sec 19 kwa kila mzunguko inkyphat. wazi () # Utaratibu wa kuonyesha pHAT tupu, inkyphat.show () # ukimya wa toleo la crontab

Hatua ya 5: Hati ya BMP280

BMP280 ni sawa na sensorer ya BME280, lakini hupima tu joto na shinikizo. Hati zinafanana sana, lakini unahitaji maktaba tofauti za Mzunguko wa Python. Hapa badala ya unyevu urefu uliohesabiwa, kulingana na shinikizo la kumbukumbu, huonyeshwa.

Imeambatanishwa unapata hati.

Ilipendekeza: