/aiot-rust

阿里云物联网设备端 Rust SDK / Alink 协议

Primary LanguageRustMIT LicenseMIT

Crates.io Workflow Status

Rust Link SDK (aiot-rs)

提供阿里云物联网平台的设备端 Rust 开发工具包(非阿里官方)。

阿里官方的 Link SDK 提供了以下语言的版本:

其中,C Link SDK 是功能最完整的,我们的 Rust SDK 也是对标这个进行设计开发的。 刚开始使用 Rust 时候,尝试基于 C SDK 在 FFI 基础上进行封装,发现这种方式性能和可扩展性都不高,于是基于 rumqttctokio 实现了现在的版本。

本项目遵循阿里云物联网平台定义的 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 连接示例