Sur le forum de la Fondation, un type appelé ‘jimmyst’ a travaillé sur l’obtention d’un logiciel de surveillance de sécurité basé sur Linux Zoneminder pour fonctionner avec le module caméra Raspberry Pi. Voici ce qu’il a écrit…
Voici quelques progrès que j’ai réalisés sur l’utilisation de la caméra Raspberry Pi comme caméra IP pour Zoneminder. J’ai décidé d’essayer mjpg-streamer (http://sourceforge.net/projects/mjpg-streame). Vous pouvez également consulter ce blog http://www.phillips321.co.uk/2012/11/05… ream-cctv / sur un sujet très similaire mais utilisant une caméra USB, merci phillips321.
Voici les étapes de ce que j’ai fait:
1. Récupérez le code source du mjpg-streamer et compilez-le. Je l’ai fait sur le rpi lui-même dans le dossier home (/ home / pi). N’hésitez pas à utiliser n’importe quel endroit que vous jugez approprié pour vos expériences
- CODE: TOUT SÉLECTIONNER
svn co https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer mjpg-streamer
cd mjpg-streamer/mjpg-streamer
make USE_LIBV4L2=false clean all
sudo make DESTDIR=/usr install
REMARQUE: la subversion (svn) n’est pas installée par défaut dans raspbian, donc si vous ne l’avez pas déjà installée, vous devrez faire:
- CODE: TOUT SÉLECTIONNER
sudo apt-get install subversion
ou quel que soit le nom du paquet dans debian / raspbian. Vous pouvez également récupérer le code sur votre machine hôte, puis le scp sur raspberry pi. Honnêtement, c’est ce que j’ai fait. Si vous décidez d’emprunter cette voie, un mot d’avertissement supplémentaire: assurez-vous que l’horloge rpi est correctement synchronisée ntp et qu’il n’y a pas de différence entre l’heure sur la machine hôte et le rpi. Sinon, la copie peut obtenir du temps dans le futur lié à l’horloge rpi, ce qui entraînera des problèmes de construction du code.
2. Il est temps de démarrer la caméra Raspberry Pi. J’utilise la commande suivante:
- CODE: TOUT SÉLECTIONNER
raspistill -w 640 -h 480 -q 80 -e jpg -n -o /tmp/rpi-img.jpg -tl 500 -t 999999999 &
Ce qui prend des images fixes toutes les 500 ms (deux par seconde) et les stocke dans le dossier / tmp sous le nom de fichier rpi-img.jpg. Je crois que pour la surveillance de la sécurité, plus que la résolution VGA serait exagérée, c’est pourquoi j’utilise la capture 640 × 480 et 2 images par seconde, je pense, sont tout à fait suffisantes pour capturer les mauvais événements.
C’est mon avis, n’hésitez pas à jouer avec cette commande et à l’ajuster à votre guise. Gardez simplement à l’esprit que chaque image fixe est écrite dans le système de fichiers (dossier / tmp) qui, si je ne me trompe pas, apparaît sur raspbian est configuré pour être sur la carte SD. L’écriture sur le flash n’est pas l’opération la plus rapide, donc ce sera très probablement le goulot de la bouteille et si la résolution est plus élevée, cela augmentera le péage. De plus, la mémoire flash a une limite de nombre d’écritures relativement faible et, quels que soient les efforts déployés pour l’améliorer et mettre en œuvre des algorithmes sophistiqués de mise à niveau, l’écriture de fichiers trop souvent trop volumineux sur la carte SD finirait par la faire frire. Vous étiez prévenu!
REMARQUE: une amélioration de cette approche consisterait à utiliser le système de classement basé sur la RAM comme destination du fichier image. Cela atténuera certainement les problèmes de port du flash, mais améliorera également les performances. Si quelqu’un sait comment créer un système de fichiers dans la RAM à cette fin, veuillez poster des instructions. Je n’ai pas l’intention de regarder plus loin parce que j’ai des plans différents (voir en bas de cet article).
3. Lançons maintenant le mjpg-streamer et voyons à quel point nous faisons du bien:
- CODE: TOUT SÉLECTIONNER
mjpg_streamer -b -i "input_file.so -f /tmp -n rpi-img.jpg -d 200" -o "output_http.so -w /usr/www -p 8090"
Cela démarrera le streamer en lui demandant de vérifier toutes les 200 ms si une nouvelle image est écrite dans notre fichier image /tmp/rpi-img.jpg et de la diffuser au format mjpeg sur le port 8090. Encore une fois, n’hésitez pas à expérimenter cela et à l’ajuster à votre aimer.
4. Testons le streaming avant d’aller sur le Zoneminder:
- CODE: TOUT SÉLECTIONNER
http://<RPI_IP_ADDRESS>:8090/?action=stream
Tapez ce qui précède dans votre navigateur préféré sur la machine hôte et en quelques secondes, vous devriez voir sur l’écran du navigateur ce que voit la caméra rpi.
5. Il est maintenant temps pour la dernière étape: configurer le Zoneminder pour utiliser notre caméra Raspberry Pi pour nous rendre plus sûrs.
En supposant que vous ayez exécuté et correctement configuré Zoneminder, voici comment ajouter le rpi de streaming en tant que moniteur:
- * Depuis la console ZM, cliquez sur « Ajouter un nouveau moniteur »
- * Sous l’onglet «Général», nommez votre moniteur, réglez «Type de source» sur «À distance», puis sélectionnez la fonction que vous aimez.
- * Sous le jeu d’onglets «Source»:
- – «Remote Protocol» à «HTTP»
- – «Méthode à distance» à «Simple»
- – «Nom d’hôte distant» à
- – «Remote Host Port» à «8090» (ou ce que vous avez utilisé dans la commande mjpg_streamer)
- – «Chemin d’hôte distant» vers «? Action = stream»
- – «Couleurs d’image distantes» à «Couleur 24 bits»
- – «Capture Width» à «640» (ou ce que vous définissez dans la commande raspistill)
- – «Capture Height» à «480» (ou ce que vous avez défini dans la commande raspistill)
Économisez et… voilà… Notre bien-aimé Raspberry Pi est notre chien de garde.
6. Juste au cas où vous voudriez arrêter les processus mjpg_streamer et raspistill, sur rpi, faites:
- CODE: TOUT SÉLECTIONNER
sudo killall mjpg_streamer
sudo killall raspistill
ET APRÈS:
La procédure décrite nous donne une solution pour utiliser rpi comme caméra IP et alimenter Zoneminder mais est loin d’être idéale. Voir la note ci-dessus du point 2 par exemple. Même si la solution proposée pour utiliser le système de classement RAM aiderait, elle n’est toujours pas idéale.
J’ai des projets dans un proche avenir pour développer un nouveau plugin d’entrée pour mjpg_streamer qui l’intègrera directement avec la caméra Raspberry Pi. Je pense que cette approche nous rapprocherait de l’idéal. Bien sûr, lorsque le pilote V4L2 sera disponible, une autre boîte de possibilités et de solutions s’ouvrira, mais d’ici là, nous pouvons toujours utiliser tout ce qui est disponible sur la table maintenant et faire de notre mieux.
J’espère que cela aide un peu et s’il vous plaît postez vos suggestions et commentaires.
Si vous essayez, peut-être répondriez-vous ici ou sur l’original sujet sur le forum de la Fondation avec vos résultats!
-
Raspberry Pi® SC0874 Camera Module 3 Wide Module de caméra Couleur CMOS Convient pour (Kits de développement): Raspberr
-
Keenso Module de Caméra USB, Module de Caméra USB à Objectif Grand Angle 60 ° HBV-1313 1600 * 1200 2 Millions de Pixels avec Puce OV2659
