Innehållsförteckning:
- Steg 1: Delar
- Steg 2: Sensing Circuit
- Steg 3: GSM -modul
- Steg 4: Ladda ner programvaran och torka
- Steg 5: Bygg kretsen
- Steg 6: Förbereda bostäderna
- Steg 7: Anslutning och avslutning av väderstationen
Video: Raspberry Pi Solar Weather Station: 7 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
På grund av slutförandet av mina två tidigare projekt, kompaktkamera och bärbara spelkonsol, ville jag hitta en ny utmaning. Den naturliga utvecklingen var ett externt fjärrsystem …
Jag ville bygga en Raspberry Pi väderstation som kunde hålla sig från nätet och skicka mig resultaten via en trådlös anslutning, var som helst! Detta projekt har verkligen haft sina utmaningar, men lyckligtvis är Raspberry Pi en av de största utmaningarna som har blivit enkla genom att använda PiJuice som en strömförsörjning med det extra solstödet (komplett med vår revolutionerande PiAnywhere -teknik - det bästa sättet att ta din Pi från rutnätet!).
Min första tanke var att använda den fantastiska AirPi -modulen för att ta avläsningar. Detta hade dock två huvudsakliga nackdelar; det kräver en direkt internetuppkoppling för att ladda upp resultaten och det måste anslutas direkt till GPIO på Pi vilket betyder att den inte kan utsättas för luft utan att även exponera Raspberry Pi (inte perfekt om vi vill att denna väderstation ska varar hur länge som helst).
Lösningen … bygg min egen sensormodul! Genom att använda mycket av AirPi för inspiration kunde jag sätta ihop en mycket enkel prototyp med några sensorer som jag redan hade; temperatur, luftfuktighet, ljusnivåer och allmänna gaser. Och det fina med det här är att det är väldigt enkelt att lägga till fler sensorer när som helst.
Jag bestämde mig för att använda en Raspberry Pi a+ främst på grund av dess låga strömförbrukning. För att skicka mig resultaten använde jag EFCom Pro GPRS/GSM -modulen, som kan skicka en text direkt till min mobiltelefon med resultaten! Ganska snyggt va?
Jag är glad över att ha några idéer du har för andra fantastiska sol- eller bärbara projekt. Låt mig veta i kommentarerna så ska jag göra mitt bästa för att skapa en självstudie!
Steg 1: Delar
1 x PiJuice + solpanel (komplett med vår revolutionerande PiAnywhere -teknik - det bästa sättet att ta din Pi ur nätet!)
1 x Raspberry Pi a+
1 x EFCom Pro GPRS/GSM -modul
1 x Sim -kort
1 x brödbräda
Protoboard
1 x MCP3008 ADC
1 x LDR
1 x LM35 (temperatursensor)
1 x DHT22 (fuktighetssensor)
1 x TGS2600 Allmän luftkvalitetssensor
1 x 2,2 KΩ motstånd
1 x 22 KΩ motstånd
1 x 10 KΩ motstånd
10 x Kvinna - Kvinnliga Jumper -kablar
Sortiment av enstaka tråd
1 x enda utomhus kopplingsdosa
1 x dubbel utomhus kopplingsdosa
1 x vattentät kabelanslutning
2 x 20 mm halvblinda kabelgenomföringar
Steg 2: Sensing Circuit
Det finns en hel del olika element i det här projektet, så det är bäst att göra allt i steg. Först kommer jag att gå igenom hur man sätter ihop avkänningskretsen.
Det är en bra idé att först bygga detta på en brödbräda, bara om du gör några misstag har jag inkluderat ett kretsschema och stegvisa bilder som ska hänvisas till.
- Den första komponenten som blir ansluten är denna MCP3008 analoga till digitala omvandlare. Detta kan ta upp till 8 analoga ingångar och kommunicerar med Raspberry Pi via SPI. Med chipet uppåt och halvcirkeln bortskuren i slutet längst bort från dig, ansluts stiften till höger till Raspberry Pi. Anslut dem enligt bilden. Om du vill lära dig lite mer om hur chipet fungerar här är en bra guide till MCP3008 och SPI -protokollet.
- Stiften till vänster är de 8 analoga ingångarna, numrerade 0-7 uppifrån och ner. Vi kommer bara att använda de första 3 (CH0, CH1, CH2), för LDR, den allmänna gassensorn (TGS2600) och temperaturgivaren (LM35). Anslut först LDR enligt diagrammet. Ena sidan till marken och den andra till 3,3V via ett 2,2KΩ motstånd och CH0.
- Anslut sedan "allmän gassensor". Denna gassensor används för att upptäcka luftföroreningar som väte och kolmonoxid. Jag har ännu inte kommit fram till hur jag ska få specifika koncentrationer, så för närvarande är resultatet från denna sensor en grundläggande procentuell nivå, där 100% är helt mättad. Med sensorn uppåt (stift på undersidan) är stiftet direkt till höger om det lilla utsprånget stift 1 och sedan ökar siffrorna medurs runt tappen. Så stift 1 och 2 ansluts till 5V, stift 3 ansluts till CH1 och jordas via ett 22KΩ motstånd och stift 4 ansluts rakt till marken.
- Den sista analoga sensorn som ska anslutas är LM35 temperaturgivare. Denna har 3 stift. Ta sensorn så att den platta sidan är närmast dig, den vänstra stiftet ansluter rakt till 5V (inte markerat på diagrammet, min dåliga!), Mittstiftet ansluter till CH2 och det högra stiftet ansluts rakt till marken. Lätt!
- Den sista komponenten som ska anslutas är DHT22 fuktsensor. Detta är en digital sensor som kan anslutas direkt till Raspberry Pi. Ta sensorn med gallret mot dig och de fyra stiften på undersidan. Stift beställs från 1 till vänster. Anslut 1 till 3,3V. Stift 2 går till GPIO4 och 3.3V via ett 10KΩ motstånd. Lämna stift 3 frånkopplat och stift 4 går rakt till marken.
Det är allt! Testkretsen har byggts. Jag hoppas kunna lägga till fler komponenter när jag har tid. Jag skulle verkligen vilja lägga till en trycksensor, en vindhastighetssensor och jag skulle vilja få mer intelligenta data om gaskoncentrationer.
Steg 3: GSM -modul
Nu när avkänningskretsarna har byggts måste det finnas ett sätt att ta emot resultaten. Det är där GSM -modulen kommer in. Vi ska använda den för att skicka resultaten över mobilnätet i ett SMS, en gång om dagen.
GSM -modulen kommunicerar med Raspberry Pi via seriell användning med UART. Här är bra information om seriekommunikation med Raspberry Pi. För att kunna ta kontroll över Pi: s seriella port måste vi göra en del konfiguration först.
Starta upp din Raspberry Pi med en vanlig Raspbian -bild. Ändra nu filen "/boot/cmdline.txt" från:
"dwc_otg.lpm_enable = 0 konsol = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 konsol = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 hiss = deadline rootwait"
till:
"dwc_otg.lpm_enable = 0 konsol = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 hiss = deadline rootwait"
genom att ta bort den understrukna delen av texten.
För det andra måste du redigera filen "/etc/inittab" genom att kommentera den andra raden i följande avsnitt:
#Spawn a getty på Raspberry Pi seriell linjeT0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100"
Så att det lyder:
"#Spawn a getty på Raspberry Pi serielinje#T0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100"
och starta om Pi. Nu ska serieporten vara fri att kommunicera med som du vill. Det är dags att koppla upp GSM -modulen. Ta en titt på kretsschemat i föregående steg och bilderna ovan för att se hur detta görs. I princip är TX anslutet till RX och RX är anslutet till TX. På Raspberry Pi TX och RX finns GPIO 14 respektive 15.
Nu vill du förmodligen kontrollera att modulen fungerar, så låt oss försöka skicka en text! För detta måste du ladda ner Minicom. Det är ett program som låter dig skriva till serieporten. Använda sig av:
"sudo apt-get install minicom"
När det har installerats kan minicom öppnas med följande kommando:
"minicom -b 9600 -o -D /dev /ttyAMA0"
9600 är överföringshastigheten och /dev /ttyAMA0 är namnet på Pi: s serieport. Detta öppnar en terminalemulator där allt du skriver kommer att visas på serieporten, dvs skickas till GSM -modulen.
Sätt in ditt påfyllda simkort i GSM -modulen och tryck på strömbrytaren. Därefter ska en blå lysdiod tändas. GSM -modulen använder AT -kommandosatsen, här är dokumentationen om du verkligen är intresserad. Nu kontrollerar vi att Raspberry Pi har upptäckt modulen med följande kommando:
"PÅ"
modulen ska sedan svara med:
"OK"
Bra! Då måste vi konfigurera modulen för att skicka ett SMS som text snarare än binärt:
"AT+CMGF = 1"
återigen ska svaret vara "OK". Nu skriver vi kommandot för att skicka ett SMS:
"AT+CMGS =" 44 ************* "", ersätt stjärnorna med ditt nummer.
Modemet med svara med ">" varefter du kan skriva meddelandet. För att skicka meddelandet, tryck på. Det är det, och med tur har du precis fått en text direkt från din Raspberry Pi.
Nu när vi vet att GSM -modulen fungerar kan du stänga minicom; vi behöver det inte för resten av projektet.
Steg 4: Ladda ner programvaran och torka
Vid det här stadiet ska allt vara anslutet och redo att testa för en torrkörning. Jag har skrivit ett ganska enkelt pythonprogram som tar avläsningar från varje sensor och sedan skickar resultaten till din mobiltelefon. Du kan ladda ner hela programmet från PiJuice Github -sidan. Nu kan det också vara en bra tid att testa med PiJuice -modulen. Den ansluts bara till Raspberry Pi: s GPIO, alla kablar som är anslutna till Pi kopplas bara in i motsvarande stift på PiJuice. Lätt som Pi. För att ladda ner koden, använd kommandot:
git -klon
Detta är inställt för att skicka data en gång om dagen. För teständamål är detta inte bra, så du kanske vill redigera programmet. Detta görs enkelt; öppna bara filen; "sudo nano weatherstation.py". Nära toppen finns en sektion "inställd fördröjning". Kommentera raden "fördröjning = 86400" och avmarkera "fördröjning = 5". Nu skickas resultaten en gång var 5: e sekund. Du vill också ändra programmet så att det innehåller ditt eget mobilnummer. Hitta var det står "+44 **********" och ersätt stjärnorna med ditt eget nummer.
Innan du kör programmet behöver du bara ladda ner ett bibliotek för att läsa DHT22 fuktsensor:
git -klon
Och biblioteket måste installeras:
"cd Adafruit_Python_DHT"
"sudo apt-get update"
"sudo apt-get install build-essential python-dev"
"sudo python setup.py install"
Kul, nu kan du testa programmet.
"sudo python weatherstation.py"
Eftersom programmet körs ska resultaten skickas till din mobil men också skrivas ut i terminalen var 5: e sekund.
Steg 5: Bygg kretsen
Nu när allt fungerar i praktiken är det dags att bygga den riktiga saken. Bilderna visar den allmänna idén om hur hela enheten passar ihop. Det finns två separata bostäder; en för avkänningskretsen (som kommer att ha hål för att tillåta luft att cirkulera inuti) och en för Raspberry Pi, GPRS -enheten och PiJuice, (helt vattentät) kommer solpanelen att anslutas till beräkningsenheten med en vattentät förbindning. De två enheterna kan sedan enkelt lossas så att antingen sensorhuset eller datorhuset kan tas bort utan att behöva ta ner hela enheten. Det här är bra om du vill lägga till fler sensorer eller om du behöver din Raspberry Pi eller PiJuice för ett annat projekt.
Du måste bryta protoboardet för att passa inuti den mindre av de två kopplingsdosorna. Det är här avkänningskretsen är inrymd. Avkänningskretsen överförs nu från brödbrädan till protobordet. Nu måste du göra lite lödning. Se till att du är bekväm med att använda ett lödkolv på ett säkert sätt. Om du är osäker, be om hjälp av någon som är en kompetent lödare.
Stort tack till Patrick i labbet här, som räddade mig från att göra en riktig hash av den här kretsen. Han lyckades slå ihop det på några minuter! Om du, precis som jag, inte är den bästa för att bygga kretsar och du inte har ett geni som Patrick redo att hjälpa dig, kan du alltid lämna kretsen på en brödbräda, så länge den passar i din elektriska låda.
Steg 6: Förbereda bostäderna
Den här delen är där det blir riktigt roligt. Du kanske har lagt märke till ringarna på varje låda. Dessa är utformade för att slås ut så att lådor kan bli knutpunkter för el. Vi använder dem för att ansluta mellan sensorenheten och beräkningsenheten, för anslutning till solpanelen och även som ventilation för sensorenheten för att möjliggöra luftcirkulation.
Slå först ut ett hål på varje låda för anslutning mellan de två, som ses på bilderna. Att slå ut hålen kan vara svårt att göra snyggt, men en grov kant spelar ingen roll. Jag hittade att den bästa metoden är att använda en skruvmejsel för att först genomborra den inryckta ringen runt varje hål och sedan bända av den som ett lock av lock. Den vattentäta kabelkontakten används sedan för att ansluta de två lådorna.
Då måste du göra ytterligare ett hål i datorhöljet för solpanelstråden. Detta hål pluggas sedan med en av dina halvblinda kabelgenomföringar. Innan du sätter in hylsan, gör ett hål i den så att kabeln går igenom. Detta måste vara så litet som möjligt för att hålla det vattentätt, tryck sedan in micro usb -änden genom hålet (detta är slutet som ansluts till PiJuice).
Slutligen måste ett extra hål göras i sensorenheten för att släppa in och ut luft. Jag har bestämt mig för att gå på helheten mittemot korsningen mellan de två lådorna. Det kan vara nödvändigt att lägga till ett andra hål. Jag antar att vi får reda på det efter en tid med hjälp av väderstationen.
Steg 7: Anslutning och avslutning av väderstationen
Precis, nästan där. Det sista steget är att koppla ihop allt.
Börjar med beräkningsenheten. I denna låda har vi Raspberry Pi, The PiJuice som ansluts till Raspberry Pi GPIO och GSM -modulen som ansluts till GPIO -breakout på PiJuice via kvinnliga till kvinnliga bygelkablar. Trevligt och tätt! i det här skedet skulle jag förmodligen rekommendera att sätta någon slags förseglare runt ingången för USB -kabeln till solpanelen. Något slags harts eller superlim skulle förmodligen fungera.
Gå sedan vidare till sensorenheten. På bilden, uppifrån och ner, är trådarna; grå, vit, lila och blå är SPI -datalinjerna, svart är mald, orange är 3,3V, rött är 5V och grönt är GPIO 4. Du måste hitta bygelkablar för att ansluta till dessa och sedan mata dem genom den vattentäta kabeln kontakt som visas på fotografierna. Sedan kan varje tråd anslutas till motsvarande GPIO och kontakten kan dras åt. I detta skede är det lätt att se hur designen kan förbättras; LDR kommer inte att utsättas för mycket ljus (även om det fortfarande kan vara användbart för att känna till relativa värden, och att slå ut ett extra hål kan hjälpa), tror jag att det skulle vara bättre att använda samma storlek som beräkningsenheten låda för avkänningsenheten också, då skulle det vara lättare att montera kretskortet i lådan och det skulle finnas utrymme att spela med olika arrangemang.
Jag har lagt upp den i trädgården nu, som ni kan se på bilderna. Förhoppningsvis kommer jag att kunna lägga upp några resultat de närmaste dagarna också! Och som jag sa tidigare, låt mig veta om du har några idéer för några häftiga projekt!
Rekommenderad:
Raspberry Pi Internet Weather Station: 5 steg (med bilder)
Raspberry Pi Internet Weather Station: *** Uppdatering *** Denna instruktionsbok har föråldrad. Vädertjänsterna för väderdata, som används i denna instruktionsbok, fungerar inte längre. MEN det finns ett alternativt projekt som i princip gör samma sak (bara bättre - denna instruktion
NaTaLia Weather Station: Arduino Solar Powered Weather Station Gjord på rätt sätt: 8 steg (med bilder)
NaTaLia väderstation: Arduino soldriven väderstation gjord på rätt sätt: Efter 1 års framgångsrik drift på 2 olika platser delar jag mina solcellsdrivna väderstationsprojektplaner och förklarar hur det utvecklades till ett system som verkligen kan överleva över lång tid perioder från solenergi. Om du följer
DIY Weather Station & WiFi Sensor Station: 7 steg (med bilder)
DIY Weather Station & WiFi Sensor Station: I det här projektet kommer jag att visa dig hur du skapar en väderstation tillsammans med en WiFi -sensorstation. Sensorstationen mäter lokala temperatur- och luftfuktighetsdata och skickar den via WiFi till väderstationen. Väderstationen visar sedan t
ESP32 Solar Weather Station: 4 steg (med bilder)
ESP32 Solar Weather Station: För mitt första IoT -projekt ville jag bygga en väderstation och skicka data till data.sparkfun.com. Liten korrigering när jag bestämde mig för att öppna mitt konto i Sparkfun accepterade de inte fler anslutningar, så jag välj en annan IoT -datainsamlare
Solar Powered WiFi Weather Station V1.0: 19 steg (med bilder)
Solar Powered WiFi Weather Station V1.0: I den här instruktionsboken ska jag visa dig hur du bygger en soldriven WiFi -väderstation med ett Wemos -kort. Wemos D1 Mini Pro har en liten formfaktor och ett brett utbud av plug-and-play-skärmar som gör den till en idealisk lösning för att snabbt få