Après que nous soyons en mesure d’enregistrer des images individuelles avec des caméras (USB) / webcams, nous voulons aussi voir des images en direct. Cela peut se faire soit sur le smartphone, soit sur un PC en dehors du réseau domestique. Pour cela, nous configurons le Livestream de la caméra de sécurité Raspberry Pi. Ce qui est génial, c’est que presque toutes les caméras USB (et les webcams) peuvent être utilisées. Selon l’emplacement, par exemple une caméra sans filtre infrarouge peut être utile pour permettre de meilleures prises de vue de nuit.
Équipement
Si nous voulons connecter une caméra USB, notre Raspberry Pi doit évidemment avoir un port USB libre. Cependant, nous pouvons également utiliser la caméra officielle, qui est disponible en deux versions :
- Version standard en vert, qui a 8MP, et autres. Les vidéos en 1080p peuvent être enregistrées. Comme un filtre infrarouge est installé, il est particulièrement adapté pour l’enregistrement à la lumière du jour ou pour des endroits avec une irradiation lumineuse suffisante.
- Version NoIR en noir : Les spécifications (résolution, etc.) sont les mêmes, mais aucun filtre IR n’est installé, ce qui rend les enregistrements avec de mauvaises conditions de lumière meilleurs. Ceci est particulièrement recommandé pour les scènes sombres.
Les deux caméras peuvent être connectées directement via le connecteur CSI embarqué, ce qui signifie qu’aucun port USB n’est utilisé. Les modèles Zero les plus récents (à partir de la génération 2) disposent désormais également de ports CSI.
Alternativement, n’importe quelle Webcam USB peut être utilisée tant que les pilotes correspondants pour Linux sont disponibles. Cependant, c’est le cas de presque toutes les caméras récentes. Si notre Raspberry Pi n’a pas d’adaptateur wifi intégré, nous pouvons en avoir besoin d’un autre car une connexion réseau ou Internet est inévitable.
Préparations pour le Livestream
Avant d’activer le flux de notre caméra Raspberry Pi ou de la Webcam USB, nous devons mettre à jour les packs :
sudo apt-get update
sudo apt-get upgrade
Ensuite, vous pouvez installer l’outil Motion, qui rend notre Livestream possible.
sudo apt-get install motion -y
L’installation prendra quelque temps.
Si tout a fonctionné jusqu’à présent, la caméra peut être connectée (si ce n’est pas déjà fait). Si vous utilisez une webcam USB, vous pouvez vérifier si elle a été détectée :
lsusb
Si aucun pilote spécial n’est nécessaire, tous les périphériques vidéo / caméras connectés doivent être affichés avec la commande suivante :
ls /dev/video*
Si vous utilisez un des modules de caméra officiels, il est important de faire ce qui suit afin que la caméra soit affichée immédiatement (de préférence par démarrage automatique) :
sudo modprobe bcm2835-v4l2
Si une seule webcam / caméra Raspberry Pi est connectée, en utilisant/dev/video0
l’appareil doit être spécifié. Si vous avez plusieurs périphériques connectés, vous devez sélectionner le périphérique pour transférer le flux.
Configurer le Livestream du Raspberry Pi
Pour les étapes suivantes, dans lesquelles nous définissons quelques paramètres, nous devons regarder les détails de la caméra :
v4l2-ctl -V
Pour ma Webcam USB, j’ai obtenu la sortie suivante. Nous allons immédiatement spécifier les informations pour la résolution, etc. dans le fichier de configuration.
pi@raspberrypi:~ $ v4l2-ctl -V Format Video Capture: Width/Height : 640/480 Pixel Format : 'YUYV' Field : None Bytes per Line: 1280 Size Image : 614400 Colorspace : SRGB Flags :
Donc, éditons le fichier de configuration de Motion :
sudo nano /etc/motion/motion.conf
Les lignes suivantes doivent être ajustées (la variable peut être recherchée avec CTRL + W, les valeurs en gras ont été modifiées) :
# Start in daemon (background) mode and release terminal (default: off) daemon on ... # Restrict stream connections to localhost only (default: on) stream_localhost off ... # Target base directory for pictures and films # Recommended to use absolute path. (Default: current working directory) target_dir /home/pi/Monitor
Les lignes suivantes sont optimales et devraient également être modifiées (nous les avons lues précédemment) :
v4l2_palette 15 # Nummer aus der Tabelle davor entnehmen, 15 enstpricht YUYV ... # Image width (pixels). Valid range: Camera dependent, default: 352 width 640 # Image height (pixels). Valid range: Camera dependent, default: 288 height 480 # Maximum number of frames to be captured per second. # Valid range: 2-100. Default: 100 (almost no limit). framerate 10
Enregistrez avec CTRL + O et fermez avec CTRL + X. D’autres options (port, etc.) peuvent également être ajustées par la suite (nécessite un redémarrage). La brève description des réglages est cependant très révélatrice.
Il ne nous reste plus qu’à activer le daemon pour que nous puissions lancer le service par la suite :
sudo nano /etc/default/motion
Ici, nous remplaçons « non » par « oui », après quoi il devrait ressembler au texte suivant :
start_motion_daemon=yes
Maintenant nous devons créer le dossier, que nous avons précédemment indiqué comme emplacement de stockage pour les images capturées, et lui donner les droits d’écriture nécessaires :
mkdir /home/pi/Monitor sudo chgrp motion /home/pi/Monitor chmod g+rwx /home/pi/Monitor
Alors nous pouvons commencer le service :
sudo service motion start
Test de la caméra de surveillance Raspberry Pi Livestream
Afin de vérifier si notre caméra envoie vraiment des images en direct, nous avons deux options : La première consiste simplement à utiliser le navigateur (Mozilla Firefox, Chrome, etc.) et le nom du Raspberry Pi suivi du port (par défaut : 8081). Si vous n’avez pas changé le nom de l’hôte et le port, vous devriez pouvoir voir le flux : http://raspberrypi:8081/ (Alternativement, l’adresse IP locale peut être utilisée, comme 192.168.1.51:8081).
Certains anciens navigateurs ne supportent pas ce flux (Internet Explorer :-D). Ces utilisateurs peuvent choisir le Livestream par exemple sur le lecteur VLC . Pour ce faire, il suffit d’ouvrir le lecteur VLC et de spécifier dans le menu sous « Media » -> « Open Network Stream » (CTRL + N) l’adresse ci-dessus. Ceci est également possible dans le lecteur VLC pour les smartphones et les tablettes (Android, Apple) : Sélectionnez dans le menu « Open Media Address » et l’adresse IP y compris le port.
En fonction de la fréquence d’images spécifiée (indiquée dans le fichier de configuration), l’image est meilleure ou non. Bien sûr, votre caméra doit aussi supporter fréquence d’images. Si, par exemple, la caméra peut envoyer un maximum de 10 images par seconde, il importe peu que la configuration en définisse davantage.
Faites-le disponible en dehors du réseau domestique
Puisqu’il ne sert à rien de regarder la caméra dans son propre réseau, nous voulons également y accéder de l’extérieur. Pour cela, nous avons besoin d’une adresse IP fixe ou d’un service dDNS. La plupart des fournisseurs de télécommunications fournissent des adresses IP fixes (si elles existent) uniquement contre paiement, c’est pourquoi nous voulons utiliser un fournisseur DNS gratuit. Bien entendu, vous pouvez aussi prendre un autre fournisseur de votre choix. Si vous avez déjà une adresse IP fixe à la maison, vous pouvez sauter cette étape.
Remarque : Théoriquement, vous pouvez aussi utiliser une adresse IP non statique, mais cela a l’inconvénient qu’après chaque reconnexion, vous obtiendrez une nouvelle adresse IP. Comme le fournisseur d’accès force une fois par jour environ (généralement la nuit) une reconnexion de votre routeur, un service DNS est fortement recommandé, puisque l’adresse DNS ne change pas.
De plus, nous devons ouvrir le port sélectionné (par exemple 8081) dans notre routeur pour le transfert de port. Cela signifie que nous pouvons adresser ce port depuis l’extérieur du réseau et le connecter à celui-ci. Comme cela est différent pour chaque routeur, veuillez vous référer au manuel correspondant. Sous la rubrique « Port forwarding » ou similaire, vous pouvez indiquer le port qui est ouvert pour une adresse IP locale spécifique. Dans mon routeur, cela ressemble à ceci par exemple :
Le menu de la plupart des routeurs est accessible via 192.168.1.1 ou 192.168.0.1 via le navigateur. Cependant, si ce n’est pas le cas, le manuel vous indiquera également comment trouver le menu.
Si vous utilisez le lecteur VLC, vous devez bien entendu remplacer l’adresse IP locale, que vous avez précédemment indiquée, par votre adresse DNS ou IP statique (le port reste le même). Certains routeurs peuvent échouer à faire cela dans le réseau domestique. Pour le tester néanmoins à la maison, vous pouvez par exemple utiliser les données mobiles de votre téléphone. Désactivez le wifi et vérifiez si vous pouvez voir le Livestream de la caméra de surveillance Raspberry Pi. En fonction de la connexion Internet (vitesse de téléchargement), l’image peut être quelque peu retardée.