#mqtt-client #embedded-devices #async-executor #prepared #native #async-api #year

无 std rust-mqtt

适用于嵌入式和非嵌入式设备的 MQTT 客户端

7 个版本

0.3.0 2024年1月30日
0.2.0 2023年12月3日
0.1.5 2023年1月7日
0.1.4 2022年6月20日
0.0.1 2022年4月28日

嵌入式开发 类别中排名 652

Download history 156/week @ 2024-04-28 119/week @ 2024-05-05 49/week @ 2024-05-12 51/week @ 2024-05-19 42/week @ 2024-05-26 46/week @ 2024-06-02 92/week @ 2024-06-09 49/week @ 2024-06-16 72/week @ 2024-06-23 18/week @ 2024-06-30 22/week @ 2024-07-07 41/week @ 2024-07-14 27/week @ 2024-07-21 144/week @ 2024-07-28 38/week @ 2024-08-04 30/week @ 2024-08-11

每月下载量 247

自定义许可

255KB
4.5K SLoC

Rust-mqtt

关于

Rust-mqtt 是适用于 std 和 no_std 环境的本地 MQTT 客户端。客户端库提供异步 API,可用于各种执行器。目前仅支持 MQTTv5,但已准备好扩展对 MQTTv3 的支持,预计在 2022 年实现。

异步执行器

对于桌面使用,我推荐使用 Tokio 异步执行器,对于嵌入式设备,Drogue-IoT 项目中已准备好 Drogue 设备框架的包装器 示例 mqtt 模块。

限制

客户端支持以下功能

  • QoS 0 和 QoS 1(所有 QoS 2 数据包都映射为未来客户端扩展)
  • 仅支持干净会话
  • 不支持保留
  • 不支持认证数据包
  • 数据包大小不受限制,完全由用户决定(数据包大小和缓冲区大小必须匹配)

构建

cargo build

运行测试

集成测试使用 tokio 网络tcp堆栈编写,可在 tokio_net 下找到。

cargo test unit
cargo test integration
cargo test load

最低支持的 Rust 版本 (MSRV)

Rust-mqtt 确保在稳定 Rust 1.75 及以上版本上编译。它可能可以在较旧版本上编译,但在任何新的补丁版本中可能会发生变化。

致谢

如果没有 Ulf Lilleengen 和来自 Drogue IoT 的其他社区成员的帮助,该项目不可能处于目前的状态。

联系方式

有关任何信息,请联系我邮箱 [email protected]

依赖关系

~520–750KB
~15K SLoC