Comment construire une plate-forme panoramique et inclinable de caméra Pi sans fil

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..


Rassembler les composants

  • Framboise Pi Modèle B
  • Source de courant
  • carte SD
  • Module caméra Raspberry Pi
  • Support pan / tilt
  • Deux servos
  • Fils de connexion mâle-femelle
  • Support de caméra pi
  • Module USB Wifi
  • Vis 6-32 pour connecter le support au support (ou ce qui vous convient. Voir les instructions ci-dessous.)
  • briques de Lego
  • Clavier / souris USB (pour la configuration. Un seul USB est disponible pour les deux. Un concentrateur USB ou une combinaison clavier / souris est donc suggéré.)
  • Moniteur HDMI (pour la configuration)

Configurer la plateforme Pi

Configurez et assemblez les composants Pi de base en suivant les étapes suivantes.

  • Gravez la dernière image Raspbian sur la carte SD en suivant les instructions du didacticiel. Comment flasher une carte SD pour Raspberry Pi
  • Branchez la souris / le clavier USB dans le port USB inférieur
  • Branchez l'adaptateur USB Wifi sur le port USB. L'antenne peut être positionnée pour se plier.
  • Branchez le moniteur HDMI sur le port HDMI
  • Branchez le pouvoir au Pi

Configurer le Pi et activer le support de la caméra

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:

  • Choisissez de démarrer sur un poste de travail pour le moment, car cela simplifie ultérieurement la configuration du wifi.
  • Sélectionner Activer la caméra pour activer cette option
  • Sélectionner Options avancées> SSH activer l'accès à la ligne de commande du réseau
  • Sélectionnez terminer et autoriser le Pi à redémarrer

Configurer le Wifi et reconfigurer les préférences de démarrage

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.

  • Ouvrez une fenêtre de terminal en double-cliquant sur l'icône LXTerminal..
  • Exécuter la commande sudo raspi-config
  • Sélectionnez le Activer la console Boot to Desktop / Scratch> Console Text, nécessitant une connexion (par défaut) option
  • Sélectionner terminer et ne permettent pas au Pi de redémarrer
  • Eteignez le Pi et débranchez l’alimentation avant de passer aux étapes suivantes.

Assemblez le support de caméra

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..

  • Fixez le module de la caméra à la plaque avant du support de la caméra en utilisant les fixations à travers les quatre trous. J'ai découvert que le moyen le plus simple de tenir la monture et de laisser suffisamment de doigts pour aligner ces minuscules composants était d'utiliser un support. Ne serrez pas les écrous à fond pendant que vous les connectez. Une fois que les quatre sont en place, vous pouvez resserrer au besoin.
  • Enclenchez les deux sections du support de caméra ensemble à 90 degrés pour qu'elles ressemblent aux photos du produit. Les sections s'emboîtent doucement.

Assemblez le support pan Tilt

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..

  • Lorsque vous fixez les supports ensemble, ne serrez pas complètement les boulons et les vis avant que toutes les pièces ne soient assemblées de manière lâche. Le garder en vrac facilitera l'ajustement.
  • Ne serrez pas trop les vis qui relient le servomoteur (roue) au support. Ces cornes sont faites de plastique souple et elles peuvent se décoller facilement. Serrez ces vis doucement.
  • J'ai trouvé que trois rondelles entre les deux supports visibles sur le côté gauche de l'étape quatre dans les instructions étaient la meilleure solution pour mon assemblage. Ces rondelles supplémentaires ont rempli l'espace et ont permis aux supports de s'aligner mieux qu'une seule rondelle. Des rondelles supplémentaires sont fournies dans le kit.

Construire la base

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.


Lego base gros plan

Connecter la caméra au Pi

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:

  • Localisez le connecteur directement derrière le port Ethernet du Pi
  • À l'aide de deux doigts, soulevez doucement les languettes en plastique de chaque côté du connecteur.
  • Orientez le câble ruban de manière à ce que les fils en étain apparents s’éloignent du connecteur Ethernet de la carte.
  • Faites glisser le câble dans le connecteur doucement pour l’adapter fermement et fermement à la carte.
  • Faites glisser le connecteur en plastique à l'aide de deux doigts

Fixez le support de caméra au support

À 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.


Fixez le support de caméra à cette fente

Connecter les servos au pi

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.

  • Connectez le fil d’alimentation rouge 0 du servo à la broche 2 (+ 5v), la broche la plus à droite dans l’illustration ci-dessous.
  • Connectez le fil de terre noir du servo 0 à la broche 6 (terre), la troisième broche à partir du haut de la colonne de droite
  • Connectez le fil de signal blanc / jaune du servo 0 à la broche 7 (GPIO 4), 4ème broche dans la colonne de gauche
  • Connectez le fil d'alimentation rouge du servo 1 à la broche 4 (+ 5v), la deuxième broche vers le bas à droite
  • Connectez le fil de masse noir du servo 1 à la broche 14 (masse), la 7ème broche en bas de la colonne de droite
  • Connectez le fil de signal blanc / jaune du servo 1 à la broche 11 (GPIO17), sixième broche dans la colonne de gauche

Broches connectées
Assemblée terminée

Installer Servoblaster

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

Envoyer des commandes aux servos

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 et des vidéos avec l'appareil photo

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

Script et mouvements et images

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:


Comment construire une plate-forme panoramique et inclinable de caméra Pi sans fil

Exemple de vidéo en streaming

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 / servoblaster
Pointe: 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.

Résumé

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.