Configuration du programme Motion avec gestion de notification SMS en caméras multiples.
Pour faire suite à l’article précédent traitant de la VidéoSurveillance avec Motion et notification SMS, voici un article assez similaire mais reprenant la mise en place d’une VidéoSurveillance sur un ordinateur Linux possédant 1 WebCam et gérant une Caméra IP en plus.
Évidemment, cela peut se faire sur un Raspberry Pi de la même manière.
Sauf que vous changerez "/home/alban/motion"
en "/home/pi/motion"
.
L’idée étant que les caméras soient gérées de manière totalement indépendante l’une de l’autre, donc que :
- Le serveur Web de Motion affiche le flux de chaque caméra de manière séparée (1 caméra = 1 page)
- La notification SMS de détection de mouvement est différente selon la caméra de détection et commandée par chaque Caméra. En gros, détection par WebCam = alerte « WebCam » ; détection par Caméra IP = alerte « CamIP » ; détection sur les 2 = double alerte.
- Les vidéos et photos prises en cas de détection sont sauvegardées dans le dossier propre à chaque caméra
Afin de travailler proprement, il est préférable de partir d’une page blanche et je commence par supprimer mon ancien « motion » de manière complète avec un :
sudo apt-get purge motion
Ensuite, par sécurité, on met tout bien à jour comme il faut :
sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y && sudo reboot
A partir de là, on recommence tout depuis le début,
– En commençant par installer motion :
sudo apt-get install motion
On va créer un dossier de stockage des images par caméra
mkdir /home/alban/motion/WebCam mkdir /home/alban/motion/CamHEDEN chmod 755 /home/alban/motion/WebCam chmod 755 /home/alban/motion/CamHEDEN
– Édition du fichier de configuration :
sudo chmod 555 /etc/motion/motion.conf sudo gedit /etc/motion/motion.conf
1 – Pour des raisons de simplicité, modification de la ligne 14 :
process_id_file /home/alban/motion/motion.pid
2 – Comme d’habitude, j’ai passé la prise de photos en 640 par 480 pixels en modifiant les lignes 70 et 73 :
width 640
et
height 480
3 – Puis, j’ai passé le délai de remise à zéro à 15 secondes (le temps passé sans détection de mouvement) à la place de 60.
Chez moi, c’est ligne 207
gap 15
4 – Je préfère encoder les vidéos en avi plutôt qu’en swf donc modification de la ligne 282 en :
ffmpeg_video_codec mpeg4
5 – Pour des raisons perso (je suis Français), j’ai modifié le format date en jj/mm/aaaa
en changeant la ligne la ligne 319 en
text_right %d-%m-%Y\n%T-%q
6 – Pour gérer les caméras de manière indépendantes, il faut bloquer ces lignes dans le fichier motion.conf (ajouter « ; » devant les lignes 29, 86, 359 et 400) :
; videodevice /dev/video0 ; netcam_url value ; target_dir value ; webcam_port 8081
7 – Par contre, il faut débloquer les lignes permettant de basculer vers les fichiers propres à chaque caméra (il y aura un Thread par caméra) en virant le « ;
» puis en modifiant le /usr/local/etc/
par /etc/motion/
. Elles sont situées à la fin du fichier motion.conf
:
thread /etc/motion/thread1.conf thread /etc/motion/thread2.conf ; thread /usr/local/etc/thread3.conf ; thread /usr/local/etc/thread4.conf
Et voilà, il ne reste plus qu’à modifier le fichier thread1.conf
puis le fichier thread2.conf
et à créer un script de notification par fichier.
Dans le thread01.conf
, voici mes lignes utiles (les autres sont bloquées par « # » ou « ; « ) :
Rappel ; pour éditer le fichier, faire
sudo gedit /etc/motion/thread01.conf
videodevice /dev/video0 input 8 text_left WebCam-01-Face quality 50 webcam_quality 75 on_event_start /etc/motion/notification_SMS01.sh target_dir /home/alban/motion/WebCam webcam_port 8081
Et voici mon thread02.conf
:
Rappel ; pour éditer le fichier, faire
sudo gedit /etc/motion/thread02.conf
videodevice /dev/video1 input 1 text_left Camera IP HEDEN netcam_url https://192.168.0.54:8080/videostream.cgi?user=XxXxXxXxXxX&pwd=XxXxXxXx quality 100 webcam_quality 75 on_event_start /etc/motion/notification_SMS02.sh target_dir /home/alban/motion/CamHEDEN webcam_port 8082
– Ensuite, création des scripts de notification SMS
sudo gedit /etc/motion/notification_SMS01.sh
Voici le contenu de mon fichier :
#!/bin/sh
# Script pour envoyer une notification SMS lors d'une détection de mouvement par 'motion' par la WebCam
wget
--no-check-certificate
"https://smsapi.free-mobile.fr/sendmsg?user=XXXXXXXX&pass=XXXXXXXXXXXXXX&msg=Attention%20Alarme%20via%20Motion%20WebCam"
A vous de changer les informations de « user », de « pass » et du message 😉
On fait pareil avec un autre fichier :
sudo gedit /etc/motion/notification_SMS02.sh
Voici le contenu de mon second fichier :
#!/bin/sh # Script pour envoyer une notification SMS lors d'une détection de mouvement par 'motion' par la Cam HEDEN wget --no-check-certificate "https://smsapi.free-mobile.fr/sendmsg?user=XXXXXXXX&pass=XXXXXXXXXXXXXX&msg=Attention%20Alarme%20via%20Motion%20HEDEN"
Pas compliqué 😉
Afin de ne pas avoir d’erreur d’exécution, on se refait un petit
sudo chmod 555 /etc/motion/motion.conf
Puis un
sudo chmod 555 /etc/motion/notification_SMS01.sh sudo chmod 555 /etc/motion/notification_SMS02.sh
Si je n’ai pas fait d’erreur et que vous non plus, alors, il reste juste à lancer le truc, dans un terminal, avec un
motion
Alors ? ça fonctionne ???
Chez moi, oui 😉
Bonjour,
J’ai suivi ton tuto et beaucoup d’autre sur internet,
je tente de faire fonctionner la caméra frontal d’un petit asus ou j’ai installé debian, ainsi qu’une caméra HD usb.
Quand je lance les 2 fichier configs en même temps, j’ai une erreur :
uvcvideo: failed to submit URB 0 (-28)
Alors que une par une elles fonctionnent correctement.
Aurais tu une idée ? merci d’avance
Bonjour Obéx,
Et si tu lances Motion avec une seule caméra de manière indépendante, ça tourne ?
Il faudrait tester la caméra intégrée puis l’autre.
Tu as bien intégré
à la fin de ton motion.conf ?
Sans oublier de bien nommer tes fichiers
/etc/motion/thread01.conf
et/etc/motion/thread02.conf
Sinon, je te conseille d’essayer MotionEye qui a l’avantage d’utiliser une interface graphique plus sympathique.
Je te propose de jeter un œil sur l’article d’installation de MotionEye sur Raspbian avec gestion de plusieurs caméras.
Tu pourras adapter avec les infos de Calin Crisan pour l’installation sur Debian.
@+