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
相关文章
|
24天前
|
传感器 存储 物联网
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点,广泛应用于嵌入式系统开发、通信协议实现及后端服务构建等领域,成为推动物联网技术进步的重要力量。
32 1
|
1月前
|
存储 安全 物联网
C# 在物联网 (IoT) 应用中的应用
本文介绍了C#在物联网(IoT)应用中的应用,涵盖基础概念、优势、常见问题及其解决方法。重点讨论了网络通信、数据处理和安全问题,并提供了相应的代码示例,旨在帮助开发者更好地利用C#进行IoT开发。
52 3
|
1月前
|
安全 物联网 网络安全
智能设备的安全隐患:物联网(IoT)安全指南
智能设备的安全隐患:物联网(IoT)安全指南
87 12
|
1月前
|
传感器 监控 安全
物联网(IoT):定义、影响与未来
物联网(IoT):定义、影响与未来
91 3
|
1月前
|
存储 JSON 运维
智能物联网平台:Azure IoT Hub在设备管理中的实践
【10月更文挑战第26天】随着物联网技术的发展,Azure IoT Hub成为企业管理和连接数百万台设备的强大平台。本文介绍Azure IoT Hub的设备管理功能,包括设备注册、设备孪生、直接方法和监控诊断,并通过示例代码展示其应用。
67 4
|
27天前
|
安全 物联网 物联网安全
揭秘区块链技术在物联网(IoT)安全中的革新应用
揭秘区块链技术在物联网(IoT)安全中的革新应用
|
1月前
|
SQL 监控 物联网
ClickHouse在物联网(IoT)中的应用:实时监控与分析
【10月更文挑战第27天】随着物联网(IoT)技术的快速发展,越来越多的设备被连接到互联网上,产生了海量的数据。这些数据不仅包含了设备的状态信息,还包括用户的使用习惯、环境参数等。如何高效地处理和分析这些数据,成为了一个重要的挑战。作为一位数据工程师,我在一个物联网项目中深入使用了ClickHouse,以下是我的经验和思考。
94 0
|
2月前
|
人工智能 安全 物联网
|
3月前
|
存储 物联网 关系型数据库
PolarDB在物联网(IoT)数据存储中的应用探索
【9月更文挑战第6天】随着物联网技术的发展,海量设备数据对实时存储和处理提出了更高要求。传统数据库在扩展性、性能及实时性方面面临挑战。阿里云推出的PolarDB具备高性能、高可靠及高扩展性特点,能有效应对这些挑战。它采用分布式存储架构,支持多副本写入优化、并行查询等技术,确保数据实时写入与查询;多副本存储架构和数据持久化存储机制保证了数据安全;支持动态调整数据库规模,适应设备和数据增长。通过API或SDK接入IoT设备,实现数据实时写入、分布式存储与高效查询,展现出在IoT数据存储领域的巨大潜力。
85 1
|
3月前
|
传感器 监控 安全
物联网通信的基石:LoRa、Sigfox与NB-IoT详解
物联网通信的基石:LoRa、Sigfox与NB-IoT详解
413 0

相关产品

  • 物联网平台