Innholdsfortegnelse:
- Trinn 1: Deler
- Trinn 2: Sensing Circuit
- Trinn 3: GSM -modul
- Trinn 4: Last ned programvaren og tørk
- Trinn 5: Bygg kretsen
- Trinn 6: Klargjøring av boenhetene
- Trinn 7: Tilkobling og ferdigstilling av værstasjonen
Video: Raspberry Pi Solar Weather Station: 7 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Etter å ha fullført mine to tidligere prosjekter, Compact Camera og Portable Games Console, ønsket jeg å finne en ny utfordring. Den naturlige utviklingen var et utendørs eksternt system …
Jeg ønsket å bygge en Raspberry Pi værstasjon som var i stand til å holde seg utenfor nettet og sende meg resultatene gjennom en trådløs tilkobling, hvor som helst! Dette prosjektet har virkelig hatt sine utfordringer, men heldigvis er Raspberry Pi en av hovedutfordringene som har blitt gjort enkelt ved å bruke PiJuice som en strømforsyning med den ekstra solstøtten (komplett med vår revolusjonerende PiAnywhere -teknologi - den beste måten å ta Pi av rutenettet!).
Min første tanke var å bruke den fantastiske AirPi -modulen til å ta avlesninger. Dette hadde imidlertid to hovedulemper; det krever en direkte internettforbindelse for å laste opp resultatene, og den må kobles direkte til GPIO på Pi, noe som betyr at den ikke kan utsettes for luft uten å også avsløre Raspberry Pi (ikke ideelt hvis vi vil at denne værstasjonen skal varer lenge).
Løsningen … bygg min egen sensormodul! Ved å bruke mye av AirPi for inspirasjon, klarte jeg å sette sammen en veldig enkel prototype ved hjelp av noen få sensorer jeg allerede hadde; temperatur, fuktighet, lysnivåer og generelle gasser. Og det flotte med dette er at det er veldig enkelt å legge til flere sensorer når som helst.
Jeg bestemte meg for å bruke en Raspberry Pi a+ hovedsakelig på grunn av det lave strømforbruket. For å sende meg resultatene brukte jeg EFCom Pro GPRS/GSM -modulen, som kan sende en tekst direkte til mobiltelefonen min med resultatene! Ganske pent ikke sant?
Jeg er glad for å ha noen ideer du har for andre flotte sol eller bærbare prosjekter. Gi meg beskjed i kommentarene, så skal jeg gjøre mitt beste for å lage en opplæring!
Trinn 1: Deler
1 x PiJuice + solcellepanel (komplett med vår revolusjonerende PiAnywhere -teknologi - den beste måten å ta Pi av nettet!)
1 x Raspberry Pi a+
1 x EFCom Pro GPRS/GSM -modul
1 x Sim -kort
1 x brødbrett
Protoboard
1 x MCP3008 ADC
1 x LDR
1 x LM35 (temperatursensor)
1 x DHT22 (fuktighetssensor)
1 x TGS2600 Generell luftkvalitetssensor
1 x 2,2 KΩ motstand
1 x 22 KΩ motstand
1 x 10 KΩ motstand
10 x Female - Female Jumper wires
Sortiment av enkeltmåler
1 x enkelt utendørs koblingsboks
1 x dobbel utendørs koblingsboks
1 x vanntett kabelkontakt
2 x 20 mm halvblinde kabelgjennomføringer
Trinn 2: Sensing Circuit
Det er ganske mange forskjellige elementer i dette prosjektet, så det er best å gjøre alt i trinn. Først skal jeg gå gjennom hvordan jeg setter sammen sensingkretsen.
Det er en god idé å bygge dette på et brødbrett først, bare hvis du gjør noen feil, har jeg tatt med et kretsdiagram og trinnvise bilder, for å bli referert til.
- Den første komponenten som får kablet opp er denne MCP3008 analoge til digitale omformeren. Dette kan ta opptil 8 analoge innganger og kommuniserer med Raspberry Pi via SPI. Med brikken opp og halvsirkelen kuttet bort på enden lengst fra deg, kobles pinnene til høyre til Raspberry Pi. Koble dem til som vist. Hvis du vil lære litt mer om hvordan brikken fungerer, er det en flott guide til MCP3008 og SPI -protokollen.
- Pinnene til venstre er de 8 analoge inngangene, nummerert 0-7 ovenfra og ned. Vi vil bare bruke de tre første (CH0, CH1, CH2), for LDR, den generelle gassensoren (TGS2600) og temperatursensoren (LM35). Koble først LDR som vist på diagrammet. Den ene siden til bakken og den andre til 3.3V via en 2.2KΩ motstand og CH0.
- Deretter kobler du til den "generelle gassensoren". Denne gassensoren brukes til påvisning av luftforurensninger som hydrogen og karbonmonoksid. Jeg har ennå ikke funnet ut hvordan jeg skal få spesifikke konsentrasjoner, så foreløpig er resultatet fra denne sensoren et grunnleggende prosentnivå, der 100% er fullstendig mettet. Med sensoren vendt opp (pinner på undersiden), er pinnen direkte til høyre for den lille utkanten pin 1 og deretter øker tallene med klokken rundt pinnen. Så pins 1 og 2 kobles til 5V, pin 3 kobles til CH1 og jordes via en 22KΩ motstand og pin4 kobles rett til bakken.
- Den siste analoge sensoren for tilkobling er LM35 temperatursensor. Denne har 3 pinner. Ta sensoren slik at den flate siden er nærmest deg, den venstre mest pinnen kobles rett til 5V (ikke merket på diagrammet, min dårlige!), Den midtre pinnen kobles til CH2 og den høyre mest pinnen kobles rett til bakken. Lett!
- Den siste komponenten som skal kobles til er DHT22 fuktighetssensor. Dette er en digital sensor, så den kan kobles direkte til Raspberry Pi. Ta sensoren med rutenettet mot deg og de fire pinnene på undersiden. Pins bestilles fra 1 til venstre. Koble 1 til 3,3V. Pin 2 går til GPIO4 og 3.3V via en 10KΩ motstand. La pinne 3 være frakoblet, og pinne 4 går rett til bakken.
Det er det! Testkretsen er bygget. Jeg håper å legge til flere komponenter når jeg har tid. Jeg vil veldig gjerne legge til en trykksensor, en vindhastighetssensor, og jeg vil gjerne få mer intelligente data om gasskonsentrasjoner.
Trinn 3: GSM -modul
Nå som sensingkretsene er bygget, må det være en måte å motta resultatene på. Det er her GSM -modulen kommer inn. Vi skal bruke den til å sende resultatene over mobilnettet i en SMS, en gang om dagen.
GSM -modulen kommuniserer med Raspberry Pi via seriell bruk av UART. Her er god informasjon om seriell kommunikasjon med Raspberry Pi. For å ta kontroll over Pi -serieporten må vi gjøre noen konfigurasjoner først.
Start opp Raspberry Pi med et standard Raspbian -bilde. Endre nå filen "/boot/cmdline.txt" fra:
"dwc_otg.lpm_enable = 0 console = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 console = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 elevator = deadline rootwait"
til:
"dwc_otg.lpm_enable = 0 console = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 elevator = deadline rootwait"
ved å fjerne den understrekede delen av teksten.
For det andre må du redigere filen "/etc/inittab" ved å kommentere den andre linjen i den følgende delen:
#Spawn a getty på Raspberry Pi seriell linjeT0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100"
Slik at den lyder:
#Spawn a getty on Raspberry Pi series line#T0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100
og start Pi på nytt. Nå skal serieporten være gratis å kommunisere med som du ønsker. Det er på tide å koble til GSM -modulen. Ta en titt på kretsdiagrammet i forrige trinn og bildene ovenfor for å se hvordan dette gjøres. I utgangspunktet er TX koblet til RX og RX er koblet til TX. På Raspberry Pi TX og RX er henholdsvis GPIO 14 og 15.
Nå vil du sannsynligvis sjekke at modulen fungerer, så la oss prøve å sende en tekst! For dette må du laste ned Minicom. Det er et program som lar deg skrive til serieporten. Bruk:
"sudo apt-get install minicom"
Når den er installert, kan minicom åpnes med følgende kommando:
"minicom -b 9600 -o -D /dev /ttyAMA0"
9600 er baud-rate og /dev /ttyAMA0 er navnet på Pi-serienes port. Dette åpner en terminalemulator der det du skriver vil vises på serieporten, dvs. sendes til GSM -modulen.
Sett inn det påfyllte SIM -kortet i GSM -modulen og trykk på strømknappen. Deretter skal en blå LED komme på. GSM -modulen bruker AT -kommandosettet, her er dokumentasjonen hvis du virkelig er interessert. Nå sjekker vi at Raspberry Pi har oppdaget modulen med følgende kommando:
"PÅ"
modulen skal da svare med:
"OK"
Flott! Da må vi konfigurere modulen til å sende en SMS som tekst i stedet for binært:
"AT+CMGF = 1"
igjen skal svaret være "OK". Nå skriver vi kommandoen for å sende en SMS:
"AT+CMGS =" 44 ************* "", erstatt stjernene med nummeret ditt.
Modemet med svar med ">", hvoretter du kan skrive meldingen til deg. Trykk på for å sende meldingen. Det er det, og med hell har du nettopp mottatt en tekst rett fra din Raspberry Pi.
Nå som vi vet at GSM -modulen fungerer, kan du lukke minicom; vi trenger det ikke for resten av prosjektet.
Trinn 4: Last ned programvaren og tørk
På dette stadiet bør alt være kablet opp og klart til å teste for en tørrkjøring. Jeg har skrevet et ganske enkelt python -program som tar avlesninger fra hver sensor og deretter sender resultatene til mobiltelefonen din. Du kan laste ned hele programmet fra PiJuice Github -siden. Nå kan det også være et godt tidspunkt å teste med PiJuice -modulen. Den plugger bare inn i Raspberry Pi's GPIO, alle ledningene som er koblet til Pi blir bare plugget rett inn i de tilsvarende pin -utgangene på PiJuice. Lett som Pi. For å laste ned koden, bruk kommandoen:
git -klon
Dette er konfigurert for å sende data en gang om dagen. For testformål er dette ikke bra, så det kan være lurt å redigere programmet. Dette gjøres enkelt; bare åpne filen; "sudo nano weatherstation.py". Nær toppen er det en "angitt forsinkelse" -del. Kommenter linjen "forsinkelse = 86400" og fjern kommentaren "forsinkelse = 5". Nå blir resultatene sendt en gang hvert 5. sekund. Du vil også endre programmet slik at det inneholder ditt eget mobilnummer. Finn hvor det står "+44 **********" og bytt ut stjernene med ditt eget nummer.
Før du kjører programmet trenger du bare å laste ned et bibliotek for å lese DHT22 fuktighetssensor:
git -klon
Og biblioteket må installeres:
"cd Adafruit_Python_DHT"
"sudo apt-get update"
"sudo apt-get install build-essential python-dev"
"sudo python setup.py install"
Kult, nå kan du teste programmet.
"sudo python weatherstation.py"
Siden programmet kjører, skal resultatene sendes til mobilen din, men også skrives ut i terminalen hvert 5. sekund.
Trinn 5: Bygg kretsen
Nå som alt fungerer i praksis, er det på tide å bygge den virkelige tingen. Bildene viser den generelle ideen om hvordan hele enheten passer sammen. Det er to separate boenheter; en for sensorkretsen (som vil ha hull for å tillate luft å sirkulere inne) og en for Raspberry Pi, GPRS -enheten og PiJuice, (helt vanntett), vil solcellepanelet bli koblet til dataenheten med et vanntett kryss. De to enhetene kan deretter enkelt løsnes slik at enten sensorhuset eller databehandlingen kan fjernes uten å måtte ta ned hele enheten. Dette er flott hvis du vil legge til flere sensorer eller hvis du trenger din Raspberry Pi eller PiJuice for et annet prosjekt.
Du må bryte protoboardet for å passe inn i den minste av de to koblingsboksene. Det er her sensorkretsen er plassert. Følerkretsen overføres nå fra brødbrettet til protobordet. Nå må du gjøre litt lodding. Sørg for at du er komfortabel med å bruke et loddejern på en trygg måte. Hvis du er usikker, så be om hjelp fra noen som er en kompetent loddemaskin.
Tusen takk til Patrick i laboratoriet her, som reddet meg fra å lage en skikkelig hasj av denne kretsen. Han klarte å slå det sammen på få minutter! Hvis du, som meg, ikke er den beste til å bygge kretser, og du ikke har et geni som Patrick klar til å hjelpe deg, så kan du alltid forlate kretsen på et brødbrett, så lenge den passer i din elektriske boks.
Trinn 6: Klargjøring av boenhetene
Denne delen er hvor det blir veldig gøy. Du har kanskje lagt merke til ringene på hver eske. Disse er designet for å bli slått ut slik at esker kan bli veikryss for elektrisk. Vi bruker dem til å koble mellom sensorenheten og dataenheten, for tilkobling til solcellepanelet og også som ventilasjon for sensorenheten for å tillate luftsirkulasjon.
Slå først ut ett hull på hver boks for forbindelse mellom de to, som vist på bildene. Å slå ut hullene kan være vanskelig å gjøre pent, men en grov kant spiller ingen rolle. Jeg fant ut at den beste metoden er å bruke en skrutrekker til først å stikke hullet inn i ringen rundt hvert hull, og deretter lirke den av som et malingsblikk. Den vanntette kabelkontakten brukes deretter til å koble de to boksene.
Deretter må du lage et nytt hull i databehandlingshuset for solpanelledningen. Dette hullet er deretter plugget til med en av dine halvblinde kabelforinger. Før du setter hullet inn i hullet, trenger du et hull i den slik at kabelen kan gå gjennom. Dette må være så lite som mulig for å holde det vanntett, og skyv deretter mikro -usb -enden gjennom hullet (dette er enden som kobles til PiJuice).
Til slutt må det lages et ekstra hull i sensorenheten for å slippe luft inn og ut. Jeg har bestemt meg for å gå for helheten rett overfor krysset mellom de to boksene. Det kan være nødvendig å legge til et nytt hull. Jeg antar vi finner ut av det etter en stund med værstasjonen.
Trinn 7: Tilkobling og ferdigstilling av værstasjonen
Akkurat, nesten der. Den siste fasen er å koble alt sammen.
Starter med dataenheten. I denne boksen har vi Raspberry Pi, The PiJuice som kobles til Raspberry Pi GPIO og GSM -modulen som kobles til GPIO -utbruddet på PiJuice via kvinnelige til kvinnelige hoppertråd. Hyggelig og koselig! på dette stadiet vil jeg sannsynligvis anbefale å sette en slags forsegler rundt inngangspunktet for USB -kabelen til solcellepanelet. En slags harpiks eller lim vil sannsynligvis fungere.
Deretter går du videre til sensorenheten. På bildet, fra topp til bunn, er ledningene; grå, hvit, lilla og blå er SPI -datalinjene, svart er malt, oransje er 3,3V, rødt er 5V og grønt er GPIO 4. Du må finne jumper -ledninger for å koble til disse og deretter mate dem gjennom den vanntette kabelen kontakt som sett på fotografiene. Deretter kan hver ledning kobles til den tilsvarende GPIO, og kontakten kan strammes opp. På dette stadiet er det lett å se hvordan designet kan forbedres; LDR kommer ikke til å bli utsatt for mye lys (selv om det fortsatt kan være nyttig å kjenne relative verdier, og å slå ut et ekstra hull kan hjelpe), tror jeg det ville være bedre å bruke samme størrelse som beregningsenheten boksen for sensorenheten også, da ville det være lettere å sette kretskortet inn i boksen, og det ville være plass til å leke med forskjellige arrangementer.
Jeg har satt den opp i hagen nå, som du kan se på bildene. Forhåpentligvis kan jeg legge ut noen resultater de neste dagene også! Og som jeg sa tidligere, gi meg beskjed hvis du har noen ideer til noen kule prosjekter!
Anbefalt:
Super Weather Station hengende kurv: 11 trinn (med bilder)
Super Weather Station Hengende kurv: Hei alle sammen! I dette T3chFlicks blogginnlegget viser vi deg hvordan vi lagde en smart hengende kurv. Planter er et friskt og sunt tillegg til ethvert hjem, men kan fort bli slitsomt - spesielt hvis du bare husker å vanne dem når du
Hanging Gear Weather Station: 7 trinn (med bilder)
Hanging Gear Weather Station: I denne instruksen skal jeg vise deg hvordan du bygger din egen værstasjon for hengende utstyr, som er laget av CNC laserskårne MDF-deler. En trinnmotor driver hvert gir, og en Arduino tar temperatur- og fuktighetsmålinger ved hjelp av en DHT
Unikt skrivebord Weather Station Showpiece: 5 trinn (med bilder)
Unikt skrivebord Værstasjon Showpiece: Hei gutter! For dette måneders prosjektet har jeg laget en værstasjon i form av et skrivebord, eller du kan kalle det som et skrivebord. Denne værstasjonen henter data til ESP8266 fra et nettsted som heter openwethermap.org og endrer RGB -fargene i t
ESP32 Solar Weather Station: 4 trinn (med bilder)
ESP32 Solar Weather Station: For mitt første IoT -prosjekt ønsket jeg å bygge en værstasjon og sende dataene til data.sparkfun.com. Liten korreksjon, da jeg bestemte meg for å åpne kontoen min i Sparkfun, godtok de ikke flere tilkoblinger, så jeg velg en annen IoT -datainnsamler
Solar Powered WiFi Weather Station V1.0: 19 trinn (med bilder)
Solar Powered WiFi Weather Station V1.0: I denne instruksen skal jeg vise deg hvordan du bygger en soldrevet WiFi Weather Station med et Wemos -kort. Wemos D1 Mini Pro har en liten formfaktor og et bredt utvalg av plug-and-play-skjold som gjør den til en ideell løsning for raskt å få