Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Naštartovaný dokončením svojich dvoch predchádzajúcich projektov, kompaktnej kamery a prenosnej hernej konzoly, som chcel nájsť novú výzvu. Prirodzeným vývojom bol vonkajší diaľkový systém…
Chcel som postaviť meteorologickú stanicu Raspberry Pi, ktorá by sa dokázala udržať mimo siete a odosielať mi výsledky prostredníctvom bezdrôtového pripojenia odkiaľkoľvek! Tento projekt skutočne mal svoje výzvy, ale našťastie je napájanie Raspberry Pi jednou z hlavných výziev, ktoré bolo ľahké uľahčiť používaním PiJuice ako zdroja energie s pridanou slnečnou podporou (doplnené o našu revolučnú technológiu PiAnywhere - najlepší spôsob, ako vyberte svoje Pi zo siete!).
Moja pôvodná myšlienka bola použiť fantastický modul AirPi na čítanie. To však malo dve hlavné nevýhody; na odosielanie výsledkov to vyžaduje priame internetové pripojenie a musí byť pripojené priamo k GPIO na Pi, čo znamená, že nemôže byť vystavený vzduchu bez toho, aby bol vystavený aj Raspberry Pi (nie je ideálne, ak chceme, aby táto meteorologická stanica trvať ľubovoľne dlho).
Riešenie … vybudujte si vlastný snímací modul! Použitím veľkej časti AirPi na inšpiráciu som bol schopný zostaviť veľmi jednoduchý prototyp pomocou niekoľkých senzorov, ktoré som už mal; teplota, vlhkosť, svetelné hladiny a všeobecné plyny. A skvelé na tom je, že je skutočne ľahké pridať ďalšie senzory kedykoľvek.
Rozhodol som sa použiť Raspberry Pi a+ hlavne kvôli nízkej spotrebe energie. Na odoslanie výsledkov som použil modul EFCom Pro GPRS/GSM, ktorý môže s výsledkami odoslať textovú správu priamo na môj mobilný telefón! Celkom úhľadné nie?
Som rád, že tu môžem poskytnúť akékoľvek nápady na ďalšie skvelé solárne alebo prenosné projekty. Dajte mi vedieť v komentároch a pokúsim sa vytvoriť tutoriál!
Krok 1: Diely
1 x solárny panel PiJuice + (kompletný s našou revolučnou technológiou PiAnywhere - najlepší spôsob, ako dostať vaše Pi zo siete!)
1 x Raspberry Pi a+
1 x modul GPRS/GSM EFCom Pro
1 x SIM karta
1 x chlebová doska
Protoboard
1 x MCP3008 ADC
1 x LDR
1 x LM35 (snímač teploty)
1 x DHT22 (snímač vlhkosti)
1 x Všeobecný snímač kvality vzduchu TGS2600
1 x 2,2 KΩ odpor
Rezistor 1 x 22 KΩ
Rezistor 1 x 10 KΩ
10 x Žena - Žena prepojovacie vodiče
Sortiment jedného rozchodového drôtu
1 x Jednoduchý vonkajší spojovací box
1 x dvojitý vonkajší spojovací box
1 x konektor vodotesného kábla
2 x 20 mm poloslepé káblové priechodky
Krok 2: Snímací obvod
Tento projekt obsahuje niekoľko rôznych prvkov, takže je najlepšie urobiť všetko postupne. Najprv sa pozriem na to, ako zostaviť snímací obvod.
Je dobré to najskôr postaviť na doske s chlebom, pre prípad, že by ste urobili chyby, priložil som schému zapojenia a obrázky krok za krokom, na ktoré sa treba odvolávať.
- Prvým komponentom, ktorý sa má zapojiť, je tento analógovo -digitálny prevodník MCP3008. To môže trvať až 8 analógových vstupov a komunikuje s Raspberry Pi cez SPI. S čipom nahor a polkruhom odrezaným na konci, ktorý je od vás najvzdialenejší, sa kolíky napravo pripájajú k Raspberry Pi. Pripojte ich podľa obrázku. Ak by ste sa chceli dozvedieť niečo viac o tom, ako čip funguje, tu je skvelý sprievodca protokolmi MCP3008 a SPI.
- Piny vľavo sú 8 analógových vstupov, číslovaných 0-7 zhora nadol. Použijeme iba prvé 3 (CH0, CH1, CH2), pre LDR, všeobecný snímač plynu (TGS2600) a snímač teploty (LM35). Najprv zapojte LDR podľa obrázku. Jedna strana k zemi a druhá k 3,3 V cez odpor 2,2 KΩ a CH0.
- Ďalej pripojte „všeobecný snímač plynu“. Tento plynový senzor sa používa na detekciu nečistôt vo vzduchu, ako je vodík a oxid uhoľnatý. Ešte som nespracoval, ako dosiahnuť konkrétne koncentrácie, takže zatiaľ je výsledkom tohto senzora základná percentuálna hladina, kde je 100% úplne nasýtených. So snímačom smerujúcim hore (kolíky na spodnej strane) je kolík priamo napravo od malého výbežku kolík 1 a potom sa čísla okolo kolíka zvyšujú v smere hodinových ručičiek. Piny 1 a 2 sa teda pripájajú k 5 V, kolík 3 sa pripája k CH1 a uzemňuje prostredníctvom odporu 22 KΩ a pin4 sa pripája priamo k zemi.
- Posledným pripojeným analógovým snímačom je snímač teploty LM35. Toto má 3 piny. Vezmite senzor tak, aby bola plochá strana najbližšie k vám, ľavý najviac kolíkový kolík sa pripája priamo na 5 V (na obrázku nie je vyznačený, moje zlé!), Stredový kolík sa pripája k CH2 a pravý pravý kolík sa pripája priamo k zemi. Ľahko!
- Posledným komponentom na pripojenie je snímač vlhkosti DHT22. Jedná sa o digitálny senzor, ktorý je možné pripojiť priamo k Raspberry Pi. Vezmite snímač tak, aby mriežka smerovala k vám a štyri kolíky na spodnej strane. Piny sú zoradené od 1 vľavo. Pripojte 1 až 3,3 V. Pin 2 ide na GPIO4 a 3,3 V cez odpor 10 KΩ. Nechajte kolík 3 odpojený a kolík 4 smeruje priamo na zem.
To je všetko! Testovací obvod bol postavený. Dúfam, že keď budem mať čas, pridám ďalšie komponenty. Naozaj by som rád pridal snímač tlaku, snímač rýchlosti vetra a chcel by som získať inteligentnejšie údaje o koncentráciách plynu.
Krok 3: GSM modul
Teraz, keď boli vybudované snímacie obvody, musí existovať spôsob, ako získať výsledky. Tu prichádza na rad modul GSM. Budeme ho používať na odosielanie výsledkov prostredníctvom mobilnej siete prostredníctvom SMS jedenkrát denne.
GSM modul komunikuje s Raspberry Pi sériovo pomocou UART. Tu je pár skvelých informácií o sériovej komunikácii s Raspberry Pi. Aby sme prevzali kontrolu nad sériovým portom Pi, musíme najskôr urobiť konfiguráciu.
Spustite svoj Raspberry Pi so štandardným obrázkom Raspbian. Teraz zmeňte súbor „/boot/cmdline.txt“z:
"dwc_otg.lpm_enable = 0 konzola = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 konzola = tty1 root =/dev/mmcblk0p2 rootfstype = výťah ext4 = termín rootwait"
komu:
"dwc_otg.lpm_enable = 0 konzola = tty1 root =/dev/mmcblk0p2 rootfstype = výťah ext4 = termín rootwait"
odstránením podčiarknutej časti textu.
Za druhé, musíte upraviť súbor "/etc/inittab" tak, že okomentujete druhý riadok v nasledujúcej časti:
#Stewn getty on Raspberry Pi serial lineT0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100"
Takže to znie:
"#Ukážte getty na sériovej linke Raspberry Pi#T0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100"
a reštartujte počítač Pi. Teraz by mal sériový port voľne komunikovať, ako chcete. Je čas zapojiť modul GSM. Pozrite sa na schému zapojenia v predchádzajúcom kroku a obrázky vyššie, aby ste zistili, ako sa to robí. V zásade je TX pripojený k RX a RX je pripojený k TX. Na Raspberry Pi TX a RX sú GPIO 14 a 15.
Teraz pravdepodobne chcete skontrolovať, či modul funguje, a tak sa pokúsime odoslať textovú správu! Na to si musíte stiahnuť Minicom. Je to program, ktorý vám umožňuje zapisovať na sériový port. Použitie:
"sudo apt-get install minicom"
Hneď po inštalácii je možné minicom otvoriť pomocou nasledujúceho príkazu:
"minicom -b 9600 -o -D /dev /ttyAMA0"
9600 je prenosová rýchlosť a /dev /ttyAMA0 je názov sériového portu Pi. Tým sa otvorí emulátor terminálu, v ktorom sa čokoľvek, čo napíšete, objaví na sériovom porte, t.j. bude odoslané do modulu GSM.
Vložte nabitú sim kartu do modulu GSM a stlačte vypínač. Potom by sa mala rozsvietiť modrá LED dióda. Modul GSM používa sadu príkazov AT. V prípade skutočného záujmu nájdete dokumentáciu. Teraz skontrolujeme, či Raspberry Pi zistil modul pomocou nasledujúceho príkazu:
"AT"
modul by potom mal odpovedať:
"Dobre"
Skvelé! Potom musíme nakonfigurovať modul na odosielanie SMS ako textových a nie binárnych:
"AT+CMGF = 1"
opäť by mala byť odpoveď „OK“. Teraz napíšeme príkaz na odoslanie SMS:
"AT+CMGS =" 44 ************* "" ", nahraďte hviezdičky svojim číslom.
Modem odpovie „>“, potom vám môžete napísať správu. Správu odošlete stlačením. To je všetko a so šťastím ste práve dostali text priamo z vášho Raspberry Pi.
Teraz, keď vieme, že modul GSM funguje, môžete zatvoriť minicom; nebudeme to potrebovať pre zvyšok projektu.
Krok 4: Stiahnite si softvér a spustite na sucho
V tejto fáze by malo byť všetko zapojené a pripravené na test na sucho. Napísal som celkom jednoduchý pythonový program, ktorý bude odčítavať údaje z každého senzora a potom pošle výsledky na váš mobilný telefón. Celý program si môžete stiahnuť zo stránky PiJuice Github. Teraz by tiež mohol byť vhodný čas na testovanie s modulom PiJuice. Jednoducho sa zapojí do GPIO Raspberry Pi, všetky vodiče pripojené k Pi sa zapoja priamo do zodpovedajúcich vývodov na PiJuice. Jednoduché ako Pi. Na stiahnutie kódu použite príkaz:
klon git
Toto je nastavené na odosielanie údajov raz denne. Na testovacie účely to nie je skvelé, takže možno budete chcieť program upraviť. To sa dá ľahko vykonať; stačí otvoriť súbor; „sudo nano weatherstation.py“. V hornej časti je sekcia „Nastaviť oneskorenie“. Okomentujte riadok "oneskorenie = 86400" a zrušte komentár "oneskorenie = 5". Teraz budú výsledky odoslané raz za 5 sekúnd. Budete tiež chcieť zmeniť program tak, aby obsahoval vaše vlastné číslo mobilného telefónu. Nájdite tam, kde je uvedené „+44 **********“, a nahraďte hviezdy svojim číslom.
Pred spustením programu si stačí stiahnuť knižnicu na čítanie snímača vlhkosti DHT22:
klon git
A knižnica musí byť nainštalovaná:
"cd Adafruit_Python_DHT"
"sudo apt-get update"
"sudo apt-get install build-essential python-dev"
"sudo python setup.py install"
Super, teraz si môžete program vyskúšať.
"sudo python weatherstation.py"
Keď program beží, výsledky by mali byť odoslané na váš mobil, ale tiež vytlačené v termináli každých 5 sekúnd.
Krok 5: Vybudujte obvod
Teraz, keď všetko funguje v praxi, je čas postaviť skutočnú vec. Obrázky ukazujú všeobecnú predstavu o tom, ako celá jednotka do seba zapadá. K dispozícii sú dve samostatné bytové jednotky; jeden pre snímací obvod (ktorý bude mať otvory umožňujúce cirkuláciu vzduchu vo vnútri) a jeden pre Raspberry Pi, jednotku GPRS a PiJuice (úplne vodotesný) bude solárny panel zapojený do výpočtovej jednotky s vodotesným spojom. Tieto dve jednotky je potom možné ľahko odpojiť, aby bolo možné odstrániť buď kryt snímača, alebo počítačový kryt bez toho, aby ste museli demontovať celú jednotku. Je to skvelé, ak chcete pridať ďalšie senzory alebo ak potrebujete Raspberry Pi alebo PiJuice na iný projekt.
Budete musieť rozbiť protoboard, aby sa zmestil do menšieho z dvoch spojovacích boxov. Tu je umiestnený snímací obvod. Snímací obvod sa teraz prenesie z doštičky na protoboard. Teraz budete musieť urobiť nejaké spájkovanie. Zaistite si bezpečné používanie spájkovačky. Ak si nie ste istí, požiadajte o pomoc niekoho kompetentného spájkovača.
Veľká vďaka Patrickovi v laboratóriu tu, ktorý ma zachránil pred skutočným hašovaním tohto okruhu. Dokázal to dokopy za pár minút! Ak ako ja nie ste najlepší v stavbe obvodov a nemáte takého génia, ako je Patrick, ktorý vám pomôže, potom môžete obvod vždy nechať na doske, pokiaľ sa zmestí do vašej elektrickej skrinky.
Krok 6: Príprava bytových jednotiek
V tejto časti je skutočne zábava. Možno ste si všimli krúžky na každom políčku. Tieto sú navrhnuté tak, aby boli vyrazené, aby sa škatule mohli stať križovatkami pre elektriku. Použijeme ich na pripojenie medzi snímacou jednotkou a výpočtovou jednotkou, na pripojenie k solárnemu panelu a tiež ako ventiláciu snímacej jednotky na umožnenie cirkulácie vzduchu.
Ako je vidieť na obrázkoch, najskôr v každej škatuľke vyrazte jeden otvor na spojenie medzi nimi. Vyrazenie dier je úhľadné, ale hrubý okraj nevadí. Zistil som, že najlepšou metódou je použiť skrutkovač na prerazenie odsadeného krúžku okolo každého otvoru a potom ho vypáčiť ako viečko od plechu na farbu. Vodotesný káblový konektor sa potom použije na spojenie dvoch boxov.
Potom budete musieť urobiť ďalší otvor v kryte počítača pre drôt solárneho panelu. Do tejto diery sa potom zasunie jedna z vašich poloslepých káblových priechodiek. Pred vložením priechodky do nej prepichnite otvor, cez ktorý bude kábel prechádzať. Ten musí byť čo najmenší, aby bol vodotesný, a potom zatlačte koniec micro USB cez otvor (toto je koniec, ktorý sa pripája k PiJuice).
Nakoniec je potrebné v snímacej jednotke vytvoriť ďalší otvor, ktorý umožní vstup a výstup vzduchu. Rozhodol som sa ísť na celok priamo oproti križovatke medzi dvoma boxmi. Možno bude potrebné pridať druhý otvor. Hádam sa to po nejakom čase dozvieme pomocou meteorologickej stanice.
Krok 7: Zapojenie a dokončenie meteorologickej stanice
Presne, skoro tam. Poslednou fázou je zapojenie všetkého.
Počnúc výpočtovou jednotkou. V tomto boxe máme Raspberry Pi, The PiJuice, ktorý sa pripája k Raspberry Pi GPIO a GSM modul, ktorý sa pripája k GPIO breakoutu na PiJuice pomocou prepojovacích káblov zo zásuvky na zásuvku. Pekné a útulné! V tejto fáze by som pravdepodobne odporučil vložiť nejaký tesniaci krúžok okolo vstupného bodu pre kábel USB pre solárny panel. Nejaký druh živice alebo superglue by pravdepodobne fungoval.
Potom prejdite na snímaciu jednotku. Na fotografii zhora nadol sú drôty; Dátové linky SPI sú sivé, biele, fialové a modré. Čierna je uzemnená, oranžová je 3,3 V, červená je 5 V a zelená je GPIO 4. Na prepojenie týchto káblov budete musieť nájsť prepojovacie vodiče a potom ich previesť cez vodotesný kábel. konektor, ako je vidieť na fotografiách. Potom je možné každý vodič pripojiť k zodpovedajúcemu GPIO a konektor utiahnuť. V tejto fáze je ľahké pochopiť, ako by sa dal dizajn vylepšiť; LDR nebude vystavený veľkému množstvu svetla (aj keď môže byť stále užitočné poznať relatívne hodnoty a vyradenie ďalšej diery môže pomôcť), myslím si, že by bolo lepšie použiť rovnakú veľkosť ako výpočtová jednotka. box pre snímaciu jednotku, potom by bolo jednoduchšie namontovať dosku s plošnými spojmi do krabice a bolo by miesto na hranie s rôznymi usporiadaniami.
Teraz som to dal von do záhrady, ako môžete vidieť na fotografiách. Dúfam, že v najbližších dňoch budem môcť zverejniť aj niektoré výsledky! A ako som už povedal, ak máte nápady na skvelé projekty, dajte mi vedieť!