2020/20201
Interfaçage et commande
automatique d’une caméra
(GOPRO) via le Raspberry
PI
Réalisé par
M. ZAID RHAZZANI.
M. NAOUFAL JRAFE.
M. ABDELKARIM ZAAIM.
1
REMERCIEMENTS :
Avant d’entamer ce rapport, nous profitons de l’occasion pour remercier tout d’abord notre
professeur MEZOUARI Abdelkader pour l’aide et les conseils concernant les missions évoquées
dans ce rapport, qu’il nous a apporté lors des différents suivis, et la confiance qu’il nous a témoigné.
RESUME :
Le travail présenté dans ce rapport, entre dans le cadre du projet de fin d’études pour l’obtention du
diplôme universitaire de technologie en informatique industrielle et systèmes automatisés. Il
concerne l’interfaçage et commande automatique d’une caméra (GOPRO) via le Raspberry PI.
L’examen visuel par l’homme dans l’industrie contient plusieurs inconvénients dont l’opérateur,
peut être fatiguée et ses critères de décision varient, pour cela on a réalisé un système de vision
industriel automatique qui assure un ensemble de fonctionnalités tels que surveiller le processus de
production et détecter si le produit passant par le convoyeur possède un défaut.
Puisque les systèmes de vision industriel sont très chers on a essayé de réaliser notre projet avec le
moindre coût possible.
ABSTRACT :
The work presented in this report is a part of the end of studies project for the graduation of the
technology university in industrial computing and automated systems. It concerns the interfacing
and automatic control of a camera (GOPRO) via the Raspberry PI.
The visual examination by man in industry contains several drawbacks where the operator may be
tired and his decision criteria may change, to solve this problem we made an automatic industrial
vision system that provides a set of functions such as monitoring the production process and detect
whether the product passing through the conveyor contains any problem.
Since industrial vision systems are very expensive, we tried to carry out our project with the lowest
possible cost.
2
Sommaire :
REMERCIEMENTS
RESUME
1. Introduction
2. Définition du Raspberry pi
1. Introduction
3. Initialisation de la GoPro
1. Introduction
2. Le capteur à ultrasons
1. Introduction
2. Histogramme
Conclusion
3
Introduction du rapport:
L’examen visuel par l’homme est le premier des procédés de contrôle, c’est le plus simple et le plus
général. Les productions de masses à haute cadence, le souci constant d'amélioration de la qualité et
la recherche de gain économique poussent de plus en plus les industriels à automatiser les moyens
de production. La vision industrielle est une réponse à ces préoccupations pour les opérations de
contrôles de la production. En effet, les machines de vision industrielle permettent un contrôle de la
production à haute cadence et assurent une bonne répétabilité du contrôle (à la différence d'un
opérateur, une machine n'est jamais fatiguée et ses critères de décision ne varient pas).
Typiquement, la vision industrielle consiste à prendre une ou plusieurs images de l’objet à contrôler
ou visualiser. Les images sont obtenues grâce à une caméra Gopro. Ensuite, elles sont numérisées
pour être utilisables par un logiciel de traitement d’images le plus souvent dédié au contrôle
considéré. Le traitement de l’image ayant été réalisé, une décision est prise par rapport à des critères
prédéfinis et une action est effectuée.
Notre objectif est de réaliser une application dont le principe est celui d’un système de vision
industrielle mais avec des méthodes et des moyens plus simples.
4
Partie 1 : Configurer le Raspberry Pi 4
5
Introduction :
Dans ce chapitre nous allons présenter la définition d’une Raspberry pi, et comment ont la
configurer pour qu’il travaille correctement, ce chapitre sera composé de trois parties qui
seront réparties comme suit :
La première partie sera consacrée à la définition du Raspberry Pi, la seconde partie présente
l’installation du système d’exploitation sur la carte mémoire du Raspberry Pi, et finalement
comment contrôler le Raspberry Pi depuis un Pc.
6
Raspbian est le système d’exploitation de référence pour Raspberry Pi. Il est basé sur Linux
Debian et il est très régulièrement mis à jour, pour graver ce système d’exploitation sur la
carte mémoire du Raspberry pi on a utilisé le logiciel « Raspberry Pi Imager ».
7
Partie 2 : Programmation de la GoPro
Introduction :
Après avoir configuré le raspberry Pi, dans ce chapitre nous allons présenter la
programmation de la caméra Gopro par le langage python.
8
1) Le choix de la caméra GoPro :
La Gopro est une caméra d'action, qui permet de filmer et prendre
des photos de très haute qualité. La Go Pro possède des dimensions
très réduites (quelques centimètres), ce qui est parfait pour l'emmener
partout mais aussi pour l'installer sur des systèmes autonomes.
Après avoir testé plusieurs modèles comme la Gopro Hero +,2,3 Black
et 4 silver on a trouvé que la Gopro Hero 4 silver contient toutes les
fonctionnalités nécessaires pour réaliser ce projet.
2) Initialisation de la GoPro :
Puisque la caméra Gopro Hero 4 dispose d’un Wi-Fi pour cela on a décidé de la commander
à distance. Comme tous les Wi-Fi, pour s'y connecter, il faut connaitre l'identifiant et le mot
de passe du réseau.
Cette étape va nous permettre de définir un identifiant ainsi qu'un nouveau mot de passe.
Pour cela on a inséré la carte microsd de la GoPro dans l’ordinateur et créez le fichier «
settings.in » qui contient le nouvel identifiant et mot de passe.
On a aussi trouvé que la Gopro a besoin d'une mise à jour du système d'exploitation pour
fonctionner proprement pour cela on a créé le fichier « update.cmd » dans la carte microsd
de la GoPro.
9
3) Commander la GoPro depuis le Raspberry Pi :
Pour commander la Gopro à distance depuis le raspberry pi on a décidéde travailler avec la
librairie python « Goprocam » pour plusieurs raisons premièrement elle est compatible avec
la camera utiliser dans notre projet (Gopro Hero 4 silver), le support des commandes par
Wi-Fi et finalement la librairie nous permet de prendre et stocker les photos directemt dans
notre raspberry pi.
10
Partie 3
Commander la GoPro automatiquement par
un capteur à ultrasons
Introduction :
11
Après avoir commandé la camera Gopro à distance depuis le Raspberry Pi, dans ce chapitre nous
allons présenter la programmation de la Gopro pour fonctionner automatiquement à l'aide d'un
capteur à ultrasons, ce chapitre sera composé de trois parties qui seront réparties comme suit :
La première partie sera consacrée à la définition du capteur à ultrasons, la seconde partie présente
liaisons du capteur a ultrasons avec le Raspberry Pi , et finalement commander la camera Gopro
automatiquement par le capteur à ultrasons.
1) Le capteur à ultrasons :
Un capteur à ultrasons émet à intervalles réguliers de courtes impulsions sonores à haute fréquence.
Ces impulsions se propagent dans l’air à la vitesse du son. Lorsqu’elles rencontrent un objet, elles
se réfléchissent et reviennent sous forme d’écho au capteur.
Broche Echo fournir une impulsion + 5v dont la durée est proportionnelle à la distance si le
module détecte un objet.
Principe de fonctionnement :
12
L'émetteur envoie un train d'ondes qui va se réfléchir sur l'objet à détecter et ensuite revenir
à la source. Le temps mis pour parcourir un aller-retour permet de déterminer la distance de
l'objet par rapport à la source. Plus l'objet sera loin plus il faudra longtemps pour que le
signal revienne. Pour détecter le niveau (la distance d), on utilise l’équation : d = v. t
On va brancher le PIN VCC avec le pin 2 d alimentation ,le PIN GND avec le pin 6 de masse ,et les
pins TRIG et ECHO avec succesivement les pins GPIO23 et GPIO24.
PORT
GPIO
13
On a programmé la camera Gopro de manière que chaque fois la distance entre le capteur à
ultrasons et l’objet est inferieure a 50cm, la caméra prend et stocke une photo directement sur le
Raspberry Pi à l’aide de la librairie python « goprocam ».
14
PARTIE 4 : Traitement d’image
Introduction :
Dans ce chapitre nous allons présenter le traitement d’images des photos prise par la camera Gopro,
on va adopter deux types de traitements d’images, l’histogramme et la détection de contours.
15
Histogramme :
Un histogramme est un graphique statistique permettant de représenter la distribution des intensités
des pixels d'une image, c'est-à-dire le nombre de pixels pour chaque intensité lumineuse. Par
convention un histogramme représente le niveau d'intensité en abscisse en allant du plus foncé (à
gauche) au plus clair (à droite).
L'histogramme fait apparaître que les tons gris clairs sont beaucoup plus présents dans l'image que
les tons foncés.
16
Avec Python il existe 3 façons de créer des histogrammes d’images :
On a décidé d’utiliser la librairie « OpenCV » car cette méthode est la plus simple et c’est
beaucoup plus rapide en temps de traitement.
17
Pour détecter un problème dans la chaine de production on doit comparer l’image du produit
passant dans le tapis roulant avec le produit original.
Prenant par exemple une chaîne de production de boissons où notre système peut détecter s’il existe
un problème dans chaque produit par exemple :
18
19
Conclusion :
A travers ce projet, nous avons présenté la vision industrielle automatique au lieu de l’examen
visuel par l’homme, durant ce travail, on a essayé de réaliser au maximum ce qui était demandé
avec le moindre coût.
Ce projet nous a donné l’opportunité d’étudier l’un des langages de programmation les plus
importants qui est python et se familiariser avec le carte Raspberry Pi.
20