Changes between Version 35 and Version 36 of expansion/gw16143


Ignore:
Timestamp:
12/06/2024 09:54:00 PM (2 weeks ago)
Author:
Ryan Erbstoesser
Comment:

update formatting for dev kit

Legend:

Unmodified
Added
Removed
Modified
  • expansion/gw16143

    v35 v36  
    391391
    392392=== Step 4 - Using Point Perfect Service for Precision Location
    393 Using an ethernet, wireless or cellular connection, download the dev kit scripts from the Gateworks github on the single board computer command line:
     393
     394U-blox also provides a GNSS augmentation service called !PointPerfect. It features the following:
     395
     396 * 3-6 cm¹ accuracy and convergence within seconds
     397 * Uniform coverage on a continental scale, coverage map [https://www.u-blox.com/en/pointperfect-service-coverage here]
     398 * 99.9% uptime availability via internet and L-band satellite
     399 * Lower bandwidth to reduce user data costs
     400 * On Demand Pricing
     401 * Pre-integrated with u-blox F9 and D9 high precision GNSS modules
     402
     403The easiest way to use !PointPerfect with the ZED-F9P is through [https://github.com/semuconsulting/pygnssutils pygnssutils]. Our examples also leverage the GW16132 for cellular connectivity and were able to get very precise data in a moving vehicle, even with relatively low reception, though !PointPerfect has various delivery methods (NTRIP, MQTT, L-Band). For this example, the script works without too much configuration since Linux configures cellular modems to make connections work seamlessly.
     404
     405!PointPerfect can get extremely accurate positioning data extremely quickly with relatively low bandwidth (kilobytes / minute). Combined with the [https://www.gateworks.com/products/mini-pcie-expansion-cards/gw16132-mini-pcie-expansion-card/ GW16132] for LTE/Bluetooth, differential fixes can be easily received in hard-to-reach locations.
     406
     407!PointPerfect uses SPARTN in lieu of RTCM3.x data as it is claimed to be data-saving relative to other NTRIP protocol formats. After around an hour of using the NTRIP service there was only around 500kB of data usage while simultaneously getting centimeter-level accuracy in a moving vehicle (at 1 sample/second location data).
     408
     409Free-to-use rtk base stations (such as rtk2go.com) or your own base station can be used to get NTRIP corrections for high accuracy without a subscription, but !PointPerfect poses itself as a great solution given it's scalability, security, reliability, and simple integration.
     410
     411Using an ethernet, wireless or cellular connection, download the dev kit scripts to from the Gateworks github on the single board computer command line:
    394412{{{
    395413git clone https://github.com/Gateworks/gnss_devkit.git
     
    402420}}}
    403421
    404 Then, configure settings.toml and .secrets.toml using your favorite text editor like vi.
     422Then, configure settings.toml and .secrets.toml to add in your Point Perfect credentials using your favorite text editor like vi. Contact Gateworks Sales Department {{{sales@gateworks.com}}} to get a free 1-month access code for Point Perfect!
    405423
    406424Then Activate the virtual environment which has the dependencies via the command:
     
    414432}}}
    415433
    416 !!! NOTE: setup.sh MASKS gpsd with the command "systemctl mask gpsd". !!! This is because the scripts provided use custom instances of gpsd + cgps, and pygnssutils uses /dev/ttyACM0. To reduce conflict the system daemon is disabled. You should re-enable it for your own programs.
     434''' !!! NOTE !!! ''' : setup.sh MASKS gpsd with the command "systemctl mask gpsd". !!! This is because the scripts provided use custom instances of gpsd + cgps, and pygnssutils uses /dev/ttyACM0. To reduce conflict the system daemon is disabled. You should re-enable it for your own programs.
    417435
    418436More information about !PointPerfect is shown on this page under the [#pointperfect PointPerfect section]
    419437
    420 A common evaluation usecase is: Running "cgps" in the foreground to monitor GPS data, along with !PointPerfect GNSS corrections.
    421 
    422 To do this, you would edit the credentials in the secret settings file as per the !PointPerfect site, set run_pygnssutils_in_foreground to false, and set the foreground process to "cgps". To use cgps with the script, you also must enable the gpsd bridge. The default settings will be OK in most instances.
    423 
    424 Another usecase may be configuring and viusalizing the GPS data in u-center. u-center is a Windows application, but it nevertheless can be both powerful in configuring and visualizing the GPS. To use u-center, you do NOT want to use our script, rather just use a one line command to send all /dev/ttyACM0 data over TCP.
    425 {{{
    426 $ socat TCP-LISTEN:12345,reuseaddr,fork /dev/ttyACM0,raw,echo=0
    427 }}}
    428 
    429 === Troubleshooting
    430 
    431 
    432 If you're getting 0,0,-17 as a coordinate, make sure that your antenna is connected well. Ensure python is updated, the script used Python 3.10.12.
    433 
    434 === Architecture
     438
     439'''Architecture'''
    435440{{{
    436441                 GPS TESTING SCRIPT: start_gps.py
     
    466471}}}
    467472
     473
     474=== Step 5: Output Corrected Positioning Data
     475
     476==== Option 1: CGPS
     477A common evaluation usecase is: Running "cgps" in the foreground to monitor GPS data, along with !PointPerfect GNSS corrections.
     478
     479To do this, you would edit the credentials in the secret settings file as per the !PointPerfect site, set run_pygnssutils_in_foreground to false, and set the foreground process to "cgps". To use cgps with the script, you also must enable the gpsd bridge. The default settings will be OK in most instances.
     480
     481==== Option 2: ublox u-center
     482Another usecase may be configuring and visualizing the GPS data in u-center. u-center is a Windows application, but it nevertheless can be both powerful in configuring and visualizing the GPS. To use u-center, you do NOT want to use our script, rather just use a one line command to send all /dev/ttyACM0 data over TCP.
     483{{{
     484$ socat TCP-LISTEN:12345,reuseaddr,fork /dev/ttyACM0,raw,echo=0
     485}}}
     486
     487=== Troubleshooting
     488
     489
     490If you're getting 0,0,-17 as a coordinate, make sure that your antenna is connected well. Ensure python is updated, the script used Python 3.10.12.
     491
     492
     493