Projet

Général

Profil

Protocoles de communication » Historique » Version 1

Anonyme, 10/12/2012 14:55

1 1 Anonyme
h1. Protocoles de communication
2
3
4
h2. Protocole Ethernet/Wifi V1
5
6
Le protocole de communication privilégié est l'UDP.
7
8
---------------------------------------------------
9
10
Le format de trame sera le suivant :
11
12
<NUM_PAQUET><!><TYPE_TRAME><< ?>|<<:><VAL>[,VAL[,...]]>><CRLF>
13
14
Avec :
15
16
<NUM_PAQUET> : numéro du paquet, auto-incrémental, sur 4 chiffres, non signé, en décimal. 
17
18
<!> : caractère "!" utilisé comme séparateur
19
20
<TYPE_TRAME> : suite de 2 caractères en ASCII indiquant les informations portées par la trame (voir plus bas)
21
22
<< ?>|<<:><VAL>[,VAL[,...]]>> valant soit :
23
       -- "?" dans le cadre de la demande d'une (série de) valeurs
24
       -- : suivi d'une série de valeurs séparés par des virgules
25
26
<CRLF> : caractères "\r\n"
27
28
h2. Liste des TYPE_TRAME
29
30
les TYPES_TRAME sont des suites de 2 caractères ASCII
31
32
h3. TYPE_TRAME commençant par un 0
33
34
Ces types sont réservés à des fins de test et ne doivent pas être utilisé dans le cadre d'une implémentation finale.
35
36
h3. TYPE_TRAME commençant par un 1
37
38
Ces types sont réservés à la transmission des erreurs.
39
40
h3. Capteurs
41
42
"Ca" suivi d'une série de 11 valeurs est utilisé pour envoyer l'ensemble des valeurs des capteurs dans l'ordre suivant :
43
accéléro_x, accéléro_y,accéléro_z,gyro_x,gyro_y,gyro_z,magnéto_x,magnéto_y,magnéto_z,baromètre,altimètre
44
45
h4. Accéléromètres
46
47
"Ax" suivi d'une valeur correspond à l'accéléromètre x
48
"Ay" suivi d'une valeur correspond à l'accéléromètre y
49
"Az" suivi d'une valeur correspond à l'accéléromètre z
50
"Aa" suivi de trois valeurs correspond aux valeurs des trois accéléromètres dans l'ordre x,y,z
51
52
h4. Gyroscopes
53
54
"Gx" suivi d'une valeur correspond au gyroscope x
55
"Gy" suivi d'une valeur correspond au gyroscope y
56
"Gz" suivi d'une valeur correspond au gyroscope z
57
"Ga" suivi de trois valeurs correspond aux valeurs des trois gyroscopes dans l'ordre x,y,z
58
59
h4. Magnétomètre
60
61
"Ax" suivi d'une valeur correspond au magnétomètre x
62
"Ay" suivi d'une valeur correspond au magnétomètre y
63
"Az" suivi d'une valeur correspond au magnétomètre z
64
"Aa" suivi de trois valeurs correspond aux valeurs des trois magnétomètres dans l'ordre x,y,z
65
66
h4. Sonars
67
68
"Sf" suivi d'une valeur correspond au sonar avant (front)
69
"Sb" suivi d'une valeur correspond au sonar arrière (back)
70
"Sl" suivi d'une valeur correspond au sonar gauche (left)
71
"Sr" suivi d'une valeur correspond au sonar droit (right)
72
"Su" suivi d'une valeur correspond au sonar haut (up)
73
"Sd" suivi d'une valeur correspond au sonar bas (down)
74
"S6" suivi de 6 valeurs correspond à la valeur des 6 sonars (ordre : avant, arrière, gauche, droite, bas, haut)
75
76
h4. Autres capteurs
77
78
"B0" suivi d'une valeur correspond au baromètre
79
"AL" suivi d'une valeur correspond à l'altimètre (s'il y en a un)
80
"GP" suivi de 8 valeurs correspond aux valeurs du GPS (ordre à définir)
81
82
h3. Moteurs
83
84
85
h4. Du drone vers le contrôleur
86
87
"M1" suivi d'une valeur correspond à la valeur actuelle du moteur 1
88
"M2" suivi d'une valeur correspond à la valeur actuelle du moteur 2
89
"M3" suivi d'une valeur correspond à la valeur actuelle du moteur 3
90
"M4" suivi d'une valeur correspond à la valeur actuelle du moteur 4
91
"Me" suivi de 4 valeurs correspond à la valeur actuelle des 4 moteurs (1,2,3,4)
92
"Mc" suivi d'une valeur correspond à la valeur actuelle de la consigne moteur
93
"M+" suivi de 5 valeurs correspond à la valeur actuelle des 4 moteurs suivi de la consigne moteur
94
95
h4. Du contrôleur vers le drône
96
97
"M1" suivi d'une valeur correspond à la valeur à atteindre pour le moteur 1
98
"M2" suivi d'une valeur correspond à la valeur à atteindre pour le moteur 2
99
"M3" suivi d'une valeur correspond à la valeur à atteindre pour le moteur 3
100
"M4" suivi d'une valeur correspond à la valeur à atteindre pour le moteur 4
101
"Me" suivi de 4 valeurs correspond à la valeur à atteindre pour les 4 moteurs (1,2,3,4)
102
"Mc" suivi d'une valeur correspond à la valeur à atteindre pour la consigne moteur
103
"M+" suivi de 5 valeurs correspond à la valeur à atteindre pour les 4 moteurs suivi de la consigne moteur
104
105
h2. Exemples
106
107
On aura ainsi par exemple 
108
109
110
0010!Gx?
111
112
correspond au dixième message échangé, le contrôleur demande au drone la valeur de son gyroscope en x
113
114
0011!Gx:21
115
116
serait la réponse du drone
117
118
ou encore 
119
120
0101!0B:21,22,58
121
122
Qui serait le 101e message d'une série, utilisant un protocole de test (commençant par 0) et renvoyant 3 valeurs