taroz / TouchRTKStation

Single-Frequency RTK-GNSS Rover/Base Station based on RTKLIB
MIT License
91 stars 43 forks source link

TouchRTKStation

日本語で説明はこちら

Introduction

Functions

Rover station

Base station

Features

How to assemble

Parts

Setup (Hardware)

Setup (Software)

Install Raspbian

Install TouchRTKStation

  1. Connect the Raspberry Pi to the internet.
  2. Download the TouchRTKStation
    $ cd /home/pi/
    $ git clone https://github.com/taroz/TouchRTKStation.git
  3. Connect the 4inch touch screen to the Raspberry Pi. Run Install.sh
    $ cd /home/pi/TouchRTKStation/install
    $ sudo sh Install.sh
  4. 4inch touch screen is enabled. If you want to return back to HDMI output,
    $ cd LCD-show
    ./LCD-hdmi
  5. Run TouchRTKStation
    $ sudo python3 /home/pi/TouchRTKStation/TouchRTKStation.py
  6. If you want to quit the TouchRTKStation, use Alt+F4
  7. If you want to automatically start the TouchRTKStation
    $ cd /home/pi/TouchRTKStation/install
    $ sudo sh Autostart.sh

How to use

  1. Insert a USB memory to the Raspberry Pi. GNSS raw data (.ubx file) is stored in the USB memory. In the rover mode, positioning results (.pos file) are also stored. If there is no USB memory, GNSS data are stored in the home directory of the Raspberry Pi.
  2. To connect NTRIP caster or NTRIP server in the rover mode, or to connect a rover in the base mode, a network connection via WiFI is needed. The wireless communication device such as ZigBee dongle, which can be recognize as USB serial port, is also can be used.

Rover mode

  1. Select “Rover” tab. Select “Single”,”RTK(Static)”, or “RTK(Kinematic)
  2. Push “Config”. For RTK-GNSS, setup the input stream information in the “Correction1” tab. If ZigBee or any wireless communication device, which are recognized as USB serial port, is used to receive the GNSS data, setup the input stream information in “Correction2” tab. In the “BasePos” tab, input the base sanitation position.
  3. Push “Start”. Positioning results will be shown after GNSS ephemeris data are decoded.
  4. Push “Stop”. GNSS Raw data and positioning result are stored in the USB memory.

Base mode

  1. Select “Base” tab.
  2. Push “Config”. To broadcast GNSS correction data, setup a output stream information in the “Output1” tab. If ZigBee or any wireless communication device, which are recognized as USB serial port, is used to transmit the GNSS data, setup the output stream information in “Output2” tab. If you want to convert the UBX format to the RTCM format, input the base station position in "BasePos” tab.
  3. Push “Start”. GNSS data will be stored or broadcasted.
  4. Push “Stop”. GNSS Raw data are stored in the USB memory.

Configure default settings

Modify L26 to L97 in "TouchRTKStation.py"

# ublox command file for Base/Rover mode
ubxcmd = dirtrs+'/conf/ubx_m8t_bds_raw_1hz.cmd'

# Default Base position configuration
basepos_type = (['LLH','RTCM']) # for Rover
basepos_itype = 1 # for Rover
basepos_lat = '35.0'
basepos_lon = '139.0'
basepos_hgt = '50.0'

# Default Input stream configration
input_iport= 2         # ttyACM0
input_ibitrate = 9     # 115200 bps
input_ibytesize = 1    # 8 bit
input_iparity = 0      # None
input_istopbits = 0    # 1 bit
input_iflowcontrol = 0 # None

# Default Correction stream configration
corr_flag = False
corr_type = (['NTRIP Client','TCP Client'])
corr_itype = 0
corr_format = (['RTCM2','RTCM3','BINEX','UBX'])
corr_iformat = 1
corr_user = 'user'
corr_addr = 'test.net'
corr_port = '2101'
corr_pw = 'password'
corr_mp = 'RTCM'

# Default Correction(Serial) stream configration
corr2_flag = False
corr2_format = (['RTCM2','RTCM3','BINEX','UBX'])
corr2_iformat = 3
corr2_iport= 4         # ttyUSB0
corr2_ibitrate = 9     # 115200 bps
corr2_ibytesize = 1    # 8 bit
corr2_iparity = 0      # None
corr2_istopbits = 0    # 1 bit
corr2_iflowcontrol = 0 # None

# Default Log/Solution stream configration
log_flag = True
sol_flag = True
dir = glob.glob('/media/*/*/') # Find USB memory
if len(dir)==0:
    dir = [dirtrs+'/']
sol_filename = dir[0]+'%Y-%m%d-%h%M%S.pos'
log_filename = dir[0]+'%Y-%m%d-%h%M%S.ubx'

# Default Output stream configration
output_flag = False
output_type=(['TCP Server','NTRIP Server','NTRIP Caster'])
output_itype = 0    # TCP Server
output_format = (['UBX','RTCM3'])
output_iformat = 0  # UBX
output_user = 'user'
output_addr = 'test.net'
output_port = '2101'
output_pw = 'password'
output_mp = 'TRS'

# Default Output(Serial) stream configration
output2_flag = False
output2_format = (['UBX','RTCM3'])
output2_iformat = 0      # UBX
output2_iport= 4         # ttyUSB0
output2_ibitrate = 9     # 115200 bps
output2_ibytesize = 1    # 8 bit
output2_iparity = 0      # None
output2_istopbits = 0    # 1 bit
output2_iflowcontrol = 0 # None

Configure positioning settings

Modify the "xxxx.conf" file of RTKLIB. Configuration files are in the following directory

$ cd /home/pi/TouchRTKStation/conf/