materiels:capteurs:geolocalisation:geolocalisation

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
materiels:capteurs:geolocalisation:geolocalisation [2022/07/07 10:57] – [2.1 Grove (Air530)] philmateriels:capteurs:geolocalisation:geolocalisation [2024/06/04 19:24] (Version actuelle) – [2.1 Grove (Air530)] phil
Ligne 1: Ligne 1:
-{{ :suivant.png?nolink&30|}} {{ :retour.png?nolink&30|}} [[materiels:accueilmateriels|{{ :iconemaison.jpg?nolink&30|Sommaire Matériels}}]]+[[materiels:accueilmateriels|{{ :iconemaison.jpg?nolink&30|Sommaire Matériels}}]]
  
 ===== Capteurs - Géolocalisation ===== ===== Capteurs - Géolocalisation =====
  
-[Mise à jour le 28/6/2022]+[Mise à jour le 4/6/2024]
  
 +\\
 +
 +{{ :materiels:capteurs:geolocalisation:gps01.gif?nolink&200|}}
 ==== 1. Généralités ==== ==== 1. Généralités ====
 +=== 1.1 Géolocalisation ===
 +  * La géolocalisation est un procédé permettant de positionner un objet, un véhicule, ou une personne sur un plan ou une carte à l'aide de ses coordonnées géographiques. Certains systèmes permettent également de connaître l'altitude (géolocalisation - dans l'espace - en 3D). <html><a href="https://fr.wikipedia.org/wiki/G%C3%A9olocalisation" target="_blank">Wikipédia</a></html>
  
-==== 2GPS ====+  * **Identifier** sa position sur une carte à l'aide de ses coordonnées GPS en allant sur <html><a href="https://www.coordonnees-gps.fr/" target="_blank"><b>coordonnees-gps.fr/</b></a></html>
  
 +<callout type="tip" title="Quel GPS ?" icon="true">**Consulter** le guide de sélection d'un GPS sur <html><a href=" https://wiki.seeedstudio.com/GPS-Modules-Selection-Guide" target="_blank"><b>seeedstudio.com</b></a></html></callout>
 +
 +=== 1.2 Trame NMEA 0183 ===
 +  * La norme **NMEA 0183** est une spécification pour la communication entre équipements marins, dont les équipements GPS. Elle est définie et contrôlée par la **N**ational **M**arine **E**lectronics **A**ssociation (NMEA), association américaine de fabricants d'appareils électroniques maritimes, basée à Severna Park au Maryland (États-Unis d'Amérique).<html><a href="https://fr.wikipedia.org/wiki/NMEA_0183" target="_blank">Wikipédia</a></html>
 +
 +<callout type="info" title="Structure" icon="true">
 +  * Les **trames NMEA** sont codées au format ASCII et sont de la forme :  **$ <//talker ID//> <//Trame type//> [ , <//données//> , <//données//>] * <//checksum//>** \\ //Exemple// : $GPRMC,160906.308,A,4704.425,N,00224.374,E,,,040624,000.0,W*7D \\ 
 +
 +  * //**Expérimenter**//
 +    * Générer des trames GPGGA, GPGSA et GPRMC à partir d'une position sur une carte avec ce <html><a href="https://nmeagen.org/" target="_blank"><b>générateur</b></a></html> de trames NMEA en ligne.
 +    * Décoder la <html><a href="https://webge.fr/doc/wikis/img/SalleM12.nmea" target="_blank" title="Exemple : salle M12">trame</a></html> GPRMC avec ce <html><a href="https://rl.se/gprmc" target="_blank"><b>décodeur</b></a></html> de trames NMEA en ligne (informations de géolocalisation et affichage de la position sur une carte).
 +</callout>
 +
 +{{ :materiels:capteurs:geolocalisation:tramenmea.png?nolink |}}
 +
 +<callout type="warning" color="red" title="GNGGA" icon="true">L’identifiant **$GNGGA** est utilisé par certains récepteurs GNSS (souvent d’**origine chinoise** comme le GPS **Air530** ci-dessous) pour transmettre les données de position. Voir la <html><a href="https://openrtk.readthedocs.io/en/latest/communication_port/nmea.html" target="_blank"><b>description  des champs</b></a></html>.
 +</callout>
 +
 +\\
 +
 +
 +==== 2. GPS ====
  
 === 2.1 Grove (Air530) === === 2.1 Grove (Air530) ===
 {{ :materiels:capteurs:geolocalisation:grove_air530.png?nolink|}} {{ :materiels:capteurs:geolocalisation:grove_air530.png?nolink|}}
