Installation de MotionEye sur Raspbian Buster (vidéoSurveillance)

Ho, le premier article de 2020 (et le premier article depuis 6 mois ; la honte) !
Il faut dire que débuter un nouveau travail et des études dans le cadre d’une reconversion complète à presque 45 ans = j’ai été pas mal occupé … D’autant que j’ai aidé quelques personnes à réaliser des photomatons. 😉

Comme souvent, cet article fait suite à une discussion sur un forum car il fallait que je vérifie si MotionEye tournait nickel sur Raspbian Buster sur un Raspberry Pi.
Bon, OK, la question portait aussi sur le Rpi4, mais comme je n’ai pas le 4, on va faire le tuto sur le Rpi3B+.
Mais si quelqu’un m’offre le Rpi4, je promets de refaire ce tuto sur Rpi4 !!!

Le but est d’obtenir ceci :

motionEye Version0.42
Motion Version4.2.2
OS VersionRaspbian 10

–> L’article sera simplement l’installation de MotionEye sur un Rpi tournant avec Raspbian Buster afin de pouvoir réaliser un système de vidéosurveillance.

Pour la partie “installation de Raspbian Buster”, comme il est déjà écrit, je vous renvoie à l’article intitulé … Installation de Raspbian Buster (sic)

Bien évidemment, vous pouvez aussi faire tourner MotionEye sur un Buster Lite (ce qui est d’ailleurs beaucoup plus logique !!!).

Et je confirme que ce tutoriel fonctionne sur “Buster With Desktop” comme sur “Buster Lite” ; j’ai testé les 2 pour votre plus grand bonheur 😉

Installation de MotionEye

Conseil très important : préférez réaliser toutes ces commandes en faisant des [copier/coller] pour éviter les erreurs.
(Voir mon article sur les [copier/coller] pour plus d’informations si nécessaire)
Perso, je le fais depuis un autre poste informatique en étant connecté en SSH

Préparation de l’installation au cas où Buster est déjà installé :

sudo apt update && sudo apt upgrade -y

Installation des prérequis :

sudo apt-get install ffmpeg libmariadb3 libpq5 libmicrohttpd12 -y

Récupération et installation de Motion (le cœur du programme) :

sudo apt-get update
sudo wget https://github.com/Motion-Project/motion/releases/download/release-4.2.2/pi_buster_motion_4.2.2-1_armhf.deb
sudo dpkg -i pi_buster_motion_4.2.2-1_armhf.deb

Installation des dépendances :

sudo apt-get update
sudo apt-get install python-pip python-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libz-dev -y

Récupération et installation de MotionEye (en simplifiant, MotionEye est l’interface graphique ajoutée à Motion qui est le cœur de l’application) :

sudo pip install motioneye

Configurations obligatoires :

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
sudo cp /usr/local/share/motioneye/extra/motioneye.systemd-unit-local /etc/systemd/system/motioneye.service

Automatisation de lancement du programme au démarrage du Raspberry Pi (MotionEye sera actif dès le démarrage du Raspberry ; ça devient automatique) :

sudo systemctl daemon-reload
sudo systemctl enable motioneye
sudo systemctl start motioneye

Si, plus tard, vous voulez réaliser une mise à jour de MotionEye, il faudra faire :

sudo apt update && sudo pip install motioneye --upgrade

Ensuite, vous devrez relancer MotionEye avec un petit :

sudo systemctl restart motioneye
Premier écran de connexion à MotionEye
Il suffit de noter uniquement admin et de valider.

Et voilà ; Motion et MotionEye sont installés et sont actifs.
Si vous ne connaissez pas MotionEye, vous devez savoir qu’on s’y connecte, en général, depuis un autre ordinateur puisque le Rpi est, la plupart du temps, dépourvu d’écran.

Pour ce faire, il faut connaître l’IP du Rpi ce qui aisément récupérable grâce à la commande ifconfig
Chez moi, j’ai un inet 192.168.0.16 donc, depuis un autre PC, je tape juste http://192.168.0.16:8765 pour tomber sur la page de connexion.

Si vous vous connectez depuis le Rpi en lui-même (il faut la version graphique(1) de Buster et un écran), vous devez taper cette adresse dans le navigateur : http://localhost:8765/

Pour se connecter, la première fois, il faut juste entrer le nom de l’administrateur (“admin”) et valider puisqu’il n’y a pas de mot de passe pour le moment.

(1) : Si votre Rpi tourne avec Buster Lite (non graphique) = vous devez vous connecter depuis un autre poste

A ce stade, il faut commencer par modifier le mot de passe du compte admin ; c’est ce que je fais toujours en premier lieu.

Pour le moment, je n’ai pas réalisé de configuration puisque cette installation n’a été faite que pour tester la chose et écrire ce tutoriel.

Je vous renvoie donc à la partie “Intégration des Caméras et divers paramétrages” de l’article identique mais sous Raspbian Stretch.
Il n’y a pas de changement dans cette partie configuration.

Une petite conclusion pour faire bien, ça vous dit ?

Oui ? Non ?
Bon, Ben, je fais comme je veux alors !

Vous êtes, maintenant, l’heureuse/heureux propriétaire d’un système de vidéosurveillance autonome et automatique (bon, OK, il faut du courant et du réseau tout de même).
La seule chose à faire est dorénavant d’allumer le Raspberry Pi et c’est tout puisque tout est déjà paramétré !

@+

Édit du dimanche 19/01/2020 au matin : à la place d’aller courir, tutoriel vérifié en reprenant tout depuis le début avec écriture à zéro de Raspbian Buster sur une carte SD et [copier/coller] des lignes de code de mon article –> nickel ; aucun souci.

A propos de Alban

Papa de 4 enfants étant lui même resté un enfant. Tombé par obligation dans l'informatique à 22 ans pour le boulot et s'étant "un peu" pris au jeu ... Pas un génie de l'informatique (loin de là), mais intéressé et carrément orienté Linux et entraide.

15 commentaires à propos de “Installation de MotionEye sur Raspbian Buster (vidéoSurveillance)”

  1. Bonjour Merci pour ce tuto,
    Moi j’essaye d’installer motion eye sur une VM de la freebox delta , mais cela ne marche pas, snifff
    erreur à cette ligne “sudo pip install motioneye”

    Downloading https://files.pythonhosted.org/packages/b3/d0/a20d8440b71adfbf133452d4f6e0fe80de2df7c2578c9b498fb812083383/Pillow-6.2.2.tar.gz (37.8MB)
    99% |████████████████████████████████| 37.8MB 2.1MB/s eta 0:00:01Exception:
    Traceback (most recent call last):
    File “/usr/lib/python2.7/dist-packages/pip/_internal/cli/base_command.py”, line 143, in main
    status = self.run(options, args)
    File “/usr/lib/python2.7/dist-packages/pip/_internal/commands/install.py”, line 338, in run
    resolver.resolve(requirement_set)
    File “/usr/lib/python2.7/dist-packages/pip/_internal/resolve.py”, line 102, in resolve
    self._resolve_one(requirement_set, req)
    File “/usr/lib/python2.7/dist-packages/pip/_internal/resolve.py”, line 256, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
    File “/usr/lib/python2.7/dist-packages/pip/_internal/resolve.py”, line 209, in _get_abstract_dist_for
    self.require_hashes
    File “/usr/lib/python2.7/dist-packages/pip/_internal/operations/prepare.py”, line 283, in prepare_linked_requirement
    progress_bar=self.progress_bar
    File “/usr/lib/python2.7/dist-packages/pip/_internal/download.py”, line 836, in unpack_url
    progress_bar=progress_bar
    File “/usr/lib/python2.7/dist-packages/pip/_internal/download.py”, line 673, in unpack_http_url
    progress_bar)
    File “/usr/lib/python2.7/dist-packages/pip/_internal/download.py”, line 897, in _download_http_url
    _download_url(resp, link, content_file, hashes, progress_bar)
    File “/usr/lib/python2.7/dist-packages/pip/_internal/download.py”, line 617, in _download_url
    hashes.check_against_chunks(downloaded_chunks)
    File “/usr/lib/python2.7/dist-packages/pip/_internal/utils/hashes.py”, line 48, in check_against_chunks
    for chunk in chunks:
    File “/usr/lib/python2.7/dist-packages/pip/_internal/download.py”, line 585, in written_chunks
    for chunk in chunks:
    File “/usr/lib/python2.7/dist-packages/pip/_internal/utils/ui.py”, line 159, in iter
    for x in it:
    File “/usr/lib/python2.7/dist-packages/pip/_internal/download.py”, line 574, in resp_read
    decode_content=False):
    File “/usr/share/python-wheels/urllib3-1.24.1-py2.py3-none-any.whl/urllib3/response.py”, line 494, in stream
    data = self.read(amt=amt, decode_content=decode_content)
    File “/usr/share/python-wheels/urllib3-1.24.1-py2.py3-none-any.whl/urllib3/response.py”, line 442, in read
    data = self._fp.read(amt)
    File “/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/filewrapper.py”, line 63, in read
    self._close()
    File “/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/filewrapper.py”, line 50, in _close
    self.__callback(self.__buf.getvalue())
    File “/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/controller.py”, line 275, in cache_response
    self.serializer.dumps(request, response, body=body),
    File “/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/serialize.py”, line 55, in dumps
    “body”: _b64_encode_bytes(body),
    File “/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/serialize.py”, line 12, in _b64_encode_bytes
    return base64.b64encode(b).decode(“ascii”)
    File “/usr/lib/python2.7/base64.py”, line 54, in b64encode
    encoded = binascii.b2a_base64(s)[:-1]
    MemoryError

    Pouvez vous m’aider?

    • Salut Cécile,
      Tu peux tenter un sudo python -m pip install --upgrade pip setuptools wheel pour voir ce que ça donne ?
      Sur ta box, tu as mis une VM qui tourne tourne sur quel OS ?
      Tu es sûr que c’est Raspbian ; plutôt Debian, non ?

      @+

      • Merci pour le reponse, du coup j’ai tout recommancé et j’ai deja une erreur ici ;

        sudo dpkg -i pi_buster_motion_4.2.2-1_armhf.deb
        dpkg: error processing archive pi_buster_motion_4.2.2-1_armhf.deb (–install):
        package architecture (armhf) does not match system (arm64)
        Errors were encountered while processing:
        pi_buster_motion_4.2.2-1_armhf.deb

        Faut que je trouve les bons paquets

  2. Bonjour Alban

    j’ai suivi à la lettre cette installation via Putty (très bon travail !) et copier/coller sur un Pi B+, mais çà bloque au niveau des “configurations obligatoires”; la création des 2 sous-répertoires se fait bien, mais pas les 2 copies car le sous-répertoire “motioneye” n’existe pas dans /usr/local/share ( à quel moment est-il créé ?) j’ai seulement 3 sous-répertoires —> “ca-certificates fonts man”
    Après application de “sudo python -m pip install –upgrade pip setuptools wheel” et relance “sudo pip install motioneye” , tout se termine bien.
    Mais c’est vraiment lent sur Pi B+, Pi 3B ça devient juste potable…

    En tout cas, merci .
    Michel C.

  3. Bonjour Alban
    Merci beaucoup pour la très bonne documentation que tu as réalisé , la preuve ,
    même avec un simple smartphone et en SSH j’y suis arrivé ..
    Si toutes explications étaient comme la tienne il n’y aurai pas de problème informatique 🙂
    Ou presque
    A très bientôt

    • Bonsoir Jean-Claude,
      Merci pour ta validation (et ce message fort sympathique).
      Le but de ce site étant de rendre service à la communauté, les retours de “mes” lecteurs m’intéressent toujours fortement.
      Au plaisir 😉

    • Salut Jean-Claude,
      Merci pour ce retour,
      Dans la réalité, cet article a été “un peu” réalisé pour toi 😉
      Je suis en train de réécrire une carte SD pour le suivre et ainsi le vérifier.
      A bientôt,

Laisser un commentaire

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

*