Comment Installer MotionEye sur Raspberry Pi

Si vous cliquez sur nos liens et effectuez un achat, nous pouvons recevoir une commission d'affiliation. En savoir plus

MotionEye est une interface web pour le service Motion, couramment utilisé sur Raspberry Pi pour connecter, gérer et surveiller toutes sortes de caméras. Il n’est pas directement disponible dans le dépôt officiel de Raspberry Pi OS, donc je vais vous guider pour son installation sur votre Pi avec ce tutoriel pas à pas.

MotionEye peut être installé sur n’importe quelle distribution Linux en utilisant PIP (le gestionnaire de paquets Python). Toutes les dépendances, y compris Motion et un serveur web, seront automatiquement ajoutées au système.

Je vais commencer par les prérequis (matériels et logiciels), puis je vous donnerai toutes les commandes pour l’installer sur votre Raspberry Pi en quelques minutes.

Si vous débutez avec Raspberry Pi ou Linux, j’ai quelque chose qui peut vous aider !
Téléchargez ma fiche mémo des commandes Linux gratuitement – c’est un guide de référence rapide avec toutes les commandes essentielles dont vous aurez besoin utiliser votre Raspberry Pi. Cliquez ici pour l’obtenir gratuitement !

Prérequis pour exécuter MotionEye sur Raspberry Pi

MotionEye peut être utilisé de nombreuses façons, mais voici mes recommandations pour bien débuter sur Raspberry Pi.

Exigences matérielles

  • N’importe quel modèle de Raspberry Pi : Je teste sur mon Raspberry Pi 4, mais cela n’a pas vraiment d’importance. Les services sont suffisamment légers pour fonctionner sur n’importe quel modèle et ils sont tous supportés.
    Un Raspberry Pi Zero 2W pourrait être un bon choix si vous prévoyez de brancher une caméra directement dessus (petit et discret mais suffisamment puissant).
  • Carte SD ou clé USB pour le système : nous utiliserons Raspberry Pi OS, donc les deux sont supportés. J’ai testé avec ma clé USB SanDisk standard.
    Vous pourriez avoir besoin d’un disque supplémentaire si vous prévoyez d’enregistrer le flux de la caméra, ou d’ajouter une détection de mouvement plus tard (voici mon disque de prédilection pour cela, aux mêmes dimensions que votre Pi avec plein d’espace disque).
  • Clavier et souris (facultatif) : j’utilise désormais mon nouveau clavier préféré Rii pour tous mes projets. Mais vous pouvez utiliser une configuration sans écran et suivre ce tutoriel depuis votre ordinateur si vous préférez.

Un module caméra est facultatif. Vous pouvez utiliser MotionEye de deux façons principales :

  • Comme centre de contrôle juste pour l’interface web. Vous le connecterez à diverses caméras IP, ou à un autre Raspberry Pi (exécutant Motion ou MotionEye eux-mêmes si besoin).
  • Comme caméra de sécurité autonome, avec un seul appareil. Dans ce cas, vous aurez besoin d’un module caméra sur le même Pi que MotionEye.

Je recommande d’utiliser le module caméra officiel pour cela (ou l’alternative NoIR). Ils sont parfaitement supportés par Raspberry Pi OS et MotionEye, donc c‘est le moyen le plus simple.

Système d’exploitation

MotionEye repose sur Python, donc il devrait fonctionner sur n’importe quel système d’exploitation du moment que Python 3 est disponible (et installé).

J’ai récemment mis à jour cet article en utilisant Raspberry Pi OS Bookworm, la version Lite, donc je recommande d’utiliser le même système si vous partez de zéro. Il y a eu de nombreux changements dans la façon dont le système gère les modules caméra dans les versions les plus récentes, donc vous pourriez remarquer quelques différences si vous utilisez un autre système.

Si vous avez besoin d’un guide pour installer Raspberry Pi OS (en anglais), vous pouvez cliquer sur ce lien pour suivre mon tutoriel. Configurez votre système avec un accès réseau et continuez.

Remarque : Il existe une image MotionEyeOS, mais elle n’a pas été mise à jour depuis plusieurs années. Je ne l’utilise pas car il est probablement plus sûr de commencer avec Raspberry Pi OS et d’installer l’application dessus “manuellement”.

Télécharger mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Facultatif : installation de la caméra

MotionEye peut se connecter à n’importe quel type de caméra, caméra locale (USB, module caméra, …), ou tout modèle sur votre réseau (ou même des caméras à distance). Une fois l’interface installée, vous pouvez ajouter autant de caméras que vous le souhaitez.

Mais si vous prévoyez d’utiliser un module caméra Raspberry Pi, installez-le et testez-le avant de continuer. Ça n’aurait pas beaucoup de sens de suivre toutes les étapes pour MotionEye si la caméra ne fonctionne pas à la base.

Je propose un tutoriel dédié sur ce site pour installer un module caméra sur Raspberry Pi (en anglais). Lisez-le pour plus de détails.

Guide d’installation de MotionEye

Voici les principales étapes pour installer MotionEye sur votre Raspberry Pi :

  • Assurez-vous que votre système est à jour.
  • Installez toutes les dépendances Python et le gestionnaire de paquets PIP.
  • Utilisez PIP pour télécharger et installer MotionEye à partir du projet GitHub.

Voyons maintenant toutes ces étapes en détail.

Mettez à jour votre système

Comme toujours, il est bon de mettre à jour votre système avant de commencer l’installation de paquets pour un nouveau projet. Vous pouvez le faire avec ces deux commandes :
sudo apt update
sudo apt upgrade -y

Vous pouvez les taper directement sur le Raspberry Pi, ou faire comme moi, et utiliser SSH pour tout faire depuis votre ordinateur (voici mon guide SSH si vous avez besoin d’aide pour la configuration).

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Installez les dépendances de MotionEye

Nous pouvons ensuite passer à l’installation des dépendances requises pour MotionEye :
sudo apt install python3-dev libcurl4-openssl-dev libssl-dev

Sur Raspberry Pi OS, Python 3 est préinstallé (sur toutes les versions), donc cela devrait être assez rapide. Mais si vous utilisez une autre distribution, il y aura probablement beaucoup plus de paquets à installer à ce stade.

Nous avons également besoin de PIP (gestionnaire de paquets Python), alors assurez-vous qu’il est installé en utilisant cette commande :
sudo apt install python3-pip

Installer MotionEye

Maintenant que les dépendances sont installées, nous pouvons utiliser les principales commandes pour installer MotionEye. Nous téléchargerons l’archive directement depuis le projet GitHub. N’hésitez donc pas à cliquer sur le lien si vous voulez jeter un coup d’œil d’abord.

Quoi qu’il en soit, voici la commande pour l’installer avec PIP :
sudo pip3 install 'https://github.com/motioneye-project/motioneye/archive/dev.tar.gz'

Remarque : Si vous installez MotionEye sur Bookworm ou une version plus récente, vous obtiendrez une erreur à ce stade car MotionEye empêche l’installation de bibliothèques en dehors d’un environnement virtuel (plus d’infos ici).

Selon le développeur, MotionEye a un petit nombre de dépendances, donc il n’y a pas de problème à utiliser ce flag pour contourner cette sécurité :
sudo pip3 install 'https://github.com/motioneye-project/motioneye/archive/dev.tar.gz' --break-system-packages

Télécharger mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Une fois terminé, nous pouvons exécuter le script d’initialisation de MotionEye, qui ajoutera toutes les exigences (y compris Motion, MariaDB, un serveur web, etc.) :
sudo motioneye_init

Je l’ai seulement testé sur une nouvelle installation de Raspberry Pi OS, donc je ne peux pas vous dire à quel point c’est bien intégré si vous avez déjà certains de ces services en cours d’exécution. Je suppose qu’il vous demandera votre mot de passe MySQL à un moment donné, mais je n’en suis pas sûr. Il est peut-être plus prudent de faire une sauvegarde d’abord (en anglais) dans ce cas.

Télécharger mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Vous comprenez l'anglais et en voulez encore plus ? Je publie une nouvelle leçon chaque mois, réservée à mes abonnés premium. Rejoignez la communauté dès maintenant pour y avoir accès !

Bien commencer avec MotionEye

Une fois MotionEye installé, il est prêt à l’emploi. L’interface web démarre automatiquement, vous pouvez donc l’utiliser directement pour ajouter de nouvelles caméras à votre système. Voici quelques conseils pour commencer.

