Table des matières:

Raspberry Pi à l'état sauvage ! Timelapse étendu avec batterie : 10 étapes (avec photos)
Raspberry Pi à l'état sauvage ! Timelapse étendu avec batterie : 10 étapes (avec photos)

Vidéo: Raspberry Pi à l'état sauvage ! Timelapse étendu avec batterie : 10 étapes (avec photos)

Vidéo: Raspberry Pi à l'état sauvage ! Timelapse étendu avec batterie : 10 étapes (avec photos)
Vidéo: SatNogs - F5KGA F4HVX 12 04 2019 2024, Juillet
Anonim
Raspberry Pi à l'état sauvage ! Timelapse étendu avec alimentation par batterie
Raspberry Pi à l'état sauvage ! Timelapse étendu avec alimentation par batterie
Raspberry Pi à l'état sauvage ! Timelapse étendu avec alimentation par batterie
Raspberry Pi à l'état sauvage ! Timelapse étendu avec alimentation par batterie
Raspberry Pi à l'état sauvage ! Timelapse étendu avec alimentation par batterie
Raspberry Pi à l'état sauvage ! Timelapse étendu avec alimentation par batterie

Motivation: je voulais utiliser un appareil photo Raspberry Pi alimenté par batterie pour prendre des photos une fois par jour à l'extérieur afin de créer des vidéos à long terme. Mon application particulière est d'enregistrer la croissance des plantes couvre-sol ce printemps et cet été.

Défi: Concevoir un contrôle d'alimentation Raspberry Pi à faible courant pour assurer une longue durée de vie de la batterie.

Ma solution: j'utilise un réveil piraté, un circuit Attiny85 et une cale Pimoroni OnOff pour couper complètement l'alimentation du Raspberry Pi lorsqu'il n'est pas utilisé. Alors que l'Attiny85 et le réveil continuent de fonctionner en mode veille, la consommation de courant n'est que de 5 microampères. Deux piles AAA alimentent à la fois Attiny et le réveil, tandis qu'une banque d'alimentation USB alimente le Pi.

Fonctionnement de base: lorsque le réveil se déclenche, il réveille un circuit Attiny en veille, qui signale ensuite à la shim Pimoroni OnOff d'appliquer l'alimentation de la banque d'alimentation USB au Raspberry Pi. Le Pi exécute un script d'exécution au démarrage (prenez une photo). Après un temps suffisant (60 secondes dans mon application), le circuit Attiny signale à nouveau la cale Pimoroni OnOff, puis l'Attiny passe en mode veille. Sur la base du signal d'Attiny, la shim Pimoroni OnOff exécute la commande d'arrêt Pi, et une fois le processus d'arrêt Pi terminé, coupe l'alimentation de la banque d'alimentation USB au Raspberry Pi.

Étape 1: Pièces et outils

Pièces et outils
Pièces et outils
Pièces et outils
Pièces et outils

Les pièces:

Raspberry Pi Zero ou Raspberry Pi Zero W (consomme plus de puissance)

Module de caméra Raspberry PI

Etui Raspberry Pi Zero

Pimoroni ONOFF SHIM RASP PI POWER SWITCH, Digikey

OPTOISOLATEUR Digikey

Cible de réveil numérique à piles

ATtiny85 8 DIP Digikey

(2) CAP ALUM 100UF Digikey

Module RTC DS3231 AliExpress

(2) résistance de 68 ohms

Câble micro USB court (environ 6 pouces)

Boîte transparente Amac SKU #: 60120. 4" x 4" x 5-1/16" h The Container Store

Banque d'alimentation USB Kmashi 11200 mAh # k-mp806 ou similaire

Ruban adhésif double

Petite vis autotaraudeuse

(2) en-têtes d'empilage femelles 1 X 8 broches - généralement vendues comme en-têtes d'empilage Arduino UNO AliExpress

Panneau perforé ou à bandes d'environ 1 1/4" par 2"

5 1/2 par 5 /12 par 3/4 d'épaisseur pin ou contreplaqué

1 1/4 tuyau PVC environ 15 de long

1 1/4 coupleur PVC

(2) cordons élastiques courts d'environ 10 de long

(4) goupilles en bois de 1/4" de diamètre environ 1" de long

UltraDeck Natural Post Sleeve Cap Menards

Outils:

Coupe-fil et fer à souder

Arduino UNO ou autre moyen de programmer ATtiny85

Branchez le fil et les cavaliers

Clavier, souris, moniteur HDMI, port USB et concentrateur Ethernet, câble OTG

Multimètre

Étape 2: Installez Raspberry Pi OS, Pimoroni OnOff Shim, DS3231 RTC et le module de caméra Pi

Installez Raspberry Pi OS, Pimoroni OnOff Shim, DS3231 RTC et le module de caméra Pi
Installez Raspberry Pi OS, Pimoroni OnOff Shim, DS3231 RTC et le module de caméra Pi
Installez Raspberry Pi OS, Pimoroni OnOff Shim, DS3231 RTC et le module de caméra Pi
Installez Raspberry Pi OS, Pimoroni OnOff Shim, DS3231 RTC et le module de caméra Pi
Installez Raspberry Pi OS, Pimoroni OnOff Shim, DS3231 RTC et le module de caméra Pi
Installez Raspberry Pi OS, Pimoroni OnOff Shim, DS3231 RTC et le module de caméra Pi

Configuration Pi Zéro. Préparez une carte SD pour Raspberry Pi avec la distribution de votre choix. Au cours du processus de configuration initiale, en veillant à activer l'interface I2C, la caméra et le démarrage sur CLI avec connexion automatique, définissez l'heure locale correcte et modifiez votre mot de passe. Je recommande également de configurer une adresse IP statique pour faciliter les choses par la suite. Soudez l'en-tête mâle au Pi Zero. Vous pouvez utiliser soit l'en-tête standard 2 x 20, soit un en-tête 2 x 6 plus court, car les 40 broches ne sont pas nécessaires pour ce projet - seulement les 12 premières broches.

Installation de la caméra. Insérez le Pi Zero dans son boîtier et utilisez le câble ruban court inclus pour connecter le module de caméra au Pi Zero en acheminant la fente d'extrémité du boîtier du câble. Installez le capot supérieur à fente GPIO et fixez la caméra au capot avec du ruban adhésif double (voir photo).

Préparez la cale Pimoroni OnOff, DS3231 RTC. Bien que le Pimoroni OnOff Shim soit livré avec un en-tête femelle 2 x 6, j'ai plutôt utilisé deux en-têtes empilables 1 x 6 femelles couramment vendus pour les Arduino UNO. 5, 7, 9, les autres broches peuvent être coupées à une longueur de broche standard. Poussez le DS3231 RTC sur les broches étendues comme indiqué sur la photo, puis poussez le sous-ensemble Pimoroni OnOff Shim & DS3231 RTC sur les broches d'en-tête Raspberry Pi comme montré.

Installez le logiciel Pimoroni OnOff Shim avec:

boucle https://get.pimoroni.com/onoffshim | frapper

Pour plus d'informations sur l'installation de Shim, regardez ici

Installez le logiciel DS3231 RTC selon ces instructions

Tests initiaux - Caméra, cale Pimoroni OnOff, DS3231 RTC

Connectez le clavier et le moniteur locaux au Pi Zero. Assurez-vous d'avoir une connexion réseau (câble Ethernet ou Wifi). Connectez le câble d'alimentation USB Pimoroni OnOff Shim.

une. Appuyez sur le bouton-poussoir Pimoroni OnOff Shim pendant 3 secondes, puis relâchez - cela active ou désactive le Pi Zero. Observez le processus de démarrage et d'arrêt sur le moniteur. Votre Pi Zero dispose désormais d'une mise à niveau technologique avancée - un interrupteur marche/arrêt !

b. Réglez l'heure du DS3231 et vérifiez qu'il lit l'heure correcte avec:

sudo hwclock -w

sudo hwclock -r

c. Testez le fonctionnement de la caméra selon ces instructions.

Étape 3: Configurer le script Run-At-Boot de Raspberry Pi et tester la caméra

Configurer le script Run-At-Boot de Raspberry Pi et tester la caméra
Configurer le script Run-At-Boot de Raspberry Pi et tester la caméra

Créer et déplacer dans le nouveau sous-répertoire zerocam

mkdir zerocam

cd zerocam

Utilisez l'éditeur nano pour créer un nouveau fichier de script

nano photo.sh

