Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

RT-Thread-packages/azure-iot-sdk

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Azure:微软物联网云平台 SDK

1. 介绍

Azure 是 RT-Thread 移植的用于连接微软 Azure IoT 中心的软件包,原始 SDK 为: azure-iot-sdk-c。通过该软件包,可以让运行 RT-Thread 的设备轻松接入 Azure IoT 中心。

Azure IoT 中心的服务托管在云中运行,充当中央消息中心,用于 IoT 应用程序与其管理的设备之间的双向通信。 通过 Azure IoT 中心,可以在数百万 IoT 设备和云托管解决方案后端之间建立可靠又安全的通信,生成 IoT 解决方案。几乎可以将任何设备连接到 IoT 中心。

使用 Azure 软件包连接 IoT 中心可以实现如下功能:

  • 轻松连入 Azure IoT 中心,建立与 Azure IoT 的可靠通讯
  • 为每个连接的设备设置标识和凭据,并帮助保持云到设备和设备到云消息的保密性
  • 管理员可在云端大规模地远程维护、更新和管理 IoT 设备
  • 从设备大规模接收遥测数据
  • 将数据从设备路由到流事件处理器
  • 设备上传文件到 IoT 中心
  • 将云到设备的消息发送到特定设备

可以使用 Azure IoT 中心来实现自己的解决方案后端。 此外,IoT 中心还包含标识注册表,可用于预配设备、其安全凭据以及其连接到 IoT 中心的权限。

1.1 目录结构

Azure 软件包目录结构如下所示:

azure
├───azure                             // Azure 云平台 SDK
├───azure-port                        // 移植文件
├───docs 
│     └───figures                     // 文档使用图片
│     │   api.md                      // API 使用说明
│     │   introduction.md             // 介绍文档
│     │   principle.md                // 实现原理
│     │   README.md                   // 文档结构说明  
│     │   samples.md                  // 软件包示例
│     │   user-guide.md               // 使用说明
│     └───version.md                  // 版本
├───samples                           // 示例代码
│     │   iothub_ll_telemetry_sample  // 设备上传遥测数据示例
│     └───iothub_ll_c2d_sample        // 设备接收云端数据示例
│   LICENSE                           // 软件包许可证
│   README.md                         // 软件包使用说明
└───SConscript                        // RT-Thread 默认的构建脚本

1.2 许可证

Azure 软件包遵循 GNU GENERAL PUBLIC LICENSE 许可,详见 LICENSE 文件。

1.3 资源占用

当统计 Azure IoT SDK 软件包资源占用时,仅统计软件包本身占用的 RAM 和 ROM 大小,未统计 LibC 及外部依赖的软件包所占用的资源大小(如 TLS)。当统计例程运行时资源占用时,统计全部的动态内存占用情况。

  • 测试平台: i.mxrt1052
  • 测试 IDE: MDK5
  • 优化级别:O2
  • 软件包资源占用如下所示:
    RW(RW + ZI)             :  988   bytes(0.98K)
    RO(CODE + RO)           :  72888 bytes(72.88K)
    ROM(CODE + RO + RW)     :  73876 bytes(73.88K)
    sample Dynamic memory(heap)    : 68248 bytes(68.24K)

1.4 依赖

2、获取软件包

使用 azure 软件包需要在 BSP 目录下使用 menuconfig 命令打开 env 配置界面,在 RT-Thread online packages → IoT - internet of things 中选择 azure 软件包,操作界面如下图所示:

RT-Thread online packages  --->
    IoT - internet of things  --->
        IoT Cloud  --->
          [*] Azure: Microsoft azure cloud SDK for RT-Thread  --->       
              Choose Protocol (Using MQTT Protocol)  --->        #选择例程所使用的通信协议
              [*]   Enable Azure iothub telemetry example        #设备向 IoT 中心发送遥测数据示例
              [*]   Enable Azure iothub cloud to device example  #设备接收云端下发数据示例       
              Version (latest)  --->                             #选择软件包版本

选择合适的配置项后,使用 pkgs --update 命令下载软件包并添加到工程中即可。

注意:本软件包移植过程中删除了多余的文件,如需要使用完整功能的SDK,可以下载原始SDK进行对比添加。

3、使用 Azure 软件包

  • 了解软件包提供的功能,请参考 用户手册
  • 完整的 API 文档,请参考 API 手册
  • 详细的示例介绍,请参考 示例文档
  • Azure 工作原理,请参考 工作原理
  • 更多详细介绍文档位于 /docs 文件夹下,使用软件包进行开发前请务必查看

4、注意事项

  • azure 软件包编译时请使用较为完整的 libc 库,请不要勾选 MDK 中的 Use Microlib 选项

5、联系方式 & 感谢

About

Microsoft azure cloud SDK for RT-Thread

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.