Inhoudsopgave:

Raspberry Pi in het wild! Verlengde timelapse met batterijvoeding: 10 stappen (met afbeeldingen)
Raspberry Pi in het wild! Verlengde timelapse met batterijvoeding: 10 stappen (met afbeeldingen)

Video: Raspberry Pi in het wild! Verlengde timelapse met batterijvoeding: 10 stappen (met afbeeldingen)

Video: Raspberry Pi in het wild! Verlengde timelapse met batterijvoeding: 10 stappen (met afbeeldingen)
Video: The Wars of Man | ANUNNAKI SECRETS REVEALED 27 | The Wars of Gods and Men by Zecharia Sitchin 2024, November
Anonim
Raspberry Pi in het wild! Verlengde time-lapse met batterijvoeding
Raspberry Pi in het wild! Verlengde time-lapse met batterijvoeding
Raspberry Pi in het wild! Verlengde time-lapse met batterijvoeding
Raspberry Pi in het wild! Verlengde time-lapse met batterijvoeding
Raspberry Pi in het wild! Verlengde time-lapse met batterijvoeding
Raspberry Pi in het wild! Verlengde time-lapse met batterijvoeding

Motivatie: ik wilde een batterijgevoede Raspberry Pi-camera gebruiken om eenmaal per dag buiten foto's te maken om langdurige time-lapse-video's te maken. Mijn specifieke toepassing is om de groei van bodembedekkers in de komende lente en zomer vast te leggen.

Uitdaging: ontwerp een Raspberry Pi-stroomregeling met lage stroomsterkte om een lange levensduur van de batterij te garanderen.

Mijn oplossing: ik gebruik een gehackte wekker, Attiny85-circuit en Pimoroni OnOff-shim om de stroom naar de Raspberry Pi volledig uit te schakelen wanneer deze niet in gebruik is. Terwijl de Attiny85 en de wekker in de stand-bymodus blijven lopen, is het stroomverbruik slechts 5 microampère. Twee AAA-batterijen voeden zowel Attiny als wekker, terwijl een USB-powerbank de Pi van stroom voorziet.

Basisbediening: Wanneer de wekker afgaat, wordt een slapend Attiny-circuit wakker, dat vervolgens Pimoroni OnOff-shim signaleert om stroom van USB-powerbank naar Raspberry Pi toe te passen. De Pi voert een run-at-boot-script uit (maak een foto). Nadat er voldoende tijd is verstreken (60 seconden in mijn toepassing), signaleert het Attiny-circuit opnieuw Pimoroni OnOff-shim en gaat de Attiny naar de slaapmodus. Op basis van het signaal van Attiny voert de Pimoroni OnOff-shim de Pi-afsluitopdracht uit en nadat het Pi-afsluitproces is voltooid, wordt de stroomtoevoer van de USB-powerbank naar de Raspberry Pi onderbroken.

Stap 1: Onderdelen en gereedschappen

Onderdelen en gereedschappen
Onderdelen en gereedschappen
Onderdelen en gereedschappen
Onderdelen en gereedschappen

Onderdelen:

Raspberry Pi Zero of Raspberry Pi Zero W (trekt meer vermogen)

Raspberry PI-cameramodule

Raspberry Pi Zero-behuizing

Pimoroni ONOFF SHIM RASP PI POWER SWITCH, Digikey

OPTOISOLATOR Digikey

Batterij-aangedreven digitale wekker Doel

ATtiny85 8 DIP Digikey

(2) DOP ALUM 100UF Digikey

DS3231 RTC-module AliExpress

(2) 68 ohm weerstand

Korte (ongeveer 15 cm) micro-USB-kabel

Clear Box Amac SKU#: 60120. 4" x 4" x 5-1/16" h The Container Store

Kmashi 11200 mAh USB Powerbank # k-mp806 of vergelijkbaar

Dubbel plakband

Kleine zelftappende schroef

(2) 1X8-pins vrouwelijke stapelheaders - vaak verkocht als Arduino UNO-stapelheaders

Perf of stripboard ongeveer 1 1/4 "bij 2"

5 1/2 bij 5 /12 bij 3/4 dik grenen of triplex

1 1/4 PVC pijp ongeveer 15 lang

1 1/4 PVC-koppeling

(2) korte bungee-koorden van ongeveer 10 lang

(4) 1/4 "dia. houten paspennen ongeveer 1" lang

UltraDeck Natural Post Sleeve Cap Menards

Gereedschap:

Draadsnijders en soldeerbout

Arduino UNO of andere manier om ATtiny85. te programmeren

Sluit draad en jumpers aan

Toetsenbord, muis, HDMI-monitor, USB-poort en Ethernet-hub, OTG-kabel

Multimeter

Stap 2: Installeer Raspberry Pi OS, Pimoroni OnOff Shim, DS3231 RTC en Pi Camera Module

Installeer Raspberry Pi OS, Pimoroni OnOff Shim, DS3231 RTC en Pi Camera Module
Installeer Raspberry Pi OS, Pimoroni OnOff Shim, DS3231 RTC en Pi Camera Module
Installeer Raspberry Pi OS, Pimoroni OnOff Shim, DS3231 RTC en Pi Camera Module
Installeer Raspberry Pi OS, Pimoroni OnOff Shim, DS3231 RTC en Pi Camera Module
Installeer Raspberry Pi OS, Pimoroni OnOff Shim, DS3231 RTC en Pi Camera Module
Installeer Raspberry Pi OS, Pimoroni OnOff Shim, DS3231 RTC en Pi Camera Module

Pi Zero-configuratie. Bereid SD-kaart voor Raspberry Pi voor met de distributie van uw keuze. Zorg ervoor dat u tijdens het eerste installatieproces de I2C-interface, camera en opstart naar CLI met automatisch inloggen, de juiste lokale tijd instelt en uw wachtwoord wijzigt. Ik raad ook aan om een statisch IP-adres in te stellen om het onderweg gemakkelijker te maken. Soldeer mannelijke header naar Pi Zero. U kunt de standaard 2 x 20 header of een kortere 2 x 6 header gebruiken, omdat niet alle 40 pinnen nodig zijn voor dit project - alleen de eerste 12 pinnen.

Camera installeren. Klik de Pi Zero in de behuizing en gebruik de meegeleverde korte lintkabel om de cameramodule aan te sluiten op de Pi Zero om de kabel uit de sleuf aan het uiteinde van de behuizing te leiden. Monteer de GPIO sleuf bovenkap en bevestig de camera aan de kap met dubbele plakband (zie foto).

Bereid Pimoroni OnOff Shim, DS3231 RTC voor. Hoewel de Pimoroni OnOff Shim wordt geleverd met een 2 x 6 vrouwelijke header, heb ik in plaats daarvan twee 1 x 6 vrouwelijke "stapelheaders gebruikt die gewoonlijk worden verkocht voor Arduino UNO's. De headerpinnen moeten boven de Pimoroni OnOff Shim uitsteken op Raspberry Pi-pinlocaties 1, 3, 5, 7, 9, de andere pinnen kunnen worden ingekort tot de standaard pinlengte. Duw de DS3231 RTC op de verlengde pinnen zoals weergegeven in de foto en duw vervolgens de Pimoroni OnOff Shim & DS3231 RTC-subeenheid op de Raspberry Pi-headerpinnen zoals getoond.

Installeer de Pimoroni OnOff Shim-software met:

krul https://get.pimoroni.com/onoffshim | bash

Kijk hier voor meer informatie over het installeren van Shim

Installeer de DS3231 RTC-software volgens deze instructies

Eerste tests - Camera, Pimoroni OnOff Shim, DS3231 RTC

Sluit het lokale toetsenbord en de monitor aan op Pi Zero. Zorg voor een netwerkverbinding (ethernetkabel of wifi). Sluit USB-stroomkabel Pimoroni OnOff Shim aan.

A. Houd de Pimoroni OnOff Shim-drukknop 3 seconden ingedrukt en laat vervolgens los - hiermee schakelt u de Pi Zero in of uit. Bekijk het opstart- en afsluitproces op de monitor. Je Pi Zero heeft nu een geavanceerde technologie-upgrade - een aan/uit-schakelaar!

B. Stel de DS3231-tijd in en controleer of deze de juiste tijd aangeeft met:

sudo hwclock -w

sudo hwclock -r

C. Test de camerafunctie volgens deze instructies.

Stap 3: Setup Raspberry Pi Run-At-Boot-script en testcamera

Raspberry Pi Run-At-Boot-script instellen en camera testen
Raspberry Pi Run-At-Boot-script instellen en camera testen

Aanmaken en verplaatsen naar nieuwe zerocam-submap

mkdir zerocam

cd zerocam

Gebruik nano-editor om een nieuw scriptbestand te maken

nano photo.sh

Kopieer en plak vervolgens de onderstaande code in de nano-editor. De nauwe nano met Ctrl+X, Y dan Return.

#!/bin/bash

DATE=$(date +"%Y-%m-%d_%H%M") raspistill -o /home/pi/zerocam/$DATE-j.webp

Aangezien dit script de opdracht convert gebruikt, moet u ImageMagick op de Raspberry Pi installeren

sudo apt-get update

sudo apt-get install imagemagick

Maak het bestand uitvoerbaar

chmod +x foto.sh

Open /etc/rc.local (commando's in dit bestand worden uitgevoerd bij het opstarten)

sudo nano /etc/rc.local

Aan de onderkant van het bestand, net voor exit 0-instructie, voeg deze nieuwe regel toe en sluit nano met Ctrl+X, Y dan Return.

sh /home/pi/zerocam/photo.sh

Met een lokale monitor aangesloten, test u of deze werkt

sudo reboot

De Pi moet opnieuw opstarten en een foto maken. Er zal een nieuw.jpg-bestand zijn in de map /home/pi/zerocam

Test ook het in- en uitschakelen van de Pi met de Pimoroni-drukknop. Meet en noteer de opstarttijd van de Pi. Het zou minder dan 60 seconden moeten zijn.

Stap 4: wekker hacken

Wekker hacken
Wekker hacken
Wekker hacken
Wekker hacken
Wekker hacken
Wekker hacken

Observeren als geproduceerde bewerking - Installeer twee AAA-batterijen in de wekker en oefen het instellen van de tijd en het alarm volgens de meegeleverde instructies. Let vooral op het alarm dat afgaat - u zou (1) het kleine alarmsymbool op het display moeten zien knipperen, (2) de zoemer klinkt gedurende 1 minuut en gaat vervolgens uit en (3) de LED van de achtergrondverlichting brandt gedurende 5 seconden en gaat dan uit.

Demonteren - Verwijder de vier schroeven van de klok terug om de twee helften van elkaar te scheiden en verwijder vervolgens nog vier schroeven om de hoofdprintplaat vrij te maken.

Hack - Knip de LED-draden aan de voorkant van de PCB door zoals afgebeeld en soldeer 5 lange draden aan de resterende draden aan de achterkant van de PCB (zie afbeelding). Desoldeer de zoemer zoals afgebeeld.

Voeg aan de aansluitingen van het batterijcompartiment twee extra draden (rood en zwart) plus een 100MFD elektrolytische condensator toe zoals afgebeeld (let op de polariteit).

Zet de klok weer in elkaar en zorg ervoor dat de LED- en nieuwe batterijgeleiders uit de bevestigingssleuven van de achterklep komen, zoals afgebeeld.

Opnieuw testen - Plaats batterijen en test de alarmfunctie - als het alarm nu afgaat, zou u het kleine alarmsymbool op het display moeten zien knipperen - maar geen zoemer en geen achtergrondverlichting. Sluit een multimeter aan op LED-draden die u ongeveer 3 VDC moet detecteren wanneer het alarm afgaat van een periode van ongeveer 5 seconden.

Stap 5: Bouw Attiny85-printplaat

Attiny85-printplaat bouwen
Attiny85-printplaat bouwen
Attiny85-printplaat bouwen
Attiny85-printplaat bouwen

Verwijzend naar de foto en Attiny85 Schematic.pdf construeer de printplaat op een klein stukje perf of stripboard. Opmerkingen:

  • Zorg ervoor dat u een 8-pins DIP-socket gebruikt voor de Attiny85-chip, aangezien deze moet worden verwijderd voor het programmeren.
  • Zorg voor de juiste oriëntatie van de Optos voordat u gaat solderen.
  • Jumper leads naar Pimoroni Shim moeten minstens 10 cm lang zijn met vrouwelijke headers om de Shims BTN mannelijke pinnen te bevestigen.
  • Let op de polariteit bij het maken van verbindingen met alarmklik - circuit heeft geen beveiliging tegen omgekeerde polariteit

Stap 6: Upload code naar Attiny 85 Chip

Gebruik een Arduino Uno of andere middelen om de code (AttinyPiPowerControl.ino-bestand bijgevoegd) naar uw Attiny85-chip te uploaden. Opmerking - deze code geeft de PI 60 seconden de tijd om op te starten, een foto te maken en naar de opdrachtprompt van de terminal te gaan voordat het afsluitproces wordt gestart. U kunt dan de Attiny85-chip in de socket van de printplaat installeren - controleer nogmaals de richting.

Opmerking: als je meer of minder Pi-runtime nodig hebt, bewerk dan deze regel onderaan:

vertraging (60.000); // laat Pi een tijdje opstarten en rennen

Stap 7: Bedrading en eerste test en downloaden van fotobestanden van PI

Bedrading en eerste test en downloaden van fotobestanden van PI
Bedrading en eerste test en downloaden van fotobestanden van PI

bedrading:

Sluit de USB-powerbank aan op de micro-USB-poort van de Pimoroni-shim. Sluit de jumperkabels van de Attiny85-printplaat aan op de Pimoroni-shim, zorg ervoor dat de zwarte kabel wordt aangesloten op de buitenste rand BTN-pin op de Pimoroni-shim.

Toets:

Installeer 2 AAA-batterijen in de wekker en stel de kloktijd in. Ik raad aan om ook de HDMI-poort van Pi op een lokale monitor aan te sluiten.

Zet de wekker aan en stel een wekker een paar minuten later in. Wanneer het alarm afgaat, zou u het volgende moeten zien:

A. Klokalarmpictogram begint te knipperen

B. Na ongeveer 5 seconden gaat de rode LED Pimoroni Shim 5 seconden branden

C. De Pi begint op te starten

NS. Na ongeveer 20 seconden gaat de camera-LED aan en wordt er een foto gemaakt. Als je een lokale monitor hebt aangesloten, zie je een kort voorbeeld van de gemaakte foto.

e. Na nog eens 40 seconden of zo, start de Pi helemaal op tot de opdrachtprompt van de terminal

F. Pi start het uitschakelproces, na ongeveer 20 seconden knippert de rode LED van de Pimoroni Shim om aan te geven dat de stroom naar de PI is onderbroken

Fotobestanden downloaden van PI

Ik verbind de PI met mijn netwerk met behulp van een OTG-kabel en een USB-naar-ethernet-adapter, waardoor Pi wordt gevoed vanuit de muur. Gebruik vervolgens WinSCP om bestanden naar mijn pc te downloaden.

Stap 8: Monteer de elektronische behuizing

Elektronicabehuizing monteren
Elektronicabehuizing monteren
Elektronicabehuizing monteren
Elektronicabehuizing monteren
Elektronicabehuizing monteren
Elektronicabehuizing monteren

Bevestig de Attiny85-printplaat aan de achterkant van de wekker met een kleine zelftappende schroef. Bevestig PI aan de klok met behulp van dubbele plakband zoals getoond

Bevestig de linkerzijde van de klok aan de onderkant van de vitrine met dubbelzijdig plakband

Bevestig de USB-powerbank aan de onderkant van de vitrine met dubbelzijdig plakband, zoals afgebeeld.

Plaats de bovenkast over de onderkant van de vitrine zoals afgebeeld.

Stap 9: Maak een montagepaal, eindmontage en laat PI in het wild los

Construeer montage paal, eindmontage en laat PI los in het wild
Construeer montage paal, eindmontage en laat PI los in het wild
Construeer montage paal, eindmontage en laat PI los in het wild
Construeer montage paal, eindmontage en laat PI los in het wild
Construeer montage paal, eindmontage en laat PI los in het wild
Construeer montage paal, eindmontage en laat PI los in het wild
Construeer montage paal, eindmontage en laat PI los in het wild
Construeer montage paal, eindmontage en laat PI los in het wild

Onderstuk: snijd in een stuk hout van 5 1/2 X 5 1/2 4 sleuven 3/4 "naar binnen vanaf elke kant, zoals weergegeven. Ik heb een 1/4 frees gebruikt, maar je kunt ook boren en zagen. maak in het midden een gat voor 1 1/4 PVC-koppeling. Ideale gatmaat is 1 5/8", maar aangezien ik alleen een 1 3/4" gatenzaag had, heb ik die gebruikt en de koppeling OD opgebouwd met ducktape. Lijm koppeling op zijn plaats met epoxy.

Centreer de elektronicabehuizing boven het houtblok en markeer de omtrek ervan. Boor vervolgens vier 1/4 gaten langs elke kant zoals afgebeeld. Lijm vier 1 "lange 1/4" dia houten deuvels in deze gaten - dit zal helpen om de behuizing gecentreerd te houden.

Bovenstuk: boor vier gaten van 3/16 inch nabij de onderrand van elke maat en steek 3/4 inch lange S-haken in elk gat en buig de uiteinden dicht zodat ze er niet af vallen. Aan de binnenranden hete lijm 4 vier 1/2 dikke stukjes hout - deze zullen helpen om het bovenste stuk gecentreerd boven de behuizing te houden.

Eindmontage: Plaats de elektronicabehuizing tussen de boven- en onderstukken en zet ze vast met twee elastische koorden zoals afgebeeld

Laat PI in het wild los: maak een montagestok door 1 1/4 "PVC-buis af te snijden met een lengte die geschikt is voor uw doeleinden, snijd het ene uiteinde in een hoek van 45 graden om het gemakkelijker te maken om in de grond te stampen. In mijn geval ik' Ik ben dit voorjaar geïnteresseerd in de groei van bodembedekkers (Vinea minor) en dus is mijn PVC-staak slechts 15 "lang. Controleer nogmaals of de AAA-batterijen vers zijn, de USB-powerbank volledig is opgeladen en de wekker goed is ingesteld - steek dan de paal in de grond en schuif de montage bovenop de montagepaal - zie foto.

Stap 10: Huidige metingen en versnelde batterijduurtest

Huidige metingen en versnelde batterijduurtest
Huidige metingen en versnelde batterijduurtest
Huidige metingen en versnelde batterijduurtest
Huidige metingen en versnelde batterijduurtest
Huidige metingen en versnelde batterijduurtest
Huidige metingen en versnelde batterijduurtest
Huidige metingen en versnelde batterijduurtest
Huidige metingen en versnelde batterijduurtest

Ik heb de stroom gemeten met behulp van Radio Shack RS-232 Multimeter (22-812) en bijbehorende Meter View-software. Niet de beste keuze, maar het is wat ik heb.

Meting van stroomverbruik van twee AAA-batterijen, Attiny85-bord en wekker

Om de multimeter "serieus aan te sluiten" heb ik dummy-batterijen en een 3 VDC-bankvoeding gebruikt (zie foto). Zie grafiek van stroom gemeten tijdens de "actieve" periode (begint met alarmgebeurtenis - eindigt met Attiny85 keert terug naar slaapmodus). Niet-alarmverbruik was constant 0,0049 mA. Samenvatting -

Actieve periode = 78 seconden

Actieve periode gem. Stroom = 4,85 mA

Niet-alarmstroom = 4,9 microA (0,0049 mA)

Ik heb met deze methode een gemiddelde dagelijkse stroomafname van 0,0093 mA berekend uit de twee AAA (750 mAh/elk), rekening houdend met de slaap- en actieve modus, en de theoretische levensduur van de batterij > 8 jaar.

Meting van PI stroomverbruik van USB powerbank. Om de multimeter te "series connecten" heb ik een aangepaste usb kabel gebruikt (zie foto). Zie grafiek van stroom gemeten tijdens de "actieve" periode (PI opstarten - PI afsluiten). Tijdens een niet-actieve periode onderbreekt de Pimoroni ONOFF-shim de stroom naar Pi volledig, dus stroomverbruik ~ nul. Samenvatting -

Actieve periode = 97 seconden

Actieve periode gem. Stroom = 137 mA

Uitgaande van een powerbank van 11200 mAh is het theoretische aantal actieve periodecycli > 3000.

Versnelde batterijduurtest

Ik bestuurde de PI tijdelijk met Arduino UNO geprogrammeerd voor snel fietsen - de tijd tussen alarmen was 2 minuten versus de normale 24 uur.

Test #1: 11200mAh powerbank. Begon om 22.00 uur en ik stopte de volgende dag om 13.00 uur. Resultaten: 413 foto's gemaakt, 3 van de 4 oplaadniveau-LED's branden nog aan het einde van de test.

Test #2: 7200mAh powerbank. Om 19.30 uur begonnen en de volgende dag om 16.30 uur gestopt. Resultaten: 573 foto's gemaakt, 2 van de 4 oplaadniveau-LED's branden nog aan het einde van de test.

Conclusie: Ik geloof dat de bovenstaande resultaten aangeven dat het waarschijnlijk is dat er minimaal een jaar gebruik wordt gemaakt van 1 foto per foto.

Aanbevolen: