GPS Neo de uBlox - Identification de contrefaçon

Première publication le jeu. 24 juin 2021

Il est possible d'acheter sur Internet des modules GPS plutôt efficace et à faible coût (moins de 5euros), cependant il arrive assez régulièrement de recevoir des contrefaçons à la place des vrais. Le module en question est un Neo6M de uBlox.

Module GPS Neo uBlox

La méthode ici permet de s'assurer que le produit reçu est un vrai et non une contrefaçon. Sur le site de uBlox, on trouve différents articles (PSA: Fake u-blox modules and potential ways to identify them par exemple) montrant des méthodes de détection : via l'application uBlox, en ouvrant le boitier.

Il y a également une méthode en utilisant un Arduino que je vais décrire ci-dessous.

Le montage à utiliser

Le montage est très simple et ne nécessite que le module GPS et un Arduino (dans mon cas un nano). Le montage est le suivant : Montage Arduino Nano et GPS Neo

Le code Arduino

On burrine ensuite dans l'Arduino avec l'IDE le code suivant.

#define GPS_TX A2 // GPS TX au port A2
#define GPS_RX A3 // GPS RX au port A3
#define GPS_Baud 9600 // baud avec le module GPS
#define IDE_Baud 115200   // baud avec l'IDE Arduino

#include <Arduino.h>
#include <SoftwareSerial.h>
SoftwareSerial GPS(GPS_RX, GPS_TX);

void setup() {
    // configuration du port série avec l'IDE Arduino
    Serial.begin(IDE_Baud );
    //démarre le port serie logiciel pour le GPS
    GPS.begin(GPS_Baud);
}

void loop() {
    while (GPS.available() > 0) {
        // Envoi les infos GPS à l'IDE Arduino
        Serial.write(GPS.read());
    }
}

Les tests

Une fois le code sur l'Arduino, on peut ouvrir le Moniteur Série et renseigné les bauds; dans notre cas 115200 (l'IDE est paramétré par défaut à 9600). Des messages sont affichés (ce sont les informations du module GPS). Si la curiosité vous pousse à en savoir plus, la spécification complète est disponible dans ce PDF. Dans notre cas, nous recherchons des lignes suivant cette structure :

$xxTXT,numMsg,msgNum,msgType,text*cs<CR><LF>

Voici un exemple concret de module correct

$GPTXT,01,01,02,u-blox ag - www.u-blox.com50
$GPTXT,01,01,02,HW  UBX-G60xx  00040007 FF7FFFFFp53
$GPTXT,01,01,02,ROM CORE 7.03 (45969) Mar 17 2011 16:18:3459
$GPTXT,01,01,02,ANTSUPERV=AC SD PDoS SR20
$GPTXT,01,01,02,ANTSTATUS=DONTKNOW*33

La méthode est assez simple, cependant elle permet rapidement de confirmer si le module est contrefait ou non. J'avais deux modules en stock: l'un est une contrefaçon, l'autre est un vrai.

Pour conclure, tout dépend de l'usage ensuite et notamment si vous souhaitez paramétrer le module. Un module contrefait peut également être plus lent dans l'acquisition des signaux satellites. C'est donc à prendre en compte lors des réalisations.

Catégories: Bidouilles Tags: arduino gps