Accès web et configuration

L’interface MotionEye est accessible via un navigateur web, sur l’adresse IP du Raspberry Pi avec le port 8765 : http://<VOTRE-IP>:8765.

Si vous ne connaissez pas l’adresse IP du Raspberry Pi, vous pouvez utiliser l’une des méthodes listées ici (en anglais) pour la trouver rapidement. Si vous avez un environnement de bureau, http://localhost:8765 devrait fonctionner aussi.

La page par défaut de MotionEye vous affiche un formulaire de connexion. Les identifiants par défaut sont :

  • Identifiant : admin
  • Mot de passe : (vide)

Cliquez sur “Login” pour accéder à l’interface complète.

Exigences pour Bookworm et les versions ultérieures

En mettant à jour cet article, ajouter une caméra ne fonctionne toujours pas par défaut sur une nouvelle installation de Raspberry Pi OS Bookworm. Quelques étapes supplémentaires sont nécessaires.

Vous pouvez essayer la section suivante sans faire ces étapes et voir comment ça se passe, mais vous aurez probablement besoin de les faire pour que cela fonctionne :

  • Installer le paquet libcamera :
    sudo apt install libcamera-v4l2
  • Mettre à jour le fichier de service pour l’utiliser :
    sudo sed -i 's/\/usr\/local\/bin\/meyectl/\/usr\/bin\/libcamerify \/usr\/local\/bin\/meyectl/' /etc/systemd/system/motioneye.service
  • Redémarrez le service MotionEye pour appliquer les modifications :
    sudo systemctl restart motioneye

Après cela, cela devrait fonctionner presque de la même manière, peu importe la version de l’OS que vous utilisez.

Ajouter votre caméra

Une fois connecté à l’interface web, vous serez invité à y ajouter votre caméra.

À partir de là, les prochaines étapes seront complètement différentes selon votre projet. Si vous souhaitez simplement ajouter le module de caméra du Raspberry Pi, choisissez celui par défaut suggéré dans la liste des caméras :

Sur Bookworm, gardez le type par défaut (V4L2) et la première caméra de la liste
Dans les anciennes versions de RPI OS, choisissez Local MMAL.

Si tout fonctionne comme prévu, vous devriez obtenir une interface ressemblant à ceci :

Vous avez un aperçu de votre caméra sur le côté droit, et de nombreuses options sur la gauche. Vous pouvez ajouter autant de caméras que vous le souhaitez en cliquant sur la liste déroulante (Camera1) puis “Add new camera…”.

Comme mentionné précédemment, MotionEye prend en charge le module caméra Pi, mais vous pouvez ajouter n’importe quelle caméra distante depuis cette même page, et visualiser toutes vos caméras de surveillance depuis une page unique.

À partir de là, je vous laisse explorer toutes les options et consulter le wiki officiel pour des questions spécifiques.

Pour aller un peu plus loin dans votre projet, j’ajouterais probablement un serveur VPN sur le Raspberry Pi, afin de pouvoir accéder à la page MotionEye de n’importe où. Dans ce cas, n’oubliez pas de définir un mot de passe compliqué (Admin sans mot de passe n’est pas une bonne idée ^^).

Gérer le service

Les services MotionEye et Motion sont configurés pour démarrer automatiquement après l’installation, donc vous ne devriez pas avoir à vous en soucier.

Si nécessaire, vous pouvez les gérer avec votre commande préférée de gestion de services. J’utilise généralement service pour cela :
sudo service <nom_du_service> status | start | restart | stop
Mais “systemctl” devrait fonctionner aussi.

Donc, par exemple :
sudo service motioneye status

Et si vous cherchez d’autres idées de projets sympas que vous pouvez réaliser avec un Raspberry Pi (et une caméra), jetez un œil à ces articles :

Télécharger mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets où je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Publications similaires

7 commentaires

  1. Bonjour,
    j’ai essayé d’installer MotionEye mais malheureusement après l’étape « sudo pip3 install ‘https://github.com/motioneye-project/motioneye/archive/dev.tar.gz’ je suis confronté au message suivant
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++

    DEPRECATION: gpg 1.14.0-unknown has a non-standard version number. pip 24.1 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of gpg or contact the author to suggest that they release a version with a conforming version number. Discussion can be found at https://github.com/pypa/pip/issues/12063
    WARNING: Running pip as the ‘root’ user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++
    j’ai donc essayé de suivre la démarche suivante https://debian-facile.org/doc:systeme:gnupg mais malheureusement c’est pareil j’ai toujours le message après l’étape « sudo pip3 install ‘https://github.com/motioneye-project/motioneye/archive/dev.tar.gz »

    Mon système d’exploitation sur Raspberry
    PRETTY_NAME = « Raspbian GNU/Linux 11 (bullseye) »
    NAME = « Raspbian GNU/Linux »
    VERSION_ID = « 11 »
    VERSION = « 11 (bullseye) »
    VERSION_CODENAME=bullseye
    ID=raspbian
    ID_LIKE=debian

    Ma version de python :Python 3.9.2

    Avez vous une idée pour ce problème ?
    Merci de votre retour
    Cordialement
    François

  2. Idem, l’installation plante.
    pi@raspberrypi:~ $ sudo pip3 install ‘https://github.com/motioneye-project/motioneye/archive/dev.tar.gz’
    et même ça :
    pi@raspberrypi:~ $ sudo pip3 install ‘https://github.com/motioneye-project/motioneye/archive/dev.tar.gz’ –break-system-packages

  3. en bookworm sur un rapsberry pi4, impossible d’aller au bout. A la commande sudo motioneye_init, je reçois la réponse « commande introuvable »
    à la commande sudo apt install libcamera-v412, je reçois le message « impossible de trouver le paquet libcamera-v412 » , idem si j’essaie avec libcamera
    j’ai essayé avec ou sans environnement virtuel.
    Bref il y a toujours un truc qui foire dans le processus. Décourageant

  4. en bullseye sur le même RPI4 j’ai fini par faire fonctionner MotionEye avec une webcam branchée en USB, mais jamais avec le module caméra v 3.
    Le raspberry reconnait bien la caméra (testée avec libcamera-hello). Mais du coté MotionEye, pas moyen d’ouvrir la camera. le message est UNABLE TO OPEN VIDEO DEVICE

  5. Bonjour,

    J’ai récemment rencontré ce problème précis en travaillant sur mon projet, JanusEye, http://januseye.free.fr . Le problème vient du passage du pilote « V4L2 Legacy » vers la nouvelle pile « libcamera » dans les versions récentes de Debian.

    Pour que MotionEye ou d’autres outils basés sur V4L2 fonctionnent, nous devons dire au Raspberry Pi d’arrêter d’essayer d’être « moderne » et de revenir au mode Legacy compatible. Voici le processus que j’ai utilisé pour corriger l’erreur V4L2 -22 :

    1. Installez les utilitaires V4L2
    Pour gérer et tester votre caméra via l’API V4L2, installez le package suivant :
    Frapper

    sudo apt mise à jour
    sudo apt installer v4l-utils

    2. Configuration manuelle (car l’option est manquante dans raspi-config)
    Ouvrez votre fichier de configuration :
    Frapper

    sudo nano /boot/firmware/config.txt

    (Remarque : utilisez /boot/config.txt sur les anciennes versions du système d’exploitation)

    Désactivez la détection automatique en modifiant/définissant cette ligne :
    Texte brut

    camera_auto_detect=0

    Ensuite, ajoutez ces lignes à la fin du fichier pour forcer l’ancienne pile :
    Texte brut

    start_x=1
    gpu_mem=128

    Enregistrez (Ctrl+O, Entrée) et quittez (Ctrl+X), puis redémarrez :
    Frapper

    redémarrage sudo

    3. Autorisations
    Assurez-vous que votre utilisateur fait partie du groupe vidéo pour accéder au flux :
    Frapper

    sudo usermod -a -G vidéo $USER

    Cela a résolu les problèmes de détection de mon script d’installation universelle. J’espère que cela aidera quelqu’un d’autre aux prises avec les nouvelles versions de Debian !

    1. Merci pour ton message.

      J’en ai profité pour faire un test sur Trixie, les instructions données n’ont pas fonctionné pour moi.
      Par contre en ajoutant cette ligne à la fin de /boot/firmware/config.txt cela m’a débloqué:
      dtoverlay=imx219

      J’imagine que ca dépend de la caméra, mais si ca peut aider…

Laisser un commentaire

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