Caméra de vidéosurveillance avec motion

Motion
Un système de vidéosurveillance avec motion

On a vu comment ajouter la vision au Raspberry Pi dans l’article dédié au module Pi caméra. On dispose donc d’un périphérique de capture d’images/vidéos qu’on peut utiliser à l’aide de commandes éventuellement insérées dans un script shell ou Python : c’est chouette. Mais il y a encore plus chouette : créer un système de vidéosurveillance avec motion.

Les usages sont multiples et je ne vais pas philosopher là-dessus, je suis certain que vous saurez trouver l’utilité de ce système. En tout cas, à la fin de ce tutoriel, vous serez en mesure :

  • de visualiser en temps réel le streaming vidéo de votre Raspberry Pi depuis votre smartphone ;
  • déclencher l’enregistrement vidéo et/ou être alerté par mail sur détection de mouvements.

Motion est l’outil qui va permettre de diffuser le flux vidéo en streaming, de capturer des images et des vidéos provenant d’une ou plusieurs caméras.

Installation de motion

Commençez tout d’abord par mettre à jour Raspbian avec la commande :

Maintenant, installons motion et les paquets nécessaires :

Pour demander au noyau le chargement d’un module (le drivers broadcom (bcm) vidéo for linux (v4l)) , taper la commande :

Vous devriez normalement disposer du matériel /dev/video0. Pour que le module bcm2835-v4l2 soit automatiquement chargé au démarrage par le noyau, ajoutons le au fichier /etc/modules :

Oui, c’est une commande élégante pour ajouter bcm2835-v4l2 en fin de fichier /etc/modules.

Configuration de motion

Tout d’abord, pour que motion puisse s’éxécuter en tant que processus d’arrière plan, éditez le fichier /etc/default/motion et modifiez la ligne suivante à yes :

Ce paramètre modifié, motion pourra être lancé et l’essentiel de la configuration est à réaliser dans le fichier /etc/motion/motion.conf. Editez le fichier de configuration :

Dans ce fichier, on pourra apporter les modifications suivantes

Les principales modifications portent sur les paramètres suivants :

  • Décommenter la ligne logfile /tmp/motion.log pour enregistrer les logs ;
  • Effectuer une rotation de l’image selon les besoin (0, 90, 180 et 270), ici : rotate 180 ;
  • Ajuster la largeur/hauteur en pixels de l’image : width 1280 et height 720 ;
  • Le port d’écoute du serveur web offrant le flux viédo : stream_port 8081 ;
  • Ne pas restreindre l’accès au streaming à la machine locale uniquement :  stream_localhost off ;
  • Activer l’authentification Digest : stream_auth_method 2 ;
  • Configurer les credentials (login/password) : stream_authentication username:password ;
  • Afficher un texte en bas à gauche : text_left P3TCH CAMERA %t.

Pour lancer motion, taper la commande :

Désormais, un point rouge s’allume sur le module caméra… ça tourne ! Il est possible de se connecter à l’URL : http://192.168.1.123:8081. Après authentification, on visualise le flux vidéo en tant réel.

Si vous souhaitez désativer la LED rouge qui s’allume au démarrage de motion, c’est dans le fichier /boot/config.txt que ça se passe avec le paramètre : disable_camera_led=1.

Vous pourrez découvrir que le fichier de configuration permet un paramétrage assez fin de la caméra camera les zones de détection, la luminosité, les paramètres des enregistrements,… le site officiel Motion est exhaustif sur les options du fichier de configuration.

Remarque : A ce stade, cela fonctionne mais vous devriez rencontrer une erreur au premier mouvement détecté par la caméra. En observant les logs renseignés dans le fichier /tmp/motion.log, on s’apercoit qu’il s’agit d’un problème de permission lors de l’accès au répertoire /var/lib/motion (voir extrait ci-dessous).

Pour résoudre ce problème, il faut rajouter les droits adéquats à l’utilisateur sous lequel tourne motion. Pour cela, tapez la commande :

C’est donc l’utilisateur pi qui est utilisé. La commande suivante nous renseigne sur les permissions du répertoire en question :

Ajoutez à « other » le droit en écriture avec la commande :

Désormais, motion ne s’interrompera plus suite à la détection de mouvements puisqu’il pourra écrire dans le répertoire adéquat les vidéos d’enregistrements.

 

 

Module Pi caméra

Module Pi Caméra

Pi Camera Module v1 5MP
Pi Camera Module v1 5MP

Aujourd’hui, nous allons ajouter un module caméra au Raspberry Pi. Pour une vingtaine d’euros, vous pourrez vous offrir le module v1 avec un capteur de résolution de 5 mégapixels (MP) pour capturer des photos jusqu’à 2592×1944 pixels et des vidéos jusqu’à 1080p. Pour pousser à 8 MP, c’est le module v2 (3280×2464 pour les photos et 1080p30 pour les vidéos) qu’il faudra acheter en se fendant d’à peine 30 euros.

 

Quelle que soit la version, le module existe en Infrarouge pour photographier/filmer en condition de faible obscurité.

Autant le dire tout suite : c’est du flan. J’ai testé et je n’ai pas vu de différence entre les deux types des types de capteurs : quand il fait sombre, on ne voit rien.

Continuer la lecture de « Module Pi caméra »

Créer un media center avec Kodi

Media Center Kodi

Nous avons vu comment gérer l’espace de stockage avec Logical Volume Manager en vue de créer un serveur NAS destiné à partager le système de fichier avec NFS ou au travers d’un partage Samba. On dispose donc d’un espace de stockage conséquent pour y stocker une vidéothèque que nous allons gérer avec le media center Kodi.

Menu Principal Kodi
Menu Principal Kodi

Anciennement appelé Xbmc, Kodi est un media center qui supporte de nombreux formats multimédia. En tant que lecteur multimédia, cette application permet de lire la plupart des fichiers audio et vidéo, afficher des diaporamas d’images, regarder des vidéos en streaming, écouter la radio, consulter la météo,… Continuer la lecture de « Créer un media center avec Kodi »

Créer un partage Samba

Partage Samba


Le serveur NFS permet le partage de fichiers entre les Raspberry sous Raspbian. Mais comment partager ces fichiers avec un PC sous OS Microsoft ? Le partage Samba est la solution pour rendre accessible le volume logique LVM dans un réseau hétérogène (OS Raspbian ou Microsoft). Plus précisément, le serveur s’appuie sur les protocoles SMB/CIFS et NetBIOS/WINS pour Unix et permet le partage de fichiers et d’imprimantes entre différents systèmes d’exploitation : Linux, Mac OS X, Microsoft, BSD, Solaris,… Continuer la lecture de « Créer un partage Samba »

Créer un serveur de fichiers avec NFS

Partage réseau NFS


Maintenant que l’on a vu comment ajouter de l’espace disque au Raspberry avec LVM (à moindre coût en recyclant des disques durs), il est question de partager cet espace de stockage sur le réseau. Disposant des plusieurs Raspberry Pi sous Raspbian, j’ai naturellement opté pour le serveur NFS (Network File System) pour exposer la capacité disque aux systèmes Raspbian. Le partage de fichiers NFS permet de partager tout ou partie du système de fichier à destination de clients NFS (des machines Unix le plus souvent). On utilisera également le partage de fichier avec un serveur Samba pour pouvoir déposer des fichiers depuis un système Microsoft.

Continuer la lecture de « Créer un serveur de fichiers avec NFS »