Nous avons adopté un chat il y a 3 semaines. Les 2 premières semaines, nous étions en vacances, ce qui lui a permis de s'habituer à nous et à participer aux travaux.

Niveau bouffe, il restait quelques croquettes dans sa gamelle jusqu'à 22h, heure où nous refaisions le plein.

Mais comme toutes les bonnes choses ont une fin, il a bien fallu reprendre le boulot, et depuis, quand on rentre à la maison, vers 19:30, la gamelle est déjà vide. Morfale,va.

Alors on s'est dit que ce serait bien de savoir à quelle heure il la termine, pour savoir depuis combien de temps il a faim.

D'où ce billet.

Belle introduction, n'est-ce pas ?

En cherchant un peu, j'ai trouvé sous Ubuntu le package Motion, qui permet de faire de la détection de mouvement à partir d'une ou plusieurs webcams, et de sauvegarder les images capturées dans un répertoire.

Facile à installer, on peut adapter le fichier de configuration (motion.conf) pour en faire à peu près ce qu'on veut.

On peut ajuster la résolution (largeur et hauteur doivent être des multiples de 16, sinon ça gueule), le répertoire de sortie (target_dir), la qualité de l'image, luminosité, constraste...

Quand le fichier de configuration est prêt, il ne reste qu'à démarrer le programme :

motion -c /home/nico/motion.conf

Le programme va enregistrer toutes les captures dans target_dir.

Dans la console d'exécution, on peut remarquer qu'un serveur web a démarré sur le port 8081 (par défaut). Alors ça, c'est le top!

Ouvrons un navigateur sur http://localhost:8081 ...

Rodriiiiguez! Nous pouvons voir la caméra en live! Alors ça, c'est très intéressant, ça signifie que non seulement le système capture des images selon la détection de mouvements, mais qu'en plus on peut suivre la caméra en live depuis le réseau.

Un paramètre du fichier motion.conf indique si cet accès doit être restreint à localhost : webcam_localhost. Il suffit de le passer à off si on veut accéder au flux depuis n'importe quelle machine du réseau.

Si vous avez une adresse IP externe fixe, il suffit de router le port externe 8081 vers la machine Linux, sur le même port.

Si vous avez une IP dynamique, comme moi, il faut se démerder avec DynDns, NoIp... ou bien une solution maison, que je vais présenter dans le prochain billet, et qui marche très bien.

 

Merci à http://doc.ubuntu-fr.org/motion pour les infos sur motion.conf !

 

Article précédent Article suivant