[Raspberry Pi] Motion : vidéo-surveillance avec alertes mails

08/08/2017 : Article mis à jour : Utilisation de la dernière version de Motion.

13/11/2016 : Article mis à jour utilisation d’un RPI2 et de la version lite de Raspbian.

16/12/2015 : Article mis à jour avec une partie supplémentaire sur le chiffrement des mots de passes IMAP/SMTP et des mails envoyés par Mutt.

11/08/2015 : Article mis à jour avec la version officiel de Motion supportant la cameraPi.

Cet article décrit comment configurer un Raspberry Pi couplé à une cameraPi (ou PiNoir) pour en faire une caméra de vidéo-surveillance avec alertes mails en temps réel.

MATÉRIEL

Dans cet article, j’utilise :

  • Un Raspberry Pi 2 modèle B
  • Une carte micro-SD sur laquelle j’ai installé le dernier Raspbian en version Lite (pas d’interface graphique), disponible sur le site du fabricant.
  • Un module caméra.

Pour les possesseurs d’une caméra USB (type webcam), merci à Moulu qui a gracieusement partagé ses connaissances et sa mise en œuvre pour un bon fonctionnement avec ce type de caméra. Ses commentaires sont notés en vert dans l’article.

PRÉREQUIS

Vous devez avoir installé Raspbian sur la carte micro SD, avoir effectué le premier démarrage et avoir la main sur le shell.

L’ensemble des commandes sont effectuées avec l’utilisateur « pi ».

Mise à jour du firmware :

$ sudo rpi-update
$ sudo reboot

Mise à jour des paquets :

$ sudo apt-get update
$ sudo apt-get upgrade

Configuration générale (étendre le système de fichiers, configurer la langue et le clavier, activer la camera puis rebooter) :

$ sudo raspi-config

Pour configurer une adresse IP statique (exemple) :

$ sudo nano /etc/network/interfaces
#iface eth0 inet manual

auto eth0
iface eth0 inet static
address 192.168.0.XX
netmask 255.255.255.0
gateway 192.168.0.254

Enfin, tester le bon fonctionnement du module camera avec la commande :

$ raspistill -o image.jpg

Si vous obtenez une erreur, vérifiez que votre caméra est bien activée (raspi-config / led rouge allumée). Si vous avez des problèmes à cette étape, pas la peine de continuer, ça n’arrangera pas les choses. Vérifiez plutôt la connectique de votre caméra, mettez à jour votre système (rpi-update, apt-get update, apt-get upgrade), rebootez… Si besoin, laissez un commentaire avec l’erreur obtenue, on verra ensemble ce qu’on peut faire.

Pour les possesseurs d’une webcam USB, l’application « cheese » (mode graphique uniquement) permet de savoir si elle est compatible avec le Raspberry Pi.

Installer « cheese » avec la commande :

$ sudo apt-get install cheese

Lancer le mode graphique avec la commande :

$ startx

Lancer l’application « cheese » par le menu « openbox » ou ouvrir un terminal et taper :

$ cheese

Si vous configurez votre RPi en SSH, déconnectez-vous puis reconnectez-vous en mode graphique avant de lancer cheese :

$ exit
$ ssh -X pi@adresse-ip-de-votre-pi
$ cheese

Si vous êtes en SSH, une fenêtre s’ouvre avec un fond gris. Vérifier que cheese a bien identifié la caméra. 

INSTALLATION ET CONFIGURATION DU CLIENT DE MESSAGERIE (Mutt)

Installation de Mutt

Commençons par installer le client de messagerie qui permettra d’envoyer les mails.

Mutt est le client de messagerie que j’ai choisi, son avantage étant de pouvoir envoyer une pièce jointe dans un mail.

On s’assurera que l’envoi de mail fonctionnera avant tout couplage avec motion.

Installation du paquet mutt :

$ sudo apt-get install mutt

Configuration de mutt

Je vous propose plusieurs configs (avec des paramètres très très basiques) :

  • La première avec un compte Gmail.
  • La deuxième avec un compte Laposte – certainement plus respectueux de la vie privée que Gmail. Par contre on aura vu mieux niveau sécurité.
  • La troisième avec un compte Riseup – fournisseur de comptes mails sécurisés et respectueux de la vie privée. Le meilleur compromis, cependant il faut être parrainé pour pouvoir ouvrir un compte immédiatement.
  • Une quatrième (merci à Moulu) pour une config SFR. Donc pour les abonnés SFR mais ça reste le même principe.

Faites un choix et rendez vous dans le home directory de l’utilisateur pi (c’est lui qui enverra les mails).

$ cd

Ici, on édite un fichier de configuration .muttrc qui contiendra les paramètres pour se connecter à votre boîte Gmail, Laposte ou autre :

$ nano .muttrc

Pour une config Gmail, c’est par ici : https://www.inzecloud.net/index.php/muttrc-config-gmail/

Attention, il vous faudra autoriser l’accès pour les applications moins sécurisées dans votre compte Gmail. Pour cela, connectez-vous à votre compte Gmail sur votre navigateur, rendez vous dans « Compte » puis à « Accès pour les applications moins sécurisées ». Passez le paramètre à « Autoriser » :

gmail1

gmail2

Pour une config Laposte, c’est par ici : https://www.inzecloud.net/index.php/muttrc-config-laposte/

Pour une config Riseup, c’est par ici : https://www.inzecloud.net/index.php/muttrc-config-riseup/

Pour une config SFR, c’est par ici : https://www.inzecloud.net/index.php/muttrc-config-sfr/

Enregistrer le fichier et lui appliquer les droits suivants :

$ chown pi:pi .muttrc
$ chmod 600 .muttrc

Enregistrer puis tester le bon fonctionnement (toujours logué avec l’utilisateur « pi ») en utilisant la commande :

$ echo 'Ca marche !' | mutt -s 'Test' votre_adresse_mail_perso

Si tout va bien, vous recevez le mail suivant :

Il se peut que pour certains FAI (SFR par exemple), l’import des certificats d’authentification ne se fasse pas automatiquement. La commande ci-dessus ne renvoie pas d’erreur mais aucun mail n’est envoyé. On peut vérifier l’absence d’import en éditant le fichier ~/.mutt_certificates qui est vierge :

$ nano ~/.mutt_certificates

Tenter alors ceci :

$ mutt -d 1

Répondre par y (yes) à la demande d’import de certificats. On peut vérifier que le fichier ~/.mutt_certificates est maintenant renseigné avec la clé du FAI.

Retaper la commande qui doit maintenant fonctionner :

$ echo 'Ca marche !' | mutt -s 'Test' votre_adresse_mail_perso 

INSTALLATION ET CONFIGURATION DE MOTION

Préparation

Avant d’installer le paquet motion, il faut préparer le système à charger le driver supportant la cameraPi :

$ sudo modprobe bcm2835-v4l2

Pour que celui-ci soit chargé automatiquement à chaque démarrage, éditer le fichier « /etc/modules » et ajouter la ligne suivante :

bcm2835-v4l2

Installation de Motion

Récupérer la dernière version du paquet motion :

$ cd
$ wget https://github.com/Motion-Project/motion/releases/download/release-4.0.1/pi_jessie_motion_4.0.1-1_armhf.deb

Installer le paquet récupéré (il est possible qu’une dépendance soit manquante) :

$ sudo dpkg -i pi_jessie_motion_4.0.1-1_armhf.deb

Si il manque une ou plusieurs dépendances, les installer avec la commande suivante (cela installera automatiquement le paquet motion) :

$ sudo apt-get -f install

Configuration de Motion

La configuration s’effectue dans le fichier /etc/motion/motion.conf. Appliquer les droits suivants sur ce fichier :

$ sudo chown pi:pi /etc/motion/motion.conf
$ chmod 750 /etc/motion/motion.conf

Puis l’éditer avec :

$ nano /etc/motion/motion.conf

Modifier les lignes suivantes :

# On n'active pas le mode daemon, nous lancerons motion à l'aide d'un script :
daemon off

# Emplacement des logs :
logfile /var/log/motion.log (décommenter et adapter)

# Largeur de l'image en pixels, à personnaliser :
width 1024

# Hauteur de l'image en pixels, à personnaliser :
height 768

# Nombre maximum d'images capturées par secondes :
framerate 25

# Nombre d'images à sauvegarder pré-détection :
pre_capture 1

# Nombre d'images à sauvegarder post-détection :
post_capture 4

# Un évènement est une suite d'images capturées dans un temps imparti. L'événement prend fin lorsque motion ne détecte plus aucun mouvement après 30 secondes (chiffre ci-dessous). L'évènement est alors matérialisé par un fichier vidéo construit à partir des images capturées : 
gap (ou event_gap) 30

# Nombre maximum de secondes que peut durer un fichier vidéo généré par un évènement. Si le temps est dépassé, un nouveau fichier vidéo est créé :
max_mpeg_time (ou max_movie_time) 60

# Pour obtenir des vidéos au format .avi
ffmpeg_video_codec mpeg4

# Répertoire de destination des images capturées et des vidéos générées (à personnaliser) :
target_dir /media/NAS/ (attention ce répertoire doit être accessible en écriture à l'utilisateur pi, sans quoi motion plantera en tentant d'y enregistrer les images capturées)

# Nom du sous-répertoire de destination (optionnel) et nom des fichiers jpeg générés (%v est le n° d'évènement, %q est le n° de l'image capturée) :
jpeg_filename (ou picture_filename) %d-%m-%Y/%v_%Y-%m-%d_%H-%M-%S_%q

# Nom du sous-répertoire de destination (optionnel) et nom du fichier vidéo généré par un évènement (%v est un nombre qui s'incrémente à chaque nouveau fichier généré):
movie_filename %d-%m-%Y/%v_%Y-%m-%d_%H-%M-%S

# Permet d'activer la diffusion du flux vidéo sur une page web accessible à http://adresse_rpi:8081 (personnellement je ne l'utilise pas) :
webcam_localhost (ou stream_localhost) on

Enfin, nous allons configurer l’envoi des mails. Se rendre vers la ligne « on_event_start ». Pour ma part, j’ai choisi de recevoir des mails :

  • Au début de l’évènement (donc dès qu’il y a une détection). C’est l’option « on_event_start ».
  • Lorsque motion a généré une vidéo à partir des images capturées. Cette vidéo est alors envoyée en pièce jointe dans ce même mail. C’est l’option « on_movie_end ».

(Il existe d’autres options mais je vous déconseille d’utiliser « on_picture_saved ». Motion enregistre plusieurs images à la secondes, vous allez vous faire bombarder d’alertes chaque fois qu’une image sera sauvegardée.)

Pour le premier point, dans mon fichier de conf j’ai donc :

on_event_start echo 'Alerte' | mutt -s 'Alerte détection le %d/%m/%Y à %H:%M:%S' adresse_mail_perso

qui envoie un mail avec pour objet (-s) « Alerte détection le ‘date et heure’  » et avec pour message (un peu inutile ici) « Alerte » à mon adresse mail perso.

Pour le deuxième point, un peu plus bas dans le fichier de conf, j’ai :

on_movie_end echo 'Vidéo capturée en pièce jointe' | mutt -s 'Vidéo capturée suite à la précédente détection' -a %f -- adresse_mail_perso

qui envoie un mail avec pour objet ‘Vidéo capturée suite à la précédente détection’, pour message ‘Vidéo capturée en pièce jointe’ et pour pièce jointe (-a) la valeur %f. Cette valeur correspond à la dernière vidéo générée par motion.

Voici donc ce que j’obtiens dans ma boîte mail après une détection :

  • Le premier mail d’alerte :

Le titre du mail est plutôt explicite, pas besoin le l’ouvrir pour comprendre qu’il y a une intrusion. Le corps du mail est donc un peu inutile ici.

  • Quelques minutes après, le deuxième mail avec la vidéo, format .avi donc visualisable facilement sur tout type d’appareils :

Ici le fichier vidéo n’est pas très volumineux mais après vérification, une vidéo de 30sec pèse environ 2Mo. Afin de pas trop galérer à télécharger la vidéo, il serait bien de limiter la durée de celle-ci. Par exemple 1 minute (~4Mo) semble un bon compromis (c’est le paramètre « max_mpeg_time » dans motion.conf).

Aussi, le poids de la vidéo dépendra de plusieurs autres paramètres que vous aurez défini dans motion.conf comme la qualité des images, le nombre d’images capturées par secondes, etc.

Editer « /etc/default/motion » et passer la ligne suivante à « no » :

start_motion_daemon=no

Créer le fichier de log  et lui donner les bons droits :

$ sudo touch /var/log/motion.log
$ sudo chown pi:pi /var/log/motion.log
$ sudo chmod 750 /var/log/motion.log

Démarrage de motion

Pour démarrer motion en arrière plan :

$ motion -c /etc/motion/motion.conf &

Pour vérifier qu’il tourne :

$ ps -u pi
PID TTY          TIME CMD
2492 ?        00:02:00 motion

Vérifiez la présence d’images et d’alertes mails après avoir passé votre main devant la caméra.

Ça y est ! Votre RPI est officiellement une caméra de vidéo-surveillance 🙂

Pour l’arrêter :

$ killall motion

Il est alors possible de démarrer et arrêter motion à des heures choisies, à l’aide de cron :

$ crontab -e

Par exemple ici je démarre motion tous les jours à 8h30 et j’arrête le processus à 17h30 :

30 8 * * * sudo -u pi motion -c /etc/motion/motion.conf
30 17 * * * killall motion

DEBUG

Si un halo vert est présent sur les images capturées par Motion (souvent dû à une forte augmentation de la luminosité), il faut décommenter et ajouter le paramètre suivant dans le fichier de conf /etc/motion/motion.conf (source https://github.com/Motion-Project/motion/issues/375) (fonctionne chez moi) :

mmalcam_control_params -ex night -awb incandescent -co 10 -sa 20

Et passer le paramètre suivants à off et 0 :

auto_brightness off
brightness 0

CONFIGURATION AVANCÉE DE MUTT

Chiffrement des mails d’alerte et des mots de passes inscrits dans .muttrc : https://www.inzecloud.net/index.php/mutt-configuration-avancee/

RÉPERTOIRE DE SAUVEGARDE

Vous aimerez aussi...

121 réponses

  1. Jean Jacques FAVENNEC dit :

    Merci pour ce tuto, mais …..
    Si la config preconisée marche super pour un test, en revenche, rien ne sort de motion.
    Aucune alerte, aucun mail ni « on_event_start » ni en aucune autre circonctance.
    Je suis chez FREE, qui n’aime guere smtp, mais comme le test preconise (echo ‘test’|mutt -s ‘TEST’ ADRESSE _MAIL_PERSO) marche sans à coup ….
    Auriez vous une explication s’il vous plait ?

    • admin dit :

      Bonjour,

      Je suis également chez Free, pas de problème là-dessus.

      Pouvez-vous réessayer en plaçant le fichier .muttrc dans le home directory de l’utilisateur root. De mémoire, j’avais un problème similaire et je l’ai résolu de cette manière… C’est peut-être pas l’idéal niveau sécu, mais jusque là j’ai pas trouvé d’autres solutions.

      J’attends votre retour,

      Cdlt

      • Jean Jacques FAVENNEC dit :

        Tout d’abord merci de votre réponse.
        L’opération que vous m’avez suggérée n’a pas améloré l’expédition de mes mails d’alerte et de plus, même en test, hors de motion.conf, l’expédition d’un quelconque message via mutt était devenue impossible.
        Il faut dire que faute de mieux, j’ai déplacé mon « .muttrc » dans le répertoire « /root » de mon raspberry pi
        Suite à ces essais infructueux, j’ai donc replacé mon fichier « .muttrc » dans le répertoire /home/pi
        J’ai également tenté d’utiliser un script, appelé par l’événement « on_event_start », ce script, lancé à la main marche très bien, mais il ne doit pas être appelé « on_event_start » car, dans le contexte d’un événement, ma BALL reste inerte.
        Je me suis dit qu’un « exec » de ce script placé sur la ligne « on_event_start » de motoin.conf améliorerait peut-être la situation. Espoir totalement déçu.
        Voilà.

  2. admin dit :

    Donc si j’ai bien compris, vous avez mis dans votre script une commande du type « echo ‘test’ | mutt machin truc ». Ce script étant lancé au début d’un évènement, vous êtes donc censé recevoir un mail grâce à lui. Si c’est bien ce que j’ai compris, alors effectivement je confirme, ça ne fonctionne pas sur la ligne « on_event_start », le script n’est pas exécuté (j’ai fais le test de mon côté aussi).

    Vérifiez dans le home directory où est stocké .muttrc s’il n’y a pas de fichier nommé « sent.lock ». Si c’est le cas supprimez-le et refaites vos tests avec la commande « echo… | mutt… » sur « on_event_start ». Attention pour le fichier .muttrc, je le répète, il ne fonctionne que s’il est stocké dans /root (home de root) en tout cas pour ma part, à vous de voir. Je pense que cela dépend de quel utilisateur a lancé motion. Pour ma part il s’agit de root (ps -u root) qui a lancé motion, ce qui explique peut-être pourquoi c’est lui qui envoie mes mails. J’en sais rien mais vérifiez également de votre côté (ps -u usermachin ou ps -u root).

    SI toujours pas de résultats concluants, je peux éventuellement vous donner mon fichier de config motion.conf pour que vous le compariez. A ce propos, est-ce que motion enregistre bien les captures dans le répertoire de destination que vous avez défini dans motion.conf ? S’il n’arrive pas à accéder au répertoire de destination, ça peut-être un problème également.

    Il y a encore un autre point que je peux aborder mais j’attends votre retour sur les test ci-dessus. Vérifiez vos logs aussi.

    Il y a beaucoup de monde qui lit cet article… J’aurai souhaité avoir d’autres retour pour voir si des personnes rencontrent également ce problème.

    Ne perdez pas espoir, ça finira par fonctionner 🙂

    Merci

    • Jean Jacques FAVENNEC dit :

      suite de ma réponse de ce matin :
      Oui, motion atteint sans difficulté mon dossier de destina tion des photos et videos prises suite à un événement.
      Il ne me les fait pas parvenir, c’est tout.
      je souscris bien volontier à votre proposition d’envoi de motion.conf, afin de comparer avec le mien et je vous en remercie.
      Cordialement.

      jean jacques FAVENNEC.

    • Jean Jacques FAVENNEC dit :

      A nouveau moi, quite à faire doublon, car j’ai un doute sur l’expédition de mon premier envoi vers vous.
      mon fichier « .muttrc » est stocké dans le home directory de mon user « pi ». Ce répertoire est vierge de tout fichier « sent.lock », comme l’ensemble de mon raspberry pi, d’ailleurs.
      autre point, c’est en suivant les directives du tuto d’installation de « motion » trouvé sur le site « Framboise 314 » que j’ai téléchargé et configuré ce logiciel.
      L’installation comprend la création d’un user « motion » avec le groupe principal « motion » et l’attribution du goupe secondaire « video ». Cet user « motion » ne reçoit pas de home directory. Dans ma configuration, c’est ce compte qui lance mon appli « motion », en mode DAEMOND et au boot du système. Où placer alors le fichier « .muttrc » ?
      De même,. j’ai effectué des essais en trans férant « .muttrc » dans le ficher « /root » de la raspbian. Mes essais d’expédition de mail se sont alors tous soldés par des echecs que se soit de free sur free ou d’autres comptes vers chez un autre fournisseur d’accès.
      En replaçant « .muttrc » dans « /home/pi », j’ai retrouvé la situation de départ : envoi de mail sur commande manuelle mais pas d’envoi automatique.
      Tous ces essais ont eu lieu la semaine dernière, pendant laquelle j’étais en déplacement et où j’utilisais une »LiveBox » (F.A.I. Orange) et aujourd’hui, rentré chez moi, je tente de me servir de ma FREEBox.
      Et là, même en commande manuelle, rien ne fonctionne.
      Chaque envoi, exemple : echo ‘ça marche ? ‘ | mutt -s ‘pi’ xxxxxxxxxxxxx@orange.fr
      se solde par la réception de : Impossible de trouver la machine « smtp.orange.fr », et de : Impossible d’envoyer le message sur le raspberry pi
      ceci, quelques soient les comptes mis en ligne pour ces essais.
      Ceci dit, il me semble que c’est free qui tient la corde, en effet, alors que l’aide en ligne précise que seuls les password cryptés sont acceptés (pour moi cryptage SSL) quand je tente cela sur « smtp.free.fr », Thunderbird, m’avertit que justement, « smtp.free.fr » semble ne pas supporter l’autentification.
      Ceci doit provenir de moi, mais si vous disposez d’une configuration viable, pourriez-vous me la transmettre pour que je m’en inspire ?
      D’avance, merci.
      Cordialement;

      Jean Jacques FAVENNEC

  3. admin dit :

    Voici le contenu de mon fichier motion.conf : http://textup.fr/120225ta

    Pour SSL, je ne saurais vous aider…

    Pour l’emplacement du fichier .muttrc, je serai tenté de dire qu’il faut le placer dans le home directory de l’utilisateur exécutant motion. Dans votre cas, ce serai l’utilisateur motion. Mais évidemment, celui-ci est un peu particulier et ne possède pas de home directory…

  4. AMINE dit :

    on peut utilise seulement le logiciel motion et n’utilise pas un capteur de mouvement

  5. moulu dit :

    bonjour,
    j’ai suivi cet excellent tuto, notamment pour l’envoi de mails via mutt.
    j’utilise une webcam philips, pas la camerapi, mais peu importe, la surveillance vidéo fonctionne et est disponible sur internet, je peux la visualiser par un client web depuis mon smartphone. je butte néanmoins pour l’envoi de mails dès qu’un événement démarre ou qu’un *.avi a été finalisé.

    En gros je ne reçois aucun mail, alors que les fichiers sont créées et stockés correctement dès qu’un événement survient. Une petite idée où mes paramétrages pêchent? J’ai l’impression que les event_start ne sont pas détectés.

    j’ai bien mis les 2 lignes ci-dessous dans motion.conf et elles sont décommentées (identifiant gmail remplacé ici par xxxxx). Le service motion est bien redémarré après les changements :
    on_event_start echo ‘la caméra a détecté quelque chose’ | mutt -s ‘Alerte détection le %d/%m/%Y à %H:%M:%S’ xxxxx@gmail.com

    on_movie_end echo ‘Vidéo capturée en pièce jointe’ | mutt -s ‘Vidéo capturée suite à la précédente détection’ -a %f — xxxxx@gmail.com

    Si je tape ceci en ligne de commande, je reçois le mail, donc le test mutt est Ok : :
    $ echo ‘la caméra a détecté quelque chose’ | mutt -s ‘Alerte détection le %d/%m/%Y à %H:%M:%S’ xxxxx@gmail.com

    nota 1 : je commande mon pi via SSH, mais ça ne devrait pas influer
    nota 2 : via un cron ncftp je sauvegarde mes .avi et les images toutes les 10 mn sur un serveur FTP et je les supprime de ma sdcard. Au cas où, pas de bol, j’ai un event_start alors que les fichiers sont en transfert, j’ai baissé le gap à 20 au lieu de 60 pour voir, mais sans résultat. En stoppant ce transfert, pas mieux.

    • moulu dit :

      bon c’est bien un problème de droit, comme mentionné plus haut.
      en arrêtant le service motion, puis en lançant en non root (utilisateur pi pour moi) ‘motion -n’, tout fonctionne.
      Quand motion est lancé en daemon, mutt doit essayer de se lancer en root et ça ne fonctionne pas.
      Hors de question pour moi que root soit autorisé à envoyer des mails. Je cherche le contournement.

      • admin dit :

        Bonjour,

        Merci pour votre retour !

        Pour l’envoi des mails, je pense qu’effectivement c’est l’utilisateur qui lance le service motion qui envoie les mails lors d’un évènement. Je crois que votre test avec l’utilisateur ‘pi’ le confirme, c’est bien ça ? Si vous dites que ça fonctionne, dans ce cas ça m’intéresse pour mettre à jour ce tuto et sécuriser un peu plus la conf car comme vous je ne veux plus que root n’exécute motion ou mutt. J’essayerai l’astuce de « dé-daemoniser » motion.

        Si ça peut vous intéresser :
        – J’ai modifié ma conf mutt pour recevoir des mails sur un compte Laposte.net, certainement plus respectueux de la vie privée qu’un compte gmail 🙂
        – Je monte le disque dur de ma freebox dans un répertoire /media/freebox. De cette manière, les images et vidéos capturées par motion sont enregistrées directement sur ma freebox. Aucun fichier n’est stocké sur la carte SD. Vous n’avez pas moyen d’effectuer la même chose sur votre FTP plutôt que d’effectuer des sauvegardes toutes les 10min ? Je peux vous donner la conf de mon /etc/fstab si ça vous intéresse…

  6. admin dit :

    Bon, ça y est j’ai réussi à exécuter motion et à envoyer des mails par l’utilisateur pi et non plus par root.

    J’adapterai le tuto prochainement.

    • moulu dit :

      Bonsoir,
      Excellente nouvelle. Friand de la solution, ça va en intéresser plus d’un qui s’est cassé les dents à envoyer un mail à chaque événement détecté por motion.
      Le problème semble être déjà connu du mainteneur de Motion (http://www.lavrsen.dk/foswiki/bin/view/Motion/SupportQuestion2009x03x23x115315). Il propose une solution via un script, plutôt qu’une commande telle que vous la proposez dans motion.conf. J’avoue n’avoir pas compris grand chose; je suis une purge en scripts.
      Sinon, effectivement envoyer les résultats de sa surveillance privée à nos amis outre-atlantique est assez moyen. je vais m’essayer à paramétrer mutt sur un compte SFR, et si je n’y arrive pas je viendrai ici mendier la conf mutt.
      S’agissant du FTP, FREE ne sait même pas où se trouve le coin de campagne reculé où j’habite et mon FAI SFR me loue une vieille Neufbox4 sans disque dur. J’avais commencé en sauvegardant les fichiers sur un disque dur rélié en usb à ma Box, puis je me suis dit qu’il vallait mieux que la Pi tourne en « stand alone », sans PC local serveur FTP, NAS ou autre à lancer à côté. Envoyer toutes les 10mn mes fichiers sur un serveur distant me permettrait, avec un peu de bol, de conserver les preuves d’une intrusion, même si tout est embarqué chez moi, y compris la petite boite avec sa SDCard. Déjà 10 mn c’est beaucoup pour faire cela.

      • admin dit :

        Bonjour,

        Je vous laisse jeter un œil à l’article que j’ai mis à jour. Je l’ai réadapté (et rallongé pour le coup !) pour que ce soit « pi » qui exécute motion et envoi les mails d’alerte.

        J’y ai posté deux conf pour mutt : une pour un compte Gmail et une autre pour un compte Laposte si ça peut vous aider.

        Si vous avez d’autres questions, n’hésitez pas !

  7. admin dit :

    Bonjour,

    Article mis à jour. L’envoi de mail est effectué par l’utilisateur « pi » et non plus par root.

    J’attends vos éventuels retours en cas de problème.

    🙂

  8. admin dit :

    Je ne suis pas contre des propositions d’améliorations de l’article, je vais y jeter un œil. Merci beaucoup !

    Content que ça marche pour vous !

    Edit : article mis à jour en intégrant vos commentaires.

  9. Christian dit :

    Bonjour.
    Merci beaucoup pour ce tuto !
    Personnellement c’est juste l’envoi de mails qui m’intéressait et ça fonctionne bien (en tout cas avec Laposte) même avec des pièces jointes.
    J’ai juste eu quelques recherches à faire pour découvrir que imap_pass est SECRET par défaut, sinon les mails ne partaient pas. Savez-vous comment on peut changer ce mot de passe ?
    Merci d’avance. Bonne continuation. Christian

    • admin dit :

      Bonjour,

      J’ai du mal à comprendre votre problème…

      imap_pass = « PASSWORD » => il faut remplacer « PASSWORD » par le mot de passe de votre compte mail. Ça ne fonctionne pas ?

      Merci du retour 🙂

  10. Christian dit :

    Bonjour,
    Je viens de refaire l’essai, et en fait (pour Laposte.net) ça fonctionne si imap_pass = « SECRET » ou si imap_pass = « mot_de_passe_de_messagerie ».
    Cordialement.
    Christian

    • admin dit :

      Bonjour,

      D’accord je vois…

      Alors attention, il ne faut pas confondre protocole IMAP et protocole SMTP.

      Très simplement :
      IMAP : synchroniser/lire ses mails
      SMTP : envoyer des mails

      Dans le cas d’un envoi de mail lors d’une détection, mutt va contacter le serveur SMTP de Laposte. Peu importe ce que vous mettrez dans la partie « configuration imap » (vous pourriez mettre des paramètres totalement faux), cela n’empêchera pas mutt d’envoyer un mail car lui ne se servira que des paramètres SMTP.

      Par contre si vous souhaitez consulter votre messagerie avec mutt (en tapant tout simplement mutt dans le terminal), alors il vous faudra des paramètres IMAP corrects (là je vous garanti que imap_pass= »secret » vous refusera la connexion).

      Du coup, la partie « configuration imap » n’est pas utile si vous souhaitez uniquement envoyer des mails. Vous pouvez la retirer du fichier .muttrc.
      Personnellement, je m’en étais servi quelques fois au début pour vérifier que j’accédais à ma messagerie et je l’ai laissé au cas où.

      Cordialement

      🙂

  11. Thib dit :

    Bonjour à tous et merci pour ce tuto
    Je suis vraiment débutant dans ce milieu, j’apprends linux en même temps que la raspberry, et tout cela pour un projet de domotique opnesource pour mon école.
    Mon premier soucis se pose au niveau de la vérif des log (je n’ai pas de motion.log dans le répertoire /tmp )
    Concernant l’envoi des mails ca fonctionne, j’ai une caméra en usb que je fais fonctionner sur un petit serveur web qui marche également.
    service motion start ne marche pas (sudo motion lance la capture) et me renvoie « /etc/init.d/motion: 58 :/etc/init.d/motion: slepp : not found »
    Et donc pas de ligne motion dans les processus lancés par pi… et comme je n’ai pas de fichier motion.log … A coté de ca, motion fonctionne bien pour l’enregistrement des images et des vidéos.
    Mais au final, les on_event sensés envoyer les mails ne fonctionnent pas …

    Bref, si quelqu’un a une idée … Merci d’avance

    Thib

    • admin dit :

      Hello,

      Édite le fichier /etc/init.d/motion à la ligne 58 : tu as fais une faute de frappe en écrivant « slepp » au lieu de « sleep » 🙂 Enregistre et démarre motion avec l’utilisateur pi.

      Vérifie ensuite dans ton répertoire /tmp si le fichier motion.log a été créé. Si ce n’est pas le cas, crée le à la main et applique lui les bons droits (chown pi:pi motion.log).

      Tiens moi au courant,

      Bonne chance pour ton projet 🙂

      • Thib dit :

        Merci de ta réponse rapide 🙂
        Alors j’ai fait les modifs, j’ai du créer moi-même le motion.log
        Au final toutes les étapes marchent correctement maintenant… sauf l’envoi des mails à la détection 🙁
        J’ai seulement rentré la valeur pour on_event_start mais la détection n’envoie pas de mail..

  12. admin dit :

    1ère vérif :
    – Logue toi en « pi » et rends-toi dans le home directory.
    – Liste les fichiers du répertoire et vérifie qu’il n’y a pas de fichier « sent.lock ». Si c’est le cas alors supprime-le et teste à nouveau la détection.

    Sinon, 2ème vérif :
    – Toujours logué en « pi », teste l’envoi d’un mail avec un fichier en pièce jointe (tu peux simplement créer un fichier « toto ») avec la commande echo ‘test’ | mutt -a toto — emaildestination@truc.com
    – Si ça fonctionne, fais moi voir ta ligne « on_event_start » (merci de cacher ton adresse mail ou tes adresses IP si il y a)
    – Éventuellement, prépare toi à m’envoyer ton fichier motion.conf ^^

    • Thib dit :

      J’ai suivi tes conseils, je n’ai aucun fichier sent.Lock.
      Pour la deuxième vérif, j’ai créé un fichier qu j’ai réussi à envoyer avec la commande echo ‘test’ ..
      Donc je te colle mon on_event_start echo ‘Alerte’ | mutt -s ‘Attention’ abc@bcd.fr
      La caméra enregistre bien lors de la detection (je viens d’ailleurs d’arreter cela, j’avais enregistré 500 Mo sans m’en rendre compte…) mais rien au niveau de l’envoi du mail…

      • admin dit :

        Ok, donc « pi » est capable d’envoyer donc ça doit forcément venir de la config motion.

        C’est pas évident de débugger sans les fichiers sous le nez, donc je te demande de nouvelles vérifs, stp :

        Suite à ta modif dans le fichier /etc/init.d/motion, peux-tu me confirmer ces deux étapes du tuto (logué en « pi » et motion démarré):
        – Vérifier que vous avez une ligne « motion » dans les processus lancés par « pi » avec la commande « ls -l »
        – Vérifier également dans /var/run/motion, qu’il y a bien un fichier « motion.pid » dont le propriétaire et le groupe sont « pi » (pi:pi) à l’aide la commande « ls -l »
        – Vérifier que vous avez une ligne « motion » dans les processus lancés par « pi » avec : « ps -u pi »

        Dans motion.conf, renseigne la ligne « on_picture_save » de la même manière qu’avec « on_event_start » : on_picture_save echo ‘Alerte’ | mutt -s ‘Attention’ abc@bcd.fr

        Si tu reçois bombasse de mails, c’est bon signe ^^ Sinon, ça commence à se corser…

        Il y a un extrait de mon fichier motion.conf ici : http://textup.fr/120225ta
        Compare-le au tiens et si tu trouves de grosses différences, poste-les ici.

  13. Thib dit :

    Merci beaucoup de ton temps c’est vraiment sympa ^^
    Alors je viens de me rendre compte de quelquechose qui ne va pas :
    Quand je lance sudo motion start, motion se lance et enregistre correctement les images.
    Par contre lorsque je lance la commande sudo service motion start, après un petit temps (~30s), la détection fonctionne (les images de la caméra s’affichent sur mon serveur web et s’enregistrent également sur la carte) mais au moment de detecter (je passe ma main), le service shtudown et la caméra ne filme plus. J’ai donc un soucis avec la détection.

    Concernant le motion.conf :
    – Je n’ai pas les 3 lignes concernant les logs
    – Je n’ai pas de valeur pour netcam_url (mais je doute fortement que ca impacte sur la detection)
    Et puis le fichier n’est pas exactement le meme

    En fait , le souci vient du service motion start je pense

    • admin dit :

      « sudo motion start » => Ce n’est pas la bonne commande. Cette commande a pour effet de lancer directement motion sans passer par le script « /etcinit.d/motion » => Du coup, tout ce qui est dans /etc/init.d/motion n’est pas pris en compte (les paramètres indiquant que c’est à « pi » d’exécuter le service, les droits sur les répertoires…).

      « sudo service motion start » => C’est la bonne commande. Celle-ci lance le service motion depuis le script /etc/init.d/motion en prenant en compte les paramètres cités ci-dessus. Si ton fichier /etc/init.d/motion est bien fait, tu devrais trouver une ligne « motion » en tapant la commande « ps -u pi ».

      Du coup :
      « […] mais au moment de detecter (je passe ma main), le service shutdown et la caméra ne filme plus. » => Ceci est dû à un problème de droit sur le répertoire où doivent être sauvegardées les captures de motion. Lorsque motion détecte un mouvement et qu’il tente d’enregistrer l’image sur ta carte SD en tant que « pi », il se retrouve bloqué et s’arrête (c’est un problème que je rencontrai fréquemment au début). Vérifie tes droits sur le répertoire de destination : « pi » doit être capable d’écrire dans ce répertoire.

      J’espère avoir été clair 🙂

  14. Didier dit :

    Bonjour
    excellent tuto, qui a résolu tous mes problèmes ! Mutt permet bien d’envoyer des fichiers photo ou vidéos, ce que mail ne pouvait pas faire. Encore faut-il que la config convienne.
    Du coup, j’ai crée un compte gmail dédié au raspberry, qui envoie les mails. Cela évite de laisser le mot de passe de ma messagerie perso dans un micro qui peut être dérobé… J’ai mis les droits au répertoire où les photos sont stockées en 774, je ne sais pas si c’est indispensable, mais ça ne peut pas faire de mal…
    étape suivante: mettre un disque dur en usb sur la box, histoire de minimiser l' »usure » de la carte SD. Je ne sais pas si c’est une « légende urbaine » (j’ai un autre raspberry qui tourne en permanence pour gérer l’énergie de la maison depuis 18 mois, sans aucune défaillance).
    encore bravo

    • dealmeidaj dit :

      Bonjour,

      Je suis dans le même cas !
      Le fichier « motion.pid » est inexistant dans le « /var/run » alors que le dossier contenant les vidéos de détection possède bien les droits pour l’utilisateur « pi »
      De plus, si je modifie « /etc/init.d/motion » avec les paramètres par défaut c’est-à-dire « motion » à la place de « pi », j’ai le streaming de disponible

      Pouvez-vous m’aider ?

      Bien cordialement

  15. pm dit :

    Bonjour, super tuto, pas de problème pour l’envoi de mail. Non plus lorsque je crée le dossier motion, je lui donne les bons droits sauf qu’au redémarrage il a disparu… auriez vous une idée ?

    Merci d’avance

    • admin dit :

      Bonjour,

      Pouvez-vous être plus précis, svp ?

      Cordialement 🙂

      • pm dit :

        Donc lorsque je crée le dossier motion dans /var/run les permissions sont sur root, je les modifie pour que ça soit pi et en 775 pas de problème. Mais un sudo reboot, au redémarage le dossier motion n’est plus là ^^ je dois le recréer et rechanger les droits…
        Je n’ai pas encore utilisé motion c’est peut être pour cela qu’il n’y a pas de dossier motion dans /var/run ?

  16. admin dit :

    Dans ce cas, c’est tout à fait normal.

    Le répertoire « /var/run » est purgé à chaque arrêt.
    Lors du reboot, ce sont les scripts de démarrage automatique contenus dans « /etc/init.d/ » qui créent les répertoires dans « /var/run ». Dans notre cas, c’est le script « /etc/init.d/motion » qui va gérer l’opération pour « /var/run/motion/ ». On peut voir cela sur la capture d’écran noire plus haut dans le tuto : à partir de la 4ème ligne, le script vérifie la présence du répertoire « motion » dans « /var/run » et le crée au besoin en y appliquant les droits qui vont bien (lignes encadrées en rouge) :).

    Bref, si vous n’avez pas encore motion, vous n’avez donc pas encore le script « /etc/init.d/motion » et c’est tout à fait normal que votre répertoire ne réapparaisse pas après reboot 🙂

    Vous l’aurez compris, créer le répertoire à la main est donc inutile. C’est une étape que je dois supprimer de l’article lors d’une future mise à jour.

    Cordialement 🙂

    • pm dit :

      Merci pour votre aide, j’ai maintenant le même problème que la personne précédente, en utilisant motion avec l’utilisateur motion, pas de problème mais dès que j’utilise pi, plus de stream.
      Le fichier motion.pid est inexistant dans « /var/run »
      les droits pour le répertoire « /var/run » sont :
      lrwxrwxrwx 1 root root 9 May 7 00:12 lock -> /run/lock
      lrwxrwxrwx 1 root root 4 May 7 00:12 run -> /run

      Bien cordialement

      • admin dit :

        D’accord,

        Du coup, quand est-il pour le répertoire « /var/run/motion » ? Est-ce qu’il se crée au démarrage ? Si oui, quels sont les droits ?

        Même si j’ai pas de solution immédiate, je prends note du problème. Et comme vous êtes plusieurs à rencontrer des soucis, je vais essayer de reproduire la panne de mon côté pour trouver une solution… Mais ce sera pas avant la fin du week-end 🙂

        En attendant, vous confirmez que vous avez suivi le tutoriel suivant http://www.framboise314.fr/une-camera-de-surveillance-video-avec-le-raspberry-pi/ pour l’installation de motion ?
        Quelle caméra utilisez-vous (le module caméra comme celui de l’article ou bien une caméra USB) ?
        Dans quel répertoire enregistrez-vous les images capturées par motion ?

        Et enfin, après avoir tenté de lancer motion avec l’utilisateur « pi », merci de me donner les dernières lignes (disons les 10 dernières) du fichier de log « motion.log » qui doit se trouver dans /tmp

        Ça me laissera de quoi réfléchir pour le week-end 🙂

  17. admin dit :

    Update 11/08/2015 : Article mis à jour avec la version officiel de Motion supportant la cameraPi.

    Les commentaires et solutions ci-dessus peuvent ne plus s’appliquer suite à cette mise à jour.

    Aux personnes ayant rencontré des problèmes, je ne peux que vous suggérer de repartir d’une installation propre de Raspbian et de suivre ce tuto. J’attends vos éventuels retours.

    • chfakht dit :

      Je suis sous jessie mtn … j’ai suivi toute la procedure mais en arrivant a l’etape de redémarrage , le dossier motion n’est pas crééé
      cd /var/run
      ls -l motion/ -> me donne total 0
      peut tu m’aider , merci 🙂

  18. chfakht dit :

    Voila finalemtn j’ai pu lancer la caméra par sudo service motion restart … mais je recois rien a ma boite email :p …. malgré que les exemples que j’ai testé en haut fonctionnait parfaitement ! stp qu’est ce que dois je faire

  19. chfakht dit :

    Update : je peux mtn lancer la camera automatiquement lors de démarrage , ce que j’ai fait est de changer le target qui a été dans un dossier de root var/… a un dossier de l’utilisateur pi /home/pi …. le probleme mtn est que les emails ne s’envoient plus !!!

  20. Xavier dit :

    Bonjour.
    J’essaye vainement d’arriver au bout du tuto. Le test de mail avec mutt : ok. L’install de motion : ok.
    Le problème c’est qu’il ne détecte pas ma camera pi.
    Dans les logs j’obtiens systématiquement :
    Jan 30 01:03:50 raspberrypi motion: [1] [WRN] [ALL] motion_loop: Retrying until successful connection with camera
    Jan 30 01:03:50 raspberrypi motion: [1] [NTC] [VID] vid_v4lx_start: Using videodevice /dev/video0 and input -1
    Jan 30 01:03:50 raspberrypi motion: [1] [ALR] [VID] vid_v4lx_start: Failed to open video device /dev/video0:

    Toutes les secondes j’ai ces 3 lignes.
    Pouvez-vous m’aider ?

    • admin dit :

      Hello,

      – Avez-vous inséré la caméra dans le bon connecteur ? Le RPi possède deux connecteurs qui se ressemblent mais qui n’ont pas la même fonction. L’un sert à connecter une caméra, l’autre à connecter un écran externe : https://hellohooray0.wordpress.com/2014/11/30/raspberry-pi-module-camera/
      – Ensuite, avez-vous activé la caméra via « raspi-config » ?
      – Tapez « lsmod » dans un terminal et vérifiez que le module « bcm2835-v4l2 » apparait bien dans la liste.
      – La commande suivante fonctionne t-elle ? « raspistill -o image.jpg »
      – Firmware et paquets à jour ?

      • Xavier dit :

        Merci pour votre retour.
        Tout est OK : connexion de la caméra, tests avec raspistill & raspivid. module bcm2835-v4l2 actif. Les firmwares sont à jour.
        J’ai testé l’envoi du mail en début/fin de détection -> OK.
        En revanche rien ne s’enregistre dans le dossier des vidéos 🙁

      • admin dit :

        D’accord, on va continuer la collecte des logs :
        – Arrêtez motion.
        – Modifiez le fichier motion.conf : passez l’option « daemon » à « off ».
        – Modifiez le fichier /etc/default/motion : passez l’option « start_motion_daemon » à « no ».
        – Lancez motion avec la commande suivante : « /usr/bin/motion -d 9 ». Plusieurs logs vont défiler le temps que motion s’initialise. Commencez à faire des mouvements devant la caméra lorsque le log suivant s’affiche en boucle : « [0] DEBUG-2 threads_running 1 motion_threads_running 1 , finish 0 ».

        Avec ça on devrait en apprendre un peu plus.

        Motion devrait s’arrêter tout seul s’il rencontre un problème. Si ce n’est pas le cas, il faut faire Ctrl+Z puis tuer le process.

  21. Xavier dit :

    Bon, j’avance. J’ai la détection, les photos sont créées. En revanche la vidéo se créée uniquement avec la 1ère photo.:/
    A coté de ca, j’ai réalisé le transfert sur espace ftp sans pb. Ouf !

    • admin dit :

      Bonjour, merci pour votre retour.

      Je n’ai pas eu le temps d’analyser vos logs mais vous semblez vous en sortir tout seul 🙂

      Vous avez quelles valeurs pour les paramètres suivants dans motion.conf ? Comme dans le tuto ? ou les avez-vous personnalisé ?
      pre_capture
      post_capture
      gap
      max_mpeg_time
      ffmpeg_video_codec

      Le contenu de mon fichier motion.conf si ça peut vous aider : http://textup.fr/152961rR

  22. Pat054 dit :

    Bonsoir,

    je débute avec un Raspberry Pi 2 (RPI2) depuis 15 jours et je galère pour faire fonctionner l’envoi de mail en automatique sur détection par motion avec une caméra Logitech C270 connectée en USB

    Je ne vois pas où cela peut pêcher !

    Ma situation de départ est la suivante :
    —————————————————
    j’ai un répertoire /home/motion, RPI2 connecté avec pi (/home/pi), daemon=yes (dans /etc/default/motion), deamon à on (dans /etc/motion/motion.conf) et ma caméra connectée (led devant allumée)

    pi@rasberrypi ~ $ ls -al
    -rw——- 1 pi pi 1173 févr. 28 12:27 .muttrc
    -rw-r–r– 1 pi pi 88895 févr. 29 20:40 sent

    pi@raspberrypi ~ $ cd /etc/motion
    pi@raspberrypi /etc/motion $ ls -al
    -rw-r—– 1 root motion 27756 févr. 29 20:36 motion.conf

    pi@raspberrypi /etc/motion $ cd /var/run
    pi@raspberrypi /var/run $ ls -al
    drwxr-xr-x 2 motion motion 60 févr. 29 20:55 motion

    pi@raspberrypi /var/run $ cd /etc/init.d
    pi@raspberrypi /etc/init.d $ ls -al
    -rwxr-xr-x 1 root root 2529 févr. 29 20:54 motion

    Dans le fichier /etc/init.d/motion, j’ai :
    chown motion:motion devant /var/run/motion
    et motion derrière chuid

    Le user qui a lancé le logiciel Motion est l’utilisateur motion car :
    pi@rasberrypi ~ $ ps -u pi
    —> je n’ai pas de ligne pour motion

    pi@raspberrypi ~ $ ps -u motion
    PID TTY TIME CMD
    763 ? 00:15:49 motion

    Mes manips qui fonctionnent sont :
    ————————————————
    pi@rasberrypi ~$ echo ‘texte ‘ | mutt -s ‘objet’ monadresse@orange.fr
    → je reçois bien le message dans ma messagerie chez orange

    pi@rasberrypi ~$ echo ‘texte ‘ | mutt -s ‘objet’ -a image.jpg — monadresse@orange.fr
    → je reçois bien le message et l’image dans dans ma messagerie chez orange

    Mon problème est :
    ———————
    Bien que dans mon fichier /etc/motion/motion.conf j’ai :

    on_event_start echo ‘Alerte’ | mutt -s ‘Alerte détection le %d/%m/%Y à %H:%M:%S’ monadresse@orange.fr

    je ne reçois aucun message sur détection de ma caméra (au passage de ma main devant) bien que mon dossier /home/motion se rempli d’images jpg ou fichiers avi

    Mes intuitions :
    –—————-
    Le problème vient certainement des droits aux niveaux des fichiers mais où ???.

    J’ai essayé de me conformer à votre tuto mais toujours pareil cela ne fonctionne pas. J »ai mon répertoire /home/motion qui ne se rempli plus, ma caméra s’éteint (la LED devant s’éteint) et toujours aucun message émis automatiquement

    Avez-vous une idée ?

    Cordialement,

  23. admin dit :

    Bonjour !

    J’ai apporté mes réponses à votre commentaire :

    « j’ai un répertoire /home/motion, RPI2 connecté avec pi (/home/pi), daemon=yes (dans /etc/default/motion), deamon à on (dans /etc/motion/motion.conf) et ma caméra connectée (led devant allumée)

    ==> un répertoire home pour motion, ok pourquoi pas.

    pi@rasberrypi ~ $ ls -al
    -rw——- 1 pi pi 1173 févr. 28 12:27 .muttrc
    -rw-r–r– 1 pi pi 88895 févr. 29 20:40 sent

    ==> OK

    pi@raspberrypi ~ $ cd /etc/motion
    pi@raspberrypi /etc/motion $ ls -al
    -rw-r—– 1 root motion 27756 févr. 29 20:36 motion.conf

    ==> OK

    pi@raspberrypi /etc/motion $ cd /var/run
    pi@raspberrypi /var/run $ ls -al
    drwxr-xr-x 2 motion motion 60 févr. 29 20:55 motion

    ==> OK

    pi@raspberrypi /var/run $ cd /etc/init.d
    pi@raspberrypi /etc/init.d $ ls -al
    -rwxr-xr-x 1 root root 2529 févr. 29 20:54 motion

    ==> OK

    Dans le fichier /etc/init.d/motion, j’ai :
    chown motion:motion devant /var/run/motion
    et motion derrière chuid

    ==> Ok pourquoi pas, c’est là que nos configurations sont différentes

    Le user qui a lancé le logiciel Motion est l’utilisateur motion car :
    pi@rasberrypi ~ $ ps -u pi
    —> je n’ai pas de ligne pour motion

    ==> C’est normal, vous avez mis : « motion derrière chuid », du coup le daemon motion est lancé par l’utilisateur motion.

    pi@raspberrypi ~ $ ps -u motion
    PID TTY TIME CMD
    763 ? 00:15:49 motion

    ==> Du coup, ça c’est normal, OK

    Mes manips qui fonctionnent sont :
    ————————————————
    pi@rasberrypi ~$ echo ‘texte ‘ | mutt -s ‘objet’ monadresse@orange.fr
    → je reçois bien le message dans ma messagerie chez orange

    pi@rasberrypi ~$ echo ‘texte ‘ | mutt -s ‘objet’ -a image.jpg — monadresse@orange.fr
    → je reçois bien le message et l’image dans dans ma messagerie chez orange

    ==> OK

    Mon problème est :
    ———————
    Bien que dans mon fichier /etc/motion/motion.conf j’ai :

    on_event_start echo ‘Alerte’ | mutt -s ‘Alerte détection le %d/%m/%Y à %H:%M:%S’ monadresse@orange.fr

    je ne reçois aucun message sur détection de ma caméra (au passage de ma main devant) bien que mon dossier /home/motion se rempli d’images jpg ou fichiers avi

    ==> C’est normal :
    Vous avez créé un fichier .muttrc pour l’utilisateur « pi » mais motion est exécuté par l’utilisateur motion. Et en l’occurrence l’utilisateur motion n’est pas l’utilisateur pi. Vous voyez ce que je veux dire ?
    Vous devez :
    – soit créer un fichier .muttrc dans /home/motion et exécuter le daemon motion avec l’utilisateur motion,
    – soit créer un fichier .muttrc dans /home/pi et faire exécuter le daemon motion par l’utilisateur pi.
    Là pour le coup vous avez mélangé les deux. Ça ne peut pas fonctionner. Dans votre cas lorsqu’il y a détection, l’utilisateur motion va tenter de trouver le fichier /home/motion/.muttrc. Ce fichier n’existe pas (vous l’avez mis dans /home/pi) donc ça ne fonctionne pas.
    Et encore je ne suis même pas sûr que motion aille vérifier dans /home/motion car il s’agit d’un utilisateur spécial et qui ne possède pas de répertoire home par défaut. Du coup je pense que cet utilisateur n’est même pas « conscient » qu’il possède un répertoire home. Je ne sais pas trop.

    Mes intuitions :
    –—————-
    Le problème vient certainement des droits aux niveaux des fichiers mais où ???.

    ==> Voir ci-dessus

    J’ai essayé de me conformer à votre tuto mais toujours pareil cela ne fonctionne pas. J »ai mon répertoire /home/motion qui ne se rempli plus, ma caméra s’éteint (la LED devant s’éteint) et toujours aucun message émis automatiquement

    ==> Quand ça fait cela, c’est en général dû à un problème de droits sur le répertoire de destination où bien un autre problème qui a fait crasher « motion ».

    Avez-vous une idée ? » Reprenez ce tuto depuis le début, ce sera plus simple 🙂

    L’option permettant d’avoir des fichiers de logs n’existent plus dans motion.conf, je ne sais pas pourquoi ils ont viré cette option. Cependant il y a une alternative et je pense que cela pourrait vous aider et vous apporter + d’infos :
    – Arrêtez motion.
    – Modifiez le fichier motion.conf : passez l’option « daemon » à « off ».
    – Modifiez le fichier /etc/default/motion : passez l’option « start_motion_daemon » à « no ».
    – Lancez motion avec la commande suivante : « /usr/bin/motion -d 9 ». Plusieurs logs vont défiler le temps que motion s’initialise. Commencez à faire des mouvements devant la caméra lorsque le log suivant s’affiche en boucle : « [0] DEBUG-2 threads_running 1 motion_threads_running 1 , finish 0 ».

    • Pat054 dit :

      bonsoir,

      merci pour votre réponse.

      J’ai repris le tuto. Mais avant, j’ai rasé mon RPI2 et tout réinstallé.

      J’ai un souci : la commande
      echo ‘texte » | mutt -s « objet » monadresse@orange.fr
      se passe bien à l’écran mais pas de message dans ma messagerie orange.

      Mon fichier .mutt_certificates est vierge. j’ai fait mutt -d 1 et là, j’ai merdouillé en répondant o comme oui et
      mutt me donne une erreur comme suit en bas de son écran :
      /var/spool/mail/pi: Aucun fichier ou dossier de ce type (errno = 2)

      Que dois -je faire?

      Cdlt

  24. Pat054 dit :

    j’ai ceci suite à la commande :

    pi@raspberrypi ~ $ echo toto | mail $USER
    bash: mail : commande introuvable

    • admin dit :

      Votre système est-il à jour ?

      mail est normalement intégré au système, il n’y a pas de raison…

      Si vous n’avez pas mail, il est logique que /var/mail n’existe pas.

      Installez-le manuellement sinon (paquet mailx)

      • Pat054 dit :

        Mon système est à jour : avant de tout réinstaller, j’ai réinstallé l’OS
        puis apt-get update, ensuite un apt-get upgrade, un rpi-update et un sudo reboot

        Mais j’ai :
        pi@raspberrypi ~ $ sudo apt-get install mailx
        Lecture des listes de paquets… Fait
        Construction de l’arbre des dépendances
        Lecture des informations d’état… Fait
        Package mailx is a virtual package provided by:
        mailutils 1:2.99.98-2
        heirloom-mailx 12.5-4
        bsd-mailx 8.1.2-0.20141216cvs-2
        You should explicitly select one to install.

        E: Package ‘mailx’ has no installation candidate

        Je suppose que mailx n’est pas installé.
        J’installe mailutils, heirloom-mailx ou bsd-mailx?

  25. admin dit :

    heirloom-mailx 🙂

  26. Pat054 dit :

    avec mutt :

    pi@raspberrypi ~ $ sudo echo ‘Ca marche !’ | mutt -s ‘Test’ monadresse@orange.fr
    pi@raspberrypi ~ $

    je n’ai pas le message dans la messagerie.

    Par contre à la fin de l’installatin de heirloom-mailx que voilà :

    pi@raspberrypi ~ $ sudo apt-get install heirloom-mailx
    Lecture des listes de paquets… Fait
    Construction de l’arbre des dépendances
    Lecture des informations d’état… Fait
    Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
    libdrm-freedreno1 libdrm-nouveau2 libdrm-radeon1 libelf1 libllvm3.5
    Veuillez utiliser « apt-get autoremove » pour les supprimer.
    Les NOUVEAUX paquets suivants seront installés :
    heirloom-mailx
    0 mis à jour, 1 nouvellement installés, 0 à enlever et 1 non mis à jour.
    Il est nécessaire de prendre 222 ko dans les archives.
    Après cette opération, 431 ko d’espace disque supplémentaires seront utilisés.
    Réception de : 1 http://mirrordirector.raspbian.org/raspbian/ jessie/main heirloom-mailx armhf 12.5-4 [222 kB]
    222 ko réceptionnés en 1s (197 ko/s)
    Sélection du paquet heirloom-mailx précédemment désélectionné.
    (Lecture de la base de données… 118867 fichiers et répertoires déjà installés.)
    Préparation du dépaquetage de …/heirloom-mailx_12.5-4_armhf.deb …
    Dépaquetage de heirloom-mailx (12.5-4) …
    Traitement des actions différées (« triggers ») pour man-db (2.7.0.2-5) …
    Paramétrage de heirloom-mailx (12.5-4) …
    update-alternatives: utilisation de « /usr/bin/heirloom-mailx » pour fournir « /usr/bin/mailx » (mailx) en mode automatique

    on parle de répertoire se terminant par mailx et non mail : est ce important?

    • Pat054 dit :

      bonjour,

      lorsque j’envoie un message par mutt tel que :

      pi@raspberrypi ~ $ sudo echo ‘CA NE MARCHE PAS !!!!!’ | mutt -s ‘Ca marche ou ca ne marche pas?’ monadresse@orange.fr

      j’ai bien dans le fichier sent :

      From monadresse@orange.fr Thu Mar 3 12:13:28 2016
      Date: Thu, 3 Mar 2016 12:13:28 +0100
      From: monidentifiant
      To: monadresse@orange.fr
      Subject: Ca marche ou ca ne marche pas?
      Message-ID:
      MIME-Version: 1.0
      Content-Type: text/plain; charset=us-ascii
      Content-Disposition: inline
      User-Agent: Mutt/1.5.23 (2014-03-12)
      Status: RO
      Content-Length: 23
      Lines: 1

      CA NE MARCHE PAS !!!!!

      je ne reçois pas le message dans ma messagerie orange.

      • admin dit :

        Oui bon j’ai bien compris que ça ne marche pas… Je vous avoue que sans les logs et la config sous les yeux, c’est pas forcément évident. Malheureusement je me base uniquement sur des messageries classiques type Gmail, Laposte, etc. Je n’ai aucun moyen de tester pour Orange, SFR, Free, etc puisque je n’ai pas de messagerie chez eux.

        Vous avez fait l’étape de l’import des certificats ? Avez-vous eu des erreurs ?

        Tentez alors d’ajouter cette ligne dans .muttrc (vous pouvez mettre ça au début du fichier) :

        set certificate_file =~/.mutt/certificates

        Et réessayez.

        • Pat054 dit :

          bonsoir,

          je m’excuse pour mes solicitations.

          Savez-vous comment procéder à l’import des certificats?

          j’ai rajouté la ligne set certificate_file =~/.mutt/certificates dans le fichier /home/pi/.muttrc
          puis j’ai lancé l’écho:

          pi@raspberrypi ~ $ sudo echo « texte » | mutt -s « objet » monadresse@orange.fr
          pi@raspberrypi ~ $

          vous devez vous en douter : cela ne fonctione pas. Pas de message chez orange.

          Par contre je voulais vous demander : lorsqu’on entre dans mutt en saissant la commande simple : mutt,
          on arrive dans l’application mutt et j’ai un message en bas de l’écran qui dit :
          /var/spool/mail/pi : aucun fichier ou dossier de ce type (errno)

          Faut-il créer un dossier pi vierge ou un fichier texte pi vierge dans /var/spool/mail?

          Pour info, mon répertoire /var/spool/mail est vide actuellement.

          • admin dit :

            Au temps pour moi je corrige, mettez plutôt cette ligne dans .muttrc :
            certificate_file =~/.mutt_certificates

            Puis créez également ce fichier manuellement :
            touch ~/.mutt_certificates

            Selon une personne qui est passée par ici et qui a apporté sa contribution au tuto pour la configuration d’un compte SFR, il faudrait taper :
            mutt -d 1

            cela aurait pour effet d’entrainer l’import du certificat (en répondant « yes »). Ça me parait un peu étrange étant donné que cette commande est utilisée pour du debug…

            Oui, vous pouvez tout à fait créer les fichiers manuellement dans /var/spool/mail et /var/mail. En soit ces fichiers constituent surtout la messagerie interne du système et ne devraient pas avoir d’impact sur de la messagerie POP ou IMAP. En fait s’ils n’existent pas, cela n’est en aucun cas un problème pour envoyer des mails avec un compte orange, gmail, etc. Mais c’est tout de même étrange que l’application mutt ne vous propose pas de les créer pour vous lorsque vous la lancez.

            Bref, concentrez vous plutôt sur la config de .muttrc car ici, il y a un vrai problème. Vous pouvez obtenir des logs avec la commande :
            echo ‘test’ | mutt -d 1 -s ‘test’ votre_adresse

            cela va créer un fichier « .muttdebug1 » à visualiser pour voir les logs.

            Il pourrait être intéressant aussi de tester avec un autre fournisseur de messagerie (type gmail ou autre) et voir si les mails passent ou non.

  27. Pat054 dit :

    j’ai mis dans .muttrc : certificate_file =~/.mutt_certificates

    Puis j’ai créé le fichier par : touch ~/.mutt_certificates

    Ensuite, j’ai tapé la commande : mutt -d 1

    mais le RPI2 me répond :

    pi@raspberrypi ~ $ mutt -d 1
    Débuggage au niveau 1.
    Erreur dans /home/pi/.muttrc, ligne 1 : certificate_file : commande inconnue
    source : erreurs dans /home/pi/.muttrc
    Appuyez sur une touche pour continuer…
    pi@raspberrypi ~ $

  28. Pat054 dit :

    La commande : echo ‘test’ | mutt -d 1 -s ‘test………….!!!’ votre_adresse

    donne le résultat:

    pi@raspberrypi ~ $ echo ‘test’ | mutt -d 1 -s ‘test………… !!!’ monadresse@orange.fr
    Débuggage au niveau 1.
    pi@raspberrypi ~ $

    et le fichier : .muttdebug1 donne :

    [2016-03-03 23:04:32] Mutt/1.5.23 (2014-03-12) debugging at level 1

    • Pat054 dit :

      bonjour,

      j’ai une question qui me trotte : pourquoi utiliser mutt alors que mail fonctionne?

      pi@raspberrypi ~ $ echo ‘test’ | mail -s ‘test………… !!!’ monadresse@orange.fr
      pi@raspberrypi ~ $

      dont je reçois le message dans orange !

  29. Pat054 dit :

    pour info, j’ai créé un compte gmail, j’ai mis à jour le fichier .muttrc pour gmail et j’ai essayé ceci :

    pi@raspberrypi ~ $ echo ‘test’ | mutt -s « objet » monadresse@gmail.com
    pi@raspberrypi ~ $

    ——> j’ai reçu le message dans gmail.

    j’ai fait aussi ceci :
    pi@raspberrypi ~ $ echo ‘test’ | mutt -d 1 -s ‘test………… !!!’ monadresse@gmail.com
    Débuggage au niveau 1.
    pi@raspberrypi ~ $ nano .muttdebug1
    pi@raspberrypi ~ $

    ——> j’ai reçu aussi le message dans gmail.

    En conclusion, le smtp d’orange bloque mes mails venant de mutt.
    Comment par informatique contourner ou supprimer ce blocage?

    Bonne nuit

    • admin dit :

      Ah cool on avance !
      Il faut mettre « set » devant « certificate_file » comme pour toutes les autres options renseignées dans le fichier.

      Si j’ai choisi d’utiliser mutt c’est parce que mail ne permet pas l’envoi de fichier image ou vidéo en pièce jointe. Mais vous pouvez utiliser mail si cela vous convient 🙂

      • Pat054 dit :

        je viens de rajouter la ligne suivante dans .muttrc :
        set certificate_file =~/.mutt_certificates

        Le résultat est :
        pi@raspberrypi ~ $ echo « texte » | mutt -d 1 -s « objet » monadresse@orange.fr
        Débuggage au niveau 1.
        pi@raspberrypi ~ $

        et rien en messagerie orange

        • Pat054 dit :

          pour information, j’ai fait un :

          pi@raspberrypi ~ $ ping smtp.orange.fr
          PING smtp.orange.fr (xxx.xxx.xx.xx) 56(84) bytes of data.
          64 bytes from smtp.orange.fr (xxx.xxx.xx.xx): icmp_seq=1 ttl=244 time=35.3 ms

          La machine orange répond bien

          j’ai également fait un:

          pi@raspberrypi ~ $ host -t MX orange.fr
          orange.fr mail is handled by 10 smtp-in.orange.fr.

          D’après ceci, j’ai mis « smtp-in » dans le fichier .muttrc :

          pi@raspberrypi ~ $ echo « texte » | mutt -d 1 -s « objet » pat054@orange.fr
          Débuggage au niveau 1.
          Impossible de se connecter à smtp-in.orange.fr (Connexion refusée).
          Impossible d’envoyer le message.

          Que faire d’autres ???

  30. Pat054 dit :

    Bonjour,

    j’ai une vague impression que :
    – soit cela peut venir du smtp d’orange qui est sécurisé car :
    – en mettant la commande dans .muttrc :
    set smtp_url = « smtp://monadresse@range.fr@smtp.orange.fr:465/ »

    j’ai ceci :
    pi@raspberrypi ~ $ echo « texte » | mutt -d 1 -s « objet » monadresse@orange.fr
    Débuggage au niveau 1.
    Erreur en parlant à smtp.orange.fr (Connexion ré-initialisée par le correspondant)
    La session SMTP a échoué : erreur de lecture
    Impossible d’envoyer le message.
    pi@raspberrypi ~ $

    en mettant la même commande avec un « s » derrière smtps :
    set smtp_url = « smtps://monadresse@range.fr@smtp.orange.fr:465/ »

    j’ai cela :
    pi@raspberrypi ~ $ echo « texte » | mutt -d 1 -s « objet » monadresse@orange.fr
    Débuggage au niveau 1.
    pi@raspberrypi ~ $

    – soit que le smpt d’orange n’apprécie pas ce qu’envoie mutt. Il doit certainement manquer
    une ligne de commande dans mon fichier .muttrc pour ouvrir le smpts d’orange

    qu’en pensez-vous?

  31. Pat054 dit :

    vous m’avez dit plus haut : Si j’ai choisi d’utiliser mutt c’est parce que mail ne permet pas l’envoi de fichier image ou vidéo en pièce jointe.

    Or je viens de lancer la commande :
    pi@raspberrypi ~ $ echo « texte » | mail -s « objet » -a /home/pi/tmp/motion/37-20160305120341-11.jpg — monadresse@orange.fr
    pi@raspberrypi ~ $

    –> j’ai reçu l’image dans ma messagerie orange !!!

    Par contre est-ce que cette commande utilisée dans motion en particulier dans le fichier motion.conf fonctionne?

  32. Pat054 dit :

    Je viens de mettre la commande suivante dans mon fichier motion.conf
    on_event_start echo « texte » | mail -s « objet » -a /home/pi/tmp/motion/%f — monadresse@orange.fr

    et oh surprise cela fonctionne!!! Je reçois le message accompagné de la première image dans ORANGE.

  33. Pat054 dit :

    par contre avec un fichier avi, mail ne fonctionne pas dans motion.conf

  34. Pat054 dit :

    je reviens sur ce dernier message : je me suis trompé, mail envoie aussi un fichier avi.
    J’ai fait la manip dans motion.conf et j’ai reçu un fichier avi

  35. Pat054 dit :

    Bonjour,

    Le problème est que mutt ne fonctionne pas sur mon RPI mais j’ai la roue de secours : mail.
    Sans revenir en détail sur mutt, il me manque certainement une commande spéciale à glisser
    dans le fichier .muttrc pour que mutt fonctionne avec le smtps d’orange sécurisé : laquelle? je ne sais pas.

    Savez-vous comment, dans le fichier motion.conf, configuer l’envoi de fichier jpg et avi par SMS?
    Si oui quels codes y mettre?

    Merci

  36. Pat054 dit :

    j’ai trouvé pour envoyer un message avec la commande echo | mutt pour Orange.

    C’était dans le fichier .muttrc.

    Ma ligne de commande était celle-ci :
    set smtp_url = « smtps://monadresse@orange.fr@smtp.orange.fr:465/ »
    avec un serveur sécurisé sur le port 465.
    Malgré le rajout des lignes TLS suivantes :
    # Activer TLS si disponible sur le serveur
    set ssl_starttls=yes
    # Toujours utiliser SSL lors de la connexion à un serveur
    set ssl_force_tls=yes

    lors de l’envoi de la commande :
    echo « texte » | mutt -s « objet » monadresse@orange.fr
    C’était bizarre: le raspberry me redonnait le prompt sans erreur et je n’avais aucun message reçu dans ma messagerie orange.

    Ce que j’ai fait : j’ai réécrit ma ligne de commande dans .muttrc telle que:
    set smtp_url = « smtp://monadresse@orange.fr@smtp.orange.fr:587/ »
    avec le port 587 mais sans smtp sécurisé et j’ai mis les 2 lignes TLS à no.
    et j’ai relancé la commande :
    echo « texte » | mutt -s « objet » monadresse@orange.fr

    oh surprise..; le message est passé dans ma boite aux lettres orange !!!

    • admin dit :

      Bonjour,

      Merci pour votre retour, content que vous ayez trouvé une solution.

      Ce qui est dommage c’est que vous ne profitez pas d’une connexion sécurisé au SMTP d’Orange avec ces paramètres.

      Dans votre interface de gestion sur le site d’Orange, n’avez-vous pas une option pour autoriser les connexions depuis un autre appareil/application ?

      Par exemple sur Gmail il y a un paramètre « Accès pour les applications moins sécurisées » à changer pour que les mails passent.

  37. Pat054 dit :

    Bonsoir,
    D’après ORANGE, il faut mettre :

    smtp.orange.fr
    port = 465
    Connexion sécurisée SSL
    Authentification par mot de passe simple.

    Comment se traduit « connexion sécurité SSL »: Si c’est mon identifiant, il est dans .muttrc
    Existerait -il une autre commande à mettre dans .muttrc à part « set ssl_force_tls »?

    Et savez-vous comment, dans le fichier motion.conf, configuer l’envoi de fichier jpg et avi par SMS?
    Si oui quels codes y mettre?

    merci, cdlt

    • admin dit :

      Si vous utilisez le port 465 d’un serveur SMTP, alors vous n’avez pas besoin de rajouter les lignes « starttls » et « ssl_force_tls ».
      Ces deux lignes sont utiles si vous passez par le port 587 (port par défaut des serveurs SMTP et non sécurisé) afin de passer d’une session non sécurisée > à une session sécurisée en forçant l’utilisation de SSL/TLS. Quoi qu’il en soit, vous devez effectivement avoir votre nom d’utilisateur dans .muttrc pour l’authentification auprès du serveur.
      Pour répondre à votre deuxième question : non je ne sais pas comment envoyer de sms avec motion.

  38. Pat054 dit :

    Merci à vous de m’avoir accompagné et de votre patience.
    Cela fonctionne très bien maintenant.
    Bonne continuation. Cordialement.

  39. bruno83 dit :

    je suis sous Jessie L’installe de motion un peu différente.
    Pour sfr juste un truc il faut bien lancer $ mutt -d 1 puis répondre à un mail le siens pas exemple cela va créer un fichier .mutt_certificates qui est maintenant renseigné avec la clé du FAI.

  40. jamiil dit :

    pour moi ça marche pas j ai une raspberry pi 2 et quand je passe ma main sur ma webcam il ne se passe rien et je ne reçois aucun e-mail d alerte sachant que le .muttrc marche et je reçois l e mail nommé test

  41. Erwan dit :

    Bonjour,

    Tout d’abord merci pour ce tuto. De mon coté tout devrait fonctionner ou presque sauf que… ce sont les détection d’événements qui ne produisent aucun résultat.

    Ma config : RPi3 avec Camera RPI. Jessie, Mutt et Mmall test installé. Mutt fonctionne (j’émets sans problème des mails en ligne de commande) et Mmall également (je capture du flux et je stocke des images et des video).

    En revanche quoi que j’indique au niveau des lignes « on_event » du fichier de conf, rien ne se passe. J’ai même tout simplement inscrit un touch tout simple, mais rien ne se passe.

    Je me demande si ce n’est pas tout simplement une question de droit ? Je lance motion via un sudo pourtant…

    Quelqu’un aurait-il une idée ?

    Par avance merci !

    • admin dit :

      Tu as suivi chaque étape du tuto sans exceptions ? Ou bien il y a t-il certains points que tu as personnalisé ?

      Peux-tu essayer de lancer motion en mode debug en suivant les étapes suivantes :
      – Arrêtez motion.
      – Modifiez le fichier motion.conf : passez l’option « daemon » à « off ».
      – Modifiez le fichier /etc/default/motion : passez l’option « start_motion_daemon » à « no ».
      – Lancez motion avec la commande suivante : « /usr/bin/motion -d 9 ». Plusieurs logs vont défiler le temps que motion s’initialise. Commencez à faire des mouvements devant la caméra lorsque le log suivant s’affiche en boucle : « [0] DEBUG-2 threads_running 1 motion_threads_running 1 , finish 0 ».

      Et voir s’il renvoi des erreurs à l’envoi de mails.

  42. Théo dit :

    Bonjour,
    Je vous remercie tout d’abord pour ce tuto.
    Je l’ai suivi à la lettre. J’ai en ma possession une webcam USB, très bien reconnu par cheese. Après avoir configuré Motion exactement que vous l’avez fait, mis les bonnes permissions, etc, ça ne marche pas..
    Déjà le démon ne veut pas se lancer :
    Quand je regarde /tmp/motion.log, j’ai cette erreur :

    [0] [NTC] [ALL] [May 20 14:58:18] motion_startup: Using log type (ALL) log level (NTC)
    [0] [NTC] [ALL] [May 20 14:58:18] become_daemon: Motion going to daemon mode
    [0] [ERR] [ALL] [May 20 14:58:18] myfopen: Error opening file /var/run/motion/motion.pid with mode w+:
    [0] [EMG] [ALL] [May 20 14:58:18] become_daemon: Exit motion, cannot create process id file (pid file) /var/run/motion/motion.pid:

    Je viens d’essayer la technique de lancer motion manuellement comme vous l’avez indiqué dans votre dernier commentaires du 3mai.
    Il me renvoit ça :

    [0] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
    [0] [ALR] [ALL] conf_cmdparse: Unknown config option "sdl_threadnr"
    [0] [NTC] [ALL] motion_startup: Motion 3.2.12+git20140228 Started
    [0] [NTC] [ALL] motion_startup: Logging to file (/tmp/motion.log)
    Corrupt JPEG data: premature end of data segment
    Corrupt JPEG data: premature end of data segment

    Corrupt JPEG en boucle. Et le comble du comble, c’est que lorsque je passe ma main devant la caméra, ça arrête tout!
    Une idée? :/

  43. Théo dit :

    Ah, ça envoie un mail quand je le fait manuellement.. C’est le démon qui aurait un soucis alors!

    • admin dit :

      Bonjour,

      Après quelques recherches sur le net, il semblerait que ce genre de problème (corrupt JPEG) apparait avec des caméras de mauvaise qualité ou non compatible. Essayez tout de même de réduire la taille des images capturées en modifiant le fichier motion.conf (à priori certains utilisateurs ont résolu le problème en passant à une résolution de 640×480).

      Sinon dans l’immédiat, j’ai pas d’autre solution. J’utilise la caméra « officielle » pour RPi et je n’ai donc jamais eu l’occasion de tester le tuto avec une caméra USB (c’est un utilisateur qui a fourni la procédure avec cheese, rédigée en vert).

      • Théo dit :

        J’ai réussi à faire marcher motion en changeant le chemin du fichier pid. Tout marche impeccable, sauf que la vidéo ne veut pas s’enregistrer et me renvoie l’erreur plus haut, « corrupt jpeg ». J’essaye avec vos conseils, je baisse la résolution.
        Je vous remercie.

      • Théo dit :

        Génial c’était ça, la résolution!
        Une dernière chose, est-ce possible avec motion d’enregistrer dans un répertoire QUE les vidéos et non les photos?

        • admin dit :

          J’en doute… Une possibilité serait d’exécuter une commande ou un script qui supprime les images une fois la vidéo générée. Pour cela, par exemple, rajouter une seconde ligne on_video_end suivi d’une commande du style « rm /dossier_images/*.jpg.
          Attention, rappelons que dans la config ci-dessus, chaque vidéo est limitée à une durée de 60 sec. Or si il y a un mouvement dans la zone filmée qui dure plusieurs minutes, motion va donc générer plusieurs vidéos à la suite. Or si on décide de supprimer les images à la suite d’une vidéo, cela pourrait entrainer en partie la suppression des images de la vidéo suivante. J’espère avoir été clair.
          Personnellement, je ne garde pas non plus toutes les captures enregistrées par motion, mais je me prends moins la tête : j’ai un job cron qui supprime tout ce qui a été capturé il y a trois jours (cela supprime le sous répertoire JJ-MM-YYYY).

          • Théo dit :

            Il y a en effet l’option qui permet de désactiver l’enregistrement des photos de façon à ne conserver que les vidéos, dans le fichier de configuration de motion :

            output_pictures off

            On peut aussi enregistrer que la première photo prise lors qu’une détection, etc.
            Mais le cron est aussi une bonne idée 🙂

    • Philou dit :

      Après avoir chercher des heures LA solution, je me suis aperçu que j’avais laissé le « ; » au début de la ligne on_event_start, tout simplement

      Si ça peut vous aider

  44. Matthieu dit :

    Bonjour,

    J’ai suivi à la lettre votre tutoriel mais lorsque je passe devant ma camera, elle me détecte et se désactive (le témoin lumineux s’éteint).
    Avez vous une solution à mon problème

  45. Seb dit :

    Bonjour,
    Super tuto, merci pour cette aide précieuse ! J’ai tout exécuté et ça fonctionne. J’ai un peu plus de difficultés pour crypter mon fichier de mot de passe avec gpg, mais ce n’est pas le sujet…

  46. Cristigou dit :

    Bonsoir
    Dans un premier temps j’ai suivi le tutoriel sauf la modif dans /etc/init.d/motion: la caméra fonctionne correctement ( image sur 127.0.0.1:8081), avec la modif plus d’image…
    Egalement je ne recois pas de mail: comment puis je vérifier que motion appelle bien mutt pour faire l’envoi de mail?
    Merci pour votre aide

    • admin dit :

      Hello,

      Jetez un œil aux logs dans /var/log/motion.log ou postez les ici, je pourrai alors peut-être vous aider.

      Si la modif dans /etc/init.d/motion n’a pas été faite, alors l’envoi de mail ne fonctionnera pas…

  47. GENY Yann dit :

    Bonjour, alors voilà j’ai suivi le tuto à la lettre mais je ne reçois aucun mail sauf avec le premier test j’ai l’impression que on_event_start et on_movie_end ne s’exécute jamais. Pourriez m’aider ?

  48. CryptoHow dit :

    Super tutoriel franchement et très détaillé ! Je vais mettre ca en place très prochainement grâce à vous 🙂

  49. solar dit :

    Bonjour,
    désolé de vous déranger pour celà,
    avec la commande:
    echo ‘Ca marche !’ | mutt -s ‘Test’ votre_adresse_mail_perso
    j’obtiens ce résultat:
    Erreur dans /home/pi/.muttrc, ligne 18 : locale : variable inconnue
    Erreur dans /home/pi/.muttrc, ligne 20 : locale : variable inconnue
    source : erreurs dans /home/pi/.muttrc
    GPGME : protocole CMS non disponible
    La session SMTP a échoué : 550 5.5.0 Emetteur invalide. Invalid Sender. LPN105_415
    Impossible d’envoyer le message

    J’ai essayé en changeant : set locale= »fr_FR » par set locale= »FR »
    et set locale= »iso-8859-15″ par set locale= »UTF-8″
    comme choisi dans la configuration de raspberry pi
    mais même réponse
    merci

  50. PATRICK dit :

    Bonjour,
    Je me permets de donner ma solution sur le problème de l’envoi d’un mail avec motion en daemon.
    Je me suis arrangé que pi soit l’utilisateur qui lance motion au démarrage.(solution certes déjà proposée)
    j’ai conservé bien sûr la config dans le /etc/motion/motion.conf : « daemon = on »

    « start_motion_daemon=yes » dans etc/default/motion

    J’ai simplement modifié le fichier /etc/init.d/motion :
    « chown pi:pi /var/run/motion »
    « chown pi:adm /var/lib/motion »
    « chown pi:adm /var/log/motion », pour donner les droits à pi sur les repertoires

    « — chuid pi; » après start-stop-daemon , pour exécute motion en tant que pi

    J’ai testé, cela marche.

  51. Hurobaki dit :

    Bonjour,

    Super tutoriel très bien expliqué !
    Tout marche de mon coté même un peu trop bien … Le seul soucis que je rencontre est que je reçois des mails avec la vidéo mais aucun mouvement n’est visible sur cette vidéo.
    Je me suis d’abord posé la question d’un fantôme … Mais j’ai remarqué que cela pourrait être causé par la luminosité qui baisse ou augmente.
    J’aimerais savoir si il y a une option permettant de gérer ce problème … A chaque nuage je reçois un mail ce qui est assez dérangeant au final !
    J’utilise une Raspi 3 avec la RaspiCam officielle.

    Si quelqu’un a une solution à me proposer !

    Merci d’avance 🙂

    • admin dit :

      Bonjour,

      Merci de votre retour. Il existe bien une option permettant de jouer sur la sensibilité : threshold
      Par défaut à 1500, essayer de d’augmenter ce chiffre. En gros motion s’amuse à compter le nombre de pixel qui changent sur l’image et lorsqu’il dépasse le seuil de 1500, il considère qu’il y a un mouvement.
      Plus d’infos sur cette option : http://www.lavrsen.dk/foswiki/bin/view/Motion/ConfigOptionThreshold

      Toutes les autres options de motion sont disponibles ici : http://www.lavrsen.dk/foswiki/bin/view/Motion/ConfigFileOptions

      🙂

      • Hurobaki dit :

        Merci pour votre réponse, je vais aller modifier cette option !

        Je vous ferai un retour quand j’aurais pu constater un changement ou pas.

        Cordialement 🙂

        • Hurobaki dit :

          Bonjour,

          En effet, en augmentant la valeur de threshold cela a permis de résoudre mon problème. Je dois trouver la bonne valeur pour encore éviter la détection au levé du soleil et pouvoir toujours détecter les mouvements mais c’est la bonne solution. J’ai mis la valeur à 3000 pour le moment et je ne reçois plus de mails « inutiles ».

          Merci pour votre aide.

          Cordialement.

  52. grauxale dit :

    Bonjour
    Je n’arrive pas à configurer Mutt avec une adresse mail GMAIL et une livebox.
    J’ai les erreurs suivantes :
    motion_init: Problem enabling motion-stream server in port 8081: Address already in use

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

%d blogueurs aiment cette page :