Gnss monitor: Difference between revisions
From Rsewiki
No edit summary |
|||
| Line 3: | Line 3: | ||
== Screenshot == | == Screenshot == | ||
[[file:Gnss_sat_pos_Screenshot_20250801.png | | [[file:Gnss_sat_pos_Screenshot_20250801.png | 300px]] | ||
[[file:gnss_own_pos_Screenshot_20250801.png | | [[file:gnss_own_pos_Screenshot_20250801.png | 300px]] | ||
[[file:gnss_sat_cnt_hist_Screenshot_20250801.png | | [[file:gnss_sat_cnt_hist_Screenshot_20250801.png | 300px]] | ||
== Required packages == | == Required packages == | ||
Revision as of 12:52, 1 August 2025
Experiments to extract and display GNSS live or recorded data
Screenshot
Required packages
Install Geographic library from https://geographiclib.sourceforge.io/C++/doc/install.html. Other libraries should be in the default repository.
libgeographiclib-dev libpaho-mqttpp-dev qt6-base-dev sudo apt install libgeographiclib-dev libpaho-mqttpp-dev qt6-base-dev
For Python install
pip install geographiclib
or
sudo apt install python3-geographiclib
Build
Code is found here (on SVN)
svn co svn://repos.gbar.dtu.dk/jcan/svnjca/projekter/gnss_receiver
The C++ code is then in qt/gnss_qt
Build by
cd gnss_receiver/qt/gnss_qt mkdir -p build cd build cmake .. make -j3
Run to create a configuration file
./gnss_qt
CMake problem
GeographicLibConfig.cmake
The find package
find_package(GeographicLib REQUIRED)
in cmake fails, as the file GeographicLibConfig.cmake is not found.
This can be fixed by renaming the provided file FindGeographicLib.cmake by
cd /usr/share/cmake/geographiclib sudo ln -s FindGeographicLib.cmake GeographicLibConfig.cmake
XKB
Missing library, and CMake complains:
-- Could NOT find XKB (missing: XKB_LIBRARY XKB_INCLUDE_DIR) (Required is at least version "0.5.0")
The solution was to install
sudo apt install libxkbcommon-dev
This occurred on Raspberry Pi 5 using the 64-bit default OS.
Configure
After the gnss_qt is run the first time, there should be a default configuration file
[service] logpath = log_%d/ ; the '%d' will be replaced with date and timestamp (must end with a '/'). = max_logging_minutes = 60.0 log_service = true [mqttin] broker = tcp://10.59.9.201:1883 context = not used clientid = ublox9_in function = nmea/ system = ublox9/ log = true print = false use = false [gnss] input_use = true input = /dev/ttyACM0 ; input = ../../../log/log_mqtt.txt log = false [in] ; set 'saveconfig' to 'false' to avoid autosave = saveconfig = false version = 2285 2025-06-26 07:20:46
There are two input alternatives:
- From a file (default may be '/dev/ttyACM0') or a logfile generated by the MQTT streamer for NMEA messages. Set 'input_use = true' to use this alternative.
- From a MQTT server that streams the NMEA messages. Change the IP in the [mqttin] group and change to 'use=true'. The NMEA messages are assumed to be in the payload of the message, and the subject as described (subscribing to 'ublox9/nmea/#').