Dans la série des périphériques, suite à la dongle wifi et la clé Bluetooth, penchons-nous maintenant sur l’installation d’une caméra avec la Raspberry Pi. Notre but ici et de vous proposer un guide pour sa mise en place, avec un budget raisonnable (c’est-à-dire cohérent avec le prix du micro-ordinateur) et avec une retransmission sur smartphone ou PC.
Sommaire
Prérequis matériel
- Une carte mémoire SD
- Une alimentation 5V avec port micro-USB (pour la Raspberry Pi 3, prenez plutôt cette alimentation)
- Un adaptateur wifi vers USB (Si vous avez une Raspberry Pi 3, vous n’en avez pas besoin étant donné que le wifi est déjà intégré)
- Un moniteur (tel que votre télévision)
- Un câble HDMI
- Un module de caméra
- Une Rapsberry Pi (dans ce tutoriel, nous nous basons sur la version Raspbian Wheezy)
- Un boitier pour celle-ci
La valeur totale de ces appareils et accessoires devrait être d’une centaine d’euros.
Préparation
Si cela n’est pas déjà fait, commencez par l’installation de Raspbian. Pour cela, jetez un œil sur notre tutoriel. Il nous est nécessaire puisqu’il gère la communication entre le matériel physique et les applications. De plus, ce dérivé de Debian est parfait pour ce type d’utilisation : stable et régulièrement mis à jour, sur lequel vous trouverez une multitude d’articles et d’aides sur le web.
Assurez-vous par ailleurs d’avoir bien activé la connexion SSH, dont nous avons détaillé la méthode dans ce guide. Activez en outre le module caméra de la même manière, via le menu Raspi Config.
Nous allons, en dernière étape de ce préambule, vérifier que tout est bien à jour :
sudo apt-get install rpi-update sudo rpi-update
Met à jour le firmware.
sudo apt-get update sudo apt-get upgrade
Met à jour les fichiers.
Communication SSH
Nous allons maintenant connecter notre ordinateur hôte au micro-ordinateur. Cela nous permettra de mettre à jour ou paramétrer la caméra sur laquelle ce dernier sera connecté, à distance. Vous l’aurez compris : nous n’allons pas dans ce tutoriel simplement installer une caméra, mais un appareil puissant, sur lequel les possibilités seront variées puisqu’il accueille un système d’exploitation de la famille Linux. Que vous soyez sur Mac ou sur Windows, la connexion est relativement simple et détaillée ici.
Paramétrage du wifi
Si vous n’avez pas encore installé de dongle wifi sur votre Raspberry Pi, nous vous conseillons d’aller jeter un œil sur cet article. En voici un bref résumé : entrez la commande ci-dessous dans votre terminal de commande (PuTTY si vous êtes sous Windows).
sudo nano /etc/network/interfaces
Allez à la fin du fichier, puis ajoutez les lignes suivantes (ou modifiez-les si elles existent déjà), en adaptant le SSID et le mot de passe avec vos paramètres :
allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid "SSID" wpa-psk "MOT_DE_PASSE"
Redémarrez pour appliquer les modifications :
sudo reboot
Assemblage de la caméra
Passons maintenant à l’assemblage matériel de la caméra. Nous ne pouvons vous guider ici précisément puisque les instructions dépendent du boitier que vous avez choisi.
Nous pouvons cependant vous conseiller de trouver un moyen de fixer la Raspberry Pi, pour éviter qu’elle ne se balade ; et de vous assurer qu’aucun métal ne touche un circuit imprimé. Vous pouvez aussi choisir de couvrir ou non la LED de la caméra par un papier noir, pour rendre le dispositif plus discret. Celle-ci indique la détection d’un mouvement ou le commencement d’un enregistrement, ce qui peut avoir un effet dissuasif, selon l’utilisation que vous en faites. Cette ligne de commande vous permet de la désactiver :
disable_camera_led=1
Changez-le « 1 » en « 0 » si vous souhaitez la réactiver par la suite.
Mise en place de la détection de mouvement
Nous allons ici nous aider du logiciel motion, qui va vous permettre de personnaliser la surveillance et la détection de mouvement grâce à ses nombreux paramètres. De plus, il s’agit d’un logiciel open-source gratuit, ce qui va vous permettre d’y greffer les fonctionnalités que vous souhaitez. Pour l’installer :
sudo apt-get install motion
Assurez-vous d’avoir les pleins pouvoir en effectuant ces opérations via l’utilisateur « pi ».
Patientez pendant l’installation des paquets, et validez par « y ». Cette version n’a pas encore été bien adaptée pour notre Raspberry Pi. Nous allons y ajouter un programme pour que cela fonctionne de manière plus stable :
cd /tmp sudo apt-get install -y libjpeg62 libjpeg62-dev libavformat53 libavformat-dev libavcodec53 libavcodec-dev libavutil51 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev wget https://www.dropbox.com/s/xdfcxm5hu71s97d/motion-mmal.tar.gz
Décompressons le dossier :
tar zxvf motion-mmal.tar.gz
Puis, mettons à jour le logiciel motion pour qu’il communique bien avec l’addon que nous venons de télécharger :
sudo mv motion /usr/bin/motion sudo mv motion-mmalcam.conf /etc/motion.conf
Mettons maintenant à jour les programmes qui agissent en arrière-plan de motion, appelés daemons :
sudo nano /etc/default/motion
Modifions-en la ligne suivante :
start_motion_daemon=yes
Notez par ailleurs la commande suivante pour accéder et adapter le fichier de configuration de motion :
sudo nano /etc/motion.conf
(La version spéciale de motion-mmal voit son fichier de configuration se trouver sur /etc/ et non /etc/motion/).
Assurons-nous de bien de donner les privilèges nécessaires à l’utilisateur « motion » lorsque l’on installe le programme du même nom en SSH, via l’utilisateur « pi » connecté. Nous allons utiliser ces privilèges pour exécuter « motion » au démarrage :
sudo chmod 664 /etc/motion.conf sudo chmod 755 /usr/bin/motion sudo touch /tmp/motion.log sudo chmod 775 /tmp/motion.log
Nous allons maintenant http://pharmaplanet.net/cialis.html utiliser une version modifiée de motion.conf, plus adaptée à nos besoins, que vous pouvez trouver ici. Téléchargez-la puis décompressez-la sous : /etc/motion.conf. Voici les principales modifications apportées :
daemon on
Exécute motion, de manière systématique, en arrière-plan.
logfile /tmp/motion.log
Enregistre le journal dans le dossier « /tmp » pour que l’utilisateur puisse y accéder, à l’inverse de « /home/pi ».
width 1280 height 720
Résolution de la vidéosurveillance fixée à 1280 x 720 pixels.
framerate 2
Cadence d’enregistrement : 2 image/seconde. Le flux vidéo continu consommerait inutilement beaucoup de mémoire.
pre_capture 2 post_capture 2
Option pour enregistrer des images avant et après qu’un mouvement ait été surpris par la caméra.
max_mpeg_time 600
Limite la séquence vidéo à 10 minutes : le chiffre étant renseigné en secondes (60 secondes X 10 minutes). Notez que si vous utilisez la version « motion » et non « motion-mmal », vous pourriez obtenir l’erreur suivante :
Unknown config option « max_mpeg_time »
Remplacez alors « max_mpeg_time » par « max_movie_time ».
Le rendu vidéo peut être impossible à lire par certains lecteurs, tels que VLC. Le code-ci-dessous permet d’y remédier en le convertissant en MPEG-4 :
ffmpeg_video_codec msmpeg4
Rendons maintenant possible l’accès au flux vidéo direct autre qu’en « localhost » :
stream_localhost off
Vous pouvez par ailleurs protéger l’accès à ce flux avec un login et un mot de passe. Adaptez-les en conséquence dans les commandes ci-dessous :
stream_auth_method 2 stream_authentication LOGIN:MOT_DE_PASSE
Retrouvez toutes ces options et bien plus encore dans la documentation en ligne de motion.
Redémarrons maintenant la Rapsberry Pi pour que les modifications soient prises en compte :
sudo reboot
La LED indiquant l’enregistrement ou la détection de mouvement de votre caméra par motion devrait être allumée.
Enregistrer les vidéos de la caméra sur un serveur Windows
Les vidéos peuvent prendre pas mal de place et la carte SD de la Raspberry Pi a ses limites. Nous vous proposons donc ici de les enregistrer sur un serveur Windows. Commencez par partager un dossier. Ouvrez ensuite fstab avec PuTTY ou entrez directement ceci sur le terminal de commande de la Raspberry Pi :
sudo nano /etc/fstab
Nous devons y faire prendre en compte le partage Windows :
//NOM_DU_SERVEUR/NOM_DU_PARTAGE /mnt/camshare cifs username=NOM_D_UTILISATEUR_POUR_LE_PARTAGE,password=MOT_DE_PASSE_POUR_LE_PARTAGE,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
Vérifiez que l’utilisateur dispose des privilèges nécessaires en lecture, écriture et modification pour ce dossier partagé. Redémarrez votre mini-ordinateur, vous devriez y voir un nouveau dossier « /mnt/camshare ». Pour que motion y enregistre toutes les vidéos, ajoutez ceci dans le fichier motion.conf :
target_dir /mnt/camshare
Lancement automatique de motion au démarrage
Si vous avez suivi nos instructions jusqu’ici, vous pourriez avoir des problèmes dans le lancement automatique de motion après un redémarrage du micro-ordinateur. Cela vient du fait que le dossier partagé n’est pas correctement paramétré au moment où le programme tente d’y accéder. Éditons donc le fichier de configuration :
sudo nano /etc/init.d/motion
Pour y ajouter :
sleep 30
Vous trouverez le fichier tout fait, avec les bons paramètres ici.
(adsbygoogle = window.adsbygoogle || []).push({});
Mise en place de la caméra
Il est maintenant temps d’installer la caméra à l’endroit souhaité ! Gardez deux choses à l’esprit avant de l’y fixer :
- Mettez-la dans un endroit sec, à l’abris de la pluie et de l’humidité ;
- Placez-la à portée du signal wifi de votre routeur.
Accéder en direct au flux vidéo
Il vous est désormais possible de lire le flux vidéo en direct de votre caméra depuis n’importe quel navigateur internet. Pour cela, entrez l’URL suivante :
http://ADRESSE_IP_DE_LA_RASPBERRY_PI:8080
Le nombre 8080 en fin d’URL correspond au port de communication paramétré par le fichier motion.conf. Il vous est possible de le modifier en y changeant « stream_port ».
Sachez cependant que le navigateur Google Chrome n’est pas capable de lire directement les données du flux vidéo. Pour y remédier, créez un fichier HTML avec une grande image incluant l’adresse de la caméra.
Sur les autres navigateurs et VLC, vous ne devriez pas rencontrer de problème, sauf Internet Explorer. Une solution existe, elle est détaillée juste ici.
Accéder de n’importe où au flux vidéo
Enfin, sachez qu’il vous est aussi possible d’accéder à la caméra de n’importe quel endroit. La principale difficulté ici est que certains fournisseurs d’accès à internet renouvellent votre adresse IP à intervalle régulier. Il vous faut donc activer ce que l’on appelle un service de nom de domaine dynamique, de manière à toujours accéder à l’adresse IP locale de votre Raspberry Pi, de n’importe où. Pour cela, nous vous invitons à vous rendre sur dyn.com, qui propose divers services gratuits sur divers routeurs. Une fois paramétré, vous accéderez aux flux vidéo via cette URL, depuis votre PC, votre tablette ou même de votre smartphone :
http://mondomaine.com:8080
Pour aller plus loin
Ce tutoriel peut vous servir de base pour installer une caméra de surveillance, mais ne s’y limite pas. En effet, une fois mise en place, nombreuses sont les possibilités qui s’offrent à vous. Vous pouvez par exemple utiliser ceci pour recevoir des notifications sur votre mobile lorsque votre caméra détecte un mouvement. Aussi, un capteur supplémentaire vous renseignerait sur les conditions météorologiques extérieures.
Vous avez peut-être de votre côté réussi à mettre en place votre propre caméra. Dites-nous comment vous l’utilisez, le matériel choisi ou encore ce que vous y avez ajouté comme fonctionnalité supplémentaire. Faites-nous part de votre expérience en commentaires !
21 commentaires
Autrement, plus simple, plus rapide et plus fiable : motionpie et sa distro associée motionpieos.
Pourquoi réinventer la roue ?
parce que tout le monde n’a pas envie de consacrer sa carte SD pour un system uniquement dédié à la webcam.
Avec Motion, tu peux installer ta cam tranquillou, et continuer à profiter du reste de ton raspberry et de Raspbian 🙂
Et puis réinventer la roue… Je pense que motion est amplement plus vieux et éprouvé que motionpie.
Merci pour ce tuto !
Bonjour,
Je vous remercie pour ces informations claires. Je suis entrain d’installer un dispositif pareil, mais dans le but d’aider les personnes malvoyantes à se déplacer en étant guidé à partir d’un PC. Pour cela il serait donc impératif de séparer la camera de la carte Raspberry car la nappe est encombrante, en faisant une connexion a distance(pas très loin non plus!) . Pouvez-vous me conseiller une camera qui se connecte à distance facilement sur une Raspberry? via Bluetooth, Wifi etc…
merci d’avance !
Donald
J’ai plusieurs questions :
– comment faire pour sélectionner un disque dur branché à la carte pour enregistrer les vidéos ?
– comment faire pour que quand la carte sd ou le disque dur est saturé, les enregistrements les plus anciens soient supprimés ?
– comment faire pour activer/désactiver la surveillance (quand on part ou quand on rentre) par mail ou avec une télécommande ?
Merci de me répondre
Merci ASSPI pour cette suggestion.
En effet, d’une part c’est beaucoup plus simple, et d’autre part, certains liens de ce tuto sont mort alors qu’il a
à peine plus d’un an -_-
Merci pour ce tuto mais je n’arrive pas à faire fonctionner la camera avec la dernière version de raspbian. Est ce qu’une mise à jour du tuto est envisagée ?
Est ce que l’on peut connecter plusieurs cam ?
Je pense que l’on pourrait utiliser plusieurs camera USB.
Salut
Comment faire sans box ?
Peut-on a partir d’une connexion 3G d’une tablette faire la même chose ?
Merci
avec une connexion 3G tu crées un partage de connexion, ce qui te permettra d’y connecter tes appareil en réseau.
ce que ce tuto fonctionne ??
bjr
idem peut on connecter plusieurs caméra svp?
Hey il y a une erreur RASPBERRY PI ici : “Un module de caméra
Une Rapsberry Pi (dans ce tutoriel, nous nous basons sur la version Raspbian Wheezy)
Un boitier pour celle-ci”
oui avec Motion vous pouvez la connecter avec plusieurs cam
Bonjour,
Super Article quelques liens ne sont plus actifs par contre, est il possible de les mettre à jour.
Merci encore
Le lien http://www.codeproject.com/KB/system/665518/raspberry_surveillance_cam_scavix.zip
ne fonctionne pas pouvez vous le mettre à jour.
Bonjour,
chouette article.
Mais comment peut-on sécuriser l’accès à la caméra ?
Peut-on mettre un user et mdp pour acceder aux images ?
Merci.
Bonjour,
Les liens type “détaillé ici” (partie connexion SSH) me renvoient tous vers la page d’accueil de raspberry-france.fr.
Comment avoir accès à leur contenu?
Merci d’avance
Est ce que quelqu’un pourrais me donner la modification du fichier /etc/init.d/motion
pour mettre le sleep 30 car le lien ne fonctionne plus.
Bon, j’ai bien fait l’installation de ma caméra, j’obtiens bien les enregistrements sur mon pi … mais impossible de m’y connecter à distance (ou même en local sur mon pi) en flux vidéo : il me demande mon nom d’utilisateur et mon mot de passe et n’accepte pas le mot de passe pi. Faut-il ajouter pi à un groupe ?… Merci, Eric
J’ai fait pas mal de tutos en parallèle de celui ci pour créé mon système de vidéo surveillance, je voulais juste vous remercier pour le travail fourni car il est assez clair pour le noob que je suis (premier vrai projet pi pour moi) j’ai actuellement une caméra fonctionnelle et accessible depuis un réseau annexe, pour la suite je vais probablement l’intégrer à jeedom pour une lecture plus facile sur mobile et moins de travail pour les notifications (enfin je crois)
du reste je fait une parenthèse sur le partage de la vidéo sur le www, si vous avez free ne vous tracassez pas avec les sites annexes de dyndns il suffit de faire les bons partage dans son freeboxos, potentiellement créé un nom de domaine gratuit (j’ai un laps de temps de 90j j’avoue ne pas savoir si il est temporairement gratuit ou pas…) ou au pire simplement y accédé via l’adresse_ip_de_votre_freebox:port_de_partage_ouvert pas besoin de nom de domaine la free renvoie au flux vidéo directement.