Crates.io | up-transport-mqtt5 |
lib.rs | up-transport-mqtt5 |
version | 0.1.0 |
source | src |
created_at | 2024-11-15 16:23:42.162473 |
updated_at | 2024-11-15 16:23:42.162473 |
description | MQTT5 Rust Transport library implementation for Eclipse uProtocol |
homepage | https://github.com/eclipse-uprotocol/up-client-mqtt5-rust |
repository | https://github.com/eclipse-uprotocol/up-client-mqtt5-rust |
max_upload_size | |
id | 1449302 |
size | 148,384 |
This library implements a uTransport client for MQTT5 in Rust following the uProtocol uTransport Specifications.
To build the library, run cargo build
in the project root directory. Tests can be run with cargo test
. This library leverages the up-rust library for data types and models specified by uProtocol.
To run the tests from the repo root directory, run
cargo test
cd tests/mosquitto
docker compose up
Make sure to set these parameters:
[env]
MQTT_PROTOCOL = "'mqtt' or 'mqtts'"
MQTT_PORT = "8883 for ssl encrypted mqtt"
MQTT_HOSTNAME = "the hostname/ url of the broker"
KEY_STORE = "the .pem file location corresponding to an ssl certificate (if using mqtts)"
PRIVATE_KEY_PW = "the password to the .pem file (if using mqtts)"
CLIENT_NAME = "the name of the eventgrid client (if using mqtts)"
cargo run --example publisher_example
cargo run --example subscriber_example
This shows an example of a UPMqttClient publishing from one device and a UPMqttClient subscribing to the publishing device to receive data.
The library contains the following modules:
Package | uProtocol spec | Purpose |
---|---|---|
transport | uP-L1 Specifications | Implementation of MQTT5 uTransport client used for bidirectional point-2-point communication between uEs. |
Please refer to the publisher_example and subscriber_example examples to see how to initialize and use the UPClientMqtt client.