Orodha ya maudhui:
- Hatua ya 1: Maelezo ya Kubuni
- Hatua ya 2: Sensorer
- Hatua ya 3: Vituo vya Sensorer
- Hatua ya 4: Kituo cha Sensorer cha ESP-01
- Hatua ya 5: ESP 12E Serial WIFI Kit Sensor Station
- Hatua ya 6: Vituo vya sensorer Mini D1
- Hatua ya 7: Gateway na Webserver
- Hatua ya 8: Programu
- Hatua ya 9: Matokeo
Video: Kituo cha Hali ya Hewa cha Nyumbani cha ESP-Sasa: Hatua 9 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Nilitaka kuwa na kituo cha hali ya hewa nyumbani kwa muda mrefu na ambayo kila mtu katika familia angeweza kuangalia kwa urahisi hali ya joto na unyevu. Mbali na kufuatilia hali ya nje nilitaka kufuatilia vyumba maalum ndani ya nyumba pia na karakana yangu ya karakana. Hiyo itatujulisha wakati ni wakati mzuri wa kutoa hewa nje ya nyumba au kuendesha kifaa cha kuondoa unyevu (inanyesha sana hapa wakati wa msimu wa baridi). Nilichounda ni mfumo wa sensa ya msingi wa ESP-Sasa ambayo inaripoti kwa seva ya wavuti ambayo kila mtu anaweza kuangalia kutoka kwa kompyuta au simu yake. Kwa simu niliandika kama programu rahisi ya Android kuifanya iwe rahisi zaidi.
Hatua ya 1: Maelezo ya Kubuni
Nilitaka kuwa na vituo anuwai vya sensa ambavyo ningeweza kuweka katika maeneo tofauti na kuwaambia warudi kwenye kituo kikuu kimoja (au kitovu) ambacho kingehifadhi habari. Baada ya kujaribu maoni anuwai, niliamua kutumia itifaki ya Espressif ya ESP-Now, kwani iliruhusu mawasiliano ya haraka moja kwa moja kati ya vifaa. Unaweza kusoma kidogo juu ya ESP-Sasa hapa na hii repit ya GitHub ilikuwa sehemu nzuri ya msukumo wangu.
Picha ya kwanza inaonyesha mpangilio wa mfumo. Kila sensorer inaripoti vipimo vyake kwa kifaa cha lango ambacho hupeleka data kwa seva kuu kwa unganisho ngumu la waya. Sababu ya hii ni kwamba itifaki ya ESP-Sasa haiwezi kufanya kazi wakati huo huo na unganisho la WIFI. Ili mtumiaji apate ukurasa wa wavuti, WIFI lazima iwepo kila wakati na hiyo inafanya kuwa haiwezekani kutumia mawasiliano ya ESP-Sasa kwenye kifaa hicho. Wakati kifaa cha lango lazima kiwe kifaa cha Espressif (chenye uwezo wa ESP-Sasa), seva kuu inaweza kuwa kifaa chochote kinachoweza kuendesha ukurasa wa wavuti.
Vituo vingine vya sensorer vitaendesha betri (au betri zilizochajiwa na jua) na zingine zingekuwa na nguvu kubwa tu. Walakini, nilitaka wote watumie nguvu kidogo iwezekanavyo na hapo ndipo sehemu ya "usingizi mzito" inayopatikana kwa vifaa vya ESP8266 na ESP32 inasaidia sana. Vituo vya sensorer vinaweza kuamka mara kwa mara, kuchukua vipimo na kuzituma kwa kifaa cha lango na kurudi kulala kwa kipindi fulani cha muda uliopangwa tayari. Kipindi chao cha kuamka cha karibu 300ms kila dakika 5 (kwa upande wangu) hupunguza matumizi yao ya nguvu kwa kiasi kikubwa.
Hatua ya 2: Sensorer
Kuna sensorer anuwai za kuchagua kwa kupima vigezo vya mazingira. Niliamua kushikamana na sensorer zenye uwezo wa mawasiliano wa I2C tu, kwani iliruhusu vipimo vya haraka na ingefanya kazi kwenye vifaa vyovyote nilivyokuwa navyo. Badala ya kufanya kazi na IC moja kwa moja, nilitafuta tayari kutumia moduli ambazo zilikuwa na pini sawa ili kurahisisha miundo yangu. Nilianza na kutaka tu kupima joto na unyevu na kwa hivyo nikachagua moduli ya SI7021. Baadaye nilitaka sensorer ambayo inaweza kupima shinikizo pia na kuamua kujaribu moduli za sensorer za BME280. Kwa maeneo mengine hata nilitaka kufuatilia viwango vya nuru na moduli ya BH1750 ilikuwa bora kwa hii kama moduli tofauti ya sensorer. Nilinunua moduli zangu za sensorer mbali na hizi ndio moduli nilizopokea:
- BME280 (GY-BMP / E280), hupima joto, unyevu na shinikizo
- SI7021 (GY-21), hupima joto na unyevu
- BH1750 (GY-302), hupima mwanga
Kuna mitindo miwili ya moduli za PCB za GY-BMP / E280 zinazopatikana. Wote hushiriki pini sawa kwa pini 1 hadi 4. Moduli moja ina pini mbili za ziada, CSB na SDO. Pini hizo mbili zimeunganishwa kabla kwenye toleo la pini 4 za moduli. Kiwango cha pini ya SDO huamua anwani ya I2C (Ground = default ya 0x76, VCC = 0x77). Pini ya CSB lazima iunganishwe na VCC kuchagua kiolesura cha I2C. Napendelea moduli ya pini 4, kwani iko tayari kutumika kama ilivyo kwa kusudi langu.
Kwa ujumla, moduli hizi ni rahisi kutumia kwani tayari zina vipinga-kuvuta vimewekwa kwa laini za mawasiliano na zote zinaendeshwa kwa 3.3V kwa hivyo zinaendana na bodi za msingi za ESP8266. Kumbuka, kwamba pini kwenye hizi sensorer IC kwa ujumla hazivumili 5V, kwa hivyo kuziunganisha moja kwa moja na kitu kama Arduino Uno kunaweza kuziharibu kabisa.
Hatua ya 3: Vituo vya Sensorer
Kama ilivyoelezwa, vituo vya sensorer vyote vitakuwa vifaa vya Espressif vinavyotumia itifaki ya mawasiliano ya ESP-Now. Kutoka kwa miradi iliyopita na majaribio, nilikuwa na vifaa anuwai tofauti vya kufanya majaribio yangu ya awali na kuyaingiza katika muundo wa mwisho. Nilikuwa na vifaa vifuatavyo mkononi:
- moduli mbili za ESP-01
- bodi mbili za maendeleo za Wemos D1
- bodi moja ya maendeleo ya Lolin ESP8266
- moja ESP12E serial WIFI kit bodi
- bodi moja ya GOOUUU ESP32 (bodi 38 ya maendeleo ya pini)
Nilikuwa pia na bodi ya ukuzaji ya Wemos D1 R2, lakini kulikuwa na maswala nayo ambayo hayakuiruhusu kuamka kutoka usingizi mzito na kama kifaa cha njia ya lango ingeanguka na sio kuanza upya vizuri. Niliitengeneza baadaye na ikawa sehemu ya mradi wa kufungua mlango wa Garage. Ili "usingizi mzito" ufanye kazi, pini ya RST ya ESP8266 lazima iunganishwe na pini ya GPIO16, ili wakati wa kulala uweze kuamsha kifaa. Kwa kweli muunganisho huu unapaswa kufanywa na diode ya Schottky (cathode hadi GPIO16) ili mwongozo uweke upya kupitia unganisho la USB-TLL wakati wa programu bado inafanya kazi. Walakini, kontena la thamani ya chini (300-ish Ohm) au unganisho la waya moja kwa moja bado linaweza kufanikiwa.
Moduli za ESP-01 haziruhusu ufikiaji rahisi wa pini ya GPIO16 na lazima mtu aunganishe moja kwa moja kwa IC. Hii sio kazi rahisi na nisingependekeza hii kwa kila mtu. Bodi ya kitanda cha WIFI cha ESP12E ilikuwa kidogo ya kipengee kipya na ilihitaji mabadiliko kadhaa ili iwe muhimu kwa kusudi langu. Bodi rahisi kutumia ni bodi za Wemos D1 mini na bodi ya Lolin. Vifaa vya ESP32 hazihitaji marekebisho yoyote ya usingizi mzito kufanya kazi. Andreas Spiess ana Mafundisho mazuri juu ya hii.
Hatua ya 4: Kituo cha Sensorer cha ESP-01
Kwenye vituo vyote vya sensorer moduli za sensorer zimewekwa kwa wima ili kupunguza kiwango cha vumbi ambavyo vinaweza kukusanya juu yao. Sio wote walio ndani ya vizimba na siwezi kuwaweka kwenye mabanda. Sababu ya hii ni kwamba vifaa vinaweza joto na kuathiri usomaji wa joto na unyevu katika hewa isiyo na hewa ya kutosha.
Bodi za ESP-01 ni ngumu sana na zina pini chache za IO za dijiti za kufanya kazi nazo, lakini inatosha kiolesura cha I2C. Bodi zinahitaji marekebisho magumu kuruhusu "usingizi mzito" ufanye kazi. Kwenye picha iliyoonyeshwa, waya iliuzwa kutoka kwa pini ya kona (GPIO16) hadi pini ya RST kwenye kichwa. Waya niliyotumia ni waya ya "kukarabati" yenye kipenyo cha 0.1mm. Mipako ya insulation inayeyuka inapokanzwa, kwa hivyo inaweza kuuzwa ili kurekebisha athari, nk kwenye PCB na bado usiwe na wasiwasi juu ya kuunda kaptula ambapo waya huwasiliana na vifaa vingine. Ukubwa wake hufanya iwe ngumu kufanya kazi na niliuza waya huu mahali chini ya hadubini ya (mtindo wa wakusanyaji / stempu ya watoza). Kumbuka kuwa kichwa cha upande wa kulia kina nafasi ya pini 0.1 "(2.54mm). Kuweka diode ya Schottky hapa haitakuwa rahisi hata kidogo, kwa hivyo nimeamua kujaribu waya peke yake na vitengo vyote vimekuwa vikikimbia mwezi bila maswala yoyote.
Moduli ziliwekwa kwenye bodi mbili za mfano nilizounda. Moja (# 1) ni bodi ya programu ambayo pia inaruhusu moduli za I2C kusanikishwa na kupimwa, wakati nyingine (# 2) ni bodi ya maendeleo / mtihani wa vifaa vya I2C. Kwa bodi ya kwanza niliuza kontakt ya zamani ya kiume ya USB na PCB ndogo ili kuwezesha kitengo moja kwa moja kutoka kwa adapta ya ukuta ya USB. Kitengo kingine kina jack ya kawaida ya DC iliyobadilishwa ili kutoshea kwenye kichwa cha kichwa cha screw na inaendeshwa kupitia adapta ya ukuta pia.
Mpangilio unaonyesha jinsi wanavyounganishwa na jinsi programu inafanya kazi. Sina moduli zingine za ESP-01, kwa hivyo sikuwa na hitaji lolote la programu. Katika siku zijazo nitaweza kutengeneza PCB kwao. Bodi hizi zote mbili zina moduli ya sensa ya SI7021 iliyosanikishwa kwani sikuwa na hamu ya vipimo vya shinikizo kwenye maeneo hayo.
Hatua ya 5: ESP 12E Serial WIFI Kit Sensor Station
Bodi ya Kitanda cha WIFI cha ESP12E haikukusudiwa maendeleo kama vile ilivyokuwa kwa kuonyesha kile kinachoweza kufanywa na kifaa hiki. Nilinunua zamani ili kujifunza kidogo juu ya programu ya ESP8266 na mwishowe niliamua kuitumia. Niliondoa LED zote ambazo zilikuwa zimewekwa kwa maandamano na kuongeza kichwa cha programu ya USB pamoja na kichwa cha I2C kinachofaa kwa moduli ninazotumia. Ilikuwa na kipinga picha ya CdS iliyounganishwa na pini yake ya kuingiza analog na niliamua kuiacha hapo. Kitengo hiki kilikuwa kikiangalia semina yangu ya karakana na sensa ya picha iliyokuwa nayo ilitosha kunijulisha ikiwa taa ziliachwa kwa bahati mbaya. Kwa kipimo cha nuru nilirekebisha usomaji ili nipe pato la asilimia na chochote zaidi ya "5" usiku kilimaanisha taa ziliachwa au mlango wa nyumba haukufungwa vizuri. Pini za RST na GPIO16 zimeandikwa wazi kwenye PCB na diode ya Schottky inayowaunganisha iliwekwa chini ya PCB. Inatumiwa kupitia bodi ya serial ya USB ambayo imeunganishwa moja kwa moja kwenye chaja ya ukuta ya USB. Nina nyongeza za bodi hizi za serial za USB na hazihitaji hii hivi sasa.
Sikufanya mpango wa bodi hii na kwa ujumla haipendekezi kununua moja ya kutumia kwa kusudi hili. Bodi za Wemos D1 Mini zinafaa zaidi na zitajadiliwa baadaye. Ingawa, ikiwa unayo moja ya haya na unahitaji ushauri, nitafurahi kusaidia.
Hatua ya 6: Vituo vya sensorer Mini D1
Aina ya Wemos D1 Mini ya bodi za maendeleo za ESP8266 ndio ninayopendelea kutumia na ikiwa ningelazimika kuimaliza, nitatumia hizi tu. Wana idadi kubwa ya pini zinazopatikana za IO, zinaweza kusanidiwa moja kwa moja kupitia Arduino IDE na bado ni sawa. Pini ya D0 ni GPIO16 kwenye bodi hizi na kuunganisha diode ya Schottky ni rahisi kufanya. Mpangilio unaonyesha jinsi bodi hizi zimefungwa waya na zote zinatumia moduli ya sensorer ya BME2808.
Moja ya bodi hizo mbili hutumiwa kufuatilia hali ya hewa ya nje na inaendesha kutoka kwa betri ya nguvu ya jua. Jopo la jua la 165mm x 135mm (6V, 3.5W) limeunganishwa na moduli ya kuchaji betri ya TP4056 Li-ion (angalia Mchoro wa Usanidi wa Kituo cha Sensorer cha Sola ya Sola). Moduli hii ya kuchaji (03962A) ina mzunguko wa ulinzi wa betri ambayo ni muhimu ikiwa betri (pakiti) haina moja. Betri ya Li-ion ilisindika tena kutoka kwa kifurushi cha zamani cha betri ya mbali na bado inaweza kushikilia chaji ya kutosha kuendesha bodi ya D1 Mini, haswa na usingizi mzito uliowezeshwa. Bodi iliwekwa ndani ya zizi la plastiki ili kuiweka salama kutoka kwa vitu. Walakini, ili mambo ya ndani yawe wazi kwa joto la nje na unyevu, mashimo mawili ya kipenyo cha 25mm yalitobolewa pande tofauti na kufunikwa (kutoka ndani) na kitambaa cha mazingira nyeusi. Nguo imeundwa kuruhusu unyevu kupenya na kwa hivyo unyevu unaweza kupimwa. Katika mwisho mmoja wa ua huo kulikuwa na shimo ndogo na kuwekewa dirisha wazi la plastiki. Hapa ndipo moduli ya sensa ya mwanga ya BH1750 iliwekwa. Kitengo chote kimewekwa nje kwenye kivuli (sio jua moja kwa moja) na sensorer ya nuru imeelekezwa wazi. Imekuwa ikitoka kwa betri inayotumia jua kwa karibu wiki 4 katika hali ya hewa ya mvua / mawingu ya msimu wa baridi hapa.
Hatua ya 7: Gateway na Webserver
Bodi ya Lolin NodeMCU V3 (ESP8266) ilitumika kwa kifaa cha ESP-Now Gateway na bodi ya ESP32 (GOOUUU) ilitumiwa kwa Webserver. Karibu bodi yoyote ya ESP8266 au hata ESP32 ingeweza kutumika kama kifaa cha lango, hii ilikuwa bodi tu ambayo nilikuwa "nimebaki" baada ya kutumia bodi zingine zote nilizokuwa nazo.
Nilitumia bodi ya ESP32 kwa kuwa ninahitaji bodi yenye nguvu kidogo ya kompyuta kukusanya data, kuipanga, kuihifadhi kwa kuhifadhi na kuendesha seva ya wavuti. Katika siku zijazo inaweza pia kuwa na sensorer yake na onyesho la ndani (OLED). Kwa kuhifadhi kadi ya SD ilitumika na adapta iliyoboreshwa. Nilitumia adapta ya kawaida ya microSD kwa kadi ya SD na nikauza kichwa cha pini cha kiume 7 (0.1 lami) kwa anwani zilizofunikwa. Nilifuata ushauri kutoka kwa GitHub hii kufanya unganisho.
Usanidi wa prototyping (na waya za Dupont) haujumuishi moduli ya sensorer, lakini PCB iliyokamilishwa ambayo nimebuni hairuhusu moja na onyesho ndogo la OLED. Maelezo juu ya jinsi nilivyobuni kuwa PCB ni sehemu ya Agizo tofauti.
Hatua ya 8: Programu
Vifaa vya ESP8266 (ESP-SASA)
Programu ya vifaa vyote iliandikwa kwa kutumia Arduino IDE (v1.87). Kila kituo cha sensorer kinaendesha nambari inayofanana. Zinatofautiana tu ambazo pini hutumiwa kwa mawasiliano ya I2C na moduli ya sensorer ambayo imeunganishwa nayo. Jambo muhimu zaidi hutuma pakiti ya data inayofanana ya kipimo kwenye kituo cha ESP-Now Gateway, bila kujali kama wana sensa sawa. Maana yake ni kwamba vituo vingine vya sensorer vitajaza maadili ya dummy kwa shinikizo na vipimo vya kiwango cha mwanga ikiwa hawana sensorer kutoa maadili halisi. Nambari ya kila kituo na lango ilibadilishwa kutoka kwa mifano ya Anthony Mzee kwenye GitHub hii.
Nambari ya kifaa cha lango ilitumia SoftwareSerial kuwasiliana na seva ya wavuti, kwani ESP8266 ina vifaa moja tu vya UART. Kukimbia kwa kiwango cha juu cha baud cha 9600 inaonekana kuwa ya kuaminika kabisa na inatosha zaidi kwa kutuma pakiti hizi ndogo za data. Kifaa cha lango pia kimepangwa na anwani ya kibinafsi ya MAC. Sababu ya hii ni hivyo ikiwa inahitaji kuchukua nafasi, basi vituo vya sensorer sio lazima viweke tena na anwani mpya ya MAC ya mpokeaji.
ESP32 (Wavuti ya Wavuti)
Kila kituo cha sensa hutuma pakiti yake ya data kwa kifaa cha lango ambacho hupeleka kwa seva ya wavuti. Pamoja na pakiti ya data anwani ya kituo cha sensorer MAC pia hutumwa kutambua kila kituo. Seva ya wavuti ina meza ya "kuangalia-up" kuamua eneo la kila sensorer na kupanga data ipasavyo. Muda kati ya vipimo uliwekwa kwa dakika 5 pamoja na sababu ya kubahatisha ili kuepuka sensorer "kugongana" wakati wa kutuma kwa kifaa cha njia ya lango.
Routi ya WIFI ya nyumbani iliwekwa ili kutoa anwani ya IP iliyowekwa kwa seva ya wavuti wakati inaunganisha na WIFI. Kwa yangu ilikuwa 192.168.1.111. Kuandika anwani hiyo kwenye kivinjari chochote kutaunganisha kwenye seva ya wavuti ya kituo cha hali ya hewa maadamu mtumiaji yuko ndani ya anuwai ya WIFI ya (na unganisha) mtandao wa nyumbani. Mtumiaji anapounganisha kwenye ukurasa wa wavuti, seva ya wavuti hujibu na meza ya vipimo, na inajumuisha wakati wa kipimo cha mwisho cha kila sensorer. Kwa njia hii ikiwa kituo cha sensorer kitasikika, mtu anaweza kuona kutoka kwa meza ikiwa kusoma ni zaidi ya dakika 5-6.
Takwimu zinahifadhiwa katika faili mahususi za kibinafsi kwenye kadi ya SD na pia zinaweza kupakuliwa kutoka ukurasa wa wavuti pia. Inaweza kuingizwa katika Excel au programu nyingine yoyote ya kupanga data
Programu ya Android
Ili kurahisisha kuona habari ya hali ya hewa ya ndani kwenye simu mahiri, niliunda Programu ya Android kwa kutumia Studio ya Android. Inapatikana kwenye ukurasa wangu wa GitHub hapa. Inatumia darasa la mwonekano wa wavuti kupakia ukurasa wa wavuti kutoka kwa seva na kama utendaji mdogo. Haina uwezo wa kupakua faili za data na sikuwa na haja ya zile kwenye simu yangu hata hivyo.
Hatua ya 9: Matokeo
Mwishowe, hapa kuna matokeo kutoka kwa kituo changu cha hali ya hewa nyumbani. Takwimu zilipakuliwa kwenye kompyuta ndogo na kupangwa huko Matlab. Niliambatanisha maandishi yangu ya Matlab na unaweza pia kuyaendesha katika GNU Octave. Sensor ya nje imekuwa ikiendesha kwenye betri yake inayochajiwa na jua kwa karibu wiki 4 na hatujapata jua wakati huu wa mwaka. Hadi sasa kila kitu kinafanya kazi vizuri na kila mtu katika familia anaweza kuangalia hali ya hewa mwenyewe badala ya kuniuliza sasa!
Ilipendekeza:
Kikapu cha Kunyongwa cha Kituo cha hali ya hewa cha juu: Hatua 11 (na Picha)
Kikapu cha kunyongwa cha Kituo cha hali ya hewa ya juu: Halo kila mtu! Katika chapisho hili la blogi ya T3chFlicks, tutakuonyesha jinsi tulivyotengeneza kikapu kizuri cha kunyongwa. Mimea ni nyongeza safi na nzuri kwa nyumba yoyote, lakini inaweza kuchosha haraka - haswa ikiwa unakumbuka tu kuyamwagilia wakati wako
Kituo cha Hali ya Hewa cha NaTaLia: Kituo cha Hali ya Hewa ya Arduino Inayotumiwa Imefanywa kwa Njia Sahihi: Hatua 8 (na Picha)
Kituo cha Hali ya Hewa cha NaTaLia: Kituo cha Hali ya Hewa ya Arduino Inayotumiwa Imefanywa kwa Njia Sawa: Baada ya mwaka 1 wa kufanikiwa katika maeneo 2 tofauti ninashiriki mipango yangu ya mradi wa kituo cha hali ya hewa na kuelezea jinsi ilibadilika kuwa mfumo ambao unaweza kuishi kwa muda mrefu vipindi kutoka kwa nguvu ya jua. Ukifuata
Kituo cha hali ya hewa cha DIY na Kituo cha Sensorer cha WiFi: Hatua 7 (na Picha)
Kituo cha hali ya hewa cha DIY na Kituo cha Sensor cha WiFi: Katika mradi huu nitakuonyesha jinsi ya kuunda kituo cha hali ya hewa pamoja na kituo cha sensorer cha WiFi. Kituo cha sensorer hupima data ya joto na unyevu wa ndani na kuipeleka, kupitia WiFi, kwa kituo cha hali ya hewa. Kituo cha hali ya hewa kisha kinaonyesha t
1.8 Kituo cha hali ya hewa cha hali ya juu cha TFT LCD: Hatua 5
1.8 Kituo cha hali ya hewa cha hali ya juu cha TFT LCD: Kidogo kidogo, lakini kubwa
Acurite 5 katika Kituo cha hali ya hewa 1 Kutumia Raspberry Pi na Weewx (Vituo vingine vya hali ya hewa vinaendana): Hatua 5 (na Picha)
Acurite 5 katika Kituo cha hali ya hewa 1 Kutumia Raspberry Pi na Weewx (Vituo vingine vya hali ya hewa vinaendana): Wakati nilikuwa nimenunua Acurite 5 katika kituo cha hali ya hewa cha 1 nilitaka kuweza kuangalia hali ya hewa nyumbani kwangu nilipokuwa mbali. Nilipofika nyumbani na kuitengeneza niligundua kuwa lazima ningepaswa kuwa na onyesho lililounganishwa na kompyuta au kununua kitovu chao cha busara,