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 |