IoT物联网平台-规则引擎SQL数据格式详解

简介: 快速了解IoT物联网平台不同Topic对应的Payload格式,解决规则引擎SQL编写问题。

产品推荐:阿里云物联网开发者工具(IoT Studio),立刻免费体验吧!  

规则引擎SQL数据格式详解

前言[](#i0bcvd)

设备接入IoT物联网平台后,最佳获取数据的方式就是通过规则引擎,先使用SQL表达式处理数据,再流转到DB,MQ,DataHub,FC等目的地。配置数据处理SQL时,我们需要了解每个topic对应的数据格式,才能写出正确的SQL表达式。

注意:请不要以控制台sql调试为准,除非你理解sql调试功能

1.自定义Topic

当我们使用自定义Topic时,IoT物联网平台会透传Payload数据,这种情况结构体不会变。
image.png
正如上图所展示的数据处理过程,原始报文在进入规则引擎,执行SQL表达式时,依然是端上Payload结构体。

{
  temperature:23,
  humidity:63,
}

因此,我们只需要按自定义Payload编写SQL即可。

2.物模型系统Topic(/sys/开头)

对我们使用物模型传输数据时,数据会在云端做处理,变换成物模型JSON格式,这里需要注意每个Payload的不同。
image.png

2.1 设备属性上报

通过该Topic获取设备上报的属性信息。

数据流转Topic:  /sys/{productKey}/{deviceName}/thing/event/property/post 

设备原始数据格式:

{
    "id": 3536123,
    "version": "1.0",
    "method": "thing.event.property.post",
    "params":{
        "Power":"on",
        "Position":{
            "latitude":39.9,
            "longitude":116.38 
         }
     }
}


物模型数据格式:规则引擎SQL需要根据这个格式编写

{
    "productKey":"1234556554",
    "deviceName":"deviceName1234",
    "gmtCreate":1510799670074,
    "items":{
        "Power":{
            "value":"on",
            "time":1510799670074
        },
        "Position":{
            "time":1510292697470,
            "value":{
                "latitude":39.9,
                "longitude":116.38
            }
        }
    }
}

2.2 设备事件上报

通过该topic获取设备上报的事件信息。
数据流转Topic:  /sys/{productKey}/{deviceName}/thing/event/(tsl.event.identifier}/post 

设备原始数据格式:

{
    "id": 3536123,
    "version": "1.0",
    "method": "thing.event.{tsl.event.identifier}.post",
    "params":{
        "temperature":39.9,
        "humidity":87
     }
}


物模型数据格式:规则引擎SQL需要根据这个格式编写

{
    "identifier":"{tsl.event.identifier}",
    "type":"info",
    "productKey":"X5eCzh6fEH7",
    "deviceName":"5gJtxDVeGAkaEztpisjX",
    "gmtCreate":1510799670074,
    "value":{
        "temperature":39.9,
        "humidity":87
    },
    "time":1510799670074
}

2.3 设备服务异步调用响应

通过该Topic可以获取,通过异步方式下发指令给设备,设备进行处理后返回的结果信息。如果下发指令过程中出现错误,也可以通过该Topic得到指令下发的错误信息。
数据流转Topic:  /sys/{productKey}/{deviceName}/thing/downlink/reply/message  

设备原始数据格式:

{
    "id": 3536123,
    "version": "1.0",
    "method": "thing.service.{tsl.service.identifier}",
    "params": {
        "Power":"on",
        "temperature":39.9
    }
}

物模型数据格式:规则引擎SQL需要根据这个格式编写

{
    "gmtCreate":1510292739881,
    "productKey":"123xxxx554",
    "deviceName":"deviceName1234",
    "requestId":3536123,
    "code":200,
    "message":"success",
    "topic":"/sys/123xxxx554/deviceName1234/thing/service/{tsl.service.identifier}",
    "data":{
        "status":"on"
    }
}

3.设备本身变化

3.1 设备上下线状态

通过该Topic获取设备的上下线状态。

数据流转Topic:  /as/mqtt/status/{productKey}/{deviceName} 
数据格式:

{
    "status":"online|offline",
    "productKey":"12345565569",
    "deviceName":"deviceName1234",
    "time":"2018-08-31 15:32:28.205",
    "utcTime":"2018-08-31T07:32:28.205Z",
    "lastTime":"2018-08-31 15:32:28.195",//状态变更前最后一次通信时间
    "utcLastTime":"2018-08-31T07:32:28.195Z",
    "clientIp":"123.123.123.123"
}

3.2 设备生命周期变化

通过该Topic获得设备创建、删除、禁用、启用等消息。

数据流转Topic:  /sys/{productKey}/{deviceName}/thing/lifecycle 
数据格式:

{
    "action" : "可能枚举值 create|delete|enable|disable",
    "productKey" : "X5eCxxxxEH7",
    "deviceName" : "5gJtxDVeGAkaEztpisjX",
    "deviceSecret" : "设备密钥,仅在action为create时包含", 
    "messageCreateTime": 1510292739881 
}

4.附录


IoT物联网平台官网文档:
https://help.aliyun.com/document_detail/73736.html

[](#80ifpi)image.png

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
1月前
|
传感器 JavaScript 数据可视化
开源视频联动物联网平台】Node-RED规则引擎
开源视频联动物联网平台】Node-RED规则引擎
52 1
|
7月前
|
关系型数据库 物联网 PostgreSQL
沉浸式学习PostgreSQL|PolarDB 11: 物联网(IoT)、监控系统、应用日志、用户行为记录等场景 - 时序数据高吞吐存取分析
物联网场景, 通常有大量的传感器(例如水质监控、气象监测、新能源汽车上的大量传感器)不断探测最新数据并上报到数据库. 监控系统, 通常也会有采集程序不断的读取被监控指标(例如CPU、网络数据包转发、磁盘的IOPS和BW占用情况、内存的使用率等等), 同时将监控数据上报到数据库. 应用日志、用户行为日志, 也就有同样的特征, 不断产生并上报到数据库. 以上数据具有时序特征, 对数据库的关键能力要求如下: 数据高速写入 高速按时间区间读取和分析, 目的是发现异常, 分析规律. 尽量节省存储空间
607 1
|
6天前
|
存储 安全 物联网
使用 Java 进行物联网(IoT)应用开发
【4月更文挑战第19天】Java,凭借其跨平台特性和丰富库,成为物联网开发热门选择。开发者利用Java进行物联网应用开发,可实现设备连接、数据处理、数据库管理及安全保障。熟悉Java基础、物联网知识、数据通信和数据库管理是必备技能。利用MQTT客户端、数据存储框架和可视化工具能提升开发效率。随着物联网发展,Java在该领域的影响力将持续增强。
|
4月前
|
传感器 物联网 5G
物联网的通信技术以及Wi-Fi、一键配网技术、BLE、GPRS(2G)、LTE-Cat1 、NB-IoT简介
物联网的一个重要的特点是接入了网络,因此这些设备才能将传感器采集的数据上传到云平台,然后根据平台对数据的分析做出反应。而这种接入网络的技术,就是通信技术,是物联网的基础之一。通信的方式可以分为有线和无线两种方式,因为有线通信的成本较高,无线通信技术在物联网中应用比较广泛。
104 1
|
7月前
|
消息中间件 传感器 监控
IoT企业物联网平台,数据服务开发实战
IoT企业物联网平台开发实战
315 0
|
1月前
|
消息中间件 存储 Cloud Native
深度剖析 RocketMQ 5.0,IoT 消息:物联网需要什么样的消息技术?
本文来学习一个典型的物联网技术架构,以及在这个技术架构里面,消息队列所发挥的作用。在物联网的场景里面,对消息技术的要求和面向服务端应用的消息技术有什么区别?学习 RocketMQ 5.0 的子产品 MQTT,是如何解决这些物联网技术难题的。
90817 4
|
1月前
|
传感器 物联网 决策智能
Node-RED 规则引擎:开启物联网时代的智能决策
Node-RED 规则引擎:开启物联网时代的智能决策
86 0
|
5月前
|
安全 物联网 物联网安全
物联网安全IoT攻击向量威胁
物联网主要有两种感染途径:暴力破解弱密码和利用网络服务中的漏洞。
106 0
|
6月前
|
边缘计算 安全 物联网
开源在物联网(IoT)中的应用
开源在物联网(IoT)中的应用
136 0
H8
|
8月前
|
自然语言处理 物联网 Unix
全网最佳IoT命令行超级工具箱|帮你轻松解决百万物联网设备测试和联调
作为一个物联网开发和学习人员,IoT设备协议的测试联调是工作中很重要的一环!我有很多时刻都想拥有一个能集成常见物联网协议的客户端工具可供使用。经过我一通查找,发现和我拥有相同问题的人不在少数。 不仅仅是IoT开发者,包括云厂商、网络运营商都有相同烦恼: 开源物联网平台Thingsboard: coap -> coap.js(需要安装node); 移动OneNET平台: mqtt -> mqtt.fx(几年没更新了); 电信AEP平台:自定义TCP协议 -> sokit工具(只支持windows); 阿里云物联网平台: Nb-IoT协议 -> 需要到电信或移动平台上进行测试; 作者:穆书伟
H8
288 0

相关产品

  • 物联网平台