Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| products:kronos:rtkronos:rtkronos_communication_protocol [2021/04/03 17:20] – [2.1 Payload format for every packet ID/type] manu | products:kronos:rtkronos:rtkronos_communication_protocol [2022/05/02 14:04] (current) – manu | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| tags: RTK, Kronos, RTKronos, communication | tags: RTK, Kronos, RTKronos, communication | ||
| - | ===== - Utilisation ===== | + | ===== - Utilisation |
| La carte renvoie toutes les secondes la position et l' | La carte renvoie toutes les secondes la position et l' | ||
| Line 11: | Line 11: | ||
| Ces informations sont disponibles sur le port série et le port SPI du module XLBee 2 (SOCKET 2 sur la carte). | Ces informations sont disponibles sur le port série et le port SPI du module XLBee 2 (SOCKET 2 sur la carte). | ||
| - | ===== - Protocole | + | |
| + | ==== - Protocole ==== | ||
| * **[0:1]** : // | * **[0:1]** : // | ||
| Line 17: | Line 18: | ||
| * **[4: | * **[4: | ||
| - | ==== - Payload format for every packet ID/type ==== | + | === - Payload format for every packet ID/type === |
| + | |||
| + | == - Id 0x0001: Complete position information == | ||
| + | {| class=" | ||
| + | |- style=" | ||
| + | ! style=" | ||
| + | ! style=" | ||
| + | ! style=" | ||
| + | ! style=" | ||
| - | === - Id 0x0001: Complete position information === | ||
| - | {| class=" | ||
| - | |- style=" | ||
| - | ! style=" | ||
| - | ! style=" | ||
| - | ! style=" | ||
| - | ! style=" | ||
| |- style=" | |- style=" | ||
| | style=" | | style=" | ||
| | style=" | | style=" | ||
| | style=" | | style=" | ||
| - | {| class=" | ||
| - | |- style=" | ||
| - | ! style=" | ||
| - | ! style=" | ||
| - | ! style=" | ||
| - | |- style=" | ||
| - | | style=" | ||
| - | 0 | ||
| + | {| class=" | ||
| + | |- style=" | ||
| + | ! style=" | ||
| + | ! style=" | ||
| + | ! style=" | ||
| + | |- style=" | ||
| + | | style=" | ||
| | style=" | | style=" | ||
| | style=" | | style=" | ||
| Line 54: | Line 55: | ||
| | style=" | | style=" | ||
| |} | |} | ||
| + | |||
| | style=" | | style=" | ||
| |- style=" | |- style=" | ||
| | style=" | | style=" | ||
| | style=" | | style=" | ||
| - | | style=" | + | | style=" |
| - | {| class=" | + | |
| - | |- | + | {| class=" |
| + | |- style=" | ||
| ! style=" | ! style=" | ||
| ! style=" | ! style=" | ||
| Line 109: | Line 112: | ||
| | style=" | | style=" | ||
| |} | |} | ||
| + | |||
| | style=" | | style=" | ||
| |- style=" | |- style=" | ||
| Line 182: | Line 186: | ||
| | style=" | | style=" | ||
| | style=" | | style=" | ||
| - | | style=" | + | | style=" |
| - | {| class=" | + | |
| + | {| class=" | ||
| + | |- style=" | ||
| + | ! style=" | ||
| + | ! style=" | ||
| + | ! style=" | ||
| |- | |- | ||
| - | !|Bit | + | |0 |
| - | !|Mask | + | |0x01 |
| - | !|Description | + | |GPS L1 used in calculation |
| |- | |- | ||
| - | ||0 | + | |1 |
| - | ||0x01 | + | |0x02 |
| - | ||GPS L1 used in calculation | + | |GPS L2 used in calculation |
| + | |-style=" | ||
| + | |2 | ||
| + | |0x04 | ||
| + | |GPS L5 used in calculation | ||
| |- | |- | ||
| - | ||1 | + | |3 |
| - | ||0x02 | + | |0x08 |
| - | ||GPS L2 used in calculation | + | |BDS B3 used in calculation |
| |- | |- | ||
| - | ||2 | + | |4 |
| - | ||0x04 | + | |0x10 |
| - | ||GPS L5 used in calculation | + | |GLONASS L1 used in calculation |
| |- | |- | ||
| - | ||3 | + | |5 |
| - | ||0x08 | + | |0x20 |
| - | ||BDS B3 used in calculation | + | |GLONASS L2 used in calculation |
| |- | |- | ||
| - | ||4 | + | |6 |
| - | ||0x10 | + | |0x40 |
| - | ||GLONASS L1 used in calculation | + | |BD2 B1 used in calculation |
| |- | |- | ||
| - | ||5 | + | |7 |
| - | ||0x20 | + | |0x80 |
| - | ||GLONASS L2 used in calculation | + | |BD2 B2 used in calculation |
| - | |- | + | |
| - | ||6 | + | |
| - | ||0x40 | + | |
| - | ||BD2 B1 used in calculation | + | |
| - | |- | + | |
| - | ||7 | + | |
| - | ||0x80 | + | |
| - | ||BD2 B2 used in calculation | + | |
| |} | |} | ||
| | style=" | | style=" | ||
| |} | |} | ||
| - | === - Id 0x0002: Heading data === | ||
| - | {| class=" | + | |
| - | |- | + | |
| - | ! style=" | + | |
| - | ! style=" | + | == - Id 0x0002: Heading data == |
| - | ! style=" | + | |
| - | ! style=" | + | |
| + | {| class=" | ||
| + | |- style=" | ||
| + | ! style=" | ||
| + | ! style=" | ||
| + | ! style=" | ||
| + | ! style=" | ||
| |- | |- | ||
| | style=" | | style=" | ||
| Line 240: | Line 250: | ||
| |} | |} | ||
| - | === - Id 0x0003: Satellite count === | + | == - Id 0x0003: Satellite count == |
| - | {| class=" | + | {| class=" |
| - | |- | + | |- style=" |
| - | ! style=" | + | ! style=" |
| - | ! style=" | + | ! style=" |
| - | ! style=" | + | ! style=" |
| - | ! style=" | + | ! style=" |
| |- | |- | ||
| | style=" | | style=" | ||
| Line 300: | Line 310: | ||
| | style=" | | style=" | ||
| |} | |} | ||
| + | |||
| + | ===== - Utilisation sortie directe GPS RTK ===== | ||
| + | En Mars 2022, nous avons ajouté la sortie en direct sur le port dédié du GPS (port COM3 de l' | ||
| + | Cela permet d' | ||
| + | Pour le moment seuls les messages de type GNGGA sont disponibles sous format ASCII. | ||
| + | |||
| + | |||
| + | {{: | ||
| + | ==== - Description du format GNGGA ==== | ||
| + | |||
| + | ^ ID ^ Champs | ||
| + | | 1 | < | ||
| + | | 2 | utc | Temps UTC de la position calculée \\ (heures/ | ||
| + | | 3 | lat | Latitude(DDmm.mmmmmmmm) \\ en degrés, minutes et décimales de minutes | ||
| + | | 4 | lat dir | Latitude direction(N = North, S = South) | ||
| + | | 5 | lon | Longitude(DDDmm.mmmmmmmm) \\ en degrés, minutes et décimales de minutes | ||
| + | | 6 | lon dir | Longitude direction(E = East, W = West) | a | E | | ||
| + | | 7 | Qualité de la solution | ||
| + | | 8 | Nombre de satellites utilisés pour calculer la solution | ||
| + | | 9 | hdop | Horizontal dilution of precision | ||
| + | | 10 | alt | Altitude par rapport au niveau de la mer\\ peut être négatif. | ||
| + | | 11 | Unité pour l' | ||
| + | | 12 | ondulation | ||
| + | | 13 | Unité pour l' | ||
| + | | 14 | Âge des données différentielles | ||
| + | | 15 | ID de la base RTK de correction | ||
| + | | 16 | *CS | Checksum | ||
| + | | 17 | [CR][LF] | ||
| + | |||
| + | === - Passage de degrés, minutes, décimales de minutes à degrés décimaux === | ||
| + | - séparer les degrés des minutes (minutes décimales) vous avez donc: | ||
| + | - un entier pour les degrés | ||
| + | - un flottant pour les minutes | ||
| + | - diviser les minutes décimales par 60 (mm.mmmmmmmmm / 60) | ||
| + | - ajouter le résultat aux degrés précédent | ||
| + | - Pour la latitude, si la lettre est S, multiplier par -1. | ||
| + | - Pour la longitude, si la lettre est W, multiplier par -1. | ||
| + | |||
| + | === - Example de trame complète === | ||
| + | |||
| + | < | ||
| + | $GNGGA, | ||
| + | </ | ||
| + | |||
| + | Cela correspond en degrés décimaux à : | ||
| + | * latitude: (48+34.65851118/ | ||
| + | * longitude: (007+44.99485270/ | ||
| + | |||
| + | À chaque fois, on est du côté positif, si on était en latitude S, ou en longitude W, il faudrait multiplier le résultat par -1. | ||
| + | |||
| + | === - Comparaison avec les trames sur XLBEE2 === | ||
| + | Notez bien que les valeurs données pour la précision de la solution sont très différentes entre les 2 types de trames.\\ | ||
| + | On peut néanmoins faire une équivalence: | ||
| + | ^ Trame XLBEE2 | ||
| + | | 0: pas de solution | ||
| + | | 16: Single point position | ||
| + | | 17: Pseudo-range difference decomposing | ||
| + | | 48 ou 49 ou 50: XXXX_INT | ||
| + | | 32 ou 33 ou 34: XXXX_FLOAT | ||
| + | | 1: Position has been fixed manually | ||
| + | |||
| + | Donc la meilleure solution a pour valeur 4 dans la trame GNGGA et pour valeur 50 dans la trame sur le XLBEE.\\ | ||
| + | Elles ne sont pas exactement équivalentes car on ne sait pas s'il s'agit de la valeur 48, 49 ou 50 sachant qu'en terme de précision: | ||
| + | 50 > 49 > 48. | ||
| + | |||
| + | ==== - Librairie arduino recommandée pour parser les messages GNGGA ==== | ||
| + | MicroNMEA de Steve MARPLE: | ||
| + | * https:// | ||
| + | * https:// | ||