18 unstable releases (4 breaking)
0.10.0 | Jun 17, 2022 |
---|---|
0.9.6 | Jun 10, 2022 |
0.8.6 | Jun 6, 2022 |
0.8.0 | Sep 10, 2021 |
0.6.5 | Aug 11, 2021 |
#13 in #aliyun
205KB
4.5K
SLoC
Rust Link SDK (aiot-rs)
提供阿里云物联网平台的设备端 Rust 开发工具包(非阿里官方)。
阿里官方的 Link SDK 提供了以下语言的版本:
其中,C Link SDK 是功能最完整的,我们的 Rust SDK 也是对标这个进行设计开发的。 刚开始使用 Rust 时候,尝试基于 C SDK 在 FFI 基础上进行封装,发现这种方式性能和可扩展性都不高,于是基于 rumqttc
和 tokio
实现了现在的版本。
本项目遵循阿里云物联网平台定义的 Alink 协议,实现并正在实现如下功能:
- 设备认证与接入
- MQTT接入
- CoAP接入
- HTTPS接入
- X.509证书接入
- 消息通信
- RRPC
- 广播通信
- 设备管理
- 物模型
- 数字孪生 (NEW)
- 设备标签
- 设备影子
- 子设备管理
- 文件管理
- 设备签名
- 设备任务
- 时间同步
- 设备分发
- 监控运维
- 日志服务
- 设备诊断
- 远程登录
- 设备OTA
- 远程配置
本项目仍在开发中,如有问题请提出 Issue 或者直接提交 Pull Request。目前没有移植 no_std
的计划。
示例代码
source demo.env # 初始化三元组环境变量,仅用于演示
cargo run --example mqtt-basic # MQTT 基础示例
cargo run --example mqtt-rrpc # MQTT RRPC 通信示例
cargo run --example mqtt-broadcast # MQTT 广播通信示例
cargo run --example data-model-basic # 物模型基础示例
cargo run --example dynregmq-basic # 设备“一型一密”动态注册示例
cargo run --example remote-access # 设备远程登录示例
cargo run --example http-basic # HTTP 连接示例
Dependencies
~19–34MB
~622K SLoC