Inhoudsopgave:
- Stap 1: Onderdelen
- Stap 2: detectiecircuit
- Stap 3: GSM-module
- Stap 4: Download de software en droogloop
- Stap 5: Bouw het circuit
- Stap 6: De wooneenheden voorbereiden
- Stap 7: Bedrading en afwerking van het weerstation
Video: Raspberry Pi zonne-weerstation - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Aangespoord door de voltooiing van mijn twee eerdere projecten, de Compact Camera en Portable Games Console, wilde ik een nieuwe uitdaging vinden. De natuurlijke ontwikkeling was een extern systeem op afstand…
Ik wilde een Raspberry Pi-weerstation bouwen dat zichzelf off-grid kon onderhouden en me de resultaten via een draadloze verbinding kon sturen, waar dan ook! Dit project heeft echt zijn uitdagingen gehad, maar gelukkig is het aandrijven van de Raspberry Pi een van de belangrijkste uitdagingen die gemakkelijk is gemaakt door de PiJuice als voeding te gebruiken met zijn toegevoegde zonne-ondersteuning (compleet met onze revolutionaire PiAnywhere-technologie - de beste manier om haal je Pi van het net!).
Mijn eerste gedachte was om de fantastische AirPi-module te gebruiken om metingen uit te voeren. Dit had echter twee belangrijke nadelen; het vereist een directe internetverbinding om de resultaten te uploaden en het moet rechtstreeks worden verbonden met de GPIO op de Pi, wat betekent dat het niet aan de lucht kan worden blootgesteld zonder ook de Raspberry Pi bloot te stellen (niet ideaal als we willen dat dit weerstation enige tijd meegaan).
De oplossing… bouw mijn eigen sensormodule! Door veel van de AirPi als inspiratie te gebruiken, kon ik een heel eenvoudig prototype samenstellen met een paar sensoren die ik al had; temperatuur, vochtigheid, lichtniveaus en algemene gassen. En het mooie hiervan is dat het heel eenvoudig is om op elk moment meer sensoren toe te voegen.
Ik besloot om een Raspberry Pi a+ te gebruiken, vooral vanwege het lage stroomverbruik. Om mij de resultaten te sturen heb ik de EFCom Pro GPRS/GSM module gebruikt, die een tekst rechtstreeks naar mijn mobiele telefoon kan sturen met de resultaten! Best netjes toch?
Ik ben blij dat je hier ideeën hebt voor andere geweldige zonne- of draagbare projecten. Laat het me weten in de comments en ik zal mijn best doen om een tutorial te maken!
Stap 1: Onderdelen
1 x PiJuice + zonnepaneel (compleet met onze revolutionaire PiAnywhere-technologie - de beste manier om uw Pi van het net te halen!)
1 x Raspberry Pi a+
1 x EFCom Pro GPRS/GSM-module
1 x simkaart
1 x Broodplank
Protobord
1 x MCP3008 ADC
1 x LDR
1 x LM35 (temperatuursensor)
1 x DHT22 (Vochtigheidssensor)
1 x TGS2600 Algemene luchtkwaliteitssensor
1 x 2,2 KΩ-weerstand
1 x 22 KΩ weerstand
1 x 10 KΩ Weerstand
10 x Vrouwelijk - Vrouwelijk jumperdraden
Assortiment draad met enkele dikte
1 x enkele aansluitdoos voor buiten
1 x dubbele aansluitdoos voor buiten
1 x waterdichte kabelconnector
2 x 20 mm halfblinde kabeldoorvoertules
Stap 2: detectiecircuit
Er zijn nogal wat verschillende elementen in dit project, dus het is het beste om alles in stappen te doen. Eerst ga ik doornemen hoe je het detectiecircuit in elkaar zet.
Het is een goed idee om dit eerst op een breadboard te bouwen, voor het geval je fouten maakt, heb ik een schakelschema en stapsgewijze foto's bijgevoegd, waarnaar wordt verwezen.
- Het eerste component dat bedraad wordt, is deze MCP3008 analoog naar digitaal converter. Deze kan tot 8 analoge ingangen gebruiken en communiceert via SPI met de Raspberry Pi. Met de chip naar boven gericht en de halve cirkel weggesneden aan het uiteinde dat het verst van je verwijderd is, verbinden de pinnen aan de rechterkant allemaal met de Raspberry Pi. Sluit ze aan zoals afgebeeld. Als je iets meer wilt weten over hoe de chip werkt, is hier een geweldige gids voor de MCP3008 en het SPI-protocol.
- De pinnen aan de linkerkant zijn de 8 analoge ingangen, genummerd 0-7 van boven naar beneden. We gebruiken alleen de eerste 3 (CH0, CH1, CH2), voor de LDR, de algemene gassensor (TGS2600) en de temperatuursensor (LM35). Sluit eerst de LDR aan zoals aangegeven in het schema. De ene kant naar aarde en de andere naar 3,3V via een 2,2KΩ-weerstand en CH0.
- Sluit vervolgens de "algemene gassensor" aan. Deze gassensor wordt gebruikt voor het detecteren van luchtverontreinigingen zoals waterstof en koolmonoxide. Ik heb nog niet uitgewerkt hoe ik specifieke concentraties kan krijgen, dus voor nu is het resultaat van deze sensor een basispercentage, waarbij 100% volledig verzadigd is. Met de sensor naar boven gericht (pinnen aan de onderkant), is de pin direct rechts van de kleine ontsluiting pin 1 en dan nemen de cijfers met de klok mee rond de pin toe. Dus pin 1 en 2 verbinden met 5V, pin 3 maakt verbinding met CH1 en aarde via een weerstand van 22KΩ en pin4 maakt rechtstreeks verbinding met aarde.
- De laatste analoge sensor om aan te sluiten is de LM35 temperatuursensor. Deze heeft 3 pinnen. Neem de sensor zo dat de platte kant het dichtst bij je is, de meest linkse pin sluit rechtstreeks aan op 5V (niet aangegeven op het diagram, mijn fout!), de middelste pin wordt aangesloten op CH2 en de meest rechtse pin wordt rechtstreeks op aarde aangesloten. Eenvoudig!
- Het laatste onderdeel dat moet worden aangesloten, is de DHT22-vochtigheidssensor. Dit is een digitale sensor en kan dus rechtstreeks op de Raspberry Pi worden aangesloten. Pak de sensor met het rooster naar je toe en de vier pinnen aan de onderkant. Pinnen worden besteld vanaf 1 aan de linkerkant. Sluit 1 aan op 3,3V. Pin 2 gaat via een weerstand van 10KΩ naar GPIO4 en 3.3V. Laat pin 3 los en pin 4 gaat rechtstreeks naar aarde.
Dat is het! Het testcircuit is gebouwd. Ik hoop meer componenten toe te voegen als ik tijd heb. Ik zou heel graag een druksensor, een windsnelheidssensor willen toevoegen en ik zou graag meer intelligente gegevens over gasconcentraties willen krijgen.
Stap 3: GSM-module
Nu de detectiecircuits zijn gebouwd, moet er een manier zijn om de resultaten te ontvangen. Dat is waar de GSM-module van pas komt. We gaan hem gebruiken om de resultaten één keer per dag via het mobiele netwerk in een sms te verzenden.
De GSM-module communiceert via serieel met de Raspberry Pi met behulp van UART. Hier is wat geweldige informatie over seriële communicatie met de Raspberry Pi. Om de controle over de seriële poort van de Pi over te nemen, moeten we eerst wat configuratie uitvoeren.
Start je Raspberry Pi op met een standaard Raspbian-afbeelding. Verander nu het bestand "/boot/cmdline.txt" van:
"dwc_otg.lpm_enable=0 console=ttyAMA0, 115200 kgdboc=ttyAMA0, 115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait"
tot:
"dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait"
door het onderstreepte tekstgedeelte te verwijderen.
Ten tweede moet je het bestand "/etc/inittab" bewerken door commentaar te geven op de tweede regel in de volgende sectie:
#Spawn een getty op Raspberry Pi seriële lijnT0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100"
Zodat er staat:
#Spawn een getty op Raspberry Pi seriële lijn#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
en start de Pi opnieuw op. Nu zou de seriële poort vrij moeten zijn om mee te communiceren zoals je wilt. Het is tijd om de GSM-module aan te sluiten. Bekijk het schakelschema in de vorige stap en de afbeeldingen hierboven om te zien hoe dit wordt gedaan. Kortom, TX is verbonden met RX en RX is verbonden met TX. Op de Raspberry Pi TX en RX staan respectievelijk GPIO 14 en 15.
Nu wil je waarschijnlijk controleren of die module werkt, dus laten we proberen een sms te sturen! Hiervoor moet je Minicom downloaden. Het is een programma waarmee je naar de seriële poort kunt schrijven. Gebruik maken van:
"sudo apt-get install minicom"
Nadat het is geïnstalleerd, kan minicom worden geopend met het volgende commando:
"minicom -b 9600 -o -D /dev/ttyAMA0"
9600 is de baudrate en /dev/ttyAMA0 is de naam van de seriële poort van de Pi. Hiermee wordt een terminalemulator geopend waarin alles wat u schrijft op de seriële poort zal verschijnen, dat wil zeggen dat het naar de GSM-module wordt verzonden.
Plaats je opgewaardeerde simkaart in de GSM-module en druk op de aan/uit-knop. Waarna een blauwe led moet gaan branden. De GSM-module gebruikt de AT-commandoset, hier is de documentatie als je echt geïnteresseerd bent. Nu controleren we of Raspberry Pi de module heeft gedetecteerd met het volgende commando:
"BIJ"
de module zou dan moeten reageren met:
"OKE"
Super goed! Vervolgens moeten we de module configureren om een sms als tekst te verzenden in plaats van binair:
"AT+CMGF = 1"
opnieuw zou het antwoord "OK" moeten zijn. Nu schrijven we het commando om een sms te sturen:
"AT+CMGS= "44*************** "", vervang de sterren door uw nummer.
De modem reageert met ">" waarna u uw bericht kunt schrijven. Druk op om het bericht te verzenden. Dat is het, en met een beetje geluk heb je zojuist een sms ontvangen rechtstreeks van je Raspberry Pi.
Nu we weten dat de GSM-module werkt, kunt u minicom sluiten; we hebben het niet nodig voor de rest van het project.
Stap 4: Download de software en droogloop
In deze fase moet alles zijn aangesloten en klaar om te testen voor een droge run. Ik heb een vrij eenvoudig python-programma geschreven dat metingen van elke sensor doet en de resultaten vervolgens naar je mobiele telefoon stuurt. Je kunt het hele programma downloaden van de PiJuice Github-pagina. Dit kan ook een goed moment zijn om te testen met de PiJuice-module. Het wordt gewoon aangesloten op de GPIO van de Raspberry Pi, alle draden die op de Pi zijn aangesloten, worden gewoon rechtstreeks aangesloten op de overeenkomstige pin-outs op de PiJuice. Makkelijk als Pi. Gebruik de opdracht om de code te downloaden:
git kloon
Dit is ingesteld om eenmaal per dag gegevens te verzenden. Voor testdoeleinden is dit niet geweldig, dus misschien wilt u het programma bewerken. Dit is gemakkelijk gedaan; open gewoon het bestand; "sudo nano weerstation.py". In de buurt van de top is er een "set delay" sectie. Reageer op de regel "delay=86400" en verwijder het commentaar "delay=5". Nu worden de resultaten elke 5 seconden verzonden. U wilt ook het programma wijzigen zodat het uw eigen mobiele nummer bevat. Zoek waar het staat "+44**********" en vervang de sterren door uw eigen nummer.
Voordat u het programma uitvoert, hoeft u alleen maar een bibliotheek te downloaden om de DHT22-vochtigheidssensor te lezen:
git kloon
En de bibliotheek moet worden geïnstalleerd:
"cd Adafruit_Python_DHT"
"sudo apt-get update"
"sudo apt-get install build-essentiële python-dev"
"sudo python setup.py installeren"
Cool, nu kun je het programma testen.
"sudo python weerstation.py"
Terwijl het programma draait, moeten de resultaten naar uw mobiel worden verzonden, maar ook om de 5 seconden in de terminal worden afgedrukt.
Stap 5: Bouw het circuit
Nu alles in de praktijk werkt, is het tijd om het echte werk te bouwen. De foto's tonen het algemene idee van hoe de hele unit in elkaar past. Er zijn twee aparte wooneenheden; een voor het detectiecircuit (dat gaten zal hebben om lucht naar binnen te laten circuleren) en een voor de Raspberry Pi, GPRS-eenheid en PiJuice, (volledig waterdicht) het zonnepaneel wordt met een waterdichte aansluiting op de computereenheid bedraad. De twee eenheden kunnen dan eenvoudig worden losgemaakt, zodat de sensorbehuizing of de computerbehuizing kan worden verwijderd zonder de hele eenheid te hoeven demonteren. Dit is geweldig als je meer sensoren wilt toevoegen of als je je Raspberry Pi of PiJuice nodig hebt voor een ander project.
U moet het protoboard breken om in de kleinste van de twee aansluitdozen te passen. Dit is waar het detectiecircuit is ondergebracht. Het detectiecircuit wordt nu overgedragen van het breadboard naar het protoboard. Nu moet je wat solderen. Zorg ervoor dat u vertrouwd bent met het veilig gebruik van een soldeerbout. Als je het niet zeker weet, vraag dan de hulp van iemand die een competente soldeerster is.
Veel dank aan Patrick in het lab hier, die me heeft gered van het maken van een echte hash van dit circuit. Hij slaagde erin om het in een kwestie van minuten in elkaar te kloppen! Als je, zoals ik, niet de beste bent in het bouwen van circuits, en je hebt geen genie als Patrick die klaar staat om je te helpen, dan kun je het circuit altijd op een breadboard laten staan, zolang het maar in je elektriciteitskast past.
Stap 6: De wooneenheden voorbereiden
Dit deel is waar het echt leuk wordt. Je hebt misschien de ringen op elke doos opgemerkt. Deze zijn ontworpen om te worden uitgeschakeld, zodat dozen knooppunten voor elektriciteit kunnen worden. We zullen ze gebruiken om verbinding te maken tussen de detectie-eenheid en de rekeneenheid, voor aansluiting op het zonnepaneel en ook als ventilatie voor de detectie-eenheid om luchtcirculatie mogelijk te maken.
Klop eerst een gat uit elke doos voor de verbinding tussen de twee, zoals te zien is op de foto's. Het uitkloppen van de gaten kan lastig zijn om netjes te doen, maar een ruwe rand maakt niet uit. Ik ontdekte dat de beste methode is om een schroevendraaier te gebruiken om eerst de ingekeepte ring rond elk gat te doorboren en het dan los te wrikken als een deksel van een verfblik. De waterdichte kabelconnector wordt vervolgens gebruikt om de twee dozen met elkaar te verbinden.
Dan moet je nog een gat in de computerbehuizing maken voor de zonnepaneeldraad. Dit gat wordt vervolgens afgesloten met een van uw halfblinde kabeldoorvoertules. Maak voordat u de doorvoertule plaatst er een gaatje in zodat de kabel erdoor kan. Dit moet zo klein mogelijk zijn om het waterdicht te houden, duw dan het micro-usb-uiteinde door het gat (dit is het uiteinde dat verbinding maakt met de PiJuice).
Ten slotte moet er een extra gat in de sensoreenheid worden gemaakt om lucht in en uit te laten. Ik heb besloten om voor het geheel te gaan recht tegenover de kruising tussen de twee dozen. Het kan nodig zijn om een tweede gat toe te voegen. Ik denk dat we er na een tijdje achter zullen komen met het weerstation.
Stap 7: Bedrading en afwerking van het weerstation
Juist, bijna daar. De laatste fase is om alles aan te sluiten.
Te beginnen met de rekeneenheid. In deze doos hebben we de Raspberry Pi, The PiJuice die wordt aangesloten op de Raspberry Pi GPIO en de GSM-module die via vrouwelijke naar vrouwelijke jumperdraden wordt aangesloten op de GPIO-breakout op de PiJuice. Leuk en knus! in dit stadium zou ik waarschijnlijk adviseren om een soort sealer rond het ingangspunt voor de USB-kabel voor het zonnepaneel te plaatsen. Een soort hars of secondelijm zou waarschijnlijk werken.
Ga vervolgens naar de sensoreenheid. Op de foto zijn de draden van boven naar beneden; grijs, wit, paars en blauw zijn de SPI-datalijnen, zwart is aarde, oranje is 3,3 V, rood is 5 V en groen is GPIO 4. U moet jumperdraden vinden om deze aan te sluiten en deze vervolgens door de waterdichte kabel te voeren connector zoals te zien op de foto's. Vervolgens kan elke draad worden aangesloten op de bijbehorende GPIO en kan de connector worden vastgedraaid. In dit stadium is het gemakkelijk om te zien hoe het ontwerp kan worden verbeterd; de LDR zal niet aan veel licht worden blootgesteld (hoewel het nog steeds handig kan zijn om relatieve waarden te kennen, en een extra gat eruit halen zou kunnen helpen), denk ik dat het beter is om dezelfde grootte als de rekeneenheid te gebruiken box ook voor de sensor unit, dan past de printplaat makkelijker in de box en is er ruimte om met verschillende opstellingen te spelen.
Ik heb hem nu in de tuin gezet, zoals je op de foto's kunt zien. Hopelijk kan ik de komende dagen ook wat resultaten posten! En zoals ik al eerder zei, als je ideeën hebt voor toffe projecten, laat het me weten!
Aanbevolen:
Oplaadbaar licht op zonne-energie maken: 8 stappen
Hoe zonne-oplaadbaar licht te maken:
Een draagbare zonne-energiegenerator maken: 12 stappen
Maak een draagbare zonne-energiegenerator: was uw elektronica ooit leeg toen u onderweg was? camping of op een plek waar er geen stroom (Ac) was om ze weer op te laden? Nou, hier is een eenvoudig weekendproject dat ervoor zorgt dat je altijd een manier hebt om je mobiele telefoon te houden
4-in-1 DOOS (oplaadbaar op zonne-energie stun gun, powerbank, led-licht en laser): 5 stappen (met afbeeldingen)
4 in 1 BOX (oplaadbaar op zonne-energie, powerbank, ledlicht en laser): in dit project zal ik het hebben over het maken van 4 in 1 oplaadbare stungun op zonne-energie, powerbank, led-licht & Laser alles in één doos. Ik heb dit project gemaakt omdat ik al mijn gewenste apparaten in de doos wil toevoegen, het is als een overlevingsdoos, grote capaciteit
Robot op zonne-energie: 17 stappen (met afbeeldingen)
Robot op zonne-energie: Een tijdje terug heb ik tientallen robots gemaakt die grotendeels waren geïnspireerd door BEAM Robotics. Voor degenen die niet bekend zijn, BEAM is in feite een speciale methode voor het bouwen van robots met de nadruk op biologie, elektronica, esthetiek en mechanica (vandaar de afkorting
Beveiligingssensor op zonne-energie: 4 stappen
Beveiligingssensor op zonne-energie: deze eenvoudige en goedkope beveiligingssensor heeft een paar opvallende kenmerken die van belang kunnen zijn voor hobbyisten: op zonne-energie met een klein oplaadcircuit voor oplaadbare lithiumbatterijen op zonnecel kan worden gevoed via een USB-kabel voor eerste lading of batte