Note : This tool is currently under testing. Feel free to provide feedback here or file an issue in this Github repository.
Name | GitHub |
---|---|
Arno Balois | Arno-Balois |
GitHub |
---|
septentrio-users |
Septentrio Support Page PyDataLink is not officially supported by Septentrio however Septentrio can provide great help around Septentrio GNSS receivers |
---|
Septentrio website | Contact | Resources |
---|---|---|
Septentrio home page | Septentrio contact page | Septentrio resource page |
Data Link is a software tool developed by Septentrio a manufacturer of GNSS receivers and is available as part of the RxTools suite. RxTools is a collection of GUI tools designed for monitoring and configuring Septentrio's GNSS receivers, logging data and downloading SBF data files, as well as analyzing and converting SBF data files to different formats.
Septentrio is a leading provider of high-precision GNSS solutions known for delivering robust and reliable positioning technology across various industries.
Data Link, within the RxTools suite, serves as a graphical communication terminal that enables users to establish connections with multiple devices and facilitate data transfer between them.
Pydatalink is an application whose functions are similar to RxTools' Datalink, but whose special feature is that it is compatible with ARM and x86 systems. The idea of recreating a data link application came from the fact that the current version of Datalink is only compatible with x86 architectures.
The second major feature of this version is that the code is entirely open source, unlike the Datalink code. The aim of making the project available as open source is to allow the community to contribute to the development of the tool in order to integrate new functionalities.
These are the major features of PyDataLink:
- Connecivity for up to 6 parallel connections: TCP , UDP , Serial: Handy for GNSS receivers or other sensors/systems
- Support for NTRIP Client including TLS support
- Logging of data passing through the connection
- Automatic configuration scrips at connection and/or disconnection (handy to automatically configure GNSS receivers or other sensors)
- Terminal Display on connections
- Redirection of data to multiple connections
While the tool has been mainly tested with Septentrio GNSS receivers, it is generic enough to work with other systems (e.g. cell modems, radios, u-blox receivers, etc).
As pyDatalink app is entirely developed with python, you must first install python and all its dependencies.
We recommend using a version of python that is 3.11.2 or higher.
1 - Update Package index
sudo apt update
2 - Install Python
sudo apt-get install python3 pip
Download the latest version of the Python executable installer for Windows from the the official Python downloads page .
Or open the windows store and search for python and click on install
Once you've installed python, all you have to do is download the source code and launch the application.
git clone https://github.com/septentrio-gnss/Septentrio-PyDataLink.git
cd Septentrio-PyDataLink
- First click on code.
- Then click on dowload Zip
to build and generate the executable file , run the folowing command
python build.py
After the build is successfully completed , a executable file will be generated
As this project is open source, two guides are available:
- a guide for users which describe all the available functionnalities
- a developer's guide which explains how the program is structured and how it works
The purpose of the user guide is to explain how to install the application, how to use it and also to present the various functionnalities.
The purpose of the development guide is to explain how the code is structured, how the programme works and how it was made. This guide is mainly intended for people who want to keep the programme up to date.
The current version of pyDatalink has been tested on the following plateform :
- Raspberry Pi OS 64bit with Desktop - kernel : 6.6 ( Raspberry pi 4)
- Windows 10 (GUI & CMD only)
The current version of pyDatalink has been tested with the following packages version :
- Python 3.11.2 and 3.12.3
- pyserial 3.5
- PySide6 6.7.0
- PySide6_Addons 6.7.0
- PySide6_Essentials 6.7.0
- shiboken6 6.7.0
- simple-term-menu 1.6.4
- typing_extensions 4.11.0