LG290P quadri-band + Raspberry Pi 3A+ une alternative très bon marché RTKbase sous Docker

Bonjour,

Tout d’abord bravo pour votre initiative.

Je m’intéresse au réseau centripète car j’habite dans une région agricole (l’Oise) et j’aimerais rendre service aux agriculteurs et autres utilisateurs d’un réseau RTK libre. J’ai une installation POE et une connexion fibre hyper-stable. Par contre, je ne suis pas certain d’avoir une visibilité complète car je suis au fond d’un valon et contre un mur. Je verrai bien en testant.

J’ai trouvé cette carte performante et très bon marché : la Waveshare LG290P:

On peut commander la carte chez waveshare et la carte est livrée en quelques jours via DHL. Amazon propose aussi la carte.

Peut-on utiliser la carte LG290P. Est-ce qu’il y a des retours d’utilisateurs ?

Je dispose de tout le matériel (y compris l’antenne, l’alimentation POE, la raspberry et du câble). Il me manque une carte très bon marché. Mon budget est d’environ 200 euros. J’ai quelques connaissance Linux et Debian, donc je peux intervenir sur le système Debian pour le configurer.

Enfin dernière question : le logiciel utilisé est bien RTKbase ?

Cordialement,
Héron

Cette carte à l’air très intéressante, surtout par rapport au ZED-F9P

Pour info, waveshare mentionne rtkbase dans leur documentation sur le LG290P: https://www.waveshare.com/wiki/LG290P_GNSS_RTK_Module#RTK_BASE

J’ai reçu la Raspberry Pi 3 A+. malheureusement, deux détails m’avaient échappé : c’est toujours l’ancien connecteur USB et non un USB-C et surtout il n’y a qu’un port USB. Comme j’aimerais installer et booter sur une clé USB (plus durable) et que l’on se connecte via USB à la LG290P, il manque un port USB.

Mais on doit pouvoir se connecter via UART comme l’indique la documentation de la LG290P :slight_smile: https://www.waveshare.com/wiki/LG290P_GNSS_RTK_Module#Specifications

Pour éviter d’avoir à sortir la sertisseuse, j’ai acheté un lot de câbles JST vers Dupont pour relier la RPi et le carte LG290P:

J’ai reçu les câbles JST, il ne manque plus que la carte LG290P. C’est sympa de se dire que je n’aurai pas à les sertir car je suis vraiment nul dans cet “art”.

Je viens de recevoir le kit LG290P et très bonne nouvelle, l’antenne GPS semble de bonne facture et les câbles JST sont fournis. L’antenne est prévue pour se coller avec du stock double-face sur le boîtier. Il n’y a donc pas de frais supplémentaire à prévoir si ce n’est un boîtier étanche. Il faut juste espérer que l’antenne a la précision nécessaire à RTK.

Sur le site français bien connu où j’ai passé commande, la livraison était prévue sous un mois, mais en fait le colis est parti immédiatement de Chine et il est arrivé au bout d’une semaine.

Et j’en profite pour écrire que j’ai tout acheté avec mon argent et que je ne suis affilié à aucun vendeur.

La Raspberry et la carte GPS sont de très petite taille, ce qui également un bon point sachant que l’on pourra se procurer un petit boitier et/ou en imprimer un facilement.

J’ai hâte d’aboutir à une première mouture fonctionnelle.

La Raspberry Pi 3 A+ n’est pas utilisable car il n’y a pas de port Ethernet, donc pas d’alimentation PoE possible !!! Cela m’avait complètement échappé en la commandant, donc je reviens à une Raspberry Pi 4 …

Du coup, j’aimerais modifier le titre de mon post, mais je ne trouve pas comment faire.

La carte LG290P est en place avec une antenne GPS marine assez performante, installée à l’extérieur, avec la Raspberry Pi 4 à l’intérieur (pas encore de boîtier). Finalement, je suis parti sur une Debian Trixie et j’ai utilisé le projet RTKbase directement.

Par ailleurs, j’ai ouvert une première demande d’aide:

Je persiste à croire qu’il n’y a pas grand chose à ajouter pour avoir un support de cette carte. Je pense créer un service système qui configurerait la carte à chaque démarrage. Ce sera une solution “quick and dirty”, mais cela fonctionnerait. Pour l’instant, je n’arrive pas à afficher la page web de RTKbase et je suis proche du but.

Il faudrait qu’un administrateur permette de modifier le titre d’un message sur ce forum. La BOM du projet n’est pas lisible et je ne peux pas la modifier. Le forum est presque inutilisable pour un projet collaboratif.

C’est fait, cela fonctionne. J’ai créé une issue sur Github de RTK base avec toutes la configuration, mais je ne peux pas insérer un lien sur le forum vers Github.

La réception n’est pas idéale car je n’ai pas encore placé le récepteur à son emplacement définitif.

Sinon, je colle une copie ici de mon post, pour les personnes intéressées:

**********************************

After investigation, here is a complete summary of everything needed to get the LG290P working with RTKBase.


1. LG290P configuration

Install Raspberry Pi OS 64bit lite using Raspberry Pi Imager (avoid 32bit, as it may be abandoned some day). You may use a USB key as it is more durable than CF. You don’t need to boot under Windows. Stay under Linux and use SSH to connect to your RTK base OS.

Use picocom with --omap crcrlf — without this option the module silently ignores all commands:

sudo apt update
sudo apt install pico com
sudo picocom -b 460800 --omap crcrlf /dev/ttyACM0

Then send these commands one by one:

$PQTMCFGRCVRMODE,W,2*29
$PQTMCFGMSGRATE,W,RTCM3-1019,1*54
$PQTMCFGMSGRATE,W,RTCM3-1020,1*5E
$PQTMCFGMSGRATE,W,RTCM3-1042,1*5A
$PQTMCFGMSGRATE,W,RTCM3-1046,1*5E
$PQTMCFGMSGRATE,W,GGA,1*0A
$PQTMCFGMSGRATE,W,RMC,1*17
$PQTMCFGMSGRATE,W,GLL,1*0C
$PQTMCFGMSGRATE,W,VTG,1*0E
$PQTMCFGMSGRATE,W,GSA,1*1E
$PQTMCFGMSGRATE,W,RTCM3-1005,0*58
$PQTMSAVEPAR*5A
$PQTMSRR*4B

Note: disabling RTCM 1005 is intentional — RTKBase injects its own 1005 from the base coordinates set in Settings.


2. Base position — use fixed position mode

Survey-in mode (mode 1) has a firmware bug where the counter gets stuck after a few epochs. Use fixed position mode (mode 2) with ECEF coordinates instead. Get approximate ECEF coordinates from a short survey-in run, then set them permanently:

$PQTMCFGSVIN,W,2,0,0,,,*
$PQTMSAVEPAR*5A
$PQTMSRR*4B

Example with approximate coordinates near Noyon, France:

$PQTMCFGSVIN,W,2,0,0,4134900.0000,220000.0000,4835000.0000*XX
$PQTMSAVEPAR*5A
$PQTMSRR*4B

3. RTKBase settings (Settings → Main Service)

  • Com port: /dev/ttyACM0
  • Com port settings: 460800:8:n:1
  • Receiver: LG290P
  • Receiver format: rtcm3 (lowercase — see bug #1 below)
  • Receiver options: (empty)
  • Base coordinates: 49.5797 2.9997 50.00 (example near Noyon, France)

4. Bugs found in RTKBase 2.7.0 on Raspberry Pi OS Trixie

Bug #1 — receiver_format case sensitivity (critical)

RTKBase writes RTCM3 (uppercase) in settings.conf but server.py line 607 compares against a lowercase list. This prevents rtkrcv from ever starting. Fix:

sed -i "s/receiver_format='RTCM3'/receiver_format='rtcm3'/" ~/rtkbase/settings.conf

Note: the web UI will rewrite it as RTCM3 again if you save Settings — reapply the fix after each save. A proper fix would be to make the comparison case-insensitive in server.py line 607.

Bug #2 — rtkbase_raw2nmea.service conflicts with RTKBase internal rtkrcv

rtkbase_raw2nmea.service occupies port 5014 and prevents RTKBase from launching its own rtkrcv instance (which also needs port 5014). Disable it permanently:

sudo systemctl disable --now rtkbase_raw2nmea.service

Bug #3 — rtkbase_ppp-static_default.conf uses ubx format instead of rtcm3

The default rtkrcv config file has inpstr1-format=ubx. RTKBase should override this dynamically but fails because of the case sensitivity bug above. Fix:

sed -i 's/inpstr1-format.*=ubx/inpstr1-format     =rtcm3/' ~/rtkbase/web_app/rtklib_configs/rtkbase_ppp-static_default.conf

5. Python 3.13 / Raspberry Pi OS Trixie note

gevent 25.4.2 produces a non-fatal AssertionError in AbstractLinkable with Python 3.13. This is a known gevent upstream bug but does not prevent RTKBase from running — it can be safely ignored.

Hope this helps others trying to use the LG290P with RTKBase!

Pour le projet RTKbase, j’ai acheté ce matin 2x Raspberry Pi 3B d’occasion (inutile de gaspiller une Rpi4 8GO RAM ou une Rpi 5). J’en mettrai une dans le boîtier et je garderai l’autre en cas de panne. On peut configurer la Raspberry 3B pour booter en USB, ce qui m’intéresse ici.

Je pars sur une full Debian et non plus sur l’image Centripète puisqu’il y a de la configuration additionnelle. Mon idée à terme est de mener une introspection de RTKbase pour voir s’il n’y a pas des modifications à apporter pour une plus large diffusion (je pense à Docker) et terminer le script d’auto configuration du GNSS. J’ai repéré des défauts dans le code, mais cela nécessiterait une refonte majeure.

Pour info, je dispose également d’un fallback 4G pour assurer 24/24 de disponibilité, le tout sur backup UPS. J’ai pris un abonnement 4G, car cela me semble essentiel d’assurer la disponibilité de la base RTK.

J’aimerais maintenant passer au design du boîtier. D’abord, je vais me fournir en achetant un boîtier du commerce, mais ce serait plus intéressant de faire un design intégré à imprimer en 3D.

Je reçois aujourd’hui des AP Mikrotik Wap R achetées d’occasion pour la couverture WIFI de mon jardin. C’est le design le plus efficace que je connaisse en terme de boîtier, car le boîtier est semi-ouvert par le bas et fonctionne avec une glissière. Donc il n’y a pas d’accumulation d’eau et pas de condensation possible, ce qui est l’ennemi n°1 des boîtiers extérieurs.

Je vais démonter le boîtier Mikrotik et publier des photos pour qu’on puisse s’en inspirer. Je ne suis pas très fort en design 3D, donc cela prendra du temps et toute aide est la bienvenue.

Par ailleurs, pourriez-vous me recommander une antenne à tout hasard si l’on décidait de ne pas utiliser l’antenne fournie ?

Un rapide message aux administrateurs : j’utilise le forum pour documenter l’avancement du projet. Merci de ne pas sans cesse désactiver mes posts automatiquement, pour ensuite les réactiver. C’est normal que je puisse demander et échanger des informations concernant l’approvisionnement de pièces d’un projet libre. En particulier, ma BOM a été désactivée (BOM = Bill Of Materials). Les liens vers Github ne semblent pas autorisés non plus, est-ce habituel ? RTKbase est sur Github … J’aimerais également pouvoir modifier mes pots à posteriori, y compris pour y enlever des références commerciales indésirables sur le forum. Qu’il n’en déplaise à certains, mon objectif est de descendre sous les 200 euros tout compris, et peut-être en deçà si on trouve des alternatives meilleurs marché (je pense à 100 euros avec des pièces d’occasion). Mon objectif est de démocratiser le RTK, donc si je ne peux pas lister la BOM avec les prix d’approvisionnement on ne pourra jamais étudier les coûts induits par ce projet libre. Et ce n’est pas de la publicité.

Voici les premières photos du boîtier Mikrotik Wap L. Il y en a des dizaines (centaines ?) de milliers dans le monde et aucun ne prend l’eau:

  • A gauche : c’est le cache partie basse
  • Au centre : c’est le chapeau qui protège de l’eau.
  • A droite : la partie électronique.

Vous remarquerez qu’il n’y a aucun joint et que le boîtier très aéré n’a aucun risque d’avoir de la condensation. Il est prévu pour tenir par tous les temps, de -20°C à +50°C. Certains sont installés en zone arctique et cela fonctionne.

Comme je suis nouvel utilisateur du forum, je ne peux pas poster plus de photos, désolé.

Encore une photo: le boîtier une fois monté.

Si vous êtes doués en 3D et que vous souhaitez aider, toute aide est la bienvenue. Je pense qu’on peut imprimer le chapeau verticalement à condition qu’il ne soit pas trop haut. Tout en PETG pour résister aux UV.

Je viens de faire un aller-retour dans un magasin de bricolage et les boîtiers proposés ne conviennent pas (plus adaptés à de l’électricité), donc je vais partir sur une impression 3D. J’ai trouvé ce projet sous OpenSCAD, qui compile en fonction de paramètres initiaux et fournit un modèle adapté:

Le bémol, c’est que je vais devoir imprimer avec du TPU l’isolant, mais pourquoi pas après tout …

On peut produire par exemple cela:

Il faudra ajouter les emplacements pour visser la Pi et le GNSS choisi.

Edit : je vais utiliser le modèle indiqué ci-dessous, qui est un remix. On peut indiquer dans OpenSCAD le nombre de cartes en interne et positionner les accroches. J’ai testé, cela fonctionne super-bien. Donc impression dès ce soir. Par contre, je ne suis pas certain d’avoir des inserts …

https://www.printables.com/model/72839-customizable-parametric-stable-and-waterproof-elec/files

Bonjour,

Très bon travail.

Pour votre base , Antenne Beitan BT-800S .

Il faut garder le post sur le LG290P+Raspberry
et créer un post au nom de votre base .

Avec 110 € ( carte et antenne ), on peut créer un trés bon Rover
en mettant l’antenne sur une plaque métallique (D:15cm) et
une carte Bluetools HC05 puis le tester avec SW MAPS
et NTRIP client Lefevre avec une configuration pour :

TXD2/RXD2 pour HC-05
115200 bd

TXD3/RXD3 pour sortie NMEA (Autoguidage)
19200 bd
GGA,GLL,VTG et GSA

Pouvez vous créer la config pour les futurs utilisateurs.
Merci d’avance .

A+

Merci, c’est un plaisir de travailler sur ce projet. Je pense que cela sera d’une grand utilisé, surtout à la campagne … Quand on pense à toutes les utilisations possibles de RTK, c’est vraiment génial.

Hier, en cherchant une antenne de précision sur un site bien connu, j’ai trouvé par hasard et acheté un kit comprenant une carte Unicorn UM980 et une antenne de précision (on dirait une Beitan).

Donc, j’ai maintenant de quoi faire une antenne et un rover. L’offre était trop alléchante et j’ai “craqué” (même pas la moitié du prix d’une antenne neuve).

Je ne sais pas encore ce qui sera sur le rover et ce qui sera sur la base.

Heureusement, je dispose de deux Raspberry Pi 3B.

Par ailleurs, mon imprimante 3D est en panne et j’attends des pièces pour la réparer. Donc je reprends le travail dès demain en imprimant un premier boîtier. J’aimerais avancer sur la question des boîtiers que je trouve essentielle pour la communauté. Au début je ferai des boîtiers standard, mais ensuite j’aimerais designer un boîtier avec capuchon amovible, comme le Mikrotik.

Bien réfléchi, je vais utiliser le kit UM980 pour la base, ce qui me permettra de hacker la carte LG290P sans perturber les services.

J’ai une question concernant le positionnement de l’antenne. Au pied d’un mur de la maison, il y a un mât d’antenne sur lequel je pourrais positionner l’antenne GPS. A quelques mètre, j’ai un mur qui donne des deux cotés de la maison, mais l’installation sera (relativement) moins facile d’accès.

Actuellement, l’antenne est simplement posée à terre pour test. Je ne vois pas beaucoup de satellites et mes coordonnées n’apparaissent pas dans GTK base. Est-ce un problème ?

Ma question est un peu plus générale : à partir de quand peut-on considérer que la réception est correcte (pas optimale) ? Combien de satellites doit-on voir et est-ce important d’en voir beaucoup ?

J’ai scotché pour test l’antenne sur le mat et je capte 3 satellites de plus. Donc effectivement la seule manière de savoir où positionner l’antenne c’est de tester. J’aimerais cependant savoir à partir de quel moment on considère que la réception est satisfaisante pour le projet centripète.

Merci. Pour info, j’ai acheté une antenne Beitan BT-800S ainsi que deux pieds en aluminium pour les visser. De cette manière, je me ferai deux bases, dont une pour des tests.

Sur leur site, j’ai vu un tas de possibilité, notamment des antennes pour drones que nous pourrions intégrer directement au boîtier pour faire un tout-en-un et abaisser les coûts.