Présentation du projet caméra

Pilotage d’une caméra à distance

  1. Matériel nécessaire
  • 2 ordinateurs
  • une caméra SONY EVI-D31
  • un câble série permettant de relier un des deux pc à la caméra

2. Objectif

    Avec un premier ordinateur qui sera considéré comme le client,on va   envoyer une trame tcp au second ordinateur (considéré comme le serveur) via le réseau. Le serveur va analyser cette trame et vérifier qu’elle contient le protocole attendu*. Par la suite, le pc serveur va envoyer la trame rs232 adaptée à la caméra.

* voici le protocole que nous avons mis au point : 

h! : mouvement vers le haut (maximum)

b! : mouvement vers le bas (maximum)

a! : allumer la caméra

e! : éteindre la caméra

c! : centrer la caméra

g! : mouvement vers la gauche (maximum)

d! : mouvement vers la droite (maximum)

+! : zoom (maximum)

-! : dézoom (maximum)

y! : balayage de gauche à droite (maximum), effectue 3 répétitions

;! : stop la liaison tcp

3. Mode de fonctionnement

 Nous nous sommes d’abord intéressés à l’envoi de trames en TCP.

Le TCP est un protocole de communication via IP et port, il offre une certaine fiabilité via son contrôle d’erreur (le CRC) qui vérifie à l’envoi et à la réception la taille de la trame. De plus, ce protocole fonctionne en mode “connecté”, c’est à dire qu’il interroge une machine pour savoir si elle accepte de communiquer. Dans le trame tcp, il y a une plage réservée à l’accusé de réception, ce qui confirme si oui ou non la trame est reçue.

C’est le drapeau ”ACK” qui selon sa valeur, indique que la trame est reçue ou non.

Pour que la communication soit possible, il faut que le client connaisse l’ip et le port sur lequel écoute le serveur.

   4. Cas pratique

Ci-dessous, une capture wireshark des tests que nous avons effectués : 

On voit que les trames passent bien par le réseau, que le port est le bon et surtout que le flag “ACK” est à 1 , ce qui prouve l’accusé de réception.

Lorsqu’on observe le contenu de la trame, on voit que le message “b!” est bien envoyé

Une fois le message reçu, le serveur va envoyer une trame rs232 (à la caméra) qui correspond au message précédent.

Cette trame se compose d’au maximum 9 octets.

Le serveur qui tourne et attend les trames est composé de plusieurs conditions (if) qui vérifient la validité du message et ce qu’il signifie, il envoie ensuite des trames rs232 pré-construites.

Le protocole RS232 est un système de communication série qui se passe sur la couche physique du modèle OSI. On utilise des câbles séries et les ports séries de deux machines pour qu’elles puissent envoyer et recevoir des données sous la forme de trames. 

Voici le modèle d’une trame RS232 

En C++, on va utiliser la librairie Win32 de windows pour établir la connexion entre les ports physiques et envoyer les données.

La procédure est de créer un tableau de char avec un code hexadécimal qui correspond à une valeur binaire à chaque indice du tableau.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *