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.
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 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 iciyyyyyyyyyyyyyyyyyyyyyyyyyy.
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.
Source : raspberrypi-france.fr