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
Prochaine révisionLes deux révisions suivantes
materiels:capteurs:geolocalisation:geolocalisation [2024/05/04 11:30] – [2.1 Grove (Air530)] philmateriels:capteurs:geolocalisation:geolocalisation [2024/05/04 20:27] – [2.1 Grove (Air530)] phil
Ligne 3: Ligne 3:
 ===== Capteurs - Géolocalisation ===== ===== Capteurs - Géolocalisation =====
  
-[Mise à jour le 28/6/2022]+[Mise à jour le 4/5/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>
 +
 +  * **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 National Marine Electronics Association (NMEA [archive]), 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//>**
 +
 +  * **Décodeur** de trames NMEA en ligne, informations de géolocalisation et affichage de la position sur une carte  : <html><a href="https://rl.se/gprmc" target="_blank"><b>ici</b></a></html>
 +
 +  * **Générateur** de trames NMEA en ligne : <html><a href="https://nmeagen.org/" target="_blank"><b>ici</b></a></html>
 +</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 Air530) pour transmettre les données de position. Voir <html><a href="https://openrtk.readthedocs.io/en/latest/communication_port/nmea.html" target="_blank"><b>ici</b></a></html> pour la description  des champs.
 +</callout>
 +
 +\\
 +
  
 ==== 2. GPS ==== ==== 2. GPS ====
Ligne 12: Ligne 41:
 === 2.1 Grove (Air530) === === 2.1 Grove (Air530) ===
 {{ :materiels:capteurs:geolocalisation:grove_air530.png?nolink|}} {{ :materiels:capteurs:geolocalisation:grove_air530.png?nolink|}}
 +
 == 2.1.1 Présentation == == 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   * //**Source**// : <html><a href="https://wiki.seeedstudio.com/Grove-GPS-Air530/" target="_blank"><b>wiki</b></a></html> Seeed studio
Ligne 22: Ligne 52:
     * 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 33: Ligne 63:
     * 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> 
  
 +\\
 +
 +== 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 Arduino Uno 
 +// TX:2 RX:3 
 + 
 +#include <SoftwareSerial.h> 
 + 
 +SoftwareSerial SoftSerial(2, 3); //(2,3) Arduino Uno (5,6) MKR Zéro ou MKR 1010 
 +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);  // the SoftSerial baud rate 
 +  Serial.begin(9600);      // the Serial port of Arduino baud rate. 
 +
 + 
 +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;               // si count = 64 
 +    } 
 +    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** \\ \\ __Remarque__, effectuer les modifications suivantes : \\ Sur une Arduino UNO RXPin = 2, TXPin = 3;  GPSBaud = 9600;
  
 +</pane>
 +<pane id="tab-air530pico_2">
 +A venir
 +</pane>
 +</tabs>
 \\ \\
  
 === 2.2 Sparkfun Neo M9N (ublox) === === 2.2 Sparkfun Neo M9N (ublox) ===
  • materiels/capteurs/geolocalisation/geolocalisation.txt
  • Dernière modification : 2024/06/04 19:24
  • de phil