Indholdsfortegnelse:

Raspberry Pi Solar Weather Station: 7 trin (med billeder)
Raspberry Pi Solar Weather Station: 7 trin (med billeder)

Video: Raspberry Pi Solar Weather Station: 7 trin (med billeder)

Video: Raspberry Pi Solar Weather Station: 7 trin (med billeder)
Video: My hotel mirror was TWO SIDED 😱 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

Efter at have gennemført mine to tidligere projekter, Compact Camera og Portable Games Console, ville jeg finde en ny udfordring. Den naturlige udvikling var et udendørs fjernbetjeningssystem …

Jeg ville bygge en Raspberry Pi vejrstation, der var i stand til at opretholde sig selv fra nettet og sende mig resultaterne via en trådløs forbindelse, hvor som helst! Dette projekt har virkelig haft sine udfordringer, men heldigvis er strømforsyningen til Raspberry Pi en af de største udfordringer, der er blevet let ved at bruge PiJuice som en strømforsyning med den ekstra solstøtte (komplet med vores revolutionerende PiAnywhere -teknologi - den bedste måde at tag din Pi ud af nettet!).

Min første tanke var at bruge det fantastiske AirPi -modul til at tage aflæsninger. Dette havde imidlertid to hoved ulemper; det kræver en direkte internetforbindelse for at uploade resultaterne, og det skal forbindes direkte til GPIO på Pi, hvilket betyder, at det ikke kan udsættes for luften uden også at udsætte Raspberry Pi (ikke ideelt, hvis vi vil have denne vejrstation til at varer nogen tid).

Løsningen … opbyg mit eget sensormodul! Ved at bruge meget af AirPi til inspiration kunne jeg sammensætte en meget enkel prototype ved hjælp af et par sensorer, jeg allerede havde; temperatur, fugtighed, lysniveauer og generelle gasser. Og det gode ved dette er, at det er virkelig let at tilføje flere sensorer når som helst.

Jeg besluttede mig for at bruge en Raspberry Pi a+ hovedsagelig på grund af dets lave strømforbrug. For at sende mig resultaterne brugte jeg EFCom Pro GPRS/GSM -modulet, som kan sende en tekst direkte til min mobiltelefon med resultaterne! Ret pænt ikke sandt?

Jeg er glad for at have nogen ideer, du har til andre store sol eller bærbare projekter. Lad mig vide i kommentarerne, og jeg vil gøre mit bedste for at oprette en tutorial!

Trin 1: Dele

Dele
Dele

1 x PiJuice + solpanel (komplet med vores revolutionerende PiAnywhere -teknologi - den bedste måde at tage din Pi fra nettet!)

1 x Raspberry Pi a+

1 x EFCom Pro GPRS/GSM -modul

1 x Sim -kort

1 x brødbræt

Protoboard

1 x MCP3008 ADC

1 x LDR

1 x LM35 (temperatursensor)

1 x DHT22 (fugtighedssensor)

1 x TGS2600 Generel luftkvalitetssensor

1 x 2,2 KΩ modstand

1 x 22 KΩ modstand

1 x 10 KΩ modstand

10 x Kvinde - Kvinde Jumper ledninger

Sortiment af single gauge wire

1 x Single Outdoor Junction Box

1 x dobbelt udendørs samlingsboks

1 x vandtæt kabelstik

2 x 20 mm halvblinde kabelgennemføringer

Trin 2: Sensing Circuit

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

Der er en del forskellige elementer i dette projekt, så det er bedst at gøre alt i trin. Først vil jeg gennemgå, hvordan jeg sammensætter følerkredsløbet.

Det er en god idé først at bygge dette på et brødbræt, bare hvis du laver fejl, har jeg inkluderet et kredsløbsdiagram og trin for trin billeder, der skal henvises til.

  1. Den første komponent til at få kablet op er denne MCP3008 analog til digital konverter. Dette kan tage op til 8 analoge indgange og kommunikerer med Raspberry Pi via SPI. Med chippen opad og halvcirklen skåret væk i enden længst væk fra dig, forbinder stifterne til højre alle med Raspberry Pi. Tilslut dem som vist. Hvis du gerne vil lære lidt mere om, hvordan chippen fungerer, er her en god guide til MCP3008 og SPI -protokollen.
  2. Stifterne til venstre er de 8 analoge indgange, nummereret 0-7 ovenfra og ned. Vi vil kun bruge de første 3 (CH0, CH1, CH2), til LDR, den generelle gassensor (TGS2600) og temperatursensoren (LM35). Tilslut først LDR'en som vist i diagrammet. Den ene side til jorden og den anden til 3,3V via en 2,2KΩ modstand og CH0.
  3. Tilslut derefter den "generelle gassensor". Denne gassensor bruges til påvisning af luftforurenende stoffer såsom hydrogen og kulilte. Jeg har endnu ikke fundet ud af, hvordan man får specifikke koncentrationer, så i øjeblikket er resultatet fra denne sensor et grundlæggende procentniveau, hvor 100% er fuldstændigt mættet. Med sensoren opad (stifter på undersiden) er stiften direkte til højre for den lille udkant pin 1, og derefter stiger tallene med uret omkring stiften. Så ben 1 og 2 forbindes til 5V, pin 3 tilsluttes CH1 og jordes via en 22KΩ modstand, og pin4 forbindes lige til jorden.
  4. Den sidste analoge sensor, der skal tilsluttes, er LM35 temperatursensor. Denne har 3 pins. Tag sensoren, så den flade side er tættest på dig, den venstre stift tilsluttes lige til 5V (ikke markeret på diagrammet, min dårlige!), Midterstiften tilsluttes CH2, og den højre stift forbinder lige til jorden. Let!
  5. Den sidste komponent, der skal tilsluttes, er DHT22 fugtighedsføler. Dette er en digital sensor, så den kan sluttes direkte til Raspberry Pi. Tag sensoren med gitteret mod dig og de fire ben på undersiden. Pins bestilles fra 1 til venstre. Tilslut 1 til 3,3V. Pin 2 går til GPIO4 og 3.3V via en 10KΩ modstand. Lad pin 3 være afbrudt, og pin 4 går lige til jorden.

Det er det! Testkredsløbet er bygget. Jeg håber at tilføje flere komponenter, når jeg har tid. Jeg vil virkelig gerne tilføje en tryksensor, en vindhastighedsføler, og jeg vil gerne have mere intelligente data om gaskoncentrationer.

Trin 3: GSM -modul

GSM -modul
GSM -modul
GSM -modul
GSM -modul

Nu hvor sensorkredsløbene er bygget, skal der være en måde at modtage resultaterne på. Det er her, GSM -modulet kommer ind. Vi kommer til at bruge det til at sende resultaterne over mobilnetværket i en SMS en gang om dagen.

GSM -modulet kommunikerer med Raspberry Pi via seriel ved hjælp af UART. Her er nogle gode oplysninger om seriel kommunikation med Raspberry Pi. For at tage kontrol over Pi's serielle port skal vi først lave en konfiguration.

Start din Raspberry Pi op med et standard Raspbian -billede. Skift nu filen "/boot/cmdline.txt" fra:

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

til:

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

ved at fjerne det understregede afsnit af teksten.

For det andet skal du redigere filen "/etc/inittab" ved at kommentere den anden linje i det følgende afsnit:

#Spawn a getty på Raspberry Pi serielinjeT0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100"

Så det lyder:

#Spawn a getty på Raspberry Pi serielinje#T0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100

og genstart Pi. Nu skal den serielle port være fri til at kommunikere med, som du ønsker. Det er tid til at tilslutte GSM -modulet. Tag et kig på kredsløbsdiagrammet i det foregående trin og billederne ovenfor for at se, hvordan dette gøres. Grundlæggende er TX forbundet til RX, og RX er forbundet til TX. På Raspberry Pi TX og RX er henholdsvis GPIO 14 og 15.

Nu vil du sandsynligvis kontrollere, at modulet fungerer, så lad os prøve at sende en tekst! Til dette skal du downloade Minicom. Det er et program, der giver dig mulighed for at skrive til den serielle port. Brug:

"sudo apt-get install minicom"

Når det er installeret, kan minicom åbnes med følgende kommando:

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

9600 er baud-rate og /dev /ttyAMA0 er navnet på Pi's serielle port. Dette åbner en terminalemulator, hvor det, du skriver, vises på den serielle port, dvs. sendes til GSM -modulet.

Indsæt dit påfyldte simkort i GSM -modulet, og tryk på tænd / sluk -knappen. Hvorefter en blå led skulle tændes. GSM -modulet bruger AT -kommandosættet, her er dokumentationen, hvis du virkelig er interesseret. Nu kontrollerer vi, at Raspberry Pi har registreret modulet med følgende kommando:

"PÅ"

modulet skal derefter svare med:

"OKAY"

Store! Derefter skal vi konfigurere modulet til at sende en SMS som tekst frem for binært:

"AT+CMGF = 1"

igen skulle svaret være "OK". Nu skriver vi kommandoen til at sende en SMS:

"AT+CMGS =" 44 ************* "", erstat stjernerne med dit nummer.

Modemet med svar med ">" hvorefter du kan skrive din besked. Tryk på for at sende beskeden. Det er det, og med held og lykke har du lige modtaget en tekst direkte fra din Raspberry Pi.

Nu hvor vi ved, at GSM -modulet fungerer, kan du lukke minicom; vi har ikke brug for det i resten af projektet.

Trin 4: Download softwaren og tør kørsel

Download softwaren og tørløb
Download softwaren og tørløb
Download softwaren og tørløb
Download softwaren og tørløb

På dette tidspunkt skal alt være kablet op og klar til at teste for en tør kørsel. Jeg har skrevet et ret simpelt python -program, der vil tage aflæsninger fra hver sensor og derefter sende resultaterne til din mobiltelefon. Du kan downloade hele programmet fra PiJuice Github -siden. Nu kan det også være et godt tidspunkt at teste med PiJuice -modulet. Det tilsluttes bare til Raspberry Pi's GPIO, alle ledninger, der er forbundet til Pi, bliver bare sat direkte i de tilsvarende pin -udgange på PiJuice. Let som Pi. For at downloade koden skal du bruge kommandoen:

git -klon

Dette er konfigureret til at sende data en gang om dagen. Til testformål er dette ikke fantastisk, så du vil måske redigere programmet. Dette gøres let; bare åbn filen; "sudo nano weatherstation.py". Nær toppen er der en sektion med "indstillet forsinkelse". Kommenter linjen "forsinkelse = 86400", og fjern kommentaren "forsinkelse = 5". Nu vil resultaterne blive sendt en gang hvert 5. sekund. Du vil også gerne ændre programmet, så det indeholder dit eget mobilnummer. Find, hvor der står "+44 **********", og erstat stjernerne med dit eget nummer.

Inden du kører programmet, skal du bare downloade et bibliotek til læsning af DHT22 fugtighedsføler:

git -klon

Og biblioteket skal installeres:

"cd Adafruit_Python_DHT"

"sudo apt-get update"

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

"sudo python setup.py install"

Fedt, nu kan du teste programmet.

"sudo python weatherstation.py"

Da programmet kører, skal resultaterne sendes til din mobil, men også udskrives i terminalen hvert 5. sekund.

Trin 5: Byg kredsløbet

Byg kredsløbet
Byg kredsløbet
Byg kredsløbet
Byg kredsløbet
Byg kredsløbet
Byg kredsløbet

Nu hvor alt fungerer i praksis, er det tid til at bygge den rigtige ting. Billederne viser den generelle idé om, hvordan hele enheden passer sammen. Der er to separate boenheder; et til sensorkredsløbet (som vil have huller til at tillade luft at cirkulere indeni) og et til Raspberry Pi, GPRS -enheden og PiJuice (helt vandtæt) vil solpanelet blive forbundet til computerenheden med et vandtæt kryds. De to enheder kan derefter let løsnes, så enten sensorhuset eller computerhuset kan fjernes uden at skulle fjerne hele enheden. Dette er fantastisk, hvis du vil tilføje flere sensorer, eller hvis du har brug for din Raspberry Pi eller PiJuice til et andet projekt.

Du bliver nødt til at bryde protoboardet for at passe ind i den mindre af de to forbindelsesbokse. Det er her, følerkredsløbet er anbragt. Følerkredsløbet overføres nu fra brødbrættet til protobordet. Nu skal du lodde lidt. Sørg for, at du er tryg ved at bruge et loddejern sikkert. Hvis du er usikker, skal du bede om hjælp fra en, der er en kompetent loddemaskine.

Mange tak til Patrick i laboratoriet herovre, som reddede mig fra at lave en rigtig hash af dette kredsløb. Det lykkedes ham at banke det sammen på få minutter! Hvis du ligesom mig ikke er den bedste til at bygge kredsløb, og du ikke har et geni som Patrick klar til at hjælpe dig, så kan du altid forlade kredsløbet på et brødbræt, så længe det passer i din elboks.

Trin 6: Forberedelse af boligenheder

Forberedelse af boliger
Forberedelse af boliger
Forberedelse af boliger
Forberedelse af boliger
Forberedelse af boligenheder
Forberedelse af boligenheder

Denne del er, hvor det bliver rigtig sjovt. Du har muligvis lagt mærke til ringene på hver æske. Disse er designet til at blive slået ud, så kasser kan blive knudepunkter for el. Vi bruger dem til at forbinde mellem sensorenheden og computerenheden, til tilslutning til solpanelet og også som ventilation til sensorenheden for at tillade luftcirkulation.

Slå først et hul ud på hver boks for forbindelse mellem de to, som det ses på billederne. Det kan være svært at slå hullerne ud pænt, men en grov kant er ligegyldig. Jeg fandt den bedste metode ved at bruge en skruetrækker til først at gennembore den indrykkede ring omkring hvert hul og derefter lirke den af som et malingsdæksel. Det vandtætte kabelstik bruges derefter til at forbinde de to kasser.

Derefter skal du lave endnu et hul i computerhuset til solpaneltråden. Dette hul er derefter tilsluttet med en af dine halvblinde kabelforinger. Før du sætter tappen ind, skal du gennembore et hul i det, så kablet kan gå igennem. Dette skal være så lille som muligt for at holde det vandtæt, og skub derefter mikro -usb -enden gennem hullet (dette er enden, der forbinder til PiJuice).

Endelig skal der laves et ekstra hul i sensorenheden for at tillade luft ind og ud. Jeg har besluttet at gå efter det hele lige overfor krydset mellem de to kasser. Det kan være nødvendigt at tilføje et andet hul. Jeg tror, vi finder ud af det efter et stykke tid ved hjælp af vejrstationen.

Trin 7: Tilslutning og afslutning af vejrstationen

Tilslutning og afslutning af vejrstationen
Tilslutning og afslutning af vejrstationen
Tilslutning og afslutning af vejrstationen
Tilslutning og afslutning af vejrstationen
Tilslutning og afslutning af vejrstationen
Tilslutning og afslutning af vejrstationen

Okay, næsten der. Den sidste fase er at koble alt sammen.

Starter med computerenheden. I denne boks har vi Raspberry Pi, The PiJuice, der tilsluttes Raspberry Pi GPIO og GSM -modulet, der forbinder til GPIO -breakout på PiJuice via hun- til hunjumper. Dejligt og tæt! på dette stadium vil jeg nok råde dig til at lægge en slags forsegler omkring indgangspunktet til USB -kablet til solpanelet. En slags harpiks eller superlim ville sandsynligvis virke.

Gå derefter videre til sensorenheden. På billedet, fra top til bund, er ledningerne; grå, hvid, lilla og blå er SPI -datalinjerne, sort er jord, orange er 3,3V, rød er 5V og grøn er GPIO 4. Du skal finde jumper -ledninger for at forbinde til disse og derefter føre dem gennem det vandtætte kabel stik som det ses på fotografierne. Derefter kan hver ledning tilsluttes den tilsvarende GPIO, og stikket kan strammes op. På dette tidspunkt er det let at se, hvordan designet kan forbedres; LDR vil ikke blive udsat for meget lys (selvom det stadig kan være nyttigt at kende relative værdier, og det kan hjælpe at slå et ekstra hul ud), tror jeg det ville være bedre at bruge samme størrelse som computerenheden boks til sensorenheden også, så ville det være lettere at montere printkortet i boksen, og der ville være plads til at lege med forskellige arrangementer.

Jeg har lagt den op i haven nu, som du kan se på billederne. Forhåbentlig vil jeg også i løbet af de næste dage kunne sende nogle resultater! Og som jeg sagde tidligere, lad mig vide, hvis du har nogle ideer til nogle fede projekter!

Anbefalede: