Avec la sortie du module caméra Raspberry Pi, prendre des photos ou des vidéos de haute qualité avec le Pi est devenu très simple.
Dans ce didacticiel, je vais vous montrer comment attacher le module de caméra Pi à votre Pi et contrôler sans fil une plate-forme pan-tilt. Au cours de ce processus, je traiterai de sujets tels que la connexion du module de caméra Pi, la connexion et le contrôle des servos avec votre Pi, le contrôle en ligne de commande de la caméra et certaines commandes de streaming vidéo de bas niveau..
Configurez et assemblez les composants Pi de base en suivant les étapes suivantes.
Au démarrage, le Pi exécutera la première configuration de démarrage de raspi-config. Il y a beaucoup d'options concernant la partition de carte SD, la région, le clavier, etc. qui ne sont pas couvertes ici. Sélectionnez les options correspondant à votre configuration et accordez une note spéciale aux options suivantes:
Après le redémarrage du Pi sur un bureau, suivez ces instructions pour utiliser l’outil graphique pour configurer votre réseau wifi. Assurez-vous d’écrire l’adresse IP attribuée à votre Pi pour une utilisation ultérieure lorsque vous lui effectuez un SSH pour le contrôle à distance. Enfin, suivez les étapes ci-dessous pour reconfigurer le Pi afin d’amorcer une console texte. L'environnement de bureau graphique ne sera pas nécessaire.
sudo raspi-config
Le support de la caméra est livré avec de minuscules attaches en plastique qui s'insèrent dans les quatre trous avec des écrous qui se vissent à l'arrière. Reportez-vous aux images du produit sur le site Web du fournisseur pour voir des images en gros plan de la manière dont ces composants sont assemblés..
Le support est livré avec trois pièces métalliques et un ensemble de vis et de rondelles. Suivez le guide d’assemblage pour assembler le support. Je vous proposerai quelques suggestions à prendre en compte lorsque vous suivrez les instructions..
Le support ne se lève pas tout seul car il est uniquement pris en charge par le petit servo. Toute méthode pour sécuriser l’axe inférieur ou le servo panoramique est acceptable. Lego peut être utilisé pour créer une base rapide et facile. Prenez le temps de construire une base pour le servo inférieur qui le maintiendra solidement en place et permettra au support de tourner librement.
Fixez le servo à la base avant de connecter le support de caméra à la base. Cela facilitera grandement la connexion de la caméra au Pi. Vous pouvez voir sur l'image ci-dessous que j'ai pu construire un support de base simple à l'aide d'un jeu de Lego plat et de deux murs en brique avec un écart large à deux montants.. Goujon est le terme officiel pour les bosses sur une brique Lego selon le site Web Lego. Un vocabulaire précis est important ici.
Le processus de connexion du module de caméra est très simple. Vous trouverez une vidéo détaillée avec des instructions sur la page officielle du module de caméra Raspberry Pi. Je vais résumer les étapes ici:
À l’aide de la vis 6-32, vissez à travers le trou de montage du support de la caméra dans le support. Utilisez la plus petite fente du support pour fixer la caméra près de l'avant plutôt que du grand trou central. J'ai utilisé le 6-32 parce qu'après de nombreux essais et erreurs, j'ai découvert que je n'avais pas une combinaison écrou / boulon suffisamment petite et que, dans un dernier effort, pour éviter de me rendre à la quincaillerie, j'ai essayé des vis du châssis de mon ordinateur. . Il est arrivé de se visser parfaitement dans le haut du support et ne nécessitait pas de boulon. Alors fais ce qui fonctionne pour toi.
Les servos ont trois fils pour se connecter à un contrôleur. Les fils rouge, noir et blanc servent à connecter l'alimentation, la terre et le signal, respectivement. Pour ces instructions, je ferai référence au servo de contrôle inférieur ou panoramique en tant que servo 0 et au servo de contrôle supérieur ou inclinable en tant que servo 1. Cette distinction est importante et apparaîtra plus clairement dans la section Servoblaster du didacticiel. Le schéma de brochage sur elinux.org contient de jolis détails sur les broches et leur fonction. L'image ci-dessous montre les cavaliers colorés M / F connectés aux broches correctes pour ce tutoriel..
Pour l'assemblage, connectez l'extrémité mâle du cavalier au faisceau de câbles de servo femelle pour chacune des trois couleurs, respectivement. Comme mon paquet de cavaliers n'avait pas de blanc, j'ai utilisé du jaune. Utilisez une couleur uniforme dans votre schéma pour vous assurer de ne pas confondre les fonctions.
Maintenant que tout le matériel est assemblé et connecté, le logiciel pour contrôler le servo est requis. Le site github de servoblaster a une bonne documentation sur le logiciel si vous voulez en savoir plus.
Essentiellement, l'installation de servoblaster ajoute un script d'initialisation pour démarrer le processus servoblaster au démarrage. Le processus Servoblaster crée un / dev / servoblaster
Une entrée qui, une fois adressée correctement, commande le signal PWM contrôlant la position du servomoteur. Depuis la console Pi ou depuis et depuis la session SSH, exécutez les commandes ci-dessous pour télécharger et installer le logiciel..
wget https://github.com/richardghirst/PiBits/zipball/master mv master pibits.zip unzip pibits.zip #unzip le code cd richardghirst-PiBits-ab34d81 / ServoBlaster / user sudo faire installer le programme # installer le logiciel # timechange à partir de 2000 à 500 /etc/init.d/servoblaster sudo pico /etc/init.d/servoblaster sudo reboot
Une fois que le Pi a redémarré avec le processus servoblaster en cours d'exécution, vous pouvez essayer quelques commandes pour déplacer le crochet. SSH dans votre Pi et essayez les commandes ci-dessous.
La commande suivante déplace le servo d’axe panoramique ou d’axe gauche / droite, servo 0. Remplacez X par une valeur comprise entre 60 et 240. Ceci déplacera le servo. Essayez quelques valeurs différentes.
echo 0 = X> / dev / servoblaster
La commande suivante déplacera le servo d'axe d'inclinaison ou d'axes haut / bas, puis remplacez Y par une valeur comprise entre 60 et 240. Le servo sera ainsi déplacé. Essayez quelques valeurs différentes.
echo 1 = Y> / dev / servoblaster
Prendre des photos avec le Pi est très simple. Essayez la commande ci-dessous pour capturer une image dans le fichier nommé output.jpg. Vous aurez besoin de scp le fichier hors du Pi sur votre ordinateur pour voir cela, mais vous obtenez l'image.
raspistill -o output.jpg
Pour prendre une vidéo, la commande de base est également assez simple. Ce qui suit crée un fichier vidéo codé h264 d'une durée de 10 000 millisecondes ou de 10 secondes. Encore une fois, scp est nécessaire pour copier ceci du Pi et le visualiser..
raspivid -o video.h264 -t 10000
Maintenant que vous avez les bases pour déplacer la caméra via le support panoramique / inclinaison et les servos ainsi que les commandes pour prendre des photos, il est très simple d'écrire un script qui déplacera la caméra à des angles prédéfinis et capturera des images ou des images. Si vous configurez apache sur le Pi, vous pouvez déposer ces images ou vidéos dans le / var / www /
répertoire pour visualisation ultérieure.
Une tâche périodique peut également être créée pour exécuter le script à intervalles réguliers. Vous avez toutes les bases d'un projet d'observation de la nature ou d'animaux domestiques. Ci-dessous, un exemple de script que j'ai écrit pour tester le projet et une vidéo du système en action.
#! / bin / bash #go to start possition echo 0 = 60> / dev / servoblaster sommeil 1 echo 1 = 135> / dev / servoblaster sommeil 1 raspistill -o step1.jpg echo 0 = 240> / dev / servoblaster sommeil 1 raspistill -o step2.jpg echo 0 = 130> / dev / servoblaster sommeil 1 raspistill -o step3.jpg echo 0 = 60> / dev / servoblaster sommeil 1 echo 1 = 60> / dev / servoblaster sommeil 1 raspistill -o step4. jpg echo 1 = 140> / dev / servoblaster sommeil 1 raspistill -o step5.jpg echo 1 = 220> / dev / servoblaster sommeil 1 raspistill -o step6.jpg echo 1 = 135> / dev / servoblaster sommeil 1 raspistill -o step7 .jpg
La vidéo montre le support de panoramique / inclinaison répondant au script ci-dessus:
Les images fixes sont amusantes, mais lors de la prochaine expérience, vous pourrez diffuser en direct des vidéos de la caméra sur votre ordinateur via le réseau. Selon la vitesse de votre wifi, la qualité peut varier. J'ai utilisé un ordinateur Linux comme cible ou récepteur vidéo. Mplayer et Netcat existent pour Windows et OS X, mais certaines syntaxes peuvent varier pour ces systèmes d'exploitation. Utilisez ifconfig, ipconfig ou ipconfig pour déterminer votre adresse IP sous Linux, Windows ou OS X, respectivement. Dans cet exemple, 192.168.1.100 est l'adresse de l'ordinateur portable cible..
La commande ci-dessous écoutera la vidéo entrante sur le port 5001 sur l'ordinateur cible et l'affichera:
nc -k -l 192.168.1.100 5001 | mplayer -fps 31 -cache 1024 -
La commande ci-dessous démarrera l'enregistrement de la vidéo sur le Pi et la diffusera sur l'ordinateur d'affichage cible:
Raspivid -t 100000 -o - | nc 192.168.1.100 5001 &
Le & à la fin de la commande sur le Pi place l'instruction en arrière-plan afin que vous puissiez utiliser votre terminal ouvert pour émettre des commandes de mouvement. Essayez quelques commandes de servo comme celles ci-dessous et regardez comment la vidéo répond.
echo 0 = 60> / dev / servoblaster echo 1 = 60> / dev / servoblaster echo 1 = 140> / dev / servoblasterPointe: Envoyer des commandes aux servos qui les font fonctionner tous les deux en même temps m'a causé une certaine instabilité du réseau. Pour de meilleurs résultats, une alimentation externe de 5 V peut être nécessaire pour ne pas surcharger le Pi.
Toutes nos félicitations! Vous disposez maintenant d'une caméra pan / tilt sans fil que vous pouvez utiliser pour écrire et modifier vos besoins spécifiques. Dans une prochaine étape, vous pourriez essayer de l'améliorer en construisant un boîtier complet pour le lego et le support. Un autre exercice peut consister à configurer un travail cron pour prendre des photos à certaines heures et dans certaines directions et les envoyer par courrier électronique..
Ce didacticiel vous a montré les bases de la fixation et de la configuration du module de caméra Pi, de la connexion et du contrôle de plusieurs servos, du contrôle de la caméra en ligne de commande pour les images fixes et les vidéos et enfin de la mise à l’essai de votre configuration. commandes de streaming vidéo de niveau. Avec ces outils de base, vous pouvez maintenant ajouter une plateforme de caméra polyvalente à vos futurs projets.