Skip to main content Link Menu Expand (external link) Document Search Copy Copied

RTKDroid

Une solution pour transformer votre smartphone Android en un récepteur GNSS RTK avec une distribution Linux et RTKlib

  • Tracer les journaux de bord llh
  • Positionnement centimétrique sur toutes vos applications avec géolocalisation
  • Tout ce qui peut faire RTKlib…

Attention, il est nécessaire d’avoir une base RTK à proximité de la zone d’acquisition. https://centipede.fr

Matériel

Smartphone

  • Un smartphone / tablette 64 bits.
  • Pas besoin de root sur votre appareil.
  • USB OTG

Antenne GNSS pour la réception bifréquence

Ublox F9P

Android APK

Applications Android requises

Userland > UserLAnd est une application open-source qui vous permet d’exécuter plusieurs distributions Linux comme Ubuntu, Debian, et Kali.

ConnectBot > ConnectBot est un puissant client SSH (Secure Shell) à code source ouvert. Il permet de multiples sessions SSH simultanées, de créer des tunnels et de faire des copier/coller avec d’autres applications.

TCPUART > Cette application permet de connecter un adaptateur USB UART (Serial) à un socket TCP, pour envoyer et recevoir des données. Cette application est nécessaire, car le Userland n’a pas encore accès au point de montage USB Android.

Applications Android en option

droidinfo > vérifier que son smartphone est bien en 64 bits

Lefebure > prendre les données de position NMEA de la solution d’affichage RTKlib et activer la simulation de localisation d’un androïde.

Configurer l’antenne

mettre à jour le microprogramme

Tout d’abord, il est nécessaire de mettre à jour le [firmware] (https://fr.wikipedia.org/wiki/Firmware) de votre module F9P.

  • Installer U-center (Windows ou Linux Wine)

  • [Mise à jour du micrologiciel F9P] (https://drotek.gitbook.io/rtk-f9p-positioning-solutions/tutorials/updating-zed-f9p-firmware)

Installation sur smartphone android

  • installer Userland, ConnectBot et TCPUART à partir de PlayStore

Userland

Configurer

  • Télécharger RTKlib-debian-rootfs_X_X.tar.gz sur le stockage interne d’Android.
  • Démarrer le Userland
  • Aller sur “files system “ et cliquer sur +
  • combler les lacunes :
    • système de fichiers de noms : RTKlib
    • utilisateur nme : rover
    • mot de passe : 123456
    • mot de passe vnc : 123456
    • système de fichiers : Debian
  • Cliquez sur Afficher les options avancées et sélectionnez l’image que vous avez téléchargée précédemment.
  • Enregistrer (en haut à droite)
  • Allez à “Sessions “ et cliquez sur +
  • combler les lacunes :
    • nom de la session : rover
    • système de fichiers : RTKlib:Debian
    • type de service : ssh
  • Sauvegarder (en haut à droite)

Userland

Fonctionne avec l’antenne connectée

  • Connecter via usb l’antenne au smartphone (adaptateur OTG)
  • Démarrer l’application TCPUART :
    • cliquez sur Connect
    • modifier le port à 8080
    • cliquez sur Démarrer
    • DON’T CLOSE TCPUART, reviens sur android à la maison avec ton bouton
  • Démarrer l’espace utilisateur
    • Aller à “Sessions “
    • Un clic sur rover –> RTKlib:Debian
    • autoriser ConnectBot à se connecter
    • entrez le mot de passe 123456
  • Affichage RTKlibDroid
Paramétres actuels
------------------
Positionnement: kinematic
Mount Point: LIENSS
Rate: 1000 ms
Model: Pedestrian
Elevation: 10°
Input: tcpcli :@localhost:8080:
caster: caster.centipede.fr:2101 rtcm3
GPS : Oui
GAL : Oui
BDS : Oui
QZSS: Oui
GLO : Oui
------------------
1) Start Rover
2) Display Param
3) Modification
4) Quit
Choisir une action:
  • si les paramètres sont corrects, démarrer Rover RTKLIB : écrire 1 + entrer
Choisir une action: 1

** rtkrcv ver.demo5 b33b2 console (h:help) **
rtk server start
rtkrcv> 
  • Vous pouvez écrire “status 1” + “entrer”
rtkrcv> statut 1

ex:

Parameter                   : Value
rtklib version              : demo5 b33b2
rtk server thread           : 335542016
rtk server state            : run
processing cycle (ms)       : 10
positioning mode            : kinematic
frequencies                 : L1+L2
accumulated time to run     : 00:06:25.7
cpu time for a cycle (ms)   : 25
missing obs data count      : 0
bytes in input buffer       : 0,0
# of input data rover       : obs(1929),nav(30),gnav(7),ion(174),sbs(0),pos(0),dgps(0),ssr(0),err(0)
# of input data base        : obs(384),nav(34),gnav(9),ion(0),sbs(0),pos(26),dgps(0),ssr(0),err(0)
# of input data corr        : obs(0),nav(0),gnav(0),ion(0),sbs(0),pos(0),dgps(0),ssr(0),err(0)
# of rtcm messages rover    : 
# of rtcm messages base     : 1004(385),1005(13),1006(13),1012(385),1019(156),1020(221),1042(130),1045(646),1046(646),1077(385),1087(385),1097(385),1127(384)
# of rtcm messages corr     : 
solution status             : fix
time of receiver clock rover: 2020/02/03 14:56:19.199867116
time sys offset (ns)        : 49.277,-4.175,41.798,0.000
solution interval (s)       : 0.200
age of differential (s)     : 2.200
ratio for ar validation     : 3.113
# of satellites rover       : 36
# of satellites base        : 41
# of valid satellites       : 20
GDOP/PDOP/HDOP/VDOP         : 1.4,1.3,0.7,1.0
# of real estimated states  : 9
# of all estimated states   : 353
pos xyz single (m) rover    : 4438272.095,-79653.936,4564680.439
pos llh single (deg,m) rover: 45.99214112,-1.02818042,55.256
vel enu (m/s) rover         : -0.003,-0.005,0.003
pos xyz float (m) rover     : 4438271.878,-79653.347,4564680.174
pos xyz float std (m) rover : 0.014,0.018,0.009
pos xyz fixed (m) rover     : 4438272.095,-79653.936,4564680.439
pos xyz fixed std (m) rover : 0.007,0.004,0.005
pos xyz (m) base            : 4426044.934,-89425.964,4576296.255
pos llh (deg,m) base        : 46.14264305,-1.15747430,67.958
# of average single pos base: 0
ant type rover              : 
ant delta rover             : 0.000 0.000 0.000
ant type base               : 
ant delta base              : 0.000 0.000 0.000
vel enu (m/s) base          : 0.000,0.000,0.000
baseline length float (m)   : 19491.935
baseline length fixed (m)   : 19491.618
last time mark              : -
receiver time mark count    : 0
rtklib time mark count      : 0

NMEA

Le NMEA est disponible sur http://localhost:9000

Logs LLH

Lorsque les journaux de démarrage d’une session sont des écritures sur un répertoire de partage disponible sur android : “Storage/Android/data/tech.ula/files/storage/gnss/solution”.

Modifier les paramètres

Choisir une action: 3
1) RTK setting	      3) Caster Connexion   5) Return
2) Antenna Connexion  4) Satellites

1) Réglage de la RTK

Modifier:1
1) Positionning Mode  3) Elevation	    5) Return
2) Model	      4) Rate
Modifier:1

Change 1: kinematic to:

3 : static
2 : single
1 : kinematic

Modifier:2

Change Model: 3 : Pedestrian to:

0 : Portable
2 : Stationary
3 : Pedestrian
4 : Automotive
5 : Sea
6 : Airborne <1g
7 : Airborne <2g
8 : Airborne <3g

Modifier:3

Change elevation mask: 10° to:

Modifier:4

change Rate: 200 ms to:

2) Connexion de l’antenne

Modifier:2
1) RCV connection
2) Return
Modifier:1

Change receiver connection: tcpcli to:
2 : serial
1 : tcpcli
  • paramètres par défaut tcp : :@localhost:8080: + llh logs outpath /storage/internal/gnss/solutions/
  • Utilisez le port série si vous voulez exécuter RTKlibDroid sur un PC, les paramètres par défaut étant le port série : ttyACM0:115200:8:n:1:off + llh logs outpath ./solution/`

3) Caster Connexion

Modifier:3
1) Caster Mount Point  3) Caster Port	      5) Caster Password
2) Caster Adresse      4) Caster Username     6) Return
Modifier:1

change Mount Point: LIENSS to:

Modifier:2

change caster adress: caster.centipede.fr to:

Modifier:3

change caster port: 2101 to:

Modifier:4
!!!Paramètre non intégré!!!
change caster username: to:

Modifier:5
!!!Paramètre non intégré!!!
change caster password: to:

4) Les satellites

Modifier:4
1) GPS
2) GAL
3) GLO
4) BDS
5) QZSS
6) Return
Modifier:1

GPS activ: Oui to:
Non : 0
Oui : 1

Modifier:2

GALILEO activ: Oui to:
Non : 0
Oui : 1

Modifier:3

GLONASS activ: Oui to:
Non : 0
Oui : 1

Modifier:4

BEIDOU activ: Oui to:
Non : 0
Oui : 1

Modifier:5

QZSS activ: Oui to:
Non : 0
Oui : 1

Autres paramètres

Vous pouvez éditer les fichiers de conf avec nano, ils sont ici :

./var/rtkrcv_var.txt

./var/F9P_var.cmd

Lieu fictif

Vous pouvez utiliser l’apk de Lefebure pour voir le statut et utiliser la simulation de localisation d’un android