嵌入式Linux平台连接微软Azure IoT hub的应用
Azure介绍
Azure 是 Microsoft 为公有云提供的应用程序平台。Azure平台有众多服务,从虚拟机服务,数据库服务,到IOTHUB服务等等。azure iot hub只是其中的一种服务,实现物联网中IOT设备与云服务器的数据交互提供解决方案;
应用介绍
在嵌入式linux硬件平台要与azure iot hub交互数据,一般开发人员看着庞大的开发文档与SDK源码感觉无从下手,或需要花费很长时间去熟悉,本文就是为了帮助开发者快速上手,快速对AZURE IOT HUB平台有一个基本的了解,然后集中精力进行自己的应用开发,可以大大减少开发者工作量与避开各种遇到的技术问题;
平台端操作
· 申请帐号
要将自己的IOT设备数据推送到Azure IoT HUB首先必须要创建一个属于自己的帐号;登录官网按提示一步步输入信息注册帐号;
· 登录平台
登录平台,输入帐号密码登录;
· 开启IoT HUB服务
选择"创建资源",然后在"搜索市场"字段中输入"IoT 中心",选择并创建.IOTHUB服务就创建成功了.
· 创建设备
创建一个设备ID,下一步需要用这个ID将设备连接到IOTHUB中心.
· 创建流分析服务
创建流分析服务与创建IOTHUB过程类似,参考IOTHUB服务创建过程;
SDK移植
· SDK下载
从下载SDK源码包:
azure-iot-sdk-c-master.zip;( 从官网github直接download下载的代码不全是不能编译的,必须git命令下载才可以;git过程时间非常长可能过程会有错误,需要根据错误慢慢解决才能将源码下载完整;)
· SDK编译
cmake版本太低,需要下载cmake源码升级cmake版本;然后交叉编码SDK源码,会生成相应的动态库及示例程序DEMO;
· 应用示例编译
将示例程序DEMO修改一下根据自己需求修改上传数据到IOTHUB中心.然后重新编译程序.
应用展示
· 应用示例运行
将编译出的程序下载到嵌入式平台上运行,程序运行正常,循环推送采集的数据以JSON数据格式推送到IOTHUB中心;IOTHUB中心接收数据返回正常;
· 数据查询
在嵌入式linux平台运行相应的DEMO程序后,数据正常推送到了IOTHUB中心,然后在流分析服务中可以查询相应平台接收到的数据.
可以根据需要修改查询语句查询自己想要的数据.
SELECT
deviceId,data,EventEnqueuedUtcTime
INTO
[YourOutputAlias]
FROM
[iothubstandard]
where deviceId='camera001'
然后就可以开发各种WEB,APP应用获取这些数据展示.