Tartalomjegyzék:

Raspberry Pi Solar Weather Station: 7 lépés (képekkel)
Raspberry Pi Solar Weather Station: 7 lépés (képekkel)

Videó: Raspberry Pi Solar Weather Station: 7 lépés (képekkel)

Videó: Raspberry Pi Solar Weather Station: 7 lépés (képekkel)
Videó: My job is to observe the forest and something strange is happening here. 2024, November
Anonim
Raspberry Pi Solar Weather Station
Raspberry Pi Solar Weather Station
Raspberry Pi Solar Weather Station
Raspberry Pi Solar Weather Station
Raspberry Pi Solar Weather Station
Raspberry Pi Solar Weather Station
Raspberry Pi Solar Weather Station
Raspberry Pi Solar Weather Station

Két korábbi projektem, a kompakt fényképezőgép és a hordozható játékkonzol befejezése nyomán új kihívást akartam találni. A természetes fejlődés egy kültéri távvezérlő rendszer volt…

Olyan Raspberry Pi időjárás -állomást akartam építeni, amely képes volt fenntartani magát a hálózatról, és elküldeni nekem az eredményeket vezeték nélküli kapcsolaton keresztül, bárhonnan! Ennek a projektnek valóban megvoltak a maga kihívásai, de szerencsére a Raspberry Pi tápellátása az egyik fő kihívás, amelyet megkönnyített a PiJuice tápegységként való használata napelemes támogatásával (a forradalmian új PiAnywhere technológiával kiegészítve - a legjobb módja annak, hogy vegye le a Pi -t a rácsról!).

Az első gondolatom az volt, hogy a fantasztikus AirPi modult használom a leolvasáshoz. Ennek azonban két fő hátránya volt; közvetlen internetkapcsolatra van szükség az eredmények feltöltéséhez, és közvetlenül a Pi GPIO -jához kell csatlakoztatni, ami azt jelenti, hogy nem tehető ki a levegőnek a Raspberry Pi exponálása nélkül (nem ideális, ha ezt az időjárásállomást akarjuk bármilyen hosszú ideig tart).

A megoldás… saját érzékelő modul létrehozása! Az AirPi nagy részét inspirációként használva össze tudtam állítani egy nagyon egyszerű prototípust néhány már meglévő érzékelőm segítségével; hőmérséklet, páratartalom, fényszint és általános gázok. És ebben a nagyszerű dolog az, hogy nagyon könnyű bármikor több érzékelőt hozzáadni.

Elsősorban alacsony energiafogyasztása miatt döntöttem úgy, hogy Raspberry Pi a+ -t használok. Az eredmények elküldéséhez az EFCom Pro GPRS/GSM modult használtam, amely szöveget küldhet közvetlenül a mobiltelefonomra az eredményekkel! Elég ügyes igaz?

Örülök, ha bármilyen ötlete van más nagyszerű napelemes vagy hordozható projektekhez. Tudassa velünk a megjegyzésekben, és mindent megteszek, hogy elkészítsem az oktatóanyagot!

1. lépés: Alkatrészek

Alkatrészek
Alkatrészek

1 x PiJuice + napelem (forradalmian új PiAnywhere technológiánkkal kiegészítve - a legjobb módja annak, hogy a Pi -t levesszük a hálózatról!)

1 x Raspberry Pi a+

1 db EFCom Pro GPRS/GSM modul

1 x Sim kártya

1 x kenyértábla

Protoboard

1 x MCP3008 ADC

1 x LDR

1 x LM35 (hőmérséklet -érzékelő)

1 x DHT22 (páratartalom -érzékelő)

1 x TGS2600 általános levegőminőség -érzékelő

1 x 2,2 KΩ ellenállás

1 x 22 KΩ ellenállás

1 x 10 KΩ ellenállás

10 x hüvely - hüvely jumper vezetékek

Egyméretű vezeték választéka

1 x egy kültéri csatlakozódoboz

1 x dupla kültéri csatlakozódoboz

1 x vízálló kábelcsatlakozó

2 x 20 mm -es félig vak kábeltömítés

2. lépés: Érzékelő áramkör

Érzékelő áramkör
Érzékelő áramkör
Érzékelő áramkör
Érzékelő áramkör
Érzékelő áramkör
Érzékelő áramkör

Ennek a projektnek számos különböző eleme van, ezért a legjobb, ha mindent lépésről lépésre végez. Először átmegyek az érzékelő áramkör összeállításán.

Érdemes ezt először egy kenyérlapra építeni, ha esetleg hibázna, mellékeltem egy kapcsolási rajzot és lépésenkénti képeket, amelyekre hivatkozni kell.

  1. Az első komponens, amely bekötésre kerül, ez az MCP3008 analóg -digitális átalakító. Ez akár 8 analóg bemenetet is igénybe vehet, és az SPI -n keresztül kommunikál a Raspberry Pi -vel. Ha a chip felfelé néz, és a félkör el van vágva a legtávolabbi végétől, a jobb oldali csapok a Raspberry Pi-hez csatlakoznak. Csatlakoztassa őket az ábrán látható módon. Ha szeretne egy kicsit többet megtudni a chip működéséről, itt egy nagyszerű útmutató az MCP3008 és az SPI protokoll számára.
  2. A bal oldali érintkezők a 8 analóg bemenet, felülről lefelé 0-7 számozással. Csak az első 3 -at (CH0, CH1, CH2) fogjuk használni, az LDR, az általános gázérzékelő (TGS2600) és a hőmérséklet -érzékelő (LM35) esetén. Először csatlakoztassa az LDR -t az ábra szerint. Az egyik oldal a földhöz, a másik pedig a 3.3V -hoz egy 2.2KΩ ellenálláson és CH0 -n keresztül.
  3. Ezután csatlakoztassa az "általános gázérzékelőt". Ez a gázérzékelő olyan légszennyeződések kimutatására szolgál, mint a hidrogén és a szén -monoxid. Még nem dolgoztam ki, hogyan lehet konkrét koncentrációkat elérni, így egyelőre ennek az érzékelőnek az eredménye egy százalékos alapszint, ahol a 100% teljesen telített. Ha az érzékelő felfelé néz (csapok az alsó oldalon), a kis kiemelés jobb oldalán lévő csap az 1 -es tű, majd a számok az óramutató járásával megegyező irányban nőnek a csap körül. Tehát az 1 -es és 2 -es érintkezők az 5V -hoz csatlakoznak, a 3 -as csatlakozó a CH1 -hez és a 22KΩ -os ellenálláson keresztül a földhöz, a 4 -es pedig egyenesen a földhöz.
  4. A végső csatlakoztatandó analóg érzékelő az LM35 hőmérséklet -érzékelő. Ennek 3 csapja van. Vegye az érzékelőt úgy, hogy a lapos oldala legyen a legközelebb Önhöz, a bal oldali érintkező egyenesen az 5V -hoz csatlakozik (nincs feltüntetve az ábrán, rosszul!), A középső csap a CH2 -hez, a jobb oldali pedig közvetlenül a földhöz. Könnyen!
  5. Az utolsó csatlakoztatandó elem a DHT22 páratartalom -érzékelő. Ez egy digitális érzékelő, így közvetlenül csatlakoztatható a Raspberry Pi -hez. Fogja meg az érzékelőt úgy, hogy a rács maga felé nézzen, és a négy csap az alsó oldalon. A csapokat balról 1 -től rendelik. Csatlakoztassa az 1 -et a 3.3V -ra. A 2 -es érintkező a GPIO4 -hez és a 3,3 V -hoz kerül egy 10KΩ -os ellenálláson keresztül. Hagyja ki a 3. csapot, és a 4. csap egyenesen a földhöz kerül.

Ez az! A tesztkör megépült. Remélem, ha lesz időm, további összetevőket adhatok hozzá. Nagyon szeretnék hozzáadni egy nyomásérzékelőt, egy szélsebesség -érzékelőt és intelligensebb adatokat szeretnék kapni a gázkoncentrációkról.

3. lépés: GSM modul

GSM modul
GSM modul
GSM modul
GSM modul

Most, hogy az érzékelő áramköröket felépítették, szükség van az eredmények fogadásának módjára. Itt jön be a GSM modul. Ezt használjuk az eredmények elküldésére a mobilhálózaton SMS -ben, naponta egyszer.

A GSM modul soros úton kommunikál a Raspberry Pi -vel az UART segítségével. Íme néhány nagyszerű információ a Raspberry Pi -vel folytatott soros kommunikációról. Ahhoz, hogy átvegyük a Pi soros portjának irányítását, először konfigurálnunk kell.

Indítsa el a Raspberry Pi -t egy szabványos Raspbian képpel. Most módosítsa a "/boot/cmdline.txt" fájlt a következőről:

"dwc_otg.lpm_enable = 0 konzol = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 konzol = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 lift = határidő rootwait"

nak nek:

"dwc_otg.lpm_enable = 0 konzol = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 lift = határidő rootwait"

az aláhúzott szövegrész eltávolításával.

Másodszor, szerkesztenie kell az "/etc/inittab" fájlt a következő szakasz megjegyzésének megjegyzésével:

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

Tehát így szól:

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

és indítsa újra a Pi -t. Most a soros port szabadon kommunikálhat a kívánt módon. Ideje bekötni a GSM modult. Tekintse meg az előző lépés kapcsolási rajzát és a fenti képeket, hogy megtudja, hogyan történik ez. Alapvetően a TX csatlakozik az RX -hez, az RX pedig a TX -hez. A Raspberry Pi TX és RX GPIO 14 és 15 rendszerű.

Most valószínűleg ellenőrizni szeretné, hogy a modul működik -e, ezért próbáljunk meg szöveget küldeni! Ehhez le kell töltenie a Minicom programot. Ez egy olyan program, amely lehetővé teszi, hogy írjon a soros portra. Használat:

"sudo apt-get install minicom"

A telepítés után a minicom a következő paranccsal nyitható meg:

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

A 9600 az baud-rate és a /dev /ttyAMA0 a Pi soros portjának neve. Ez megnyit egy terminál emulátort, amelyben bármi, amit ír, megjelenik a soros porton, azaz elküldésre kerül a GSM modulba.

Helyezze be a feltöltött SIM kártyát a GSM modulba, és nyomja meg a bekapcsoló gombot. Ezután egy kék lednek kell világítania. A GSM modul az AT parancskészletet használja, itt van a dokumentáció, ha valóban érdekel. Most a következő paranccsal ellenőrizzük, hogy a Raspberry Pi észlelte -e a modult:

"NÁL NÉL"

a modulnak így kell válaszolnia:

"RENDBEN"

Nagy! Ezután be kell állítanunk a modult, hogy SMS -t küldjön szöveges, nem pedig bináris formában:

"AT+CMGF = 1"

a válasznak ismét "OK" -nak kell lennie. Most írjuk ki az SMS küldésére vonatkozó parancsot:

"AT+CMGS =" 44 ************ "", cserélje ki a csillagokat a számával.

A modem a ">" gombbal válaszol, amely után írhat üzenetet. Az üzenet elküldéséhez nyomja meg a gombot. Ennyi, és szerencsével most kapott egy szöveget közvetlenül a Raspberry Pi -től.

Nos, most, hogy tudjuk, hogy a GSM modul működik, bezárhatja a minicomot; nem lesz rá szükségünk a projekt további részében.

4. lépés: Töltse le a szoftvert, és végezze el a száraz futtatást

Töltse le a szoftvert, és végezze el a száraz futtatást
Töltse le a szoftvert, és végezze el a száraz futtatást
Töltse le a szoftvert, és végezze el a száraz futtatást
Töltse le a szoftvert, és végezze el a száraz futtatást

Ebben a szakaszban mindent be kell kötni, és készen áll a száraz futás tesztelésére. Írtam egy nagyon egyszerű python programot, amely leolvas minden egyes érzékelőt, majd elküldi az eredményeket a mobiltelefonjára. A teljes programot letöltheti a PiJuice Github oldaláról. Most jó alkalom lehet a PiJuice modullal történő tesztelésre is. Csak a Raspberry Pi GPIO -jába csatlakozik, és a Pi -hez csatlakoztatott összes vezeték csak egyenesen a PiJuice megfelelő tűkimenetébe csatlakozik. Könnyű, mint Pi. A kód letöltéséhez használja a következő parancsot:

git klón

Ez úgy van beállítva, hogy naponta egyszer küldjön adatokat. Tesztelési célokra ez nem nagyszerű, ezért érdemes szerkeszteni a programot. Ez könnyen elvégezhető; csak nyissa meg a fájlt; "sudo nano weatherstation.py". A tetején van egy "késleltetés beállítása" szakasz. Írja be a megjegyzést a "delay = 86400" sorba, és törölje a megjegyzést: "delay = 5". Most az eredményeket 5 másodpercenként elküldik. A programot úgy is módosítani kell, hogy az tartalmazza a saját mobilszámát. Keresse meg a "+44 **********" feliratot, és cserélje ki a csillagokat saját számával.

A program futtatása előtt csak le kell töltenie egy könyvtárat a DHT22 páratartalom -érzékelő olvasásához:

git klón

És telepíteni kell a könyvtárat:

"cd Adafruit_Python_DHT"

"sudo apt-get update"

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

"sudo python setup.py install"

Jó, most tesztelheti a programot.

"sudo python weatherstation.py"

A program futása közben az eredményeket el kell küldeni a mobiljára, de ki kell nyomtatni a terminálba 5 másodpercenként.

5. lépés: Építse fel az áramkört

Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört

Most, hogy minden a gyakorlatban működik, ideje felépíteni az igazit. A képek azt az általános elképzelést mutatják, hogy az egész egység hogyan illeszkedik egymáshoz. Két különálló ház van; az egyik az érzékelő áramkörhöz (lyukakkal rendelkezik, amelyek lehetővé teszik a levegő keringését), a másik pedig a Raspberry Pi, a GPRS egység és a PiJuice számára (teljesen vízzáró) A két egység ezután könnyen leválasztható, így akár az érzékelőház, akár a számítástechnikai ház eltávolítható anélkül, hogy le kellene szedni az egész egységet. Ez nagyszerű, ha további érzékelőket szeretne hozzáadni, vagy ha szüksége van Raspberry Pi vagy PiJuice készülékére egy másik projekthez.

Meg kell törnie a protoboardot, hogy beleférjen a két elosztódoboz kisebbikébe. Itt található az érzékelő áramkör. Az érzékelő áramkör most átkerül a kenyértábláról a protoboardra. Most forrasztást kell végeznie. Győződjön meg arról, hogy kényelmesen használja a forrasztópáka biztonságos használatát. Ha bizonytalan, kérjen segítséget egy hozzáértő forrasztótól.

Nagyon köszönöm Patricknek a laborban, aki megmentett attól, hogy valódi hash -t készítsek ebből az áramkörből. Pár perc alatt sikerült összeütnie! Ha hozzám hasonlóan nem te vagy a legjobb építési áramkör, és nem állsz készen olyan géniusszal, mint Patrick, aki segíthet neked, akkor mindig hagyhatod az áramkört egy kenyérsütőn, amíg elfér az elektromos dobozodban.

6. lépés: A lakóegységek előkészítése

A lakóegységek előkészítése
A lakóegységek előkészítése
A lakóegységek előkészítése
A lakóegységek előkészítése
A lakóegységek előkészítése
A lakóegységek előkészítése

Ez a rész igazán szórakoztató. Lehet, hogy észrevette a gyűrűket minden dobozon. Ezeket úgy tervezték, hogy kiüssék, hogy a dobozok elektromos csatlakozók lehetnek. Ezeket az érzékelőegység és a számítástechnikai egység közötti csatlakozáshoz, a napelemhez való csatlakoztatáshoz, valamint az érzékelő egység szellőztetéséhez használjuk, hogy lehetővé tegyük a levegő keringését.

Először dobjon ki egy lyukat minden dobozon a kettő közötti kapcsolathoz, amint az a képeken látható. A lyukak kiütése bonyolult lehet, de nem lehet durva él. Úgy találtam, hogy a legjobb módszer az, ha egy csavarhúzóval először átlyukasztjuk a lyukak körüli bemélyedett gyűrűt, majd lehúzzuk, mint egy festékdoboz fedelét. A vízálló kábelcsatlakozót ezután a két doboz csatlakoztatására használják.

Ezután újabb lyukat kell készítenie a számítástechnikai házban a napelem vezetékhez. Ezt a lyukat az egyik félig vak kábeltömítéssel bedugják. Mielőtt a tömítőgyűrűt behelyezi, lyukat szúrjon bele a kábel áthaladásához. Ennek a lehető legkisebbnek kell lennie, hogy vízzáró maradjon, majd nyomja át a micro usb végét a lyukon (ez a vég csatlakozik a PiJuice -hoz).

Végül egy további lyukat kell készíteni az érzékelő egységben, hogy a levegő be- és kiáramolhasson. Úgy döntöttem, hogy a két doboz közötti csomóponttal szemben lévő egészet keresem. Szükség lehet egy második lyuk hozzáadására. Azt hiszem, egy idő után megtudjuk az időjárás -állomás használatát.

7. lépés: Az időjárás -állomás bekötése és befejezése

A meteorológiai állomás bekötése és befejezése
A meteorológiai állomás bekötése és befejezése
A meteorológiai állomás bekötése és befejezése
A meteorológiai állomás bekötése és befejezése
A meteorológiai állomás bekötése és befejezése
A meteorológiai állomás bekötése és befejezése

Igaz, majdnem ott. Az utolsó szakasz az, hogy mindent bekötünk.

Kezdve a számítási egységgel. Ebben a dobozban van a Raspberry Pi, a PiJuice, amely a Raspberry Pi GPIO -hoz csatlakozik, és a GSM modul, amely a PiJuice GPIO -kitöréséhez csatlakozik a női és a női áthidaló vezetékeken keresztül. Szép és kényelmes! ebben a szakaszban valószínűleg azt tanácsolnám, hogy tegyen valamilyen tömítőt a napelem USB -kábelének belépési pontja köré. Valószínűleg valamilyen gyanta vagy szuperragasztó működne.

Ezután lépjen az érzékelő egységre. A fényképen felülről lefelé a vezetékek; szürke, fehér, lila és kék az SPI adatvonalak, a fekete csiszolt, a narancssárga 3,3 V, a piros 5 V és a zöld a GPIO 4. Meg kell találnia az áthidaló vezetékeket, amelyekkel ezekhez csatlakozhat, majd át kell vezetni őket a vízálló kábelen keresztül csatlakozó, ahogy a képeken is látható. Ezután minden vezeték csatlakoztatható a megfelelő GPIO -hoz, és a csatlakozó meghúzható. Ebben a szakaszban könnyen belátható, hogyan lehetne javítani a tervezésen; az LDR nem lesz kitéve sok fénynek (bár még mindig hasznos lehet a relatív értékek ismerete, és egy további lyuk kiütése segíthet), úgy gondolom, hogy jobb lenne, ha ugyanazt a méretet használnánk, mint a számítási egység doboz az érzékelőegység számára is, akkor könnyebb lenne az áramköri lapot a dobozba illeszteni, és lehetőség lenne a különböző elrendezésekkel való játékra.

Most kitettem a kertbe, ahogy a fotókon is látszik. Remélem a következő napokban én is közzé tudok tenni néhány eredményt! És ahogy korábban mondtam, ha van ötlete néhány remek projekthez, tudassa velem!

Ajánlott: