Driver for Septentrio GPS, posting messages to mqtt
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rox_septentrio-0.5.2.tar.gz.
File metadata
- Download URL: rox_septentrio-0.5.2.tar.gz
- Upload date:
- Size: 860.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94a647872764b356a88bf6c2ebabf04ae63207cd514400971288b96b5d52bd00
|
|
| MD5 |
a214e670de197d1ebf761e13c3e5b6c2
|
|
| BLAKE2b-256 |
aca43003ce7014ade188f6d479b422a8f99bd5502d3aab85d51b453fc08ebb06
|
File details
Details for the file rox_septentrio-0.5.2-py3-none-any.whl.
File metadata
- Download URL: rox_septentrio-0.5.2-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1307f21a407fa8cc9c33569eb546c7562413747aebe1cd4b3a63683458f7c4cc
|
|
| MD5 |
e8f8288f0541c0d4a8700f901c405b8a
|
|
| BLAKE2b-256 |
8cbe4a60e981340137e51353a1b1e220b290149f764c4db39dc8e0cfc5d435b5
|