Sadržaj:

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

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

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

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

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 projekt je zaista 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 postavljanje rezultata potrebna je izravna internetska veza, a potrebno ga je povezati izravno na GPIO na Pi -u, što znači da se ne može izlagati zraku bez izlaganja Raspberry Pi -u (nije idealno ako želimo da ova vremenska stanica trajati bilo koje vreme).

Rješenje … izgraditi vlastiti senzorski modul! Koristeći veći dio AirPi -a za inspiraciju, uspio sam sastaviti vrlo jednostavan prototip koristeći nekoliko senzora koje sam već imao; temperature, vlažnosti, nivoa svjetlosti i općih plinova. I odlična stvar u vezi s ovim je što je zaista lako dodati više senzora u bilo koje vrijeme.

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 sa rezultatima može poslati tekst ravno na moj mobilni telefon! Prilično uredno zar ne?

Drago mi je što ovdje imate bilo kakve ideje za druge sjajne solarne ili prijenosne projekte. Javite mi u komentarima i potrudit ću se da napravim vodič!

Korak 1: Dijelovi

Delovi
Delovi

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

1 x Raspberry Pi a+

1 x EFCom Pro GPRS/GSM modul

1 x SIM kartica

1 x ploča za hleb

Protoboard

1 x MCP3008 ADC

1 x LDR

1 x LM35 (senzor temperature)

1 x DHT22 (senzor vlažnosti)

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 - ženski kratkospojnici

Asortiman jednožilne žice

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: Sensing Circuit

Sensing Circuit
Sensing Circuit
Sensing Circuit
Sensing Circuit
Sensing Circuit
Sensing Circuit

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

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

  1. Prva komponenta za povezivanje je ovaj analogno -digitalni pretvarač MCP3008. Ovo može uzeti do 8 analognih ulaza i komunicira sa Raspberry Pi preko SPI. S čipom prema gore i polukrugom odrezanim na kraju najudaljenije od vas, pinovi s desne strane spajaju se na Raspberry Pi. Povežite ih kao što 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 temperaturni senzor (LM35). Prvo 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 zagađivača zraka poput vodika i ugljičnog monoksida. Još nisam smislio kako doći do određenih koncentracija, pa je za sada rezultat ovog senzora osnovni postotak, gdje je 100% potpuno zasićeno. Sa senzorom okrenutim prema gore (pinovi na donjoj strani), pin direktno s desne strane male izbočine je pin 1, a zatim se brojevi povećavaju oko kazaljke na satu. Tako se pinovi 1 i 2 spajaju 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 LM35 osjetnik temperature. 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. Polako!
  5. Zadnja komponenta za povezivanje je DHT22 osjetnik vlage. Ovo je digitalni senzor pa se može spojiti direktno na Raspberry Pi. Uzmite senzor s rešetkom okrenutom prema vama i četiri igle na donjoj strani. Igle su naručene sa 1 s lijeve strane. Priključite 1 na 3.3V. 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! Testni krug je izgrađen. Nadam se da ću dodati još komponenti kad budem imao vremena. Zaista bih želio dodati senzor pritiska, 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 senzorski krugovi 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 serijski putem UART -a. Evo nekoliko sjajnih informacija o serijskoj komunikaciji s Raspberry Pi. Da bismo preuzeli kontrolu nad Pi -jevim serijskim portom, moramo prvo izvršiti 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 konzola = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 lift = rok rootwait"

uklanjanjem podcrtanog dijela teksta.

Drugo, morate urediti datoteku "/etc/inittab", komentarišući drugi red 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 ponovo pokrenite Pi. Sada bi serijski port trebao biti slobodan za komunikaciju s vama kako želite. Vrijeme je za povezivanje GSM modula. Pogledajte dijagram kola u prethodnom koraku i gornje slike da vidite 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ćava pisanje na serijski port. Upotreba:

"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, odnosno biti poslano na GSM modul.

Umetnite dopunjenu SIM karticu u GSM modul i pritisnite dugme za napajanje. 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:

"AT"

modul bi tada trebao odgovoriti sa:

"UREDU"

Odlično! 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 sa odgovorom sa ">" nakon čega vam može napisati poruku. Za slanje poruke pritisnite. To je to, i uz malo sreće upravo ste dobili tekst direktno sa vašeg Raspberry Pi.

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

Korak 4: Preuzmite softver i pokrenite ga na suho

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 -a, sve žice povezane s Pi -jem jednostavno se spajaju ravno u odgovarajuće pin ulaze na PiJuice -u. 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 postiže; samo otvorite datoteku; "sudo nano weatherstation.py". Pri vrhu se nalazi odjeljak "postavljeno kašnjenje". Komentirajte red "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 mobilnog telefona. Pronađite gdje piše "+44 **********" i zamijenite zvjezdice vlastitim brojem.

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

git clone

I biblioteku 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 je program u toku, rezultate treba slati na vaš mobilni telefon, ali i štampati u terminalu svakih 5 sekundi.

Korak 5: Izgradite krug

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

Sada kada sve funkcionira u praksi, vrijeme je da izgradite pravu stvar. Slike prikazuju opću ideju o tome kako se cijela jedinica uklapa. Postoje dvije odvojene stambene jedinice; jedan za senzorski krug (koji će imati rupe za omogućavanje cirkulacije zraka unutra) i jedan za Raspberry Pi, GPRS jedinicu i PiJuice, (potpuno vodonepropusan) solarni panel će biti ožičen u računarsku jedinicu sa vodootpornim spojem. Dvije jedinice se tada 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 vam je potreban vaš Raspberry Pi ili PiJuice za neki drugi projekt.

Morat ćete razbiti protoboard kako bi se uklopio u manju od dvije razvodne kutije. Ovdje se nalazi senzorski krug. Krug sensinga se sada 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 laboratoriji ovdje, koji me je spasio od stvaranja pravog heša ovog kola. 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, onda biste uvijek mogli ostaviti krug 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 zaista zabavan. Možda ste primijetili prstenove na svakoj kutiji. Dizajnirani su tako da se isključe tako da kutije mogu postati spojevi za elektriku. Koristit ćemo ih za povezivanje između senzorske jedinice i računalne jedinice, za povezivanje sa solarnim panelom, 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 gruba ivica nije važna. Otkrio sam da je najbolja metoda da pomoću odvijača prvo probijete udubljeni prsten oko svake rupe, a zatim ga odvojite poput poklopca kalaja za boju. Konektor vodonepropusnog kabela tada se koristi za povezivanje dvije kutije.

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

Konačno, potrebno je napraviti dodatni otvor u senzorskoj jedinici kako bi se omogućio ulaz i izlaz zraka. Odlučio sam ići na whol direktno nasuprot spoja između dvije kutije. Možda će biti potrebno dodati drugu rupu. Pretpostavljam da ćemo to saznati nakon nekog vremena koristeći meteorološku stanicu.

Korak 7: Ožičenje i dovršavanje meteorološke stanice

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

Tačno, skoro tamo. Posljednja faza je povezivanje svega.

Počevši od računarske jedinice. U ovom okviru imamo Raspberry Pi, PiJuice koji se povezuje na Raspberry Pi GPIO i GSM modul koji se povezuje u GPIO prekid na PiJuice -u preko ženskih na ženske kratkospojnike. Lepo i udobno! u ovoj fazi vjerovatno bih savjetovao da postavite neku vrstu brtvila oko ulazne točke za USB kabel za solarnu ploču. Neka vrsta smole ili super ljepila bi vjerojatno djelovala.

Zatim prijeđite na senzorsku jedinicu. Na fotografiji, odozgo prema dolje, žice su; siva, bijela, ljubičasta i plava su SPI linije podataka, crna je uzemljena, narančasta je 3,3 V, crvena je 5 V, a zelena je GPIO 4. Morat ćete pronaći kratkospojne žice da biste se na njih povezali, a zatim ih provući 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 fazi lako je vidjeti kako bi se dizajn mogao poboljšati; LDR neće biti izložen velikoj količini svjetla (iako bi ipak moglo biti korisno znati relativne vrijednosti, a izbacivanje dodatne rupe bi moglo pomoći), mislim da bi bilo bolje koristiti istu veličinu kao i računarska jedinica kutiju za senzorsku jedinicu, tada bi bilo lakše umetnuti ploču u kutiju i bilo bi prostora za igru s različitim rasporedima.

Sad sam ga stavio u vrt, kao što vidite na fotografijama. Nadam se da ću u narednih 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čuje se: