Article débuté le 12/02/2017 – Bon Anniversaire Anne P 😉
–> Article mis à jour le 27/04/2019 suite à un commentaire de Victor. En effet, ce tuto à 2 ans ce qui revient à une éternité en informatique. Merci Victor !
Installation de MotionEye sur Raspberry Pi OS ou
la version ultime du système de videosurveillance à la demande.
En Français de base : Un système nomade de vidéo-surveillance sur clef USB autonome.
Ou : Comment transformer en quelques secondes votre PC portable en caméra de vidéo-surveillance IP.
Cet article va aborder 3 choses :
- La création d’un système Linux très léger sur Clef USB afin de ne rien modifier sur la machine.
- L’installation de MotionEye afin de basculer un PC (votre PC perso ou pro) en mode Serveur de Vidéo Surveillance à la demande.
- La sécurisation du système en modifiant le mot de passe du compte par défaut et en empêchant la connexion automatique afin que personne n’accède aux données en clair (impossible de lancer la clef)
- Script additionnel pour notification par SMS et/ou alarme sonore
Ce système sera donc, à la fin de l’article, un ensemble simple où il suffira de brancher la clef USB sur l’ordinateur (portable ou fixe) puis de démarrer sur cette clef en lieu et place du Disque Dur … et … c’est tout ! Le système de Vidéo Surveillance sera actif et fonctionnel. 🙂
Alors, pour débuter, il faut installer un système léger dit « Live » ; c’est à dire une version de Linux qui va tourner sur une clef USB (puisque le but est de ne rien modifier sur le PC cible).
Évidemment, il faut que cette distribution de Linux Live dispose d’un mode persistant puisque le but est d’y installer un programme et … de conserver les modifications pour le futur. Sinon … 🙂
Comme l’idée est que ça soit facile et rapide, on va partir sur une distribution de Raspbian Jessie PIXEL modifiée pour fonctionner sur des processeurs i386 : ça tourne sur PC et MAC et, en plus, ça intègre, de base, sans rien faire, le mode persistant. Trop cool. (en plus, c’est gratuit)
Je vous laisse lire l’article de la Fondation Raspberry Pi à ce sujet.
A noter que Raspbian est déjà un portage de Debian, une distribution de Linux très connue et très réputée. Ça devrait le faire en terme de sécurité et d’offre logiciels.
1 – Installation de Raspbian x86 (Debian with Raspberry Pi Desktop)
Avant toute chose, il faut télécharger l’image de Pixel_x86 (lien direct retiré car trop vieux ; actuellement, en avril 2019, c’est « 2019-04-11-rpd-x86-stretch.iso ») et l’installer sur une clé USB avec l’outil (recommandé par la fondation et qui est vraiment très simple) qui s’appelle Etcher.
Et ?
Et bien, c’est tout pour installer Raspbian x86 !
Trop cool, non ?!? 🙂
Il suffit ensuite d’insérer la clef dans un PC et de démarrer en ayant pris soin de modifier le bios pour démarrer sur la clef ou d’appuyer sur la bonne touche (sur le PC sur lequel je suis (et oui, j’écris l’article depuis Raspbian Jessie x86), c’est juste la touche « Echap » ; sur une autre machine testée, c’était F9 ; à vous de trouver la touche idoine selon votre machine).
Au bout de quelques secondes (45′ pour moi), on a un joli bureau comme celui-ci.
Édit du 27/04/2019 : NOUVEAUTÉ des versions récentes = la suite n’est plus valable car tout est simplifié par une prise en mais guidée pas à pas donc suivez « bêtement » ce que le système vous dit.
Ensuite, vous pouvez améliorer les choses en passant le clavier en Français. Facile, c’est graphique en quelques clics :
Framboise (en haut à gauche) –> Preferences –> Mouse and Keyboard Settings
Choisir l’onglet « Keyboard » (Yes, je suis bilingue 😉 Je gère)
Ensuite, « Keyboard Layout » puis « France » puis « French (alternative) » Ou autre chose ; ça, c’est mon choix
(je le partage et je m’en félicite dirait un politicien)
Et puis, comme je suis Français et que je vis en France, je modifie la « TimeZone » pour avoir l’heure idoine. Ça se passe en ligne de commande :
tzselect
Choisir « 8 » (pour « Europe ») puis « 15 » (pour « France ») puis « 1 » (pour « Yes »).
Après, vous faites afficher les fichiers cachés et vous modifiez le fichier « .profile » en ajoutant juste « TZ=’Europe/Paris’; export TZ » à la fin
(ou vous faites nano /home/pi/.profile pour ajouter cette ligne à la manière d’un vieux Linuxien qui maîtrise la ligne de commande ou d’un diététicien qui essaye de se persuader qu’il est trop méga-fort en informatique).
2 – Installation de MotionEye
Pour cette installation, je suis parti de la page du Github du projet qui traite de l’installation sur Debian puisque Raspbian est à l’origine une version de Debian portée pour les processeurs ARM (pour le Raspberry Pi), mais que les PC en architeture x86 sont juste des PC normaux.
L’adresse en question ? C’est ici : https://github.com/ccrisan/motioneye/wiki/Install-On-Debian
Edit du 27/04/2019 = modifications pour que le tuto fonctionne toujours. Il vous suffit d’ignorer les lignes barrées.
Pour débuter, il faut mettre à jour les dépôts (pour installer ffmpeg notamment).
Le problème, c’est que ça a merdouillé dès le début.
La ligne
sudo echo "deb http://www.deb-multimedia.org jessie main non-free" >> /etc/apt/sources.list
renvoie
bash: /etc/apt/sources.list: Permission denied
… Pas cool …
Bon, j’ai résolu le souci en faisant
sudo nano /etc/apt/sources.list
puis j’ai entré la ligne
deb http://www.deb-multimedia.org jessie main non-free
à la fin du fichier.
Puis, faire « Ctrl+x » puis « Y » puis « Entrer » pour valider les changements.
Ensuite,
sudo apt-get update
sudo apt-get install deb-multimedia-keyring
sudo apt-get update
Ensuite, installation de motion + ffmpeg + v4l-utils :
sudo apt-get install motion ffmpeg v4l-utils
Puis les dépendances :
sudo apt-get install python-pip python-dev curl libssl-dev libcurl4-openssl-dev libjpeg-dev
sudo apt-get install python-pip python-dev python-setuptools curl libssl-dev libcurl4-openssl-dev libjpeg-dev libz-dev
Installation de MotionEye lui-même (le truc qui permet de piloter Motion en somme)
sudo pip install motioneye
Puis configuration de la chose :
sudo mkdir -p /etc/motioneye
sudo cp /usr/local/share/motioneye/extra/motioneye.conf.sample /etc/motioneye/motioneye.conf
sudo mkdir -p /var/lib/motioneye
Ensuite, on automatise le lancement à l’allumage de la machine
sudo cp /usr/local/share/motioneye/extra/motioneye.systemd-unit-local /etc/systemd/system/motioneye.service
sudo systemctl daemon-reload
sudo systemctl enable motioneye
sudo systemctl start motioneye
Et c’est tout !!!
Note ; si vous avez besoin de mettre à jour dans quelques jours ou semaines (ou mois) ; ça se fera comme ça
sudo pip install motioneye --upgrade
sudo systemctl restart motioneye
Bon, maintenant, on va vérifier que tout va bien en allant sur http://localhost:8765/ et on découvre …
Heu … Un truc vide :
Mais il suffit d’ajouter la WebCam (je suis sur un portable et j’ai essayé sur 2 autres portables = c’est idem = la WebCam est détectée immédiatement).
On apparaît alors à l’écran ! (j’avoue, j’ai une drôle de tête)
Après, pensez à mettre la détection à « off » (Motion Detection) ; cela vous permettra de farfouiller dans les options sans être photographié en boucle !!!
Dans les options, vous pouvez enregistrer les images en cas de détection de mouvement (pensez à la taille de votre clef USB et faites des essais pour voir ce que ça prend comme place en réglant les sous-paramètres ou mettez en place une tâche cron pour les effacer toutes les 24 ou 48h ou quand ça vous chante)
Et vous pouvez aussi lancer une commande personnalisée en allant dans « Motion Notification » et en activant « Run a Command ».
Vous pouvez ainsi vous faire envoyer un SMS comme j’en parle dans cet article « VideoSurveillance et notification SMS » ou faire jouer un son comme une alarme ou un texte de votre voix disant « Intrusion détectée – Photos de preuve envoyées par courriel + SMS d’alerte – La police est avertie – Quittez les lieux au plus vite » voire, si vous êtes du genre pas drôle et même un brin belliqueux, un truc genre « Hop là mon p’tit gars ; Je te vois et j’ai ta photo ; tu vas goûter de ma hâche ; tu ne touches à rien et tu te sauve, vite. Fais ça pour toi … »
Allez, je vous apprends à le faire :
On installe un lecteur (pour lire le fichier son) :
sudo apt-get install mplayer
On créé le script :
sudo nano /home/pi/notification.sh
Perso, je mets ceci :
#!/bin/sh # Script pour jouer un son mplayer /home/pi/Downloads/fichier.mp3
Où « /home/pi/Downloads/ » est le chemin et « fichier.mp3 » le son en question.
Fermez et enregistrez les modif.
Attention, n’oubliez pas de rendre le script exécutable avec un petit coup de
sudo chmod +x /home/pi/notification.sh
Pour le moment, j’ai mis un son trouvé sur le Net (banque de sons) qui est une alarme militaire (ça arrache un peu).
3- Désactivation de l’autolog et du mot de passe
Par défaut, le système démarre de manière automatique avec lancement du compte par défaut.
Ce n’est pas un souci si on est en mode non persistant comme sur les clefs USB dites « Live » comme LinuxMint ou HandyLinux par exemple.
Là, cela peut poser problème du fait de la persistance puisque la clef va contenir des informations et nos modifications.
Donc, on commence par modifier le mot de passe avec un petit coup de :
sudo passwd pi
Qui nous renvoie :
Enter new UNIX password:
Puis
Retype new UNIX password:
Et enfin
passwd: password updated successfully
Bon, ça, c’est fait ! (A noter que lors du log, le clavier sera en anglais donc le mot de passe « az45m » deviendra « qw'(; » ; faut juste connaitre l’emplacement des touches ; et ça rajoute un cran de difficulté pour celui qui vous pique votre clef 😉 Et ça, c’est bon !)
Ensuite, on retire l’autolog simplement en éditant le fichier /etc/lightdm/lightdm.conf
avec un petit coup de
sudo nano /etc/lightdm/lightdm.conf
Et là, il faut décommenter la ligne autologin-user=pi
en #autologin-user=pi
Aller, je suis sympa ; pour faire vite, faites « Ctrl+w » puis taper « autologin-user=pi
» et zou, vous y êtes !
Ensuite, une fois le #
ajouté, faites « Ctrl+x » puis « y » puis « Entrer »
C’est tout.
Résultat :
- Clef non visible sur un Mac ; ça note « Le disque que vous avez inséré n’est pas lisible par cet ordinateur. »
- Clef qui ne semble pas accessible sur Windows (mais, bon, je n’ai pas de windows chez moi).
- Le volume « persistance » est monté automatiquement sur mon LinuxMint et les captures d’écran que j’avais réalisées pour cet article étaient visibles dans le répertoire « pi » du répertoire « home ».
Je pense que cet article sera enrichi et finalisé peu à peu … car … je rappelle que je travaille le jour.
Et avec une femme et 4 enfants, je ne peux pas y passer bcp de temps. Et malheureusement, je dois dormir la nuit, car même si je suis parfait, je ne suis pas un (encore) SuperHéro 😉
A bientôt,
Bonjour Alban
Tout d’abord merci pour ce tuto vraiment intéressant, je suis coincé au niveau du localhost (rien ne s’affiche……) malgré 3 installations intégrales sur ma clé usb., j’aimerai tellement faire tourner ce systéme.
Merci
Bonsoir Victor,
Ce tuto date un peu ; je vais tenter de le suivre sur une de mes clefs pour vérifier et je te redis.
Tu as quoi comme version de Linux (Raspian x86, Debian, LinuxMint, Ubuntu, …) ?
@+
Merci Alban pour ta réactivité !
J’ai suivi intégralement le tuto et du coup ma clé est à base de rasbian x86 ,le pixel ….
Pour précision , j’ai biensur essayé la clé sur plusieurs pc portable et c’est toujours la meme chose !
A plus et merci
Je viens d’écrire 2019-04-11-rpd-x86-stretch.iso mais ma clef est trop petite lors des MàJ …
Je sauvegarde ce que j’ai sur une clef de 8Go pour réinstaller cette image et j’installe MotionEye.
Je te redis,
OK, c’est bon, ça fonctionne chez moi.
Je modifie le tuto qui date un peu.
En 2 mots :
– Il faut passer par Debian Stretch with Raspberry Pi Desktop qui est, à ce jour, « 2019-04-11-rpd-x86-stretch.iso ».
– Ensuite, il faut ajouter quelques paquets lors de l’installation initiale des dépendances.
Le tuto est modifié en conséquences et est donc fonctionnel.
Merci pour ton intervention qui me permet de parfaire la chose grâce à cette mise à jour.
A nouveau merci d’avoir pris de ton temps pour répondre à mon problème….Je m’empresse d’essayer et je te ferai un retour.
A trés vite
Bon,
Comme je suis un peu taré (comment ça seulement un peu ???), j’ai écrit Debian with Raspberry Pi Desktop dans sa dernière version (“2019-04-11-rpd-x86-stretch.iso”) sur un disque dur interne 3’5 de récup mis en USB avec un adaptateur (plus rapide que ma clef).
Une fois Raspbianx86 paramétré, le tuto MotionEye m’a pris 5 minutes pour obtenir une écran fonctionnel.
Donc, je confirme que, grâce à toi, j’ai remis le tuto au goût du jour.
Merci Victor,
La preuve en image : (il parait que j’ai une tête de déterré ce soir)
Salut Alban
Je suis ravi par mes questions,auxquelles tu as répondu super rapidement, d’avoir participé à la mise à jour du tuto (j’ai pas fait grand chose….simple utilisateur !!)
Je te confirme que ca fonctionne parfaitement!
Merci encore pour ton partage et surtout ne change rien à ta tête 🙂 juste un peu de repos peut-etre….
Merci
Victor
Cool !
Ravi pour toi,
Content Alban ! 🙂
Merci, Alban, pour ta réponse rapide, et cette précision importante sur le port 8765 (est-il modifiable?)!
0ui effectivement, en frappant http://localhost:8765, j’ai eu un visuel, cependant la camera du raspberry branchée directement sur la broche de la carte ne semble pas avoir été reconnue… pas d’image ni de camera détectée, je n’ai pas essayé pour l’instant de webcam branchée sur l’usb (n’en n’ayant pas à disposition)
Cependant ce qui me chiffone, c’est que motion ne me donne plus ni image ni video dans le dossier que je lui avais offert pour travailler. Avant l’installation de motioneye, à l’allumage du raspberry, j’avais motion qui tournait et détectait du mouvement et délivrait des fichiers… !?.
Re,
Le port 8765 est modifiable.
Tu peux aller dans /etc/motioneye et lire le fichier motioneye.conf afin de vérifier la ligne
« # the TCP port to listen on »
Elle doit être suivie de :
port 8765
Sinon, si tu as MotionEye sur un Raspberry Pi avec le module Caméra, je te propose plutôt cet article :
https://trevilly.com/installation-de-motioneye-sur-raspbian-strech-sur-raspberry-pi3/
Tu peux choisir ta caméra avec l’écran d’accueil.
Il faut, sur la première ligne, sélectionne « Local V4L2 Camera »puis, sur la seconde « mmal service … »
Pour ton dossier de stockage, MotionEye ne stocke pas au même endroit que Motion.
Une fois que tu auras le visuel, tu seras en détection mais sans prise de cliché par défaut.
Dans « Still images », tu devras sélectionner « Motion Triggered ».
++
PS : tu as bien désinstallé Motion avant de faire l’installation ?
Bonjour,
Bravo pour tous ces détails d’installation.
après avoir suivi pas à pas, je bute ici:
d’où sort cette adresse: http://localhost:8765/ s’il vous plaît,
comment trouver l’adresse correspondante sur son propre réseau?
Merci
Bonjour Ivaneo,
Merci pour les compliments.
MotionEye utilise le port 8765 pour être accessible.
C’est le port utilisé par défaut par le concepteur.
Depuis lui-même (le PC ou le Raspberry Pi où il tourne), on y accède via http://localhost:8765
La première question est : as-tu un visuel en tapant http://localhost:8765 depuis ton appareil destiné à la surveillance ?
C’est déjà primordial d’avoir accès à cette page.
(Sinon, tape « sudo systemctl start motioneye » et recharge avec F5 au bout de 30 secondes)
Ensuite, pour y accéder depuis ailleurs :
Toujours depuis ce PC, tu ouvres le “Terminal” et tapes “ifconfig” (sans les guillements) afin d’obtenir ton adresse IP ; par exemple 192.168.0.15
Ensuite, tu tapes cette IP suivi de :8765 depuis un autre PC du réseau ; par exemple 192.168.0.15:8765
Sinon, tu peux télécharger Angry IP Scanner sur un PC et scanner tout ton réseau pour connaitre l’IP de ta machine (et de toutes les machines du réseau sauf celle où Angry IP Scanner tourne).
Redis-moi,
@+