Ensuite, copiez et collez le code ci-dessous dans l'éditeur nano. Le nano fermé avec Ctrl+X, Y puis Return.

#!/bin/bash

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

Étant donné que ce script utilise la commande convert, vous devrez installer ImageMagick sur le Raspberry Pi

sudo apt-get mise à jour

sudo apt-get install imagemagick

Rendre le fichier exécutable

chmod +x photo.sh

Ouvrez /etc/rc.local (les commandes de ce fichier s'exécutent au démarrage)

sudo nano /etc/rc.local

Vers le bas du fichier, juste avant l'instruction exit 0, ajoutez cette nouvelle ligne, puis fermez nano avec Ctrl+X, Y puis Return.

sh /accueil/pi/zerocam/photo.sh

Avec un moniteur local connecté, testez que cela fonctionne

redémarrage sudo

Le Pi devrait redémarrer et prendre une photo. Il y aura un nouveau fichier-j.webp

Testez également l'allumage et l'extinction du Pi avec le bouton-poussoir Pimoroni. Mesurez et enregistrez le temps de démarrage du Pi. Il devrait moins de 60 secondes.

Étape 4: Hack Réveil

Hack Réveil
Hack Réveil
Hack Réveil
Hack Réveil
Hack Réveil
Hack Réveil

Observez le fonctionnement produit - Installez deux piles AAA dans le réveil et entraînez-vous à régler l'heure et l'alarme conformément aux instructions fournies. Observez en particulier le son de l'alarme - vous devriez voir (1) le petit symbole d'alarme de l'écran clignoter, (2) le buzzer sonne pendant 1 minute puis s'éteint et (3) le rétroéclairage LED s'allume pendant 5 secondes puis s'éteint.

Démontage - Retirez les quatre vis du dos de l'horloge pour séparer les deux moitiés, puis retirez quatre autres vis pour libérer le PCB principal.

Hack - Coupez les fils LED à l'avant du PCB comme indiqué et soudez à des fils de 5 de long aux fils restants à l'arrière du PCB (voir illustration). Dessoudez le buzzer comme indiqué.

Aux bornes du compartiment de la batterie, ajoutez deux fils supplémentaires (rouge et noir) plus un condensateur électrolytique 100MFD comme indiqué (respectez la polarité).

Remontez l'horloge en vous assurant d'acheminer les fils de la LED et de la nouvelle batterie hors des fentes de rétention du couvercle arrière, comme illustré.

Retest - Installez les piles et testez la fonction d'alarme - maintenant, lorsque l'alarme se déclenche, vous devriez voir le petit symbole d'alarme de l'écran clignoter - mais pas de buzzer et pas de rétroéclairage. Connectez un multimètre aux fils LED, vous devriez détecter environ 3 VDC lorsque l'alarme se déclenche pendant une période d'environ 5 secondes.

Étape 5: Construire le circuit imprimé Attiny85

Construire le circuit imprimé Attiny85
Construire le circuit imprimé Attiny85
Construire le circuit imprimé Attiny85
Construire le circuit imprimé Attiny85

En vous référant à la photo et au schéma Attiny85.pdf, construisez le circuit imprimé sur un petit morceau de carte perforée ou à bande. Remarques:

  • Assurez-vous d'utiliser une prise DIP à 8 broches pour la puce Attiny85 car elle doit être retirée pour la programmation.
  • Assurez-vous de l'orientation correcte de l'Optos avant de souder.
  • Les câbles de cavalier à Pimoroni Shim doivent mesurer au moins 4 pouces de long avec des en-têtes femelles pour attacher les broches mâles Shims BTN.
  • Respectez la polarité lors des connexions avec un clic d'alarme - le circuit n'a pas de protection contre l'inversion de polarité

Étape 6: Téléchargez le code sur la puce Attiny 85

À l'aide d'un Arduino Uno ou d'un autre moyen, téléchargez le code (fichier AttinyPiPowerControl.ino joint) sur votre puce Attiny85. Remarque - ce code permet au PI de démarrer 60 secondes, de prendre une photo et d'accéder à l'invite de commande du terminal avant de démarrer le processus d'arrêt. Vous pouvez ensuite installer la puce Attiny85 dans son support de circuit imprimé - vérifiez l'orientation.

Remarque: Si vous avez besoin de plus ou moins d'exécution Pi, modifiez simplement cette ligne vers le bas:

retard (60000); // laisse Pi démarrer et s'exécuter pendant un certain temps

Étape 7: Câblage et test initial et téléchargement de fichiers photo à partir de PI

Câblage, test initial et téléchargement de fichiers photo à partir de PI
Câblage, test initial et téléchargement de fichiers photo à partir de PI

Câblage:

Connectez la banque d'alimentation USB au port micro usb de la cale Pimoroni. Connectez les cavaliers de la carte de circuit imprimé Attiny85 à la cale Pimoroni, assurez-vous que le fil noir se connecte à la broche BTN du bord extérieur de la cale Pimoroni.

Test:

Installez 2 piles AAA dans le réveil et réglez l'heure de l'horloge. Je recommande également de connecter le port HDMI de Pi à un moniteur local.

Activez l'alarme et réglez une alarme quelques minutes dans le futur. Lorsque l'alarme se déclenche, vous devriez voir:

une. L'icône d'alarme de l'horloge commence à clignoter

b. Après environ 5 secondes, la LED rouge Pimoroni Shim s'allume pendant 5 secondes

c. Le Pi commence à démarrer

ré. Après environ 20 secondes, la LED de l'appareil photo s'allume et une photo est prise. Si vous disposez d'un moniteur local connecté, vous verrez un bref aperçu de la photo prise.

e. Après environ 40 secondes environ, le Pi démarre jusqu'à l'invite de commande du terminal

F. Pi démarre le processus d'arrêt, après environ 20 secondes, la LED rouge Pimoroni Shim clignote indiquant que l'alimentation est coupée au PI

Téléchargement de fichiers photo depuis PI

Je connecte le PI à mon réseau à l'aide d'un câble OTG et d'un adaptateur USB vers Ethernet, alimentant le Pi à partir de la verrue murale. Ensuite, utilisez WinSCP pour télécharger des fichiers sur mon PC.

Étape 8: Assembler le boîtier électronique

Assembler le boîtier électronique
Assembler le boîtier électronique
Assembler le boîtier électronique
Assembler le boîtier électronique
Assembler le boîtier électronique
Assembler le boîtier électronique

Fixez le circuit imprimé Attiny85 à l'arrière du réveil à l'aide d'une petite vis autotaraudeuse. Attachez PI à l'horloge en utilisant du ruban adhésif double comme indiqué

Fixez le côté gauche de l'horloge au fond de la vitrine avec du ruban adhésif double

Fixez la banque d'alimentation USB au fond de la vitrine avec du ruban adhésif double comme indiqué.

Placez le boîtier supérieur sur le fond de la vitrine comme indiqué.

Étape 9: Construire le piquet de montage, l'assemblage final et libérer PI dans la nature

Construire le piquet de montage, l'assemblage final et libérer PI dans la nature
Construire le piquet de montage, l'assemblage final et libérer PI dans la nature
Construire le piquet de montage, l'assemblage final et libérer PI dans la nature
Construire le piquet de montage, l'assemblage final et libérer PI dans la nature
Construire le piquet de montage, l'assemblage final et libérer PI dans la nature
Construire le piquet de montage, l'assemblage final et libérer PI dans la nature
Construire le piquet de montage, l'assemblage final et libérer PI dans la nature
Construire le piquet de montage, l'assemblage final et libérer PI dans la nature

Pièce du bas: dans un morceau de bois de 5 1/2 X 5 1/2, coupez 4 fentes de 3/4" vers l'intérieur de chaque côté, comme indiqué. J'ai utilisé une mèche de toupie 1/4, mais vous pouvez aussi percer et scier. le centre fait un trou pour un raccord en PVC 1 1/4. La taille idéale du trou est de 1 5/8 ", mais comme je n'avais qu'une scie cloche de 1 3/4", je l'ai utilisé et j'ai construit le diamètre extérieur du raccord avec du ruban de canard. Colle raccord en place avec de l'époxy.

Centrez le boîtier électronique au-dessus du bloc de bois et marquez son contour. Percez ensuite quatre trous de 1/4 de chaque côté comme indiqué. Collez quatre chevilles en bois de 1" de long et 1/4" de diamètre dans ces trous - cela aidera à garder l'enceinte centrée.

Pièce supérieure: percez quatre trous de 3/16" près du bord inférieur de chaque taille et insérez des crochets en S de 3/4" de long dans chaque trou en pliant les extrémités pour qu'elles ne tombent pas. Sur les bords intérieurs, collez à chaud 4 quatre 1/2 morceaux de bois épais - ceux-ci aideront à garder la pièce supérieure centrée au-dessus de l'enceinte.

Assemblage final: placez le boîtier électronique en sandwich entre les pièces supérieure et inférieure et fixez-le avec deux cordons élastiques comme indiqué

Relâchez PI dans la nature: faites un piquet de montage en coupant un tuyau en PVC de 1 1/4" d'une longueur adaptée à vos besoins, coupez une extrémité à un angle de 45 degrés pour faciliter l'enfoncement dans le sol. Dans mon cas, je ' Je m'intéresse à la croissance des plantes couvre-sol (Vinea minor) ce printemps et, par conséquent, mon tuteur en PVC ne mesure que 15" de long. Vérifiez que les piles AAA sont neuves, que la banque d'alimentation USB est complètement chargée et que le réveil est correctement réglé - puis enfoncez le piquet dans le sol et glissez l'assemblage sur le piquet de montage - voir photo.

Étape 10: Mesures de courant et test de durée de vie accéléré de la batterie

Mesures de courant et test de durée de vie accéléré de la batterie
Mesures de courant et test de durée de vie accéléré de la batterie
Mesures de courant et test de durée de vie accéléré de la batterie
Mesures de courant et test de durée de vie accéléré de la batterie
Mesures de courant et test de durée de vie accéléré de la batterie
Mesures de courant et test de durée de vie accéléré de la batterie
Mesures de courant et test de durée de vie accéléré de la batterie
Mesures de courant et test de durée de vie accéléré de la batterie

J'ai mesuré le courant à l'aide du multimètre Radio Shack RS-232 (22-812) et du logiciel compagnon Meter View. Pas le choix de la bête, mais c'est ce que j'ai.

Mesure de la consommation de courant à partir de deux piles AAA pour alimenter la carte Attiny85 et le réveil

Pour "connecter en série", j'ai utilisé des piles factices et une alimentation de banc 3 VDC (voir photo). Voir le graphique du courant mesuré pendant la période "active" (commence par l'événement d'alarme - se termine par le retour d'Attiny85 en mode veille). Le tirage sans alarme était constant de 0,0049 mA. Sommaire -

