Sisällysluettelo:

Raspberry Pi Solar Weather Station: 7 vaihetta (kuvilla)
Raspberry Pi Solar Weather Station: 7 vaihetta (kuvilla)

Video: Raspberry Pi Solar Weather Station: 7 vaihetta (kuvilla)

Video: Raspberry Pi Solar Weather Station: 7 vaihetta (kuvilla)
Video: My job is to observe the forest and something strange is happening here. 2024, Marraskuu
Anonim
Raspberry Pi aurinkosääasema
Raspberry Pi aurinkosääasema
Raspberry Pi aurinkosääasema
Raspberry Pi aurinkosääasema
Raspberry Pi aurinkosääasema
Raspberry Pi aurinkosääasema
Raspberry Pi aurinkosääasema
Raspberry Pi aurinkosääasema

Kahden edellisen projektini, pienikokoisen kameran ja kannettavan pelikonsolin, valmistumisen innoittamana halusin löytää uuden haasteen. Luonnollinen eteneminen oli ulkona oleva etäjärjestelmä…

Halusin rakentaa Raspberry Pi -sääaseman, joka pystyi ylläpitämään itsensä verkosta ja lähettämään tulokset langattoman yhteyden kautta mistä tahansa! Tällä projektilla on todellakin ollut haasteensa, mutta onneksi Raspberry Pi -laitteen virransyöttö on yksi suurimmista haasteista, joka on tehty helpoksi käyttämällä PiJuicea virtalähteenä, johon on lisätty aurinkotuki (täydennettynä vallankumouksellisella PiAnywhere -tekniikalla - paras tapa ota Pi pois verkosta!).

Ensimmäinen ajatukseni oli käyttää fantastista AirPi -moduulia lukemien ottamiseen. Tällä oli kuitenkin kaksi päähaittaa; tulosten lataamiseen tarvitaan suora internetyhteys ja se on liitettävä suoraan Pi: n GPIO -laitteeseen, mikä tarkoittaa, että se ei voi altistua ilmalle paljastamatta myös Raspberry Pi (ei ihanteellinen, jos haluamme tämän sääaseman kestää minkä tahansa ajan).

Ratkaisu… rakenna oma tunnistusmoduuli! Käyttäen paljon AirPiä inspiraationa pystyin koota hyvin yksinkertaisen prototyypin käyttämällä muutamaa anturia, jotka minulla jo oli; lämpötila, kosteus, valotasot ja yleiset kaasut. Ja hienoa tässä on, että on todella helppoa lisätä lisää antureita milloin tahansa.

Päätin käyttää Raspberry Pi a+ -laitetta pääasiassa sen alhaisen virrankulutuksen vuoksi. Tulosten lähettämiseen käytin EFCom Pro GPRS/GSM -moduulia, joka voi lähettää tekstin suoraan matkapuhelimeeni tulosten kanssa! Aika siisti vai?

Olen iloinen kaikista ideoista, joita sinulla on muihin suuriin aurinko- tai kannettaviin projekteihin. Kerro minulle kommenteissa, niin teen parhaani opetusohjelman luomiseksi!

Vaihe 1: Osat

Osat
Osat

1 x PiJuice + aurinkopaneeli (vallankumouksellisen PiAnywhere -tekniikkamme kanssa - paras tapa ottaa Pi pois verkosta!)

1 x Raspberry Pi a+

1 x EFCom Pro GPRS/GSM -moduuli

1 x Sim -kortti

1 x leipälauta

Protoboard

1 x MCP3008 ADC

1 x LDR

1 x LM35 (lämpötila -anturi)

1 x DHT22 (kosteusanturi)

1 x TGS2600 yleinen ilmanlaatuanturi

1 x 2,2 KΩ vastus

1 x 22 KΩ vastus

1 x 10 KΩ vastus

10 x naaras - naarasliitinjohdot

Valikoima yksipituisia lankoja

1 x yksi ulkokytkentärasia

1 x kaksinkertainen ulkokytkentärasia

1 x vedenpitävä kaapeliliitin

2 x 20 mm puolisokea kaapeliläpivienti

Vaihe 2: Tunnistuspiiri

Tunnistuspiiri
Tunnistuspiiri
Tunnistuspiiri
Tunnistuspiiri
Tunnistuspiiri
Tunnistuspiiri

Tässä projektissa on useita eri elementtejä, joten on parasta tehdä kaikki vaiheittain. Ensin käyn läpi, miten koota anturipiiri.

On hyvä idea rakentaa tämä ensin leipälevylle. Jos teet virheitä, olen sisällyttänyt piirikaavion ja vaiheittaiset kuvat, joihin viitataan.

  1. Ensimmäinen komponentti, joka johdotetaan, on tämä MCP3008 -analogia -digitaalimuunnin. Tämä voi viedä jopa 8 analogista tuloa ja kommunikoida Raspberry Pi: n kanssa SPI: n kautta. Kun siru on ylöspäin ja puoliympyrä leikataan pois kauimmasta päästä, oikealla olevat nastat yhdistyvät Raspberry Pi: hen. Liitä ne kuvan osoittamalla tavalla. Jos haluat oppia lisää sirun toiminnasta, tässä on hyvä opas MCP3008: een ja SPI -protokollaan.
  2. Vasemman puolen nastat ovat 8 analogista tuloa, numeroitu 0-7 ylhäältä alas. Käytämme vain ensimmäistä 3 (CH0, CH1, CH2) LDR: lle, yleiselle kaasuanturille (TGS2600) ja lämpötila -anturille (LM35). Liitä LDR ensin kaavion mukaisesti. Yksi puoli maahan ja toinen 3,3 V: iin 2,2 KΩ: n vastuksen ja CH0: n kautta.
  3. Liitä seuraavaksi "yleinen kaasuanturi". Tätä kaasuanturia käytetään ilman epäpuhtauksien, kuten vedyn ja hiilimonoksidin, havaitsemiseen. En ole vielä keksinyt, miten saada tiettyjä pitoisuuksia, joten toistaiseksi tämän anturin tulos on perusprosentti, jossa 100% on täysin kylläinen. Kun anturi on ylöspäin (nastat alapuolella), suoraan pienen paljaan puolen oikealla puolella oleva tappi on nasta 1 ja sitten numerot kasvavat tapin ympäri myötäpäivään. Joten nastat 1 ja 2 kytketään 5 V: iin, nasta 3 yhdistetään CH1: een ja maadoitetaan 22 KΩ: n vastuksen kautta ja nasta 4 kytkeytyy suoraan maahan.
  4. Viimeinen kytkettävä analoginen anturi on LM35 -lämpötila -anturi. Tässä on 3 nastaa. Ota anturi niin, että tasainen puoli on lähimpänä sinua, vasen suurin nasta on kytketty suoraan 5 V: iin (ei merkitty kaavioon, huono!), Keskimmäinen nasta yhdistetään CH2: een ja oikea nasta suoraan maahan. Helppo!
  5. Viimeinen liitettävä komponentti on DHT22 -kosteusanturi. Tämä on digitaalinen anturi, joten se voidaan liittää suoraan Raspberry Pi -laitteeseen. Ota anturi ristikko itseäsi kohti ja neljä tappia alapuolella. Nastat tilataan 1 vasemmalta. Liitä 1 - 3.3V. Nasta 2 menee GPIO4: lle ja 3,3 V: lle 10KΩ vastuksen kautta. Jätä nasta 3 irrotettuna ja nasta 4 menee suoraan maahan.

Se siitä! Testipiiri on rakennettu. Toivon, että saan lisää komponentteja, kun minulla on aikaa. Haluaisin todella lisätä paineanturin, tuulen nopeusanturin ja saada älykkäämpiä tietoja kaasupitoisuuksista.

Vaihe 3: GSM -moduuli

GSM -moduuli
GSM -moduuli
GSM -moduuli
GSM -moduuli

Nyt kun anturipiirit on rakennettu, on oltava tapa vastaanottaa tulokset. Siellä GSM -moduuli tulee sisään. Käytämme sitä lähettääksemme tulokset matkapuhelinverkon kautta tekstiviestinä kerran päivässä.

GSM -moduuli kommunikoi Raspberry Pi: n kanssa sarjaportin kautta UART: n avulla. Tässä on hienoa tietoa sarjaliikenteestä Raspberry Pi: n kanssa. Jotta voimme hallita Pi: n sarjaporttia, meidän on ensin tehtävä joitain asetuksia.

Käynnistä Raspberry Pi tavallisella Raspbian -kuvalla. Vaihda nyt tiedosto "/boot/cmdline.txt" kohteesta:

"dwc_otg.lpm_enable = 0 konsoli = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 konsoli = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 elevator = määräaika rootwait"

kohteeseen:

"dwc_otg.lpm_enable = 0 konsoli = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 elevator = määräaika rootwait"

poistamalla alleviivatun tekstin osan.

Toiseksi sinun on muokattava tiedostoa "/etc/inittab" kommentoimalla seuraavan osan toinen rivi:

#Spawn a getty on Raspberry Pi series lineT0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100"

Joten siinä lukee:

#Spawn a getty on the Raspberry Pi series line#T0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100

ja käynnistä Pi uudelleen. Nyt sarjaportin pitäisi olla vapaa kommunikoimaan haluamallasi tavalla. On aika kytkeä GSM -moduuli. Katso edellisen vaiheen piirikaavio ja yllä olevat kuvat nähdäksesi, kuinka tämä tehdään. Pohjimmiltaan TX on kytketty RX: ään ja RX on kytketty TX: hen. Raspberry Pi TX ja RX ovat GPIO 14 ja 15.

Nyt haluat todennäköisesti tarkistaa, että moduuli toimii, joten yritä lähettää teksti! Tätä varten sinun on ladattava Minicom. Se on ohjelma, jonka avulla voit kirjoittaa sarjaporttiin. Käyttää:

"sudo apt-get install minicom"

Asennuksen jälkeen minicom voidaan avata seuraavalla komennolla:

"minicom -b 9600 -o -D /dev /ttyAMA0"

9600 on baudinopeus ja /dev /ttyAMA0 on Pi: n sarjaportin nimi. Tämä avaa pääteemulaattorin, jossa kirjoittamasi asiat näkyvät sarjaportissa, eli lähetetään GSM -moduuliin.

Aseta lisätty SIM -kortti GSM -moduuliin ja paina virtapainiketta. Sen jälkeen sinisen ledin pitäisi syttyä. GSM -moduuli käyttää AT -komentojoukkoa, tässä on dokumentaatio, jos olet todella kiinnostunut. Nyt tarkistamme, että Raspberry Pi on havainnut moduulin seuraavalla komennolla:

"AT"

moduulin pitäisi sitten vastata:

"OK"

Loistava! Sitten meidän on määritettävä moduuli lähettämään tekstiviesti tekstinä eikä binäärinä:

"AT+CMGF = 1"

vastauksen pitäisi jälleen olla "OK". Kirjoitetaan nyt komento lähettää tekstiviesti:

"AT+CMGS =" 44 ************* "", korvaa tähdet numerollasi.

Modeemi vastaa ">" -merkillä, jonka jälkeen voit kirjoittaa sinulle viestin. Lähetä viesti painamalla. Siinä kaikki, ja hyvällä tuurilla olet juuri saanut tekstiviestin suoraan Raspberry Pi -laitteeltasi.

Nyt kun tiedämme, että GSM -moduuli toimii, voit sulkea minicomin; emme tarvitse sitä koko projektin ajan.

Vaihe 4: Lataa ohjelmisto ja suorita kuiva -ajo

Lataa ohjelmisto ja suorita kuiva -ajo
Lataa ohjelmisto ja suorita kuiva -ajo
Lataa ohjelmisto ja suorita kuiva -ajo
Lataa ohjelmisto ja suorita kuiva -ajo

Tässä vaiheessa kaiken pitäisi olla kytketty ja valmis testaamaan kuiva -ajoa varten. Olen kirjoittanut melko yksinkertaisen python -ohjelman, joka ottaa lukemat kustakin anturista ja lähettää sitten tulokset matkapuhelimeesi. Voit ladata koko ohjelman PiJuice Github -sivulta. Nyt voisi olla myös hyvä aika testata PiJuice -moduulilla. Se liitetään vain Raspberry Pi: n GPIO -laitteeseen, kaikki Pi: hen liitetyt johdot kytketään suoraan PiJuicen vastaaviin nastan ulostuloihin. Helppoa kuin Pi. Voit ladata koodin komennolla:

git -klooni

Tämä on määritetty lähettämään tietoja kerran päivässä. Testaustarkoituksiin tämä ei ole hienoa, joten sinun kannattaa muokata ohjelmaa. Tämä on helppo tehdä; avaa vain tiedosto; "sudo nano weatherstation.py". Yläosassa on "Aseta viive" -osio. Kommentoi rivi "delay = 86400" ja poista kommentti "delay = 5". Tulokset lähetetään nyt 5 sekunnin välein. Haluat myös muuttaa ohjelman niin, että se sisältää oman matkapuhelinnumerosi. Etsi kohtaa "+44 **********" ja korvaa tähdet omalla numerollasi.

Ennen kuin suoritat ohjelman, sinun tarvitsee vain ladata kirjasto DHT22 -kosteusanturin lukemista varten:

git -klooni

Ja kirjasto on asennettava:

"cd Adafruit_Python_DHT"

"sudo apt-get update"

"sudo apt-get install build-essential python-dev"

"sudo python setup.py install"

Hienoa, nyt voit testata ohjelmaa.

"sudo python weatherstation.py"

Ohjelman ollessa käynnissä tulokset tulee lähettää matkapuhelimeesi, mutta myös tulostaa päätelaitteeseen 5 sekunnin välein.

Vaihe 5: Rakenna piiri

Rakenna piiri
Rakenna piiri
Rakenna piiri
Rakenna piiri
Rakenna piiri
Rakenna piiri

Nyt kun kaikki toimii käytännössä, on aika rakentaa todellinen asia. Kuvat osoittavat yleisen käsityksen siitä, kuinka koko yksikkö sopii yhteen. On kaksi erillistä asuntoa; toinen anturipiirille (jossa on reikiä ilman kiertämiseksi sisällä) ja toinen Raspberry Pi-, GPRS -yksikölle ja PiJuice -laitteelle (täysin vesitiivis) aurinkopaneeli on kytketty laskentayksikköön vesitiiviillä liitoksella. Nämä kaksi yksikköä voidaan sitten irrottaa helposti niin, että joko anturikotelo tai tietojenkäsittelykotelo voidaan irrottaa ilman, että koko yksikkö on irrotettava. Tämä on hienoa, jos haluat lisätä antureita tai jos tarvitset Raspberry Pi- tai PiJuice -projektiasi toiseen projektiin.

Sinun on murtettava protoboard, jotta se mahtuu pienempään kahdesta kytkentärasiasta. Tässä on anturipiiri. Tunnistuspiiri on nyt siirretty leipälevyltä protoboardille. Nyt sinun on tehtävä juottamista. Varmista, että käytät juotinta turvallisesti. Jos olet epävarma, pyydä apua joltain pätevältä juottajalta.

Paljon kiitoksia Patrickille laboratoriossa, joka pelasti minut tekemästä todellista hajautusta tästä piiristä. Hän onnistui lyömään sen yhteen muutamassa minuutissa! Jos sinä, kuten minä, et ole paras rakennuspiiri ja sinulla ei ole Patrickin kaltaista neroa valmiina auttamaan sinua, voit aina jättää piirin leipälaudalle, kunhan se mahtuu sähkölaatikkoosi.

Vaihe 6: Asuntoyksiköiden valmistelu

Asuntoyksiköiden valmistelu
Asuntoyksiköiden valmistelu
Asuntoyksiköiden valmistelu
Asuntoyksiköiden valmistelu
Asuntoyksiköiden valmistelu
Asuntoyksiköiden valmistelu

Tässä osassa on todella hauskaa. Olet ehkä huomannut renkaat jokaisessa laatikossa. Ne on suunniteltu poistettaviksi, jotta laatikoista voi tulla sähköliittimiä. Käytämme niitä tunnistusyksikön ja laskentayksikön yhdistämiseen, aurinkopaneeliin liittämiseen ja myös ilmaisimena anturiyksikköön ilmankierron mahdollistamiseksi.

Työnnä ensin yksi reikä kustakin laatikosta näiden kahden liittämiseksi, kuten kuvista näkyy. Reikien kaataminen voi olla hankalaa siististi, mutta karkealla reunalla ei ole väliä. Huomasin, että paras tapa on käyttää ruuvimeisseliä ensin lävistämään sisennetty rengas jokaisen reiän ympärille ja irrota se sitten kuin maalipurkin kansi. Vedenpitävää kaapeliliitintä käytetään sitten kahden laatikon liittämiseen.

Sitten sinun on tehtävä toinen reikä aurinkopaneelijohtoa varten. Tämä reikä suljetaan sitten yhdellä puolisokeista kaapeliläpivienneistä. Ennen kuin asetat läpiviennin, lävistä siihen reikä kaapelin läpivientiin. Tämän on oltava mahdollisimman pieni, jotta se pysyy vesitiiviänä, ja työnnä sitten mikro -usb -pää reiän läpi (tämä on PiJuice -liitäntä).

Lopuksi anturiyksikköön on tehtävä ylimääräinen reikä, joka päästää ilman sisään ja ulos. Olen päättänyt mennä kokonaan vastapäätä kahden laatikon välistä risteystä. Voi olla tarpeen lisätä toinen reikä. Luulen, että saamme tietää sen jonkin ajan kuluttua sääaseman käyttämisen jälkeen.

Vaihe 7: Sääaseman kytkentä ja viimeistely

Sääaseman kytkentä ja viimeistely
Sääaseman kytkentä ja viimeistely
Sääaseman kytkentä ja viimeistely
Sääaseman kytkentä ja viimeistely
Sääaseman kytkentä ja viimeistely
Sääaseman kytkentä ja viimeistely

Aivan, melkein siellä. Viimeinen vaihe on johdottaa kaikki.

Aloita laskentayksiköstä. Tässä laatikossa on Raspberry Pi, PiJuice, joka muodostaa yhteyden Raspberry Pi GPIO -laitteeseen, ja GSM -moduuli, joka muodostaa yhteyden PiJuicen GPIO -katkokseen naaras -naarasliitinjohtojen kautta. Hieno ja mukava! Tässä vaiheessa suosittelen luultavasti asettamaan jonkinlaisen tiivisteen aurinkopaneelin USB -kaapelin tulopisteen ympärille. Jonkinlainen hartsi tai superliima todennäköisesti toimisi.

Siirry sitten tunnistusyksikköön. Valokuvassa ylhäältä alas johtimet ovat; harmaa, valkoinen, violetti ja sininen ovat SPI -tietolinjoja, musta on maadoitettu, oranssi on 3,3 V, punainen on 5 V ja vihreä on GPIO 4. Sinun on löydettävä hyppyjohdot näiden liittämiseksi ja syötettävä ne sitten vedenpitävän kaapelin kautta liitin, kuten kuvissa näkyy. Sitten jokainen johto voidaan kytkeä vastaavaan GPIO: hon ja liitin voidaan kiristää. Tässä vaiheessa on helppo nähdä, miten muotoilua voitaisiin parantaa; LDR ei tule altistumaan suurelle valolle (vaikka suhteellisten arvojen tunteminen voi silti olla hyödyllistä, ja ylimääräisen reiän poistaminen saattaa auttaa), mielestäni olisi parempi käyttää samaa kokoa kuin laskentayksikkö myös tunnistinyksikölle, silloin piirilevy olisi helpompi asentaa laatikkoon ja siellä olisi tilaa leikkiä erilaisilla järjestelyillä.

Laitoin sen nyt puutarhaan, kuten kuvista näkyy. Toivottavasti saan muutaman päivän aikana julkaista tuloksia myös! Ja kuten aiemmin sanoin, jos sinulla on ideoita hienoihin projekteihin, kerro minulle!

Suositeltava: