Récapitulatif : Raspberry Pi, motion et deux caméras

Les 5 précédents articles de cette série explorent différents aspects de la gestion de caméras de surveillance sur Rasberry Pi et la diffusion des flux vidéos sur une page web. Cet article en fait la synthèse.

L’objectif :

A partir d’une Raspberry Pi B+, installer motion réglé correctement pour :

  • gérer deux caméras de surveillance IP ;
  • collecter les vidéos et images générées sur détection de mouvement avec aussi peu de faux positifs que possible ;
  • afficher les flux vidéos en temps réel sur une page web accessible sur le réseau local.

Préparation du Raspberry Pi

  • Installer Raspbian Jessie Lite – voir l’article Mise en service d’un Raspberry Pi
  • Régler le Pi pour fonctionner correctement en wifi sur une adresse fixe 192.168.1.104 (nom nautilus) – voir l’article Raspberry Pi : connexion internet en wifi et/ou IP fixe

Pour moi toutes ces étapes réalisées correspondent à l’image de carte sd «  jessie-lite-wifi fixe-103-2016-07-16.img « , dans le répertoire «  Downloads\2016-07 Pi Images « . Il me suffit de régler l’adresse wifi et le nom du Pi comme suit :

  • Connecter le Pi en ethernet, sans dongle wifi ;
  • Editer /etc/dhcpcd.conf   et modifier l’adresse IP attribuée ;
  • Taper raspi-config  puis modifier Hostname (advanced options) et changer le nom vers « nautilus ». 
  • Mettre le dongle wifi sur le Pi puis taper «  reboot  » pour redémarrer.

Ensuite se reconnecter en wifi et mettre le Pi à jour :

  • apt-get update
  • apt-get upgrade
  • rpi-update

Enlever la connexion ethernet et taper «  reboot  » pour redémarrer.

uname -a  nous indique la version du système d’exploitation en fonctionnement.

Le résultat, le 14/08/2016 est 4.4.17+ #901 Fri Aug 12 17:48:40 BST 2016 armv6l GNU/Linux  .

df -h  montre qu’on utilise 17% de la carte SD de 8 Go.

Installer motion

Régler motion pour mes deux caméras

Il me faut 3 fichiers de configuration (droits d’accès 664, propriétaires motion / video) puisque j’ai deux caméras (cf l’article une caméra IP avec une vieille tablette android ?) :

  • /etc/motion/motion.conf  pour tous les éléments communs aux deux caméras ;
  • /etc/motion/thread0.conf  pour la caméra ‘Foscam’ ;
  • /etc/motion/thread1.conf  pour la caméra ‘galaxy’ ;

J’exécute donc les commandes suivantes pour créer les fichiers, et donner les bons droits :

Nota : on trouve de nombreux tutoriels dans lesquels les droits de /etc/motion sont en 664 mais ça ne fonctionne pas dans mon cas.
Faire une copie de motion.conf au cas où :

créer certains fichiers et donner les droits d’accès

Exécuter chaque ligne de commande non commentée :

Attention, les fichiers créés avec touch via Cygwin sur mon PC sont en mode sauts de ligne Windows. Il faut les passer en saut de ligne UNIX (/home/jf/motion/log/motion-log.log et /var/run/motion/motion.pid).

éditer les fichiers de configuration

Dans  etc/motion/motion.conf  les lignes suivantes sont modifiées ou décommentées :

Attention : il faut bien vérifier que thread0.conf et thread1.conf ont des sauts de ligne UNIX.

etc/thread0.conf  règle la configuration pour la caméra devant la maison (évidemment il faut modifier USER et PWD ainsi que l’adresse IP pour que ça corresponde à la caméra) :
etc/thread1.conf  règle la configuration pour la caméra créée sur la vieille tablette samsung selon l’article une caméra IP avec une vieille tablette android ? :

Démarrer motion comme un service

Dans /etc/default/motion, modifier la ligne suivante (passer à yes) : 

Redémarrer le Pi avec reboot.

http://192.168.1.104:8082/ et http://192.168.1.104:8081/ affichent les deux flux vidéos sur un navigateur local.

Si ça ne fonctionne pas, modifier /etc/init.d/motion  comme indiqué dans cet article, en y ajoutant la ligne sleep 30 . Pour moi, ça fonctionne sans.

réglage motion comme un service

Pour déboguer, on peut souhaiter savoir quel est l’utilisateur du service motion :

Dans mon cas, ça montre deux utilisateurs (1ère colonne) : motion et root.

motion-user

A ce stade, si on tape 192.168.1.104:8081 ou 192.168.1.104:8082 dans un navigateur du réseau local, on voit les flux vidéos en temps réel. 

Supprimer les anciens fichiers image et vidéo 

 Comme dans l’article Supprimer les fichiers vidéo et image de plus de deux jours sauf que le script bash est modifié pour tenir compte des deux répertoires de stockage d’image :
  • créer le fichier cameradeletecron.sh dans le répertoire /home/jf/motion et lui donner les droits d’acès 764
  • Dans ce fichier, mettre les lignes suivantes :
  •  Dans le cron, via crontab -e, insérer les lignes suivantes :
  • Redémarrer le Pi avec reboot.

Visualiser les flux vidéos sur une page PHP

  • Installer apache et PHP – voir l’article Un serveur Web sur mon Raspberry Pi.
  • dans le répertoire /var/www/html , créer une page index.php  qui affiche les deux flux vidéos et y ajouter un fichier A-style.css .
  • supprimer index.html

index.php contient :

A-style.css contient :

A ce stade, la page php s’affiche lorsqu’on tape « nautilus » dans un navigateur local (192.168.1.104 dans une tablette)et les deux flux vidéos s’affichent en streaming.

df -h  montre qu’on utilise maintenant 19% de la carte SD de 8 Go.

3 commentaires


  1. Bonjour Anne Laure,

    merci d’avoir publié mon commentaire.
    Pourquoi vous n’avez pas répondu à ma question puisque je pense que vous avez la réponse 🙂 .

    En effet, j’ai trouvé aussi cet article qui fait référence à vous :
    https://knowledge.parcours-performance.com/lire-flux-video-dune-webcam-raspberry-pi/

    A votre avis, il est donc possible avec motion et raspberry bi de visualiser en temps réel sur ma tv le son et image de la caméra ip ?
    Votre tuto fonctionne avec n’importe quel camera ip ?

    Exemple : celle-ci :
    https://www.amazon.fr/YI-Surveillance-Int%C3%A9rieur-D%C3%A9tection-Mouvement/dp/B07C55PWFD/ref=sr_1_1_sspa?ie=UTF8&qid=1542982969&sr=8-1-spons&keywords=yi+camera+1080p&psc=1

    En lisant d’autre tuto, on parle de flux rtsp, du coup je ne sais pas si toutes les camaera ip ont ce type rtsp ?

    Si vous avez une autre solution, n’hésitez pas à m’en informer 🙂

    Désolé pour le dérangement.
    Merci d’avance.

    Répondre

  2. Bonjour,

    j’ai une camera IP YI Home edition qui est indépendante du raspberry.
    Je souhaite diffuser le flux video/audio de la camera ip sur ma tv en utilisant le raspberry via sa sortie HDMI.
    Est-ce possible ?
    Si oui, comment ?
    Mon but est de diffuser le flux video/audio de ma camera ip sur ma télévision sans avoir de câble qui traîne. Il faut aussi que la caméra soit indépendante du raspbery.
    Sinon avez-vous une autre solution ?

    Merci d’avance.

    Répondre

    1. Bonjour Keaton,

      J’ai hésité à approuver ce commentaire. Il est poli et c’est pour cela que je l’ai publié. Mais ça n’est pas vraiment un commentaire puisque vous ne faites même pas référence a l’article que vous venez « commenter ».
      Mais bon, peut-être que quelqu’un aura envie de répondre à votre question qui concerne une caméra, mais pas un raspberry pi et pas motion .
      Anne-Laure

      Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *