Septentrio GPS
What it does:
- Reads NMEA messages from the gps receiver (over serial or ip)
- parses them and calculates ENU coordinates
- publishes
latlonandenudata as json to mqtt topics.
mqtt messages
topic: /gps/position
{"lat":51.45655803,"lon":6.08187908,"x":-13.354,"y":-67.59,"gps_qual":4,"time":"14:27:27.800000","ts":1726149158.437}
topic: /gps/direction
{"heading":152.22,"heading_stdev":0.084,"theta":-1.0859,"ts":1726149158.441}
1. Configure receiver
Install and configure gps receiver as described in installation manual
2. Launch docker container
get docker image (use tag for version)
registry.gitlab.com/roxautomation/components/septentrio-gps:latest
launch container with
docker run \
-e GPS_NODE_TYPE=ip \
-e GPS_IP_HOST=<hostname> \
registry.gitlab.com/roxautomation/components/septentrio-gps:latest
Set these environment variables to override default settings:
MQTT
- MQTT_HOST: MQTT server host (default:
"localhost"). - MQTT_PORT: MQTT server port (default:
1883). - MQTT_POSITION_TOPIC: MQTT topic for GPS positions (default:
"/gps/position"). - MQTT_DIRECTION_TOPIC: MQTT topic for GPS directions (default:
"/gps/direction").
GPS
- GPS_NODE_TYPE: "serial" or "ip" (default:
"serial"). - GPS_SERIAL_PORT: Serial port for GPS (default:
"/dev/gps_nmea"). - GPS_SERIAL_BAUD: Baud rate for GPS serial communication (default:
115200). - GPS_IP_HOST : ip server address (default
localhost) - GPS_IP_PORT : ip port (default
28000) - GPS_REF: gps reference point, provide lat,lon, example:
GPS_REF="51.123,6.456"
Precision
- DIGITS_POSITION : meter position accuracy, defaults to 3
- DIGITS_LATLON : digits latitude and longitude, defaults to 8
- DIGITS_ANGLE : angle accuracy, defaults to 4
(note: configuration is defined in config.py)
Development
There should be mqtt broker available on the host system. If not, there is a docker image for that:
docker run -d --name mosquitto --restart unless-stopped -p 1883:1883 registry.gitlab.com/roxautomation/images/mosquitto:latest
- Open in VSCode devcontainer. Virtual com port is located at
/tty/tty_nmea_rx - Pre-recorded nmea stream can be sent to com port with
replay_data.pyinintegration/datafolder.
Metadata
Release files for rox-septentrio 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rox_septentrio-1.0.1.tar.gz | 864.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rox_septentrio-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 879.5 kB
Release files / rox_septentrio-1.0.1.tar.gz
| Download URL | rox_septentrio-1.0.1.tar.gz |
|---|---|
| Size | 864.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
673579ebee9a45de5685dfee3966700fa5ad579edf0ed6b4be08ab93dc0e240c
|
|
BLAKE2b-256 checksum How to use checksums |
8b232bd631137eacc7967c275f01690935ff52f476f447c260857852b720cf15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.10
|
Release files / rox_septentrio-1.0.1-py3-none-any.whl
| Download URL | rox_septentrio-1.0.1-py3-none-any.whl |
|---|---|
| Size | 15.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6216e9f9780bf68adf34239921c03fba2a2f57ab8ff22b000d808247e0e06dbb
|
|
BLAKE2b-256 checksum How to use checksums |
b0b955f20b5f74420587dc721fbd04113eee57a2f4aef02a836e02694a85f023
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.10
|