-  * //Source// : <html><a href="https://wiki.seeedstudio.com/Grove-GPS-Air530/" target="_blank">wiki</a></html> Seeed studio+ 
 +== 2.1.1 Présentation == 
 +  * //**Source**// : <html><a href="https://wiki.seeedstudio.com/Grove-GPS-Air530/" target="_blank"><b>wiki</b></a></html> Seeed studio
  
 <callout type="info" icon="true">Module GPS économique basé sur un Air530 compatible Grove permettant de connaître sa position en temps réel. Ce module communique avec un microcontrôleur type Arduino ou compatible via une liaison série. Il comporte un circuit RTC permettant la sauvegarde de l'heure et de la date. L'utilisation de ce circuit nécessite une pile CR1220.</callout> <callout type="info" icon="true">Module GPS économique basé sur un Air530 compatible Grove permettant de connaître sa position en temps réel. Ce module communique avec un microcontrôleur type Arduino ou compatible via une liaison série. Il comporte un circuit RTC permettant la sauvegarde de l'heure et de la date. L'utilisation de ce circuit nécessite une pile CR1220.</callout>
  
-  * //Distributeur// : <html><a href="https://www.gotronic.fr/art-module-gps-grove-109020022-31996.htm" target="_blank">Gotronic</a></html>+  * //**Distributeur**// : <html><a href="https://www.gotronic.fr/art-module-gps-grove-109020022-31996.htm" target="_blank">Gotronic</a></html>
  
-  * //Caractéristiques//+  * //**Caractéristiques**//
     * Alimentation: 3,3 ou 5 Vcc     * Alimentation: 3,3 ou 5 Vcc
     * Consommation: 60 mA maxi     * Consommation: 60 mA maxi
-    * Interface: UART+    * Interface: UART (9600 bauds)
     * Sensibilité:     * Sensibilité:
       * au démarrage: -160 dBm       * au démarrage: -160 dBm
Ligne 32: Ligne 61:
     * Compatible: GPS, Beidou, Glonass, Galileo, QZS, SBAS     * Compatible: GPS, Beidou, Glonass, Galileo, QZS, SBAS
     * Température de service: -35 à 85 °C     * Température de service: -35 à 85 °C
-   
-  {{ :materiels:capteurs:acrobate.gif?nolink&40|}} 
-  * //Documentation//  
-    * Guide d'utilisation <html><a href="https://wiki.seeedstudio.com/Grove-GPS-Air530/" target="_blank">ici</a></html> 
  
 +{{ :materiels:capteurs:acrobate.gif?nolink&40|}}
 +  * //**Documentation**// et //**schéma**//
 +    * Voir le <html><a href="https://wiki.seeedstudio.com/Grove-GPS-Air530/" target="_blank"><b>wiki</b></a></html> Seeed studio.
 +
 +{{ :materiels:capteurs:environnement:iconechronogrammes.png?nolink&50|}}
 +  * //**Chronogrammes**//
 +    * Tramme GNGGA (.png et .scana) relevée avec un analyseur **Ikalogic SQ200** à télécharger : <html><a href="https://webge.fr/doc/wikis/img/Mesures_air530.zip" target="_blank"><b>ici</b></a></html>
 +
 +\\
 +
 +== 2.1.2 Bibliothèques == 
 +<tabs> 
 +  * [[#tab-air530duino_1|Arduino UNO]]
 +  * [[#tab-air530pico_1|Rpi Pico (µPython)]]
 +
 +<pane id="tab-air530duino_1">
 +  * //A partir du gestionnaire de bibliothèques de l'**IDE Arduino**, installer ://
 +{{ :materiels:capteurs:geolocalisation:libtinygpsplus.png?nolink |}}
 +</pane>
 +<pane id="tab-air530pico_1">
 +A venir
 +</pane>
 +</tabs>
 +
 +\\
 +
 +{{ :materiels:capteurs:environnement:code.png?nolink|}}
 +== 2.1.3 Exemples de code == 
 +<tabs>
 +  * [[#tab-air530duino_2|Arduino UNO]]
 +  * [[#tab-air530pico_2|Rpi Pico (µPython)]]
 +
 +<pane id="tab-air530duino_2">
 +  * //**Ressource**// : <html><a href="https://wiki.seeedstudio.com/Grove-GPS-Air530/" target="_blank">wiki</a></html> | <html><a href="https://docs.arduino.cc/learn/built-in-libraries/software-serial/" target="_blank">SoftwareSerial</a></html> | <html><a href="https://github.com/Glinnes/NMEAParser?tab=readme-ov-file" title="GitHub" target="_blank"><b>Parser NMEA</b></a></html>
 + 
 +  * //**Exemple 1 **// pour visualiser les trames délivrée par le GPS
 {{ :materiels:capteurs:distance:arduinoico.png?nolink&40|}} {{ :materiels:capteurs:distance:arduinoico.png?nolink&40|}}
-  **Un premier exemple pour tester le capteur avec l'IDE Arduino**  +<code cpp *.cpp> 
-    * Guide d'utilisation <html><a href="https://wiki.seeedstudio.com/Grove-GPS-Air530/" target="_blank">ici</a></html>+// Testé avec une carte Arduino Uno (2:RXD, 3:TXD) 
 +// Interface série logicielle (asynchrone) 
 +// 9600baud, 8, N, 1 
 + 
 +#include <SoftwareSerial.h> 
 + 
 +SoftwareSerial SoftSerial(2,3); // (2:RXD, 3:TXD) Arduino Uno  
 +unsigned char buffer[64];  // tableau pour la réception de données via le port série 
 +int count = 0;             // compteur 
 +void setup() { 
 +  SoftSerial.begin(9600);  // Réglage du débit de l'interface série logicielle 
 +  Serial.begin(9600);      // Réglage du débit de l'interface série matérielle (moniteur série) 
 +
 + 
 +void loop() { 
 +  if (SoftSerial.available())  // si disponible 
 +  { 
 +    while (SoftSerial.available())  // lire les données 
 +    { 
 +      buffer[count++] SoftSerial.read();  // et les écrire dans le tableau 
 +      if (count == 64) break;               // tant qu'il n'est pas plein 
 +    } 
 +    Serial.write(buffer, count);  // écrire le tableau dans la console 
 +    //Serial.write("\n"); 
 +    clearBufferArray();  // vider le tableau et 
 +    count = 0;           // raz compteur 
 +  } 
 +  if (Serial.available())             // si les données sont disponibles sur le port série matériel ==> les données proviennent d'un PC ou d'un ordinateur portable 
 +    SoftSerial.write(Serial.read());  // les écrire sur le port série logiciel 
 +
 + 
 + 
 +void clearBufferArray()  // fonction pour effacer le tableau 
 +
 +  for (int i = 0; i < count; i++) { 
 +    buffer[i] = NULL; 
 +  }  // On efface le tableau avec la commande NULL 
 +
 +</code> 
 + 
 +  * //**Exemple 2** de l'IDE Arduino pour obtenir la latitude et la longitude à partir des trames NMEA// \\ Dans l'IDE Arduino, sélectionner : Fichier → Exemples → TinyGPSPlus -> **DeviceExample** \\ \\ <callout type="info" title="Remarque" icon="true">Effectuer les modifications suivantes dans le code de l'exemple \\ Sur une **Arduino UNO** : RXPin = **2**, TXPin = **3**;  GPSBaud = **9600**;</callout>  
 + 
 +</pane> 
 +<pane id="tab-air530pico_2"> 
 +A venir 
 +</pane> 
 +</tabs>
  
 +\\
  
 +=== 2.2 Sparkfun Neo M9N (ublox) ===
  • materiels/capteurs/geolocalisation/geolocalisation.1657184228.txt.gz
  • Dernière modification : 2022/07/07 10:57
  • de phil