业务系统从阿里云物联网平台获取设备数据的3种方案——实践类

孙皎
• 阅读 950

在企业IoT业务场景中,往往需要将设备上报到IoT物联网平台的数据进行加工处理,存储到数据库中,以便供业务系统使用。物联网平台提供了3种获取数据的方式:

  • -通过阿里云POP API获取设备数据
  • -通过HTTP/2服务端订阅取设备数据
  • -通过规则引擎配置流转数据到云产品

方案一、阿里云POP API获取设备数据

参考 https://www.yuque.com/cloud-dev/iot-tech/upqoog

方案二、HTTP/2服务端订阅 (2019年12月5日更新:现已升级成AMQP服务端订阅)

参考 https://www.yuque.com/cloud-dev/iot-tech/cev3cn

方案三、使用规则引擎详解

规则引擎提供初级的数据过滤转换能力,支持对设备数据进行过滤并转换,然后再流转到其他云产品实例。
业务系统从阿里云物联网平台获取设备数据的3种方案——实践类
上图展示了规则引擎对接的云产品,主要包含消息队列产品(MQ,MNS),数据库产品(关系型数据库RDS,表格存储OTS,时序时空数据库TSDB)和实时处理产品(函数计算FC,Datahub)。

规则引擎实例
完整规则引擎包含如下图3部分:处理数据,正常转发数据,转发错误时流转。
业务系统从阿里云物联网平台获取设备数据的3种方案——实践类
数据处理SQL
规则引擎的数据处理支持类SQL语法,可以处理设备上下文数据和消息Payload数据。语法规则如下:
业务系统从阿里云物联网平台获取设备数据的3种方案——实践类
SQL配置页面如下:
业务系统从阿里云物联网平台获取设备数据的3种方案——实践类
数据转发配置
业务系统从阿里云物联网平台获取设备数据的3种方案——实践类
数据转发异常时流转配置
业务系统从阿里云物联网平台获取设备数据的3种方案——实践类

规则引擎相关文档

规则引擎介绍文档:https://help.aliyun.com/document_detail/68677.html
SQL表达式https://help.aliyun.com/document_detail/30554.html
内置SQL函数列表:https://help.aliyun.com/document_detail/30555.html
物模型(/sys/)Topic的数据结构文档:https://help.aliyun.com/document_detail/73736.html

消息体Payload的数据结构变换过程

自定义Topic
业务系统从阿里云物联网平台获取设备数据的3种方案——实践类
物模型Topic(/sys/开头Topic)
注:原始payload经过物模型处理后,结构会变化,SQL要根据物模型payload来编写
业务系统从阿里云物联网平台获取设备数据的3种方案——实践类

物联网平台产品介绍详情:https://www.aliyun.com/product/iot/iot_instc_public_cn
业务系统从阿里云物联网平台获取设备数据的3种方案——实践类

            阿里云物联网平台客户交流群
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
物联网云平台盘点
物联网云平台是一个专门为物联网定制的云平台,物联网与普通的互联网是不同的:物联网终端设备比普通互联网手机端,电脑端多出几个数量级;普通互联网对http,https协议访问相对单一,而对https有些设备不能访问,需要轻量级的访问协议。物联网场景的多样,使得没有任何一个产品能解决所有问题。物联网平台也一样,今天来盘点一下国内一些物联网平台的主要特点。一站式托管
Stella981 Stella981
3年前
Android 物联网开发:设备通过 MQTT 协议接入阿里云 IoT
!(https://oscimg.oschina.net/oscnet/712210b89e30d12f8ef3bca535fd295f177.png)在全球智能手机市场里,谷歌开发的Android移动操作系统市场占有率已经高达90%。随着物联网智能硬件升级,也逐渐成为智能摄像头,智能对讲门禁,人脸识别闸机,智能电视,智能广告屏等IoT设备的首选
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
EMQ X Neuron V1.1.1 正式发布,增加南北协议报文显示和日志追踪
为解决工业领域数据接入上云过程中所面临的协议繁杂、设备异构化等问题,2020年9月,物联网边缘工业协议网关软件EMQXNeuron(以下简称Neuron)正式发布。Neuron提供了通过对各种工业协议转换实现设备端的数据采集、运行业务逻辑服务、警报判定,并将数据及警报上传及存储到云平台。再通过Web服务等部署和客户端应用
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这