Période active = 78 secondes

Période active Moy. Courant = 4,85 mA

Courant de non-alarme = 4,9 microA (0,0049 mA)

J'ai calculé une consommation de courant quotidienne moyenne de 0,0093 mA à partir des deux AAA (750 mAh/chacun) en tenant compte des modes veille et actif, et d'une durée de vie théorique de la batterie > 8 ans en utilisant cette méthode.

Mesure de la consommation de courant PI de la banque d'alimentation USB. Pour "connecter en série", j'ai utilisé un câble USB modifié (voir photo). Voir graphique du courant mesuré pendant la période "active" (PI boot up - PI shutdown). Pendant la période inactive, la cale Pimoroni ONOFF coupe complètement l'alimentation de Pi, donc la consommation de courant ~ zéro. Sommaire -

Période active = 97 secondes

Période active Moy. Courant = 137 mA

En supposant une banque d'alimentation de 1 1200 mAh, le nombre théorique de cycles de période active est > 3000.

Test de durée de vie accéléré de la batterie

J'ai temporairement contrôlé le PI avec Arduino UNO programmé pour un cycle rapide - le temps entre les alarmes était de 2 minutes par rapport aux 24 heures normales.

Test n°1: batterie externe de 11200 mAh. Commencé à 22 heures et je me suis arrêté à 13 heures le lendemain. Résultats: 413 photos prises, 3 des 4 LED de niveau de charge toujours allumées à la fin du test.

Test n°2: batterie externe de 7 200 mAh. Commencé à 19h30 et je me suis arrêté à 16h30 le lendemain. Résultats: 573 photos prises, 2 LED de niveau de charge sur 4 toujours allumées à la fin du test.

Conclusion: Je pense que les résultats ci-dessus indiquent qu'une opération d'au moins un an prenant 1 par photo est probable.

Conseillé: