阿里云物联网平台

对于电磁加热系统,从硬件模块调试到入网、数据上传云端再到调用分析,整个工程比较庞大,而且考虑瞬时流量可能比较大,服务器带宽要求较大,价格较高,所以考虑利用阿里云或者百度云的物联网IOT平台,其实基本都差不多,在此记录。
本篇基于阿里云官方的阿里云大学教学视频以及IOT平台参考文档。
比较详细的一篇教程可以参考。

物联网开发体系

IoT开发步骤

IoT云端开发(产品创建、设备注册)==> 设备端开发(安装mqtt库、应用程序编码)==> 联机运行(设备上线、数据查看处理)

云端开发

简单来讲,在阿里云IoT平台操作相对简单,首先创建产品(可选高级版或者基础版),然后定义物模型-属性,然后在产品下注册一个或多个设备。

产品与设备

产品是设备的集合,指一组具有相同功能的设备。物联网平台为每个产品颁发全局唯一的productKey。设备是归属于某个产品下的具体设备,物联网平台为每个设备颁发产品内唯一的devlceName。

设备基于MQTT协议接入阿里云IOT平台

MQTT协议

订阅者:某些设备对特定信息感兴趣,并希望订阅它,这些设备叫做订阅者;
发布者:负责为其他设备生成数据的叫做发布者;
代理:负责将来自发布者的消息进行存储处理,并将这些消息发送到正确的订阅者中去。
发布者和订阅者通过Topic来进行信息传输,Topic是相对于设备的概念,设备可以往Topic中发布信息,也可以在Topic中订阅信息。Topic类是相对于产品的概念,产品定义Topic类,其下设备会自动生成对应的Topic。

物模型

物模型指将物理空间中的实体数字化,并在云端构建该物体的数据模型。在物联网平台,定义物模型即定义功能,完成下述三类功能定义后,将自动生成该产品的物模型。物模型描述产品是什么、能做什么、能对外提供哪些服务。
定义物模型

连接域名

1
$(productKey).iot-as-mqtt.$(regionID).aliyuncs.com:1883

MQTT的Connect报文

设备端与阿里云IOT平台建立MQTT通道的Connect报文有三个关键参数:客户端标识符(ClientID)、用户名(UserName)、密码(Password),这三个参数由设备三元组(productKey、devlceName、deviceSecret)按照阿里云IOT签名规则生成。

设备端开发

简单来讲,在利用npm安装好mqtt库之后,需要进行的操作包括修改设备身份三元组、建立连接、上报数据到指定topic、接受云端订阅topic的指令。

数据通过规则引擎流转到OTS

数据根据Topic的不同有不同的处理方式:自定义Topic直接推到规则引擎;物模型Topic会流转进行物模型解析再推到规则引擎;
规则引擎的作用就是将数据转储到自己的数据库、消息队列、实时云计算等中,方便下一步处理。这里以流转到表格存储OTS为例。

阿里云规则引擎的数据处理采用SQL方式,处理之后得到一个规则化的数据:

1
SELECT contextData,payLoadData FROM TOPIC WHERE FILTER

数据通过规则引擎流转到函数计算FC

首先在平台选择编程语言,创建函数,然后在规则引擎中添加流转到函数计算FC,选择刚才创建的函数,在函数计算中可以选择将数据通过钉钉、短信等方式推送到运营人员。

:转载文章请注明出处,谢谢~