RTKLIB Touchscreen GUI
RTKLIB GUI (Graphic User Interface) for Raspberry Pi with touchscreen made with Qt4 by the ENSG students
Update news : February 2019 update
- Added ntrip server option in base mode, choose ntrips in output stream and give a ntrip server path (tested with rtk2go.com).The default string goes to rtk2go.com caster with Myplace as mountpoint, just change the mountpoint name and add your receiver info with -i "Ublox-M8T,3.27,00001" (firt string is receiver name, second string is firmware version, third string is serial number, station info with -sta "your station info" is not working yet on rtk2go)
- Added a install script pack, tested on raspbian stretch and a RPI3you can get it with wget https://github.com/Francklin2/RTKLIB_Touchscreen_GUI/raw/master/RTKbase_installer.zip
- the ENSG project for this year is to convert the C++ code into a python script based on the Taroz TouchRTKStation ( https://github.com/taroz/TouchRTKStation ) the release should be around May
- You can type in a EPSG in the save point options, use the syntax EPSG:xxxx (example EPSG:4236) to get a projection transform with cs2cs in you saves point files (no virtual keyboard yet, you have to have a USB one))
May 2018 update
- Added autostart a rover mode at boot, new button and page on main screen to set boot options
- New branch to keep a Qt4 version compatible wth RPI2, now master branch is under QT5
- Added geoid correction file option in the rover mode >> status >> save point option
March 2018 update
- Add post processing on USA CORS stations, still under test but process looks correct now (still need a test from US to confirm that) (Video here)
- Median position is done by average of the XYZ results
- More info on the screen on the download process, progress bar is more precise, debug window is on another tab
February 2018 update
- Automatic post processing to get base position, only compatible on desktop PC and RPI3 with Qt5 installed(still working on QT4/RPI2 compatibility). Works with european RGP ign server. It check for the nearest stations and download and process from 1 to 6 stations, if more than one station is used a median position is calculated.
- Automatic mode with data logging>>post processing>>base station in one click, switch ost processing, put "Autostart base after processing" to "on" to enable else it will just give the results
August 2017 update
- new pages in the wiki : tips and tools, test results by the ENG students
- added data logging from the GNSS for post processing, just choose file in output of the basestation and it's done
- added save position option, you are able to save X points ypu want to record with choosen timing
- added 8 custom configuration files to the original preset
- added you can edit edit most of the RTKlib parameter with the gui for the 8 custom config
- added display of system and GNSS time and date in solution status windows
- added Push button to set PI system date and time with GPS date and time
- issue : return button in edit interface may freeze the software sometimes, allway lauch a configuration after you edited one then stop to avoid that
Take a look to the wiki pages for installation instructions and user manual : https://github.com/Francklin2/RTKLIB_Touchscreen_GUI/wiki
Installation
For raspberry PI 3 (based on raspbian stretch) https://drive.google.com/open?id=1HOssKfLAgLO0DKe1ZVBqeMXHCmyP4w-P
- Copy this image on a SD card, you can use Rufus for that : https://rufus.akeo.ie/
- Insert the SD card in your Raspberry Pi and start it.
Install manually RTKBASE on a fresh image of Raspbian (tested on strech):
- Open the terminal
- do a sudo apt-get update and sudo apt-get upgrade
- Download install scripts with: wget https://github.com/Francklin2/RTKLIB_Touchscreen_GUI/raw/master/RTKbase_installer.zip
- Unzip the installer file in home directory (/home/pi)
- Go to the folder /home/pi/Installer
- Update rights for the 3 scriptswith chmod +x 1-Download_rtkbase.sh chmod +x 2-Build_rtkbase.sh chmod +x 4-Install_LCD_driver.sh
- Lauch the 3 scripts in order to 1 downmload and build RTKbase 2 Install autostart and 3 install driver
You can do it manually with:
- clone the repository: git clone https://github.com/Francklin2/RTKLIB_Touchscreen_GUI
- Go to the RTKBASE directory: cd RTKLIB_Touchscreen_GUI/RTKBASE/
- Run the script to compil: ./build_rtkbase_Qt5_ARM.sh ( or ./build_rtkbase_Qt5_x86.sh on a desktop x86 PC )
- Launch RTKBASE: ./RTKBASE
To install system on a raspberry pi 2 with the touchscreen you can download a raspian image with all the touchscreen drivers, Qt4 and all compilation dependencies preinstalled here :
https://drive.google.com/file/d/0B5xmVAi4jATOcXE3a3BWS0VDUUk/view?usp=sharing
It was based on this original image with only the library for the touchscreen: https://drive.google.com/file/d/0B2SuLGFxizpVMzRtODVkN0tZVjA/view?usp=sharing
You can also download these Pré-installed image of RTKbase, RPI2 contain a master version (june 2016) with autoload and custom splash screen, the version for RPI3 contains Raspbian Jessie with drivers and the Beta version(august 2017)
For raspberry PI 2 https://drive.google.com/open?id=0B5xmVAi4jATOcEQ1TWxaOXprMk0
Autostart RTKBASE at boot :
Very simple but many method to do it :
- Add software to rc.local Run :
sed -i -e '$i \cd /home/pi/RTKLIB_Touchscreen_GUI/RTKBASE/ && RTKBASE\n' rc.local
- Use system root LXDE autostart : Run :
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
Add this :
@/home/pi/RTKLIB_Touchscreen_GUI/RTKBASE/
@RTKBASE
- Use user LXDE autostart : Run :
nano ~/.config/lxsession/LXDE/autostart
Add this :
@/home/pi/RTKLIB_Touchscreen_GUI/RTKBASE/
@RTKBASE
- Add desktop entry to user config : Run :
nano ~/.config/autostart/rtkbase
Copy paste entry below :
[Desktop Entry]
Name=RTKBASE
Type=Application
Comment=RTKLIB Touchscreen : graphic interface to use GNSS.
Exec=/home/pi/RTKLIB_Touchscreen_GUI/RTKBASE/RTKBASE
Make it executable :
chmod +x ~/.config/autostart/rtkbase
Best way for me is option 4 because I do not use LXDE
Source : http://www.raspberrypi-spy.co.uk/2014/05/how-to-autostart-apps-in-rasbian-lxde-desktop/ and kikislater
Add a custom splash screen at boot
Install fbi
sudo apt-get install fbi
Copy the splash image splash.png from /Splashscreen to /etc/
Copy the asplashscreen file in /Splashscreen to /etc/init.d/
Make the script executable and install it for init mode:
sudo chmod a+x /etc/init.d/asplashscreen
sudo insserv /etc/init.d/asplashscreen
To remove text message edit /boot/cmdline.txt change console=tty1 to console=tty3 and add loglevel=3 at the end of file
Based on these tutos:
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/custom-boot-up-screen
http://ananddrs.com/2013/09/18/rpi-hide-boot-msg/
What will you get :
Vidéo of beta build :
How to process data :
Go to Wiki
What precision and accuracy will I get ?
Work in progress ... Stay tuned !
You can watch some information here :
https://github.com/drotek/SMARTNAV-RTK/wiki/SMARTNAV-Field-Tests
http://marcotte-ag.no-ip.org:8080/geomatic/index.html
http://www.afhy.fr/images/pdf/Rapports/UV54_2016/poster_gnss_PPP_GTX.pdf
http://www.gps.gov/cgsic/meetings/2012/lyle.pdf
Material To build this project :
you will need :
- Raspberry pi 2 or 3 and a 8gb SD
- 5 inch HDMI touchscreen like this one https://www.amazon.fr/Waveshare-Raspberry-Resistive-Interface-Rapsberry/dp/B00TIA0PMQ
-
Talysman antenna http://www.digikey.fr/product-detail/fr/0/1526-1016-ND
-
TNC/SMA adapter like this http://www.ebay.fr/itm/370949049924?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
- GNSS Ublox M8T, you can found cheap one at csgshop.com http://www.csgshop.com/product.php?id_product=205
- Standard rectangular on/off power switch http://www.ebay.fr/itm/5Pcs-2-Pin-Snap-in-On-Off-Position-Snap-Boat-Rocker-Switch-12V-110V-250V-K0TG-/311562995499?hash=item488a9a072b:g:zbAAAOSwxp9W39wh
- Régulator Ubec 5V , you can found them in any RC-model shop http://www.ebay.fr/itm/5V-3A-Mini-UBEC-BEC-Converter-Step-Down-Module-For-RC-Plane-FPV-DIY-Aircraft-Fly-/131676464873?hash=item1ea88766e9:g:zmQAAOSwvUlWsgG4
- Battery Adapter Mounting Plate for NP-F970 http://www.ebay.fr/itm/Battery-Adapter-Mounting-Plate-fr-NP-F970-F750-F550-Sony-Battery-970-DSLR-Rig-/172049210887?hash=item280eee9e07
- Battery Sony NP-F970 or a compatible one ( you can find many cheap clones) http://www.ebay.fr/itm/6600mAh-NP-F960-NP-F970-Batteries-pour-NP-F930-F330-F550-F750-F770-SONY-Appareil-/281720172938?hash=item4197d4b18a:g:GN4AAOSwBahVeQMW
- Charger for battery NP-F Sony http://www.ebay.fr/itm/Dual-Channel-Battery-Charger-For-SONY-NP-F970-F750-F960-FM50-FM500H-FM55H-QM91D-/371008913548?hash=item5661dac08c:g:9UUAAOxyLm9TAttp
- mini USB angled for wiring the GNSS http://www.ebay.fr/itm/Court-20cm-Angle-Droit-USB-A-a-90-degres-Angle-Droit-Mini-B-USB-Data-Cable-Cable-/221683667935?hash=item339d6053df:g:dDoAAOSwPhdU1PcB
- Serial RF link, 2 units needed to link a rover too a base like a Xbeepro or a cheaper 3DR télémetry module(Half duplex only !) https://www.sparkfun.com/products/10419 and http://www.ebay.fr/itm/3DRobotics-Radio-3DR-Kit-Telemetry-433Mhz-Module-for-APM-APM2-5-2-6-Pixhawk-PX4-/221852845151?hash=item33a775c45f:g:0YgAAOSwgQ9V0Un~
- Wifi dongle to for internet Ntrip GNSS correction -http://www.ebay.fr/itm/Wireless-USB-Adapter-LAN-Wifi-Dongle-for-Raspberry-Pi-802-11-b-g-n-150Mbps-PK-/311440828311?hash=item488351e797:g:UJIAAOSwWnFV7mJy
- A 1/4 to 3/8 inch screw adapter to mount the RTKBASE on any stands http://www.ebay.fr/itm/2PCS-3-8-to-1-4-inch-convert-screw-thread-adapter-tripod-ball-head-/231677594811?hash=item35f10f8cbb:g:qYoAAOSwqv9V6u21