Forwards PE1RXF APRS telemetry to MQTT broker
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
marcel 8c7895ea92 Release v1.0.0 5 months ago
CHANGELOG.md Release v1.0.0 5 months ago
README.md Release v1.0.0 5 months ago
aprs_telemetry_to_mqtt.py Release v1.0.0 5 months ago
aprs_telemetry_to_mqtt.yml Release v1.0.0 5 months ago

README.md

APRS telemetry to MQTT bridge

The APRS telemetry to MQTT bridge can relay PE1RXF telemetry to an MQTT broker.

This program is a utility for the APRS telemetry system used by PE1RXF. The telemetry is embedded in an APRS message which can travel over the existing APRS network. For more information about this open protocol visit this link: https://www.meezenest.nl/mees-elektronica/projects/aprs_telemetry/APRS_protocol_nodes_PE1RXF.pdf

Configuration

This first version reads the telemetry files as generated by APRS server software. This software can be found here: https://git.meezenest.nl/marcel/pe1rxf-aprs-server

It would be nice when future versions would use the ax.25 stack instead of the APRS server software (like the utility "aprs-mqtt-bridge" already does). This would make it more universal. But for now, it works just fine!

The program is configured via a YAML file. The global section defines the MQTT broker to which to publish the data.

The topic section specifies the telemetry files to read. The descriptions of the fields are defined here as well.

# Global settings apply to all other entries
global:
        broker: pe1rxf.ampr.org             # The MQTT broker we are going to use
        port: 1883                          # The tcp port of the MQTT broker
        topic_root: hamnet_aprs_nodes       # MQTT topic root
        poll_rate: 300                      # Number of second between polling
topics:
    # MQTT topic: each telemtry node has its own name (sub root) and must be unique
    - name: solar_generator
      telemetry_file: /home/marcel/ham/aprs_utils/aprs_log/latest_telemetry_PE1RXF-9.dat
      # Defines the names of the values in the telemetry_file. Also defines the number of entries in this file.
      # So make sure the number of descriptions match the number of values in the telemetry_file!
      description:
        - soc
        - voltage
        - power
        - temperature

Requirements

  • Python3
  • pathlib
  • yaml
  • paho-mqtt

Future versions probably will also need: