Cuprins:

Stație meteo solară Raspberry Pi: 7 pași (cu imagini)
Stație meteo solară Raspberry Pi: 7 pași (cu imagini)

Video: Stație meteo solară Raspberry Pi: 7 pași (cu imagini)

Video: Stație meteo solară Raspberry Pi: 7 pași (cu imagini)
Video: Testing My Weather Station #shorts 2024, Noiembrie
Anonim
Stația meteo solară Raspberry Pi
Stația meteo solară Raspberry Pi
Stația meteo solară Raspberry Pi
Stația meteo solară Raspberry Pi
Stația meteo solară Raspberry Pi
Stația meteo solară Raspberry Pi
Stația meteo solară Raspberry Pi
Stația meteo solară Raspberry Pi

Încurajat de finalizarea celor două proiecte anterioare, camera compactă și consola de jocuri portabile, am vrut să găsesc o nouă provocare. Progresia naturală a fost un sistem de la distanță în aer liber …

Am vrut să construiesc o stație meteo Raspberry Pi care să poată să se mențină în afara rețelei și să-mi trimită rezultatele printr-o conexiune wireless, de oriunde! Acest proiect a avut cu adevărat provocările sale, dar, din fericire, alimentarea Raspberry Pi este una dintre principalele provocări care a fost ușurată prin utilizarea PiJuice ca sursă de alimentare cu suportul solar adăugat (complet cu tehnologia noastră revoluționară PiAnywhere - cel mai bun mod de a scoate-ți Pi-ul de pe grilă!).

Gândul meu inițial a fost să folosesc modulul fantastic AirPi pentru a face lecturi. Cu toate acestea, aceasta avea două dezavantaje principale; necesită o conexiune directă la internet pentru a încărca rezultatele și trebuie să fie conectat direct la GPIO pe Pi, ceea ce înseamnă că nu poate fi expus la aer fără a expune și Raspberry Pi (nu este ideal dacă vrem ca această stație meteo să durează orice perioadă de timp).

Soluția … construiește-mi propriul modul de detectare! Folosind o mare parte din AirPi pentru inspirație, am reușit să realizez un prototip foarte simplu folosind câțiva senzori pe care îi aveam deja; temperatura, umiditatea, nivelurile de lumină și gazele generale. Și cel mai bun lucru în acest sens este că este foarte ușor să adăugați mai mulți senzori oricând.

Am decis să folosesc un Raspberry Pi a + în principal datorită consumului său redus de energie. Pentru a-mi trimite rezultatele am folosit modulul EFCom Pro GPRS / GSM, care poate trimite un text direct pe telefonul meu mobil cu rezultatele! Destul de îngrijit nu?

Mă bucur să vă prezent orice idei aveți pentru alte proiecte solare sau portabile. Anunțați-mă în comentarii și voi face tot posibilul pentru a crea un tutorial!

Pasul 1: Piese

Părți
Părți

1 x Panou solar PiJuice + (complet cu tehnologia noastră revoluționară PiAnywhere - cel mai bun mod de a scoate Pi din rețea!)

1 x Raspberry Pi a +

1 x modul EFCom Pro GPRS / GSM

1 x card Sim

1 x panou de pâine

Protoboard

1 x MCP3008 ADC

1 x LDR

1 x LM35 (senzor de temperatură)

1 x DHT22 (senzor de umiditate)

1 x senzor general pentru calitatea aerului TGS2600

1 x rezistor de 2,2 KΩ

1 x rezistor de 22 KΩ

1 rezistor de 10 KΩ

10 x Femei - fire jumper feminin

Sortiment de sârmă cu un singur ecartament

1 x cutie de joncțiune în aer liber

1 x cutie dublă de joncțiune în aer liber

1 x conector de cablu impermeabil

2 bucșe de cablu semi-orb de 20 mm

Pasul 2: Circuit de detectare

Circuit de detectare
Circuit de detectare
Circuit de detectare
Circuit de detectare
Circuit de detectare
Circuit de detectare

Există destul de multe elemente diferite la acest proiect, deci este mai bine să faci totul în etape. În primul rând, voi parcurge modul de montare a circuitului de detectare.

Este o idee bună să construiți mai întâi acest lucru pe o placă, doar în cazul în care comiteți greșeli, am inclus o schemă de circuite și imagini pas cu pas, la care să faceți referire.

  1. Prima componentă care se conectează este acest convertor analogic digital MCP3008. Acest lucru poate dura până la 8 intrări analogice și comunică cu Raspberry Pi prin SPI. Cu cipul orientat în sus și semicercul tăiat la capătul cel mai îndepărtat de tine, pinii din dreapta se conectează la Raspberry Pi. Conectați-le așa cum se arată. Dacă doriți să aflați mai multe despre cum funcționează cipul, iată un ghid excelent pentru MCP3008 și protocolul SPI.
  2. Pinii din stânga sunt cele 8 intrări analogice, numerotate 0-7 de sus în jos. Vom folosi doar primele 3 (CH0, CH1, CH2), pentru LDR, senzorul general de gaz (TGS2600) și senzorul de temperatură (LM35). Mai întâi conectați LDR așa cum se arată în diagramă. O parte la masă și cealaltă la 3,3 V printr-un rezistor de 2,2 KΩ și CH0.
  3. Apoi, conectați „senzorul general de gaz”. Acest senzor de gaz este utilizat pentru detectarea contaminanților din aer, cum ar fi hidrogenul și monoxidul de carbon. Nu am aflat încă cum să obțin concentrații specifice, așa că pentru moment rezultatul acestui senzor este un nivel procentual de bază, unde 100% este complet saturat. Cu senzorul orientat în sus (știfturile de pe partea inferioară), știftul direct din dreapta aflorimentului mic este știftul 1 și apoi numerele cresc în sensul acelor de ceasornic în jurul știftului. Deci pinii 1 și 2 se conectează la 5V, pinul 3 se conectează la CH1 și la masă printr-un rezistor de 22KΩ, iar pinul 4 se conectează direct la masă.
  4. Senzorul analogic final de conectat este senzorul de temperatură LM35. Acesta are 3 pini. Luați senzorul astfel încât partea plană să fie cea mai apropiată de dvs., pinul cel mai stâng se conectează direct la 5V (nu este marcat pe diagramă, rău!), Pinul central se conectează la CH2 și pinul cel mai drept se conectează direct la sol. Uşor!
  5. Ultima componentă care se conectează este senzorul de umiditate DHT22. Acesta este un senzor digital, deci poate fi conectat direct la Raspberry Pi. Luați senzorul cu grila orientată spre dvs. și cu cei patru pini de pe partea inferioară. Pinii sunt comandați de la 1 în stânga. Conectați 1 la 3,3V. Pinul 2 trece la GPIO4 și 3.3V printr-un rezistor de 10KΩ. Lăsați pinul 3 deconectat și pinul 4 merge direct la sol.

Asta e! Circuitul de testare a fost construit. Sper să adăug mai multe componente când am timp. Mi-ar plăcea cu adevărat să adaug un senzor de presiune, un senzor de viteză a vântului și aș dori să obțin date mai inteligente despre concentrațiile de gaz.

Pasul 3: Modul GSM

Modul GSM
Modul GSM
Modul GSM
Modul GSM

Acum că circuitele de detectare au fost construite, trebuie să existe o modalitate de a primi rezultatele. Aici intervine modulul GSM. O vom folosi pentru a trimite rezultatele prin rețeaua celulară într-un SMS, o dată pe zi.

Modulul GSM comunică cu Raspberry Pi prin serial utilizând UART. Iată câteva informații minunate despre comunicarea în serie cu Raspberry Pi. Pentru a prelua controlul portului serial al lui Pi, trebuie să facem mai întâi o anumită configurație.

Porniți Raspberry Pi cu o imagine Raspbian standard. Acum schimbați fișierul „/boot/cmdline.txt” din:

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

la:

"dwc_otg.lpm_enable = 0 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = deadline rootwait"

prin eliminarea secțiunii subliniate a textului.

În al doilea rând, trebuie să editați fișierul „/ etc / inittab”, comentând a doua linie în următoarea secțiune:

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

Pentru a citi:

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

și reporniți Pi. Acum, portul serial ar trebui să fie liber să comunice după cum doriți. Este timpul să conectați modulul GSM. Aruncați o privire la schema circuitului din pasul anterior și a imaginilor de mai sus pentru a vedea cum se face acest lucru. Practic, TX este conectat la RX și RX este conectat la TX. Pe Raspberry Pi TX și RX sunt GPIO 14 și respectiv 15.

Acum, probabil că doriți să verificați dacă modulul funcționează, deci să încercăm să trimiteți un text! Pentru aceasta trebuie să descărcați Minicom. Este un program care vă permite să scrieți pe portul serial. Utilizare:

"sudo apt-get install minicom"

Odată ce a fost instalat, minicom poate fi deschis cu următoarea comandă:

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

9600 este baud-rate și / dev / ttyAMA0 este numele portului serial al Pi. Aceasta va deschide un emulator de terminal în care orice scrieți va apărea pe portul serial, adică va fi trimis la modulul GSM.

Introduceți cartela SIM completată în modulul GSM și apăsați butonul de alimentare. După care ar trebui să apară un led albastru. Modulul GSM utilizează setul de comenzi AT, iată documentația dacă sunteți cu adevărat interesat. Acum verificăm dacă Raspberry Pi a detectat modulul cu următoarea comandă:

"LA"

modulul ar trebui apoi să răspundă cu:

"BINE"

Grozav! Apoi, trebuie să configurăm modulul pentru a trimite un SMS ca text, nu ca binar:

„AT + CMGF = 1”

din nou, răspunsul ar trebui să fie „OK”. Acum scriem comanda pentru a trimite un SMS:

"AT + CMGS =" 44 ************* "", înlocuiți stelele cu numărul dvs.

Modemul cu răspunsul cu ">" după care vă puteți scrie mesajul. Pentru a trimite mesajul, apăsați. Gata, și cu noroc tocmai ați primit un text direct de la Raspberry Pi.

Acum, că știm că modulul GSM funcționează, puteți închide minicom; nu vom avea nevoie de el pentru restul proiectului.

Pasul 4: Descărcați software-ul și executați secțiunea

Descărcați software-ul și Dry Run
Descărcați software-ul și Dry Run
Descărcați software-ul și Dry Run
Descărcați software-ul și Dry Run

În această etapă, totul ar trebui să fie conectat și gata de testat pentru o alergare uscată. Am scris un program Python destul de simplu, care va prelua citiri de la fiecare senzor și apoi va trimite rezultatele pe telefonul dvs. mobil. Puteți descărca întregul program de pe pagina PiJuice Github. Acum ar putea fi, de asemenea, un moment bun pentru a testa cu modulul PiJuice. Se conectează doar la GPIO-ul Raspberry Pi, toate firele conectate la Pi se conectează direct la ieșirile de pin corespunzătoare de pe PiJuice. Ușor ca Pi. Pentru a descărca codul utilizați comanda:

„git clone

Aceasta este configurată pentru a trimite date o dată pe zi. În scopuri de testare, acest lucru nu este grozav, deci este posibil să doriți să editați programul. Acest lucru se face cu ușurință; doar deschideți fișierul; „sudo nano weatherstation.py”. Aproape de vârf există o secțiune „set întârziere”. Comentează rândul „întârziere = 86400” și anulează comentariul „întârziere = 5”. Acum rezultatele vor fi trimise o dată la 5 secunde. De asemenea, veți dori să modificați programul, astfel încât acesta să conțină propriul număr de telefon mobil. Găsiți unde scrie „+44 **********” și înlocuiți stelele cu propriul număr.

Înainte de a rula programul, va trebui doar să descărcați o bibliotecă pentru citirea senzorului de umiditate DHT22:

„git clone

Și biblioteca trebuie instalată:

"cd Adafruit_Python_DHT"

"sudo apt-get update"

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

"sudo python setup.py install"

Super, acum puteți testa programul.

„sudo python weatherstation.py”

Pe măsură ce programul rulează, rezultatele ar trebui trimise pe telefonul mobil, dar și tipărite în terminal la fiecare 5 secunde.

Pasul 5: Construiți circuitul

Construiește circuitul
Construiește circuitul
Construiește circuitul
Construiește circuitul
Construiește circuitul
Construiește circuitul

Acum, că totul funcționează în practică, este timpul să construim adevăratul lucru. Imaginile arată ideea generală a modului în care întreaga unitate se potrivește. Există două unități de locuit separate; unul pentru circuitul de detectare (care va avea găuri pentru a permite aerului să circule în interior) și unul pentru Raspberry Pi, unitatea GPRS și PiJuice, (complet etanș), panoul solar va fi conectat la unitatea de calcul cu o joncțiune etanșă la apă. Cele două unități pot fi apoi detașate cu ușurință, astfel încât fie carcasa senzorului, fie carcasa de calcul pot fi îndepărtate fără a fi nevoie să scoateți întreaga unitate. Acest lucru este minunat dacă doriți să adăugați mai mulți senzori sau dacă aveți nevoie de Raspberry Pi sau PiJuice pentru un alt proiect.

Va trebui să spargeți placa de protecție pentru a se încadra în cea mai mică dintre cele două cutii de joncțiune. Aici este amplasat circuitul de detectare. Circuitul de detectare este acum transferat de la panoul de protecție la protoboard. Acum va trebui să faceți ceva lipire. Asigurați-vă că sunteți confortabil cu utilizarea unui fier de lipit în siguranță. Dacă nu sunteți sigur, atunci cereți ajutorul cuiva care este un lipitor competent.

Multe mulțumiri lui Patrick în laboratorul de aici, care m-a salvat de la realizarea unui adevărat hash al acestui circuit. A reușit să-l bată în câteva minute! Dacă, la fel ca mine, nu ești cel mai bun circuit de construcție și nu ai un geniu ca Patrick gata să te ajute, atunci ai putea lăsa întotdeauna circuitul pe o placă de măsurare, atâta timp cât se potrivește în cutia ta electrică.

Pasul 6: Pregătirea unităților locative

Pregătirea unităților locative
Pregătirea unităților locative
Pregătirea unităților locative
Pregătirea unităților locative
Pregătirea unităților locative
Pregătirea unităților locative

Această parte devine foarte distractivă. Este posibil să fi observat inelele de pe fiecare cutie. Acestea sunt concepute pentru a fi scoase la gol, astfel încât cutiile să poată deveni joncțiuni pentru electricitate. Le vom folosi pentru a conecta între unitatea de detectare și unitatea de calcul, pentru conectarea la panoul solar și, de asemenea, ca ventilație pentru unitatea de detectare pentru a permite circulația aerului.

Mai întâi scoateți o gaură pe fiecare cutie pentru conexiunea dintre cele două, așa cum se vede în imagini. Eliminarea găurilor poate fi dificil de realizat, dar o margine aspră nu contează. Am găsit că cea mai bună metodă este să folosesc o șurubelniță pentru a străpunge mai întâi inelul îndoit în jurul fiecărei găuri și apoi să-l scoateți ca un capac de tablă de vopsea. Conectorul impermeabil al cablului este apoi utilizat pentru a conecta cele două cutii.

Apoi, va trebui să faceți o altă gaură în carcasa de calcul pentru firul panoului solar. Această gaură este apoi conectată cu unul dintre manșoanele de cablu semi-orb. Înainte de a pune capătul, găuriți o gaură în el pentru a trece cablul. Acest lucru trebuie să fie cât mai mic posibil pentru ao menține etanș la apă, apoi împingeți capătul micro USB prin gaură (acesta este capătul care se conectează la PiJuice).

În cele din urmă, trebuie făcută o gaură suplimentară în unitatea de detectare pentru a permite aerului să intre și să iasă. M-am hotărât să merg pentru întregul opus joncțiunii dintre cele două cutii. Poate fi necesar să adăugați o a doua gaură. Cred că vom afla după ceva timp folosind stația meteo.

Pasul 7: Cablarea și finalizarea stației meteo

Cablarea și finalizarea stației meteo
Cablarea și finalizarea stației meteo
Cablarea și finalizarea stației meteo
Cablarea și finalizarea stației meteo
Cablarea și finalizarea stației meteo
Cablarea și finalizarea stației meteo

Corect, aproape acolo. Etapa finală este de a conecta totul.

Începând cu unitatea de calcul. În această casetă avem Raspberry Pi, PiJuice care se conectează la Raspberry Pi GPIO și modulul GSM care se conectează la breakout-ul GPIO de pe PiJuice prin cabluri jumper feminin. Frumos și confortabil! în acest stadiu, probabil aș sfătui să puneți un fel de sigilant în jurul punctului de intrare pentru cablul USB pentru panoul solar. Un fel de rășină sau superglue ar funcționa probabil.

Apoi treceți pe unitatea de detectare. În fotografie, de sus în jos, firele sunt; gri, alb, violet și albastru sunt liniile de date SPI, negru este măcinat, portocaliu este 3,3V, roșu este 5V și verde este GPIO 4. Va trebui să găsiți fire jumper pentru a vă conecta la acestea și apoi să le alimentați prin cablul impermeabil conector așa cum se vede în fotografii. Apoi, fiecare fir poate fi conectat la GPIO corespunzător și conectorul poate fi strâns. În această etapă este ușor de văzut cum ar putea fi îmbunătățit designul; LDR nu va fi expus la o cantitate mare de lumină (deși poate fi utilă pentru a cunoaște valorile relative, iar eliminarea unei găuri suplimentare ar putea ajuta), cred că ar fi mai bine să folosiți aceeași dimensiune ca unitatea de calcul cutie pentru unitatea de detectare, de asemenea, atunci ar fi mai ușor să montați placa de circuit în cutie și ar fi loc să se joace cu diferite aranjamente.

Am pus-o acum în grădină, după cum puteți vedea în fotografii. Sperăm că în următoarele câteva zile voi putea posta și câteva rezultate! Și, așa cum am spus mai devreme, dacă aveți idei pentru unele proiecte interesante, anunțați-mă!

Recomandat: