Kazalo:

Sončna vremenska postaja Raspberry Pi: 7 korakov (s slikami)
Sončna vremenska postaja Raspberry Pi: 7 korakov (s slikami)

Video: Sončna vremenska postaja Raspberry Pi: 7 korakov (s slikami)

Video: Sončna vremenska postaja Raspberry Pi: 7 korakov (s slikami)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, November
Anonim
Sončna vremenska postaja Raspberry Pi
Sončna vremenska postaja Raspberry Pi
Sončna vremenska postaja Raspberry Pi
Sončna vremenska postaja Raspberry Pi
Sončna vremenska postaja Raspberry Pi
Sončna vremenska postaja Raspberry Pi
Sončna vremenska postaja Raspberry Pi
Sončna vremenska postaja Raspberry Pi

Spodbujen z dokončanjem mojih dveh prejšnjih projektov, kompaktne kamere in prenosne igralne konzole, sem želel najti nov izziv. Naravni napredek je bil zunanji daljinski sistem …

Želel sem zgraditi vremensko postajo Raspberry Pi, ki se je lahko ohranila in mi pošiljala rezultate prek brezžične povezave, od koder koli! Ta projekt je res imel svoje izzive, a na srečo je napajanje Raspberry Pi eden glavnih izzivov, ki ga je olajšala uporaba PiJuice kot napajalnika z dodatno sončno podporo (skupaj z našo revolucionarno tehnologijo PiAnywhere - najboljši način za vzemite svoj Pi iz mreže!).

Moja prva misel je bila, da bi uporabil fantastičen modul AirPi za odčitavanje. To pa je imelo dve glavni pomanjkljivosti; za nalaganje rezultatov potrebuje neposredno internetno povezavo in mora biti neposredno povezan z GPIO na Pi, kar pomeni, da ne more biti izpostavljen zraku, ne da bi izpostavil tudi Raspberry Pi (ni idealno, če želimo, da ta vremenska postaja zdrži poljubno dolgo).

Rešitev … izdelajte svoj senzorski modul! Z inspiracijo sem uporabil velik del AirPi -ja in z nekaj senzorji, ki sem jih že imel, sem lahko sestavil zelo preprost prototip; temperatura, vlaga, raven svetlobe in splošni plini. Odlična stvar pri tem je, da je zelo enostavno kadar koli dodati več senzorjev.

Za uporabo Raspberry Pi a+ sem se odločil predvsem zaradi nizke porabe energije. Za pošiljanje rezultatov sem uporabil EFCom Pro GPRS/GSM modul, ki lahko pošlje besedilo neposredno na moj mobilni telefon z rezultati! Precej lepo kajne?

Vesel sem, če imate kakršne koli ideje za druge odlične solarne ali prenosne projekte. Sporočite mi v komentarjih in potrudil se bom, da ustvarim vadnico!

1. korak: Deli

Deli
Deli

1 x PiJuice + sončna plošča (skupaj z našo revolucionarno tehnologijo PiAnywhere - najboljši način, da svoj Pi vzamete iz omrežja!)

1 x Raspberry Pi a+

1 x EFCom Pro GPRS/GSM modul

1 x SIM kartica

1 x deska za kruh

Protoboard

1 x ADC MCP3008

1 x LDR

1 x LM35 (temperaturni senzor)

1 x DHT22 (senzor vlažnosti)

1 x TGS2600 Splošni senzor kakovosti zraka

1 x 2.2 KΩ upor

1 x 22 KΩ upor

1 x 10 KΩ upor

10 x Ženske - Ženske mostične žice

Asortiman enojne žice

1 x enojna zunanja razdelilna omarica

1 x dvojna zunanja razdelilna omarica

1 x vodotesen kabelski priključek

2 x 20 mm pol slepe kabelske uvodnice

2. korak: Senzorsko vezje

Senzorsko vezje
Senzorsko vezje
Senzorsko vezje
Senzorsko vezje
Senzorsko vezje
Senzorsko vezje

Ta projekt vsebuje kar nekaj različnih elementov, zato je najbolje, da vse naredite v korakih. Najprej bom preučil, kako sestaviti vezje zaznavanja.

Dobro je, da to najprej zgradite na plošči za kruh, v primeru, da naredite kakšno napako, sem priložil diagram vezja in slike po korakih, na katere se lahko sklicujete.

  1. Prva komponenta za ožičenje je analogno -digitalni pretvornik MCP3008. To lahko sprejme do 8 analognih vhodov in komunicira z Raspberry Pi prek SPI. S čipom obrnjenim navzgor in polkrogom, odrezanim na koncu najbolj oddaljenem od vas, se zatiči na desni povežejo z Raspberry Pi. Povežite jih, kot je prikazano. Če želite izvedeti nekaj več o delovanju čipa, je tukaj odličen vodnik po MCP3008 in protokolu SPI.
  2. Zatiči na levi strani so 8 analognih vhodov, oštevilčeni od 0 do 7 od zgoraj navzdol. Uporabili bomo samo prve 3 (CH0, CH1, CH2), za LDR, splošni senzor plina (TGS2600) in temperaturni senzor (LM35). Najprej priključite LDR, kot je prikazano na diagramu. Ena stran na ozemljitev, druga pa na 3.3V preko upora 2.2KΩ in CH0.
  3. Nato priključite "splošni senzor plina". Ta senzor plina se uporablja za odkrivanje onesnaževal zraka, kot sta vodik in ogljikov monoksid. Nisem še ugotovil, kako dobiti posebne koncentracije, zato je zaenkrat rezultat tega senzorja osnovna odstotna raven, kjer je 100% popolnoma nasičeno. S senzorjem obrnjenim navzgor (zatiči na spodnji strani) je zatič neposredno desno od majhnega izboklina zatič 1, nato pa se številke okoli zatiča povečajo. Tako se nožici 1 in 2 povežeta na 5V, pin 3 se poveže s CH1 in ozemlji preko upora 22KΩ, pin4 pa se poveže naravnost z maso.
  4. Zadnji analogni senzor za povezavo je temperaturni senzor LM35. Ta ima 3 zatiči. Senzor vzemite tako, da vam bo ravna stran najbližja, najbolj levi zatič se poveže naravnost na 5 V (na diagramu ni označeno, hudo!), Osrednji zatič se priključi na CH2, desni pa na naravnost na tla. Enostavno!
  5. Zadnja komponenta za priključitev je senzor vlažnosti DHT22. To je digitalni senzor, zato ga je mogoče povezati neposredno z Raspberry Pi. Vzemite senzor z mrežo obrnjeno proti vam in štirimi zatiči na spodnji strani. Zatiči so naročeni od 1 na levi. Priključite 1 na 3,3 V. Pin 2 gre na GPIO4 in 3.3V prek upora 10KΩ. Zatič 3 pustite odklopljenega in nožica 4 gre naravnost na tla.

To je to! Preskusno vezje je zgrajeno. Upam, da bom dodal več komponent, ko bom imel čas. Res bi rad dodal senzor tlaka, senzor hitrosti vetra in rad bi dobil inteligentnejše podatke o koncentracijah plina.

3. korak: GSM modul

GSM modul
GSM modul
GSM modul
GSM modul

Zdaj, ko so vezja zaznavanja zgrajena, mora obstajati način za prejemanje rezultatov. Tam pride modul GSM. Uporabili ga bomo za pošiljanje rezultatov preko mobilnega omrežja v SMS -u enkrat na dan.

Modul GSM komunicira z Raspberry Pi prek serijske povezave z uporabo UART. Tukaj je nekaj odličnih informacij o serijski komunikaciji z Raspberry Pi. Če želimo prevzeti nadzor nad serijskimi vrati Pi, moramo najprej narediti nekaj konfiguracije.

Zaženite svoj Raspberry Pi s standardno sliko Raspbian. Zdaj spremenite datoteko "/boot/cmdline.txt" iz:

"dwc_otg.lpm_enable = 0 console = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 console = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 dvigalo = rok rootwait"

do:

"dwc_otg.lpm_enable = 0 console = tty1 root =/dev/mmcblk0p2 rootfstype = dvigalo ext4 = rok rootwait"

z odstranitvijo podčrtanega dela besedila.

Drugič, datoteko »/etc/inittab« morate urediti tako, da v naslednji vrstici komentirate drugo vrstico:

#Spawn a getty na serijski liniji Raspberry PiT0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100"

Tako, da se glasi:

#Spawn a getty na serijski liniji Raspberry Pi#T0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100

in znova zaženite Pi. Zdaj bi morala biti serijska vrata prosta za komunikacijo, kot želite. Čas je, da priključite GSM modul. Oglejte si diagram vezja v prejšnjem koraku in zgornje slike, da vidite, kako se to naredi. V bistvu je TX povezan z RX in RX je povezan s TX. Na Raspberry Pi TX in RX sta GPIO 14 oziroma 15.

Zdaj verjetno želite preveriti, ali modul deluje, zato poskusimo poslati besedilo! Za to morate prenesti Minicom. To je program, ki vam omogoča pisanje na serijska vrata. Uporaba:

"sudo apt-get install minicom"

Ko je minicom nameščen, ga lahko odprete z naslednjim ukazom:

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

9600 je baud-rate in /dev /ttyAMA0 je ime Pi-jevih serijskih vrat. S tem se odpre terminalski emulator, v katerem bo vse, kar napišete, prikazano na serijskih vratih, to je poslano v modul GSM.

Napolnjeno kartico SIM vstavite v modul GSM in pritisnite gumb za vklop. Po tem naj se prižge modra LED. Modul GSM uporablja niz ukazov AT, tukaj je dokumentacija, če vas resnično zanima. Zdaj preverimo, ali je Raspberry Pi odkril modul z naslednjim ukazom:

"AT"

modul bi moral nato odgovoriti z:

"V REDU"

Super! Nato moramo konfigurirati modul, da pošlje SMS kot besedilo in ne kot binarno:

"AT+CMGF = 1"

spet mora biti odgovor "OK". Zdaj napišemo ukaz za pošiljanje SMS -a:

"AT+CMGS =" 44 ************* "", zvezde zamenjajte s svojo številko.

Modem, ki se odzove z ">", nakar lahko napišete sporočilo. Če želite poslati sporočilo, pritisnite. To je to in s srečo ste pravkar prejeli besedilo neposredno iz vašega Raspberry Pi.

Zdaj, ko vemo, da GSM modul deluje, lahko zaprete minicom; ne bomo ga potrebovali do konca projekta.

4. korak: Prenesite programsko opremo in izvedite na suho

Prenesite programsko opremo in izvedite na suho
Prenesite programsko opremo in izvedite na suho
Prenesite programsko opremo in izvedite na suho
Prenesite programsko opremo in izvedite na suho

Do te stopnje bi moralo biti vse povezano in pripravljeno za preskus suhega teka. Napisal sem precej preprost program za python, ki bo meril odčitke vsakega senzorja in nato rezultate pošiljal na vaš mobilni telefon. Celoten program lahko prenesete s strani PiJuice Github. Zdaj bi lahko bil tudi pravi čas za testiranje z modulom PiJuice. Samo vklopi se v GPIO Raspberry Pi, vse žice, povezane s Pi, pa se preprosto priključijo naravnost v ustrezne izhode na PiJuice. Enostavno kot Pi. Za prenos kode uporabite ukaz:

git clone

Ta je nastavljen za pošiljanje podatkov enkrat na dan. Za namene testiranja to ni super, zato boste morda želeli urediti program. To je enostavno narediti; samo odprite datoteko; "sudo nano weatherstation.py". Pri vrhu je razdelek »nastavljena zakasnitev«. Komentirajte vrstico "delay = 86400" in odstranite komentar "delay = 5". Zdaj bodo rezultati poslani enkrat na 5 sekund. Prav tako boste želeli program spremeniti tako, da bo vseboval vašo mobilno številko. Poiščite, kjer piše "+44 **********", in zvezde zamenjajte s svojo številko.

Preden zaženete program, morate samo prenesti knjižnico za branje senzorja vlažnosti DHT22:

git clone

Knjižnico je treba namestiti:

"cd Adafruit_Python_DHT"

"sudo apt-get update"

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

"sudo python setup.py install"

Super, zdaj lahko preizkusiš program.

"sudo python weatherstation.py"

Med delovanjem programa je treba rezultate poslati na vaš mobilni telefon, vendar jih natisniti v terminalu vsakih 5 sekund.

5. korak: Zgradite vezje

Zgradite vezje
Zgradite vezje
Zgradite vezje
Zgradite vezje
Zgradite vezje
Zgradite vezje

Zdaj, ko v praksi vse deluje, je čas, da zgradimo pravo stvar. Slike prikazujejo splošno predstavo o tem, kako se celotna enota ujema skupaj. Obstajata dve ločeni stanovanjski enoti; ena za senzorsko vezje (ki bo imela luknje za kroženje zraka v notranjosti) in ena za Raspberry Pi, enoto GPRS in PiJuice (popolnoma vodotesna) bo solarna plošča povezana z računalnikom z vodotesnim stičiščem. Obe enoti se lahko nato enostavno odstranita, tako da lahko odstranite ohišje senzorja ali ohišje računalnika, ne da bi morali odstraniti celotno enoto. To je super, če želite dodati več senzorjev ali če potrebujete Raspberry Pi ali PiJuice za drug projekt.

Morali boste razbiti protoboard, da se prilega manjši od dveh priključnih omaric. Tu je nameščen senzorski krog. Senzorsko vezje se zdaj prenese z matične plošče na protoboard. Zdaj boste morali narediti nekaj spajkanja. Prepričajte se, da varno uporabljate spajkalnik. Če niste prepričani, prosite za pomoč nekoga, ki je usposobljen za spajkanje.

Najlepša hvala Patricku v laboratoriju tukaj, ki me je rešil, da ne bi naredil pravega heša tega vezja. Uspelo mu je združiti v nekaj minutah! Če tako kot jaz niste najboljši gradbeni tokokrog in nimate pripravljenega genija, kot je Patrick, bi vam lahko pomagal, potem lahko vezje vedno pustite na mizo, če le ustreza vašemu električnemu polju.

6. korak: Priprava stanovanjskih enot

Priprava stanovanjskih enot
Priprava stanovanjskih enot
Priprava stanovanjskih enot
Priprava stanovanjskih enot
Priprava stanovanjskih enot
Priprava stanovanjskih enot

Ta del postane res zabaven. Morda ste opazili obročke na vsaki škatli. Ti so zasnovani tako, da se izločijo, tako da lahko škatle postanejo spoji za elektriko. Uporabili jih bomo za povezavo med zaznavno enoto in računalniško enoto, za povezavo s sončno celico in tudi kot prezračevanje senzorske enote, ki omogoča kroženje zraka.

Najprej na vsaki škatli izvrtajte eno luknjo za povezavo med njima, kot je prikazano na slikah. Izbijanje lukenj je lahko zapleteno, vendar grob rob ni pomemben. Ugotovil sem, da je najboljši način, da z izvijačem najprej prebodem vdolbljeni obroč okoli vsake luknje in ga nato odtrgam kot pokrov iz pločevine. Konektor za vodoodporen kabel se nato uporabi za povezavo obeh škatel.

Nato morate v ohišju računalnika narediti še eno luknjo za žico sončne celice. Ta luknja je nato zamašena z enim od vaših pol slepih kabelskih uvodnic. Preden vstavite vtičnico, v njej prebodite luknjo, skozi katero bo šel kabel. Ta mora biti čim manjši, da ostane vodotesen, nato potisnite konec mikro USB skozi luknjo (to je konec, ki se poveže s PiJuice).

Končno je treba v senzorski enoti narediti dodatno luknjo, ki omogoča vstop in izstop zraka. Odločil sem se, da grem na celovito nasproti križišča med obema škatlama. Morda bo treba dodati drugo luknjo. Mislim, da bomo čez nekaj časa ugotovili z uporabo vremenske postaje.

7. korak: Ožičenje in dokončanje vremenske postaje

Ožičenje in dokončanje vremenske postaje
Ožičenje in dokončanje vremenske postaje
Ožičenje in dokončanje vremenske postaje
Ožičenje in dokončanje vremenske postaje
Ožičenje in dokončanje vremenske postaje
Ožičenje in dokončanje vremenske postaje

Prav, skoraj tam. Zadnja faza je, da vse povežemo.

Začenši z računalniško enoto. V tem polju imamo Raspberry Pi, PiJuice, ki se poveže z Raspberry Pi GPIO, in GSM modul, ki se poveže v GPIO prekinitev na PiJuice prek žic moških na žensko. Lepo in udobno! na tej stopnji bi verjetno svetoval, da okoli vstopne točke USB kabla za sončno ploščo postavite kakšno tesnilo. Verjetno bi delovala kakšna smola ali superlepilo.

Nato se pomaknite na zaznavalno enoto. Na fotografiji so od zgoraj navzdol žice; siva, bela, vijolična in modra so podatkovne linije SPI, črna je ozemljena, oranžna je 3,3 V, rdeča je 5 V in zelena je GPIO 4. Za povezavo z njimi boste morali najti mostične žice in jih nato napajati skozi nepremočljiv kabel priključek, kot je razvidno iz fotografij. Nato lahko vsako žico priključite na ustrezen GPIO in priključek privijte. Na tej stopnji je enostavno videti, kako bi lahko obliko izboljšali; LDR ne bo izpostavljen veliki svetlobi (čeprav je lahko še vedno koristno vedeti relativne vrednosti in bi lahko pomagalo izločiti dodatno luknjo), mislim, da bi bilo bolje uporabiti enako velikost kot računalniška enota polje za senzorsko enoto, potem bi bilo lažje vstaviti tiskano vezje v škatlo in bi se lahko igrali z različnimi aranžmaji.

Zdaj sem ga postavil na vrt, kot lahko vidite na fotografijah. Upam, da bom v naslednjih dneh lahko objavil tudi nekaj rezultatov! In kot sem že rekel, če imate kakšno idejo za nekaj kul projektov, mi to sporočite!

Priporočena: