Sadržaj:

Sunčeva vremenska postaja Raspberry Pi: 7 koraka (sa slikama)
Sunčeva vremenska postaja Raspberry Pi: 7 koraka (sa slikama)

Video: Sunčeva vremenska postaja Raspberry Pi: 7 koraka (sa slikama)

Video: Sunčeva vremenska postaja Raspberry Pi: 7 koraka (sa slikama)
Video: БАНФ ПУТЕВОДИТЕЛЬ 🦌 | 15 Чем заняться в БАНФЕ, Канада 🇨🇦 ⛰️ 2024, Studeni
Anonim
Solarna meteorološka stanica Raspberry Pi
Solarna meteorološka stanica Raspberry Pi
Solarna meteorološka stanica Raspberry Pi
Solarna meteorološka stanica Raspberry Pi
Solarna meteorološka stanica Raspberry Pi
Solarna meteorološka stanica Raspberry Pi
Solarna meteorološka stanica Raspberry Pi
Solarna meteorološka stanica Raspberry Pi

Potaknut završetkom svoja dva prethodna projekta, Compact Camera i Portable Games Console, želio sam pronaći novi izazov. Prirodni napredak bio je vanjski daljinski sustav …

Htio sam izgraditi Raspberry Pi meteorološku stanicu koja se mogla održavati izvan mreže i slati mi rezultate putem bežične veze, s bilo kojeg mjesta! Ovaj je projekt doista imao svoje izazove, ali na sreću napajanje Raspberry Pi -a jedan je od glavnih izazova koji je olakšan upotrebom PiJuice -a kao izvora napajanja s dodatnom solarnom podrškom (zajedno s našom revolucionarnom tehnologijom PiAnywhere - najbolji način da skinite svoj Pi s mreže!).

Moja početna misao je bila koristiti fantastičan AirPi modul za čitanje. To je, međutim, imalo dva glavna nedostatka; za prijenos rezultata potrebna je izravna internetska veza, a potrebno ga je izravno spojiti na GPIO na Pi, što znači da se ne može izlagati zraku bez izlaganja i Raspberry Pi (nije idealno ako želimo da ova vremenska postaja trajati bilo koje vrijeme).

Rješenje … izgraditi vlastiti senzorski modul! Koristeći velik dio AirPija za inspiraciju, uspio sam sastaviti vrlo jednostavan prototip koristeći nekoliko senzora koje sam već imao; temperatura, vlaga, razina svjetlosti i opći plinovi. I sjajna stvar u vezi s ovim je što je doista lako dodati više senzora u bilo kojem trenutku.

Odlučio sam se za upotrebu Raspberry Pi a+ uglavnom zbog niske potrošnje energije. Za slanje rezultata koristio sam EFCom Pro GPRS/GSM modul, koji može poslati rezultate ravno na moj mobitel s rezultatima! Prilično uredno zar ne?

Drago mi je što imate bilo kakve ideje za druge sjajne solarne ili prijenosne projekte. Javite mi u komentarima i dat ću sve od sebe da napravim vodič!

Korak 1: Dijelovi

Dijelovi
Dijelovi

1 x PiJuice + solarna ploča (zajedno s našom revolucionarnom tehnologijom PiAnywhere - najbolji način da svoj Pi izvadite iz mreže!)

1 x Malina Pi a+

1 x EFCom Pro GPRS/GSM modul

1 x SIM kartica

1 x Daska za kruh

Protoboard

1 x MCP3008 ADC

1 x LDR

1 x LM35 (senzor temperature)

1 x DHT22 (osjetnik vlage)

1 x TGS2600 Opći senzor kvalitete zraka

1 x 2,2 KΩ otpornik

1 x 22 KΩ otpornik

1 x 10 KΩ otpornik

10 x Ženski - Žice za kratkospojnike

Asortiman žice s jednim kolosijekom

1 x Jednostruka vanjska razvodna kutija

1 x dvostruka vanjska razvodna kutija

1 x vodootporni kabelski priključak

2 x 20 mm polu slijepe kabelske uvodnice

Korak 2: Krug osjetljivosti

Senzorski krug
Senzorski krug
Senzorski krug
Senzorski krug
Senzorski krug
Senzorski krug

Ovaj projekt ima dosta različitih elemenata, pa je najbolje da sve radite u koracima. Prije svega ću proći kako sastaviti krug osjetnika.

Bilo bi dobro da ovo prvo napravite na ploči za kruh, samo u slučaju da pogriješite, uključio sam dijagram kruga i slike korak po korak na koje se možemo pozvati.

  1. Prva komponenta za povezivanje je ovaj analogno -digitalni pretvarač MCP3008. To može uzeti do 8 analognih ulaza i komunicira s Raspberry Pi putem SPI -ja. S čipom okrenutim prema gore i polukrugom odrezanim na kraju najudaljenijem od vas, pinovi s desne strane spajaju se na Raspberry Pi. Spojite ih kako je prikazano. Ako želite saznati nešto više o tome kako čip radi, evo odličnog vodiča za MCP3008 i SPI protokol.
  2. Igle na lijevoj strani su 8 analognih ulaza, numeriranih 0-7 odozgo prema dolje. Koristit ćemo samo prva 3 (CH0, CH1, CH2), za LDR, opći senzor plina (TGS2600) i osjetnik temperature (LM35). Najprije spojite LDR kako je prikazano na dijagramu. Jedna strana na masu, a druga na 3.3V preko 2.2KΩ otpornika i CH0.
  3. Zatim spojite "opći senzor plina". Ovaj senzor plina koristi se za otkrivanje onečišćenja zraka poput vodika i ugljičnog monoksida. Još nisam smislio kako doći do određenih koncentracija, pa je za sada rezultat ovog senzora osnovna postotna razina, gdje je 100% potpuno zasićeno. Sa senzorom okrenutim prema gore (pinovi na donjoj strani), klin izravno desno od male izbočine je pin 1, a zatim se brojevi povećavaju oko kazaljke na satu. Dakle, pinovi 1 i 2 spajaju se na 5V, pin 3 se spaja na CH1 i uzemljuje preko 22KΩ otpornika, a pin4 se spaja ravno na masu.
  4. Posljednji analogni senzor za povezivanje je osjetnik temperature LM35. Ovo ima 3 igle. Uzmite senzor tako da vam je ravna strana najbliža, krajnji lijevi pin se spaja ravno na 5V (nije označeno na dijagramu, moja greška!), Središnji pin se spaja na CH2, a krajnji desni pin ravno na masu. Lako!
  5. Posljednja komponenta za povezivanje je DHT22 osjetnik vlage. Ovo je digitalni senzor pa se može spojiti izravno na Raspberry Pi. Uzmite senzor s rešetkom okrenutom prema vama i četiri igle na donjoj strani. Igle su poredane od 1 s lijeve strane. Priključite 1 na 3,3 V. Pin 2 ide na GPIO4 i 3.3V preko 10KΩ otpornika. Ostavite iglu 3 isključenu i pin 4 ide ravno na masu.

To je to! Ispitni krug je izgrađen. Nadam se da ću dodati još komponenti kad budem imao vremena. Zaista bih želio dodati senzor tlaka, senzor brzine vjetra i želio bih dobiti inteligentnije podatke o koncentracijama plina.

Korak 3: GSM modul

GSM modul
GSM modul
GSM modul
GSM modul

Sada kada su krugovi osjetljivosti izgrađeni, mora postojati način primanja rezultata. Tu dolazi GSM modul. Koristit ćemo ga za slanje rezultata putem mobilne mreže putem SMS -a, jednom dnevno.

GSM modul komunicira s Raspberry Pi serijskim putem pomoću UART -a. Evo nekoliko sjajnih informacija o serijskoj komunikaciji s Raspberry Pi. Da bismo preuzeli kontrolu nad Pi -jevim serijskim portom, moramo prvo napraviti određenu konfiguraciju.

Pokrenite svoj Raspberry Pi sa standardnom Raspbian slikom. Sada promijenite datoteku "/boot/cmdline.txt" iz:

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

do:

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

uklanjanjem podcrtanog dijela teksta.

Drugo, morate urediti datoteku "/etc/inittab", komentirajući drugi redak u sljedećem odjeljku:

#Spawn a getty na Raspberry Pi serijskoj linijiT0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100"

Tako da glasi:

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

i ponovno pokrenite Pi. Sada bi serijski port trebao biti slobodan za komunikaciju s vama kako želite. Vrijeme je za povezivanje GSM modula. Pogledajte dijagram sklopa u prethodnom koraku i gornje slike kako biste vidjeli kako se to radi. U osnovi, TX je spojen na RX, a RX je spojen na TX. Na Raspberry Pi TX i RX su GPIO 14 odnosno 15.

Vjerojatno želite provjeriti radi li modul, pa pokušajmo poslati tekst! Za to morate preuzeti Minicom. To je program koji vam omogućuje pisanje na serijski port. Koristiti:

"sudo apt-get install minicom"

Nakon što se instalira, minicom se može otvoriti sljedećom naredbom:

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

9600 je brzina prijenosa podataka i /dev /ttyAMA0 je naziv Pi-jevog serijskog porta. Ovo će otvoriti emulator terminala u kojem će se sve što napišete pojaviti na serijskom portu, tj. Biti poslano na GSM modul.

Umetnite svoju dopunjenu SIM karticu u GSM modul i pritisnite gumb za uključivanje. Nakon toga bi se trebala upaliti plava LED dioda. GSM modul koristi AT naredbu, evo dokumentacije ako vas zaista zanima. Sada provjeravamo je li Raspberry Pi otkrio modul sljedećom naredbom:

"NA"

modul bi tada trebao odgovoriti sa:

"U REDU"

Sjajno! Zatim moramo konfigurirati modul da šalje SMS kao tekst, a ne binarno:

"AT+CMGF = 1"

opet bi odgovor trebao biti "OK". Sada pišemo naredbu za slanje SMS -a:

"AT+CMGS =" 44 ************* "", zamijenite zvjezdice svojim brojem.

Modem s odgovorom sa ">" nakon čega vam može napisati poruku. Za slanje poruke pritisnite. To je to, i uz malo sreće upravo ste primili tekst izravno s vašeg Raspberry Pi.

Pa sad kad znamo da GSM modul radi, možete zatvoriti minicom; neće nam trebati za ostatak projekta.

Korak 4: Preuzmite softver i suho pokretanje

Preuzmite softver i suho pokretanje
Preuzmite softver i suho pokretanje
Preuzmite softver i suho pokretanje
Preuzmite softver i suho pokretanje

Do ove faze sve bi trebalo biti ožičeno i spremno za testiranje na suho. Napisao sam prilično jednostavan python program koji će uzeti očitanja sa svakog senzora, a zatim poslati rezultate na vaš mobilni telefon. Cijeli program možete preuzeti sa stranice PiJuice Github. Sada bi također moglo biti dobro vrijeme za testiranje s modulom PiJuice. Jednostavno se priključuje na GPIO Raspberry Pi, sve žice spojene na Pi jednostavno se spajaju ravno u odgovarajuće utičnice na PiJuice. Lako kao Pi. Za preuzimanje koda koristite naredbu:

git clone

Ovo je postavljeno za slanje podataka jednom dnevno. Za potrebe testiranja ovo nije sjajno pa biste mogli htjeti urediti program. To se lako čini; samo otvorite datoteku; "sudo nano weatherstation.py". Pri vrhu se nalazi odjeljak "postavljeno kašnjenje". Komentirajte redak "delay = 86400" i uklonite komentar "delay = 5". Sada će se rezultati slati svakih 5 sekundi. Također ćete htjeti promijeniti program tako da sadrži vaš vlastiti broj mobitela. Pronađite gdje piše "+44 **********" i zamijenite zvjezdice vlastitim brojem.

Prije pokretanja programa samo trebate preuzeti biblioteku za čitanje senzora vlažnosti DHT22:

git klon

Knjižnicu je potrebno instalirati:

"cd Adafruit_Python_DHT"

"sudo apt-get update"

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

"sudo python setup.py install"

Super, sada možete isprobati program.

"sudo python weatherstation.py"

Dok program radi, rezultati se trebaju slati na vaš mobilni telefon, ali i ispisivati u terminalu svakih 5 sekundi.

Korak 5: Izgradite krug

Izgradite krug
Izgradite krug
Izgradite krug
Izgradite krug
Izgradite krug
Izgradite krug

Sada kad sve funkcionira u praksi, vrijeme je za izgradnju prave stvari. Slike prikazuju opću ideju o tome kako se cijela jedinica uklapa. Postoje dvije zasebne stambene jedinice; jedan za krug osjetnika (koji će imati rupe za omogućavanje cirkulacije zraka unutra) i jedan za Raspberry Pi, GPRS jedinicu i PiJuice, (potpuno vodonepropusan) solarna ploča bit će ožičena u računalnu jedinicu s vodonepropusnim spojem. Dvije jedinice tada se mogu lako odvojiti tako da se kućište senzora ili računalo mogu ukloniti bez skidanja cijele jedinice. Ovo je sjajno ako želite dodati još senzora ili ako trebate svoj Raspberry Pi ili PiJuice za neki drugi projekt.

Morat ćete razbiti protoboard kako bi stao u manju od dvije razvodne kutije. Ovdje je smješten krug osjetljivosti. Krug sensinga sada se prenosi s matične ploče na protoboard. Sada ćete morati napraviti malo lemljenja. Provjerite jeste li sigurni da sigurno koristite lemilicu. Ako niste sigurni, zatražite pomoć nekoga tko je kompetentan vojnik.

Veliko hvala Patricku u laboratoriju ovdje, koji me spasio od stvaranja pravog raspršenja ovog kruga. Uspio je to složiti u nekoliko minuta! Ako, poput mene, niste najbolji građevinski krug, a nemate genija poput Patricka spremnog da vam pomogne, tada biste krug uvijek mogli ostaviti na ploči, sve dok stane u vašu električnu kutiju.

Korak 6: Priprema stambenih jedinica

Priprema stambenih jedinica
Priprema stambenih jedinica
Priprema stambenih jedinica
Priprema stambenih jedinica
Priprema stambenih jedinica
Priprema stambenih jedinica

Ovaj dio postaje stvarno zabavan. Možda ste primijetili prstenove na svakoj kutiji. Dizajnirani su tako da se izbace tako da kutije mogu postati spojevi za elektriku. Koristit ćemo ih za povezivanje između osjetne jedinice i računalne jedinice, za spajanje na solarnu ploču, a također i kao ventilaciju senzorske jedinice za omogućavanje cirkulacije zraka.

Prvo izbušite jednu rupu na svakoj kutiji za povezivanje između njih, kao što se vidi na slikama. Izbijanje rupa može biti teško učiniti uredno, ali hrapav rub nije bitan. Otkrio sam da je najbolja metoda upotrijebiti odvijač za prvo probijanje uvučenog prstena oko svake rupe, a zatim ga odvojiti poput poklopca kalaja za boju. Konektor vodonepropusnog kabela tada se koristi za spajanje dvije kutije.

Zatim ćete morati napraviti još jednu rupu u računarskom kućištu za žicu solarne ploče. Ova rupa se zatim začepljuje jednom od vaših polu slijepih kabelskih uvodnica. Prije nego umetnete držač u njega, probušite rupu kroz koju će proći kabel. To mora biti što je moguće manje kako bi bilo vodonepropusno, a zatim gurnite kraj mikro usb -a kroz rupu (ovo je kraj koji se spaja na PiJuice).

Konačno, potrebno je napraviti dodatnu rupu u osjetnoj jedinici kako bi se omogućio ulaz i izlaz zraka. Odlučio sam otići na whol točno nasuprot spoja između dvije kutije. Možda će biti potrebno dodati drugu rupu. Pretpostavljam da ćemo to saznati nakon nekog vremena pomoću meteorološke postaje.

Korak 7: Ožičenje i dovršetak meteorološke postaje

Ožičenje i završetak meteorološke postaje
Ožičenje i završetak meteorološke postaje
Ožičenje i završetak meteorološke postaje
Ožičenje i završetak meteorološke postaje
Ožičenje i završetak meteorološke postaje
Ožičenje i završetak meteorološke postaje

Točno, skoro tu. Posljednja faza je povezivanje svega.

Počevši od računalne jedinice. U ovom okviru imamo Raspberry Pi, PiJuice koji se spaja na Raspberry Pi GPIO i GSM modul koji se spaja u GPIO prekid na PiJuice preko žica za ženski spoj na ženu. Lijepo i udobno! u ovoj fazi vjerojatno bih savjetovao da postavite neku vrstu brtvila oko ulazne točke za USB kabel za solarnu ploču. Neka vrsta smole ili super ljepila vjerojatno bi uspjela.

Zatim prijeđite na osjetnu jedinicu. Na fotografiji, od vrha do dna, žice su; siva, bijela, ljubičasta i plava su SPI podatkovne linije, crna je uzemljena, narančasta je 3,3 V, crvena je 5 V, a zelena je GPIO 4. Morat ćete pronaći kratkospojne žice za spajanje na njih, a zatim ih provesti kroz vodootporni kabel konektor kako se vidi na fotografijama. Zatim se svaka žica može spojiti na odgovarajući GPIO i konektor se može zategnuti. U ovoj je fazi lako vidjeti kako bi se dizajn mogao poboljšati; LDR neće biti izložen velikoj svjetlosti (iako bi ipak moglo biti korisno znati relativne vrijednosti, a izbacivanje dodatne rupe moglo bi pomoći), mislim da bi bilo bolje koristiti istu veličinu kao i računalna jedinica kutiju za senzorsku jedinicu, tada bi bilo lakše ugraditi pločicu u kutiju i bilo bi mjesta za igru s različitim rasporedima.

Sad sam ga stavio u vrt, kao što možete vidjeti na fotografijama. Nadam se da ću u sljedećih nekoliko dana moći objaviti i neke rezultate! I kao što sam rekao ranije, ako imate bilo kakvih ideja za neke super projekte, javite mi!

Preporučeni: