A central service that runs on (Linux) devices for collecting and delivering messages from N apps using 1 MQTT connection to Astarte.
- protobuf >= 3.15
- Rust version >= 1.59
The Astarte Message Hub is configured through message-hub-config.toml
in the current working
directory, otherwise the system wide /etc/message-hub/config.toml
can be used. In alternative, you
can specify the path to the configuration file with the -t/--toml
cli option.
The format for the configuration file is the following:
##
# Required fields
#
realm = "<REALM>"
pairing_url = "<PAIRING_URL>"
grpc_socket_port = 0 # Required, 0 is only a placeholder
##
# Optional fields
#
interfaces_directory = "[INTERFACES_DIRECTORY]"
# Device id, if not provided it will be retrieved from `io.edgehog.Device` dbus-service
device_id = "[DEVICE_ID]"
# Used to register a device and obtain a `credentials_secret`
pairing_token = "[PAIRING_TOKEN]"
# Credential secret, if not provided the `pairing_token` is required
credentials_secret = "[CREDENTIALS_SECRET]"
# Ignore SSL errors, defaults to false
astarte_ignore_ssl = false
# Path to store persistent data, defaults to "./"
store_directory = "<STORE_PAHT>"
An example configuration file can be found in the examples direction.
Have a look at the examples for an usage example showing how to send and receive data.