开发者学堂课程【物联网平台云上开发:物联网数据DataV演示】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/563/detail/7710
物联网数据DataV演示
物联网平台
1、设备通过IoT的SDK连接到物联网平台,把数据转储到云端,也可以在云端做实时的云计算,最终完整的数据可以给到企业的服务器,企业根据自身业务场景来做出各种应用。
2、规则引擎
主要包括数据处理和数据转发两个部分。
规则引擎的数据处理主要包括设备payload的一个处理,以及设备云端上下文的一个处理,通过这样一个简单的circle,就可以把数据处理成一个结构化的数据。基于物模型的数据处理如图所示。
设备端上报数据到IoT的网关,网关把数据流转到物模型解析器,这里会根据所定义的物模型做数据的解析,解析之后会流转到规则引擎,规则引擎这里通过circle,处理数据然后转储到数据库里。这就是数据上报后,在表格存储数据
里一个存储过程。存储之后可通过DataV做一个数据可视化,生成一个监控大屏。
3、演示开发过程:
首先在物联网平台创建一个产品温湿度计,接着定义一些属性,包括温度和湿度两个属性,之后可通过设备管理创建一个设备,如图便是创立的设备设备创建完成后,接着创建规则引擎,这里根据定义的规则引擎通过物模型来处理
据,同时把数据转发到表格存储里。
规则引擎创建之后,就可以做设备端的开发,一个简单的编码,一个数据连接。
如下const options = initMqttOptions (deviceConfig);
const url =、 mqtt://${deviceConfig. productKey}. iot-as mqtt . ${deviceConf ig. regionId} . aliyu
//2.建立连接
27 const client = mqtt . connect(url, options);
//3.属性数据上报
const topic =/sys/${deviceConf ig. productKey}/${deviceConf ig. deviceName}/ thing/event/pro
// 发布数据到topic
setInterval( function() {
client. publish( topic, getPostData(), {qos:1});
}, 5 * 1000);
//4.订阅主题,接收指令
const subTopic =、 /${deviceConf ig. productKey}/${deviceConf ig. deviceName}/control ;
client . subscribe ( subTopic )
console. log("topic”+ topic)
onsole. Log("message”+ message)
})
client. unsubscribe( subTopic)
//IoT平台mqtt连接参数初始化
function initMqt topt ions ( deviceConfig) {
const params=[
productKey : deviceConfig.productKey,
然后上报属性的数据,这里设置了五秒上报一次。
设备端代码编辑完成之后,就可以启动设备程序,之后它就开始上报数据,这时也可以在云端看到设备上线、设备当前运行状态以及日志服务里消息上行的处理过程。有了这些数据之后,可通过DataV可视化产品,把数据展示到数据大屏上。开通DataV云产品之后,这里是它的一个控制台,如图
包含一个可视化的云列表以及我的数据源,我的组件。首先点到我的数据源,这里点击添加数据,选择TableStore的类型,并将数据命名为温湿度计,然后填写阿里云账号的AK ID 和AK Secret。
外网地址就是ots表格存储的访问地址,接着点击确认,就会连接成功,数据源就会更新成功。此时回到可视化界面,新建一个可视化大屏,此处有许多模板,选择下图所示模板进行创建。
在编辑页面有许多常用的组件,此处添加一个时间组件、文本组件以及一个数字翻牌器组件。
在这里可以给数字翻牌器设置数据源,这里选择TableStore作为数据源类型,而数据源类型则选择刚刚创建的温湿度计,选择操作选择get Range,此处输入表格的名字以及组件的一些参数。接着查看一下表格的名字是如图所示的
表格的名字即是lot_devices_datas,主键是device ID和time。接着根据devices ID和devices time做一个过滤,此处只选择第一条数据,可以观察数据响应结果,
如下{‘’deviceId’’:’’eud1jXfEgCsAiP2cId9q’’,’’time’’:’’2018-12-19 13:11:18’’,’’humidity’’:’’65’’,’’imei’’:’’IH20181212xibzm’’,’’tag’’:’’客厅’’,’’temperature’’:’’28’’,’’value’’:’’28’’,’’y’’:’’28’’,’’x’’:’’2018-12-19 13:11:18’’}同理另外一个数字翻牌器,选择湿度,同时添加一个折线图的组件,此处与上一个数字翻牌器相同,仍选择TableStore的数据源类型和温湿度计的数据源,并将搜索参数扩大为16,参看响应结构发现其为一个数组。在折线图中,选取了time作为x轴,temperature作为y轴。同时此处有一个垂直胶囊的可视化组件。
这里依旧选取了16个数据,这样一个数据大屏创建完成。创建完成之后可以点击发布,会有一个外网访问地址,将其在浏览器打开便是一个数据大屏。这时启动我们的设备,设备开始上报数据,同时数据大屏也随之变化,可以实时看到其状况。
这里就完整的演示了设备端的数据通国IoT平台的规则引擎,流转到数据库,再通过DataV 把数据做一个可视化的大屏。