目录
[1. 为产品定义物模型](#1. 为产品定义物模型)
[1.1 登陆阿里云平台](#1.1 登陆阿里云平台)
[1.2 编辑草稿](#1.2 编辑草稿)
[1.3 物理模型的配置](#1.3 物理模型的配置)
[1.4 查看完整物模型JSON文件](#1.4 查看完整物模型JSON文件)
[1.5 发布物模型](#1.5 发布物模型)
[2. 建立设备与平台的连接](#2. 建立设备与平台的连接)
[2.1 准备开发环境](#2.1 准备开发环境)
[2.2 获取设备端C语言的SDK](#2.2 获取设备端C语言的SDK)
[2.3 解压本地的C语言SDK文件,修改SDK中的设备证书信息](#2.3 解压本地的C语言SDK文件,修改SDK中的设备证书信息)
[2.4 登录Linux虚拟机,执行以下命令,安装所需软件](#2.4 登录Linux虚拟机,执行以下命令,安装所需软件)
[2.5 运行样例程序](#2.5 运行样例程序)
1. 为产品定义物模型
物联网平台支持为产品定义物模型,将实际产品抽象成由属性、服务、事件所组成的数据模型,便于物联网平台管理和数据交互。产品创建完成后,您可以为它定义物模型,产品下的设备将自动继承物模型内容。
本章开始前,请完成:
1.1 登陆阿里云平台
首先,在①处输入账号和密码,登录"阿里云"。
然后按照顺序,在②处点击"产品",在③处点击"物联网",在④处点击"物联网平台",进入如下页面,点击"管理控制台":
进入如下页面,点击:
1.2 编辑草稿
在左侧导航栏,选择设备管理 ,找打产品 ,在产品列表中找到已创建的产品,单击操作栏的查看。
在产品详情页,单击功能定义 页签,然后单击编辑草稿。
1.3 物理模型的配置
在功能定义 页面的默认模块 ,单击添加自定义功能 ,进行物模型配置,然后单击确认。
这里我配置了电压以及电流。
1.4 查看完整物模型JSON文件
单击物模型TSL ,在完整物模型页签下,可看到该产品的完整物模型JSON文件。
1.5 发布物模型
单击功能定义 的编辑草稿 页面左下方的发布上线。
控制台页面会弹出发布物模型上线? 对话框,单击添加发布备注,输入版本号和版本描述。
|--------|---------------------------------------------------------------------|
| 参数 | 说明 |
| 版本号 | 设置当前物模型版本号。后期可根据版本号管理物模型。 版本号支持英文字母、数字和英文句号(.),长度限制1~16个字符。 |
| 版本描述 | 描述当前版本物模型。支持中文汉字、英文字母、日文、数字和特殊符号。长度限制为100个字符。一个中文汉字算一个字符;一个日文算一个字符。 |
如果存在已上线的版本,则需要进行比对,确认新版本的修改点。
单击比对结果 ,在比对结果 对话框中查看修改点。确认无误后,单击确认查阅 ,回到发布物模型上线对话框,自动选中"确认已查看当前版本与线上版本的比对结果"前的复选框。
如果不需要比对,您可直接手动选中"确认已查看当前版本与线上版本的比对结果"前的复选框。
单击确定,完成物模型的发布。
2. 建立设备与平台的连接
阿里云物联网平台提供设备端SDK,设备使用SDK与平台建立通信。
2.1 准备开发环境
本文使用Linux下的设备端C语言SDK。该SDK的编译环境推荐使用64位的Ubuntu16.04。SDK的开发编译环境会用到以下软件:make(4.1及以上版本)、gcc(5.4.0及以上版本)。
可以使用如下命令行安装:
sudo apt-get install -y build-essential make gcc
2.2 获取设备端C语言的SDK
在左侧导航栏单击文档与工具 ,然后在设备接入SDK 区域的Link SDK 下,单击SDK定制。
在高级能力 下,单击物模型 ,其他参数使用默认配置,然后单击开始生成后,会在本地下载C语言SDK的ZIP文件。
2.3 解压本地的C语言SDK文件,修改SDK中的设备证书信息
请单击:
链接: https://pan.baidu.com/s/1V1PbjfJVT-mbykC4HPrcZQ?pwd=h4n4
提取码: h4n4
下载data_model_basic_demo.c
文件,替换掉2.2生成的SDK文件\LinkSDK\demos
路径下的data_model_basic_demo.c
文件,然后修改以下参数。
char *product_key = "a2***";
char *device_name = "device1";
char *device_secret = "8c684ef***";
...
...
char *mqtt_host = "a2***.iot-as-mqtt.cn-shanghai.aliyuncs.com";
|---------------|------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| 参数 | 示例 | 说明 |
| mqtt_host | * 新版公共实例的示例:iot-cn-***.mqtt.iothub.aliyuncs.com
* 旧版公共实例的示例:a2***.iot-as-mqtt.cn-shanghai.aliyuncs.com
| 设备的MQTT接入域名。 * 新版公共实例:在实例详情 页面单击右上方的查看开发配置 ,在开发配置面板查看接入域名。 * 旧版公共实例:接入域名格式为${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com
。 |
| product_key | a2*** | 设备认证信息。即完成添加设备后,您保存至本地的设备证书。 您也可以在物联网平台的设备详情页查看设备的认证信息。 |
| device_name | device1 | 设备认证信息。即完成添加设备后,您保存至本地的设备证书。 您也可以在物联网平台的设备详情页查看设备的认证信息。 |
| device_secret | 8c684ef*** | 设备认证信息。即完成添加设备后,您保存至本地的设备证书。 您也可以在物联网平台的设备详情页查看设备的认证信息。 |
对于product_key、device_name**、**device_secret数据的获取可以参考下面链接3.3的内容:
如下图,找到添加的设备点击查看即可:
对于mqtt_host,如下:
将上述数据,复制粘贴到对应位置即可,需要注意的是,对于mqtt_host,并不是完全覆盖掉:
char *mqtt_host = "实例ID.mqtt.iothub.aliyuncs.com";
2.4 登录Linux虚拟机,执行以下命令,安装所需软件
sudo apt-get install -y build-essential make gcc
将步骤2.3中已修改完成的LinkSDK
文件,上传至Linux虚拟机的开发环境,在SDK根目录/LinkSDK
下,执行make
命令,完成样例程序的编译:
make clean
make
生成的样例程序data-model-basic-demo
存放在./output
目录下。
2.5 运行样例程序
./output/data-model-basic-demo
运行成功后,如下图所示:
登录物联网平台控制台,进入公共实例页面,查看设备状态和运行状态。
左侧导航栏选择设备管理 > 设备 ,找到目标设备,查看设备状态。设备状态显示为在线,则表示设备与物联网平台成功连接。
单击设备对应操作栏的查看 ,进入设备详情 页面,单击物模型数据 页签,然后单击运行状态,查看设备的运行状态。
data_model_basic_demo.c文件中代码示例,上报了工作电流的值,如下图所示。