Linux设备如何接入阿里云IoT平台
Posted HaaS技术社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux设备如何接入阿里云IoT平台相关的知识,希望对你有一定的参考价值。
本文以在Ubuntu x86_64系统上编译设备端C语言SDK为例,介绍设备上云的配置和开发过程。
前提条件
在进行本示例配置前,您需要完成以下准备工作:
- 注册阿里云账号,并完成实名认证。
- 开通物联网平台。关于物联网平台介绍,参见物联网平台产品详情页。
- Ubuntu x86_64开发环境(PC或服务器)。
- 下载设备端C SDK Demo。
背景信息
阿里云物联网平台官方发布的设备端C语言版本SDK可以直接运行于Linux系统,并通过MQTT协议接入物联网平台。
创建产品和设备
在物联网平台注册产品和设备后,获取设备证书信息(ProductKey、DeviceName和DeviceSecret)。设备证书信息需配置到设备端SDK中。当设备请求连接物联网平台时,物联网平台会根据设备证书信息进行设备身份验证。
- 登录物联网平台控制台。
- 创建产品。
- 在左侧导航栏,选择设备管理>产品。
- 在产品管理页,单击创建产品。
- 填入产品信息,单击确定。完成产品创建。
- 创建设备。
- 在左侧导航栏,选择设备。
- 在设备管理页,单击添加设备。
- 选择刚创建的产品,输入设备名称和备注名称,单击确定。完成设备创建。
设备创建成功后,会弹出设备证书信息。您也可以在设备管理页,单击设备对应的查看按钮,进入设备详情页查看设备证书信息。
定义物模型
物模型指将物理空间中的实体进行数字化,并在云端构建该实体的数据模型。在物联网平台中,定义物模型即定义产品功能(包括属性、事件、服务)。完成功能定义后,系统将自动生成该产品的物模型。
- 编辑物模型。
物联网平台提供的设备端C SDK Demo包中,包含一个完整的物模型JSON文件。本示例中,将该JSON文件导入为已创建产品的物模型。
- 下载C SDK Demo包中的物模型JSON文件。
- 解压Demo包后,打开src/dev_model/examples目录下的model_for_examples.json文件。
- 将物模型JSON文件中的productKey的值替换为您在物联网平台上创建的产品ProductKey。
说明 C SDK Demo包中的物模型JSON文件中,productKey对应的值只是一个示例代码,您需将其替换为您的产品ProductKey。
- 保存文件。
- 导入物模型。
将已经编辑好的物模型文件导入为产品的物模型。
- 在物联网平台控制台的左侧导航栏,选择设备管理>产品。
- 在产品管理页,找到之前创建的产品,单击对应的查看按钮。
- 在产品详情页功能定义页签下,单击导入物模型。
- 在弹出的对话框中,单击 上传文件,上传上一步中编辑好的物模型JSON文件,单击确定。
导入成功后,该文件定义的所有功能将显示在自定义功能列表中。
配置C版本SDK
在开发工具中,导入Demo,并修改配置文件中的信息为您的设备信息。配置成功后,设备接入物联网平台。
- 配置设备证书信息。
在SDK Demo中wrappers/os/ubuntu目录下的HAL_OS_linux.c文件中,修改设备证书信息为您的设备证书信息。
- 编译SDK。
在SDK根目录中,执行
make reconfig
,并选择3,然后make。 - 运行测试。
在SDK根目录中,执行
SDK运行成功后,可在物联网平台控制台上设备对应的设备详情页,查看设备状态和设备上报的物模型数据。./output/release/bin/linkkit-example-solo
。执行结果如下图。说明 您可以在物联网平台控制台上监控运维>日志服务页,搜索和查看设备日志。
名词解释
- 设备端SDK
阿里云物联网平台提供的Link Kit SDK即设备端SDK,用于设备端开发。设备需要支持TCP/IP协议栈才能集成Link Kit SDK。设备厂商将设备端SDK集成到设备上,设备便可通过该SDK安全地接入到阿里云物联网平台。目前,物联网平台提供六种设备端SDK:C SDK、Java SDK、Python SDK、Node.js SDK、android SDK和ios SDK。本示例使用的是C SDK。
设备端SDK下载和使用说明,参见设备接入Link Kit SDK。
- 设备证书
设备证书指ProductKey、DeviceName和DeviceSecret,是阿里云物联网平台认证设备的标识。设备证书信息不可泄露。
- ProductKey
物联网平台为产品颁发的全局唯一标识。
- DeviceName
在注册设备时,自定义的或系统自动生成的设备名称,具备产品维度内的唯一性。
- DeviceSecret
物联网平台为设备颁发的设备密钥。
以上是关于Linux设备如何接入阿里云IoT平台的主要内容,如果未能解决你的问题,请参考以下文章