系统topic用途
$sys/{pid}/{device-name}/dp/post/json设备上传数据点
$sys/{pid}/{device-name}/dp/post/json/accepted系统通知"设备上传数据点成功"
$sys/{pid}/{device-name}/dp/post/json/rejected系统通知"设备上传数据点失败"

订阅上传结果通知

设备可以订阅系统 topic 获取上传数据点结果消息

打开MQTT.fx,连接设备,选择Subscribe项,输入订阅topic名称

  • topic 命名规则如下(+是通配符):

    $sys/{pid}/{device-name}/dp/post/json/+
    

就比如我的是$sys/480701/yuyun-test/dp/post/json/+,可以接收到平台传回的通知

下图中的两个命令都能获取平台下发到设备的命令:

image-20211222180523881

设备数据点上传

选择Publish项,输入发布 topic ,命名规则如下:

$sys/{pid}/{device-name}/dp/post/json

数据内容如下:

{
    "id": 123,        
    "dp": {             
        "temperatrue": [{     
            "v": 30,       
            "t": 1552289676
        }],
        "power": [{     
            "v": 4.5,        
            "t": 1552289676 
        }],
        "status": [{
                "v": {
                    "color": "blue"
                },
                "t": 1552289677
            },
            {
                "v": {
                    "color": "red"
                },
                "t": 1552289678
            }
        ]
    }
}

参数说明:

参数类型是否必填说明
idint消息ID,大于0的整数,数值范围为,4字节有符号数取值范围
dpobject数据点内容,key-value格式,key为数据流名称,value为list格式的一个或者多个数据点值
上例中向temperatrue、power、status三个数据流中上传带时间戳的数据
v-数据点值,可以为int/float/string/object多种格式
tinit数据点时间戳,unix时间,单位为秒,若不携带,则系统将以数据到达平台时间作为其数据时间

image-20211222180708311

点击Publish后上传数据点到平台,在Subscribe可以看到平台返回的信息

image-20211222180927855

控制台查看数据

进入onenet的控制台查看设备数据流,如下图:就是用MQTT.fx模拟的设备上传的数据

image-20211222181210479

多上传几次数据,然后点开控制台的数据流,就可以看到该数据流的历史数据

image-20220126102522346

也可以实时刷新(如果设备一直在上传数据,那这里就可以实时显示数据)

更多推荐