Ce mémo a été rédigé en avril 2016, puis modifié en décembre 2022 pour tenir compte de l’évolution du système Raspberry et de Motion.
Objectif : prendre des photos à intervalles réguliers et les consulter ultérieurement.
1 -Utilisation du paquetage fswebcam (chapitre rédigé en Avril 2016)
Chargement sur le Raspi
sudo apt-get install fswebcam
-Après branchement de la Webcam, ( j’ai utilisé une Cam USB Logitech QuickCam pro 4000),
contrôlez la bonne reconnaissance de cette dernière par la commande lsusb
si c’est ok, depuis le terminal passer la commande :
fswebcam –r 640x480 --jpeg 100 --font sans:15 --shadow
--title "F5BQV" --subtitle "test" --info "Raspberry pi 2"
–save /home/pi/file.jpg -l 240
Toutes les 240 secondes, une photo est prise.
Les inconvénients de cette méthode sont :
-après chaque arrêt et relance du programme fswebcam il est nécessaire de retaper la commande complète.
-la photo prise est sauvegardée dans le dossier /home/pi sous le nom file.jpg, (dans le cas de l’exemple ci-dessus), ce qui signifie que toutes les 240 secondes, la photo est remplacée.
Une solution pour pallier à la première lourdeur.
- mémoriser la commande dans un dossier et la rejouer à l’aide d’un copier/coller.
ou
- utiliser un fichier configuration comme ci-dessous
resolution 640x480
jpeg 100
font sans:15
title "F5BQV"
subtitle "test"
info "Raspberry Pi2"
timestamp "%y%m%d.%H%M"
save /home/pi/”file.jpg”
loop 240
Créer ce script de configuration soit par nano soit par WinScp (Voir Utiliser_Raspi_en_Remote) dans le dossier /home/pi sous le nom ".scwebcam.conf"
Pour exécuter le programme et son script associé passer la commande.
fswebcam -c .scwebcam.conf
C’est quand même moins long à taper, mais les photos prises sont toujours remplacées (seule la dernière est consultable).
Il est nécessaire que le nom de la photo change à chaque prise, pour la rendre unique et consultable dans le temps, donc adaptation du script pour inclure la notion de Timestamp dans le nom du cliché.
resolution 640x480
jpeg 100
font sans:15
title "F5BQV"
subtitle "Muzillac"
info "Raspberry Pi2"
timestamp "%y%m%d.%H%M"
save /home/pi/Webcam/view.%Y%m%d.%H%M.jpg
loop 240
En utilisant les variables : an (Y), mois (m), jours (d), heure (H), minute(M) pour composer le nom du fichier, il en résulte que lors de la fonction save, l’unicité sera obtenue et les clichés seront classés chronologiquement.
J’en ai profité pour créer un dossier Webcam (avec les droits complets pour tous les utilisateurs) , c’est dans ce dossier que seront enregistrés au fur et à mesure les clichés.
Il est possible d'effectuer une double sauvegarde (2 lignes save dans le fichier config)
Ce qui permet de conserver le fichier identifié par son timestamp
Quant au second il peut être mis à disposition d'un envoi vers le réseau pour être visualisé via un navigateur ( voir comment dans le paragraphe 3)
Exemple du lancement et déroulement de la procédure.
2- Utilisation du paquetage webcam (chapitre rédigé en Avril 2016)
Chargement sur le Raspi
sudo apt-get install webcam
Vérifier que la Webcam est toujours vue par le système à l’aide de la commande lsusb
si c’est ok, depuis le terminal passer la commande : webcam
Ce programme s’attend à exécuter un fichier de configuration nommé " .webcamrc" qui n’est pas encore créé … (voir ci-dessous)
Pour terminer l’exécution
du programme Webcam Ctrl/C
# contenu de /home/pi/.webcamrc
[grab]
device = /dev/video0
text = "f5bqv le %Y/%m/%d %H:%M"
width = 640
height = 480
quality = 100
trigger = 0
delay = 240
archive = /home/pi/Webcam/webcam01.%Y%m%d.%H%M%S.jpg
[ftp]
dir =
/var/www/html
file = webcam.jpg
local = 1
Créer ce script de configuration soit par nano soit par WinScp dans le dossier /home/pi sous le nom ".webcamrc"
Pour exécuter le programme et son script associé passer la commande :
webcam /home/pi/.webcamrc
Comme pour l’utilisation du programme fswebcam j’ai été confronté au remplacement systématique du cliché, j’ai donc incorporé la fonction « archive » avec identification unique à l’aide d’un Timestamp.
La création d’un dossier "archive" nommé Webcam dans /home/pi est nécessaire, à moins d’avoir effectué cette étape lors du passage par le paragraphe 1.
Créer aussi un répertoire " www " dans /var (accorder les permissions) à moins d'avoir installé Apache et Php5, ce fichier aurait été créé.
Puis dans /var/www créer un répertoire /html (lui aussi créé par l'installation du serveur Web) , chaque cliché sera aussi écrit dans ce dossier pour un envoi par ftp vers une autre machine du réseau .
3- Récupération manuelle du fichier obtenu (chapitre rédigé en Avril 2016)
Créer le code ci-dessous dans un fichier "cam01.html " dans le dossier /var/www/html (par nano ou WinScp)
<html>
<head>
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META
HTTP-EQUIV="refresh"
CONTENT="30">
refresh toutes les 30 secondes
</head>
<body>
<center>
<h2> WebCam-01</h2>
<img src="webcam.jpg"
width="720" height="480">
</center>
</body>
<bot>
<center>
<h1>F5BQV</h1>
</center>
</bot>
</html>
Dans un premier temps tester directement sur le Raspi
Il n'est pas nécessaire que Apache et Php5 (création d’un serveur Web) soient installés sur ce Raspi.
Par contre nécessité d'avoir créé les dossiers /www et /html (ils servent de cible dans le processus d'utilisation de la Webcam).
Lancer le Navigateur
Pour exécuter ce code et afficher la prise de vue dans le Navigateur Web Epiphany
Taper dans la barre d'adresse file///var/www/html/cam01.html
Ou http://127.0.0.1/cam01.html
Le dernier cliché doit apparaitre au milieu de l’écran, pour afficher la prise de vue suivante (celle de 4 minutes plus tard) effectuer un rafraichissement de la barre d’adresse.
Après installation du serveur Web sur le Raspi
Le cliché peut être obtenu via un navigateur (Firefox , Google Chrome, Internet Explorer …) du réseau interne
Par une commande dans la barre de recherche http:// "adresse Ip du raspi"/cam01.html
4- Utilisation du paquetage motion (chapitre rédigé en Avril 2016)
Chargement sur le Raspi
sudo apt-get install motion
Changer l'identifiant du compte de l'utilisateur :
# sudo usermod -a -G pi motion
# sudo usermod -a -G video pi
Créer le dossier dans lequel les clichés seront archivés attribuer les droits.
# mkdir /home/pi/motion
# chmod 755 /home/pi/motion
Modifier les droits du fichier de configuration et effectuer les aménagements de la configuration .
# sudo chmod 555 /etc/motion/motion.conf
# nano /etc/motion/motion.conf
Modifiez motion.conf en fonction de vos besoins.
J'ai modifié uniquement ces lignes :
1. daemon off # lancement à la demande
2. v412_palette 15 # en fonction de la webcam (tâtonnement)
3. width 640
4. height 480
5. framerate 2 # 2 captures par seconde (c'est le mini)
6. max_movie_time 600 # limite temps d'enregistrement à 10mn
7. ffmpeg_output_movies on
8. quality 90 # facteur compression jpeg
9. snapshot_interval 133 # 1 photo toutes les 133 secondes
10. webcontrol_localhost on # visible sur le réseau local
11. #sdl_threadnr 0 # mis en commentaire
fichiers utilisés par motion
paramètres
/etc/motion (par défaut)
photo et vidéo /tmp/motion/cam?
1 dossier par
caméra
logfile
/tmp/motion.log
demon
/etc/defaut/motion
Lancement de motion:
motion ( celui par défaut)
motion –c /home/pi/motca01.conf (1 fichier possible par webcam ou fonction)
(par exemple détection d'un intrus)
La visualisation au cours de l'enregistrement se fait via un navigateur du réseau local
http://ip du raspi :8081 (port 8081 qui est défini dans motion.conf ou la conf. spécifique)
Arrêt de motion
Par ctrl/c sinon à la relance détection d'un fichier log qu'il faut détruire manuellement.
5- Installation et utilisation du paquetage motion 4.4.0 (chapitre rédigé en Avril 2016, puis adapté en décembre 2022)
À ce jour 09 décembre 2022 les paquetages de Motion sont disponibles sur github.com
Le charger sous Windows ici : https://github.com/Motion-Project/motion/releases/
Puis chercher (Assets) la version qui correspond au niveau système, dans mon cas c’est :
pi_buster_motion_4.4.0-1_armhf.deb
La version 4.5.0 n’étant pas disponible pour le pi_buster, je me suis rabattu sur la V 4.4.0
Lorsque le fichier est rapatrié dans le dossier "Téléchargements" ou "download" de Windows effectuer la copie vers le dossier "Downloads" du Raspi. (pourquoi Windows ? mon Raspi est éloigné, en conséquence j’utilise Winscp en root, c’est nettement plus confortable…)
Depuis une console (putty)
Venir sur le dossier Downloads
cd Downloads
Puis passer la commande
sudo dpkg -i pi_buster_motion_4.4.0-1_armhf.deb c'est le nom du fichier copié.
rappel : la commande dpkg permet d'installer des packages Debian (suffix deb)
dans cette commande, Il est possible de taper les premiers caractères comme sudo dpkg -i pi_buster puis par un appui sur la touche de tabulation le système complète le nom du fichier. Voir Pense-bete_Raspi sur ce site.
Lors de cette installation il est possible qu'il soit signalé que des paquets sont manquants.
Après avoir obtenu le prompt, passer la commande.
sudo apt-get install "le ou les noms des manquants"
Il est demandé lors de cette installation (dans le cas d'une mise à jour de version) si l'on désire conserver son fichier configuration (dans le cas d'une config complexe il est préférable de le conserver).
Par défaut l’application est installée dans la bibli /etc
Dans le cas d'utilisation de 2 caméras, il faut un fichier configuration motion.conf dans lequel on indique qu'il y a 2 cameras , ainsi qu'un fichier configuration par caméra, avec des règles et matériels différents (pourquoi pas camera1.conf pour la caméra 1 et camera2.conf pour la caméra 2). Voir Cam_config sur ce site.
Pierre Schuster F5BQV avril 2016 et décembre 2022
Retour à l’accueil http://f5bqv.fr