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
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)
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