物联网开发系列(二)·阿里云平台如何建立设备与平台的连接

目录

[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. 为产品定义物模型

物联网平台支持为产品定义物模型,将实际产品抽象成由属性、服务、事件所组成的数据模型,便于物联网平台管理和数据交互。产品创建完成后,您可以为它定义物模型,产品下的设备将自动继承物模型内容。

本章开始前,请完成:

物联网开发系列(一)·阿里云平台产品的创建以及设备的添加-CSDN博客

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的内容:

物联网开发系列(一)·阿里云平台产品的创建以及设备的添加-CSDN博客

如下图,找到添加的设备点击查看即可:

对于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文件中代码示例,上报了工作电流的值,如下图所示。

物联网开发_时光の尘的博客-CSDN博客

相关推荐
TDengine (老段)6 小时前
TDengine 数学函数 DEGRESS 用户手册
大数据·数据库·sql·物联网·时序数据库·iot·tdengine
TDengine (老段)6 小时前
TDengine 数学函数 GREATEST 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
朱嘉鼎6 小时前
状态机的介绍
c语言·单片机
清风6666666 小时前
基于单片机的噪声波形检测与分贝测量仪设计
单片机·嵌入式硬件·毕业设计·课程设计
易享电子7 小时前
基于单片机车窗环境监测控制系统Proteus仿真(含全部资料)
单片机·嵌入式硬件·fpga开发·51单片机·proteus
三佛科技-134163842127 小时前
LED氛围灯方案开发MCU控制芯片
单片机·嵌入式硬件·智能家居·pcb工艺
小莞尔8 小时前
【51单片机】【protues仿真】基于51单片机主从串行通信系统
c语言·单片机·嵌入式硬件·物联网·51单片机
Hello_Embed8 小时前
STM32 环境监测项目笔记(一):DHT11 温湿度传感器原理与驱动实现
c语言·笔记·stm32·单片机·嵌入式软件
三佛科技-1341638421210 小时前
便携式榨汁机方案开发,榨汁机果汁机MCU控制方案设计
单片机·嵌入式硬件·智能家居·pcb工艺
yongui4783410 小时前
基于TMS320F28027实现光伏MPPT控制
单片机·嵌入式硬件