联通雁飞格物IOT接入烟感和扬尘

参考

使用MQTT.fx接入雁飞·格物DMP平台

新建产品

在这里插入图片描述

使用MQTT.fx接入雁飞·格物DMP平台

MQTT.fx是一款基于Eclipse Paho,使用Java语言编写的MQTT客户端工具,支持通过Topic订阅和发布消息。下面以MQTT.fx为例,介绍使用第三方软件以MQTT协议接入雁飞·格物DMP平台。

前提条件:已在雁飞·格物DMP平台创建产品和设备,并获取设备的鉴权信息(ProductKey、DeviceKey和DeviceSerect等)。创建产品和设备具体操作细节,请参考创建产品、单个创建设备或批量创建设备文档。
以MQTT直连设备使用一机一密认证方式鉴权接入平台为例,其他接入认证方式详见设备上线说明文档。

连接信息

在这里插入图片描述
deviceId可以自定义,只需要全局唯一即可;
在这里插入图片描述

使用hmac_sha256算法http://www.jsons.cn/allencrypt在线签名得到密码
在这里插入图片描述

数据上报

参考文档:https://help-dmp.cuiot.cn/?6WSscvjNEnkN=1678755274556#/onlineDocument/display?articleId=69&articleTypeId=0

单属性上报

$sys/cu10pusjit6gfi1n/yangchen1/property/pub
// 内容
 {
    
    
	"messageId": "1234",
	"params": {
    
    
		"key": "windSpeed",
		"value": 13,
		"ts": "1678759768157"
	}
}

多属性批量上报

$sys/cu10pusxxx/yangchen1/property/batch
// 内容
{
    
    
	"messageId": 54691,
	"params": {
    
    
		"data": [{
    
    
				"key": "tsp",
				"value": 10
			},
			{
    
    
				"key": "pm25",
				"value": 9.93
			},
			{
    
    
				"key": "pm10",
				"value": 12.93
			},
			{
    
    
				"key": "windSpeed",
				"value": 5
			},
			{
    
    
				"key": "powerSavingMode",
				"value": 1
			},
			{
    
    
				"key": "geoLocation",
				"value": {
    
    
					"longitude": 118.763334,
					"latitude": 32.0175,
					"altitude": 3.93,
                    "coordinateSystem":1
				}
			}
		],
		"ts": 1600695731000
	}
}

显示数据
在这里插入图片描述

设备影子

平台下发更新

在这里插入图片描述

设备监听影子主题

平台下发之后,设备监听到指令,然后进行本地设置,之后响应$sys/{productKey}/{deviceKey}/deviceShadow/command_reply

# $sys/cu10pusjit6gfi1n/yangchen1/deviceShadow/command
{
    
    
	"messageId": "2",
	"params": {
    
    
		"state": {
    
    
			"desired": {
    
    
				"tsp": 12,
				"pm25": 2,
				"pm10": 23,
				"windSpeed": 23.0
			},
			"reported": {
    
    }
		},
		"metadata": {
    
    
			"desired": {
    
    
				"tsp": {
    
    
					"ts": "1678766756862"
				},
				"pm25": {
    
    
					"ts": "1678766756862"
				},
				"pm10": {
    
    
					"ts": "1678766756862"
				},
				"windSpeed": {
    
    
					"ts": "1678766756862"
				}
			},
			"reported": {
    
    }
		},
		"ts": "1678766756862",
		"version": 3
	}
}

使用http方式接入烟感

获取token

在这里插入图片描述

扫描二维码关注公众号,回复: 14934606 查看本文章
{
    
    
    "productKey":"cu1twobqbsa4bftp",
    "deviceKey":"yangan1",
    "operator":"0",
    "secretKey":"264F1FFA2F89FC0BA3078CFF8D0303",
    "deviceId":"yanganjiance1",
    "timestamp":"{
    
    {timestamp}}",
    "signMethod":"hmacsha256",
    "sign":"{
    
    {sign}}"
}

Pre-request Script

// 获取当前时间戳
var timestamp = new Date().getTime();
var body =pm.request.body;
console.log("body:",body);
var raw = body.raw;
console.log("raw:",raw);
var data = JSON.parse(raw);
console.log("data:",data);
var productKey = data.productKey;
var deviceKey = data.deviceKey;
var deviceId = data.deviceId;
var deviceSecret = data.secretKey;
var signMethod = data.signMethod;
var operator = data.operator;
console.log("productKey:",productKey);
console.log("deviceKey:",deviceKey);
console.log("deviceId:",deviceId);
console.log("deviceSecret:",deviceSecret);
var reqContent = deviceId+deviceKey+productKey+signMethod+operator+timestamp;
console.log("reqContent:",reqContent);
var reqSign=(CryptoJS.HmacSHA256(reqContent,deviceSecret)).toString() // 加密 转化为字符串
var sign = reqSign.toString(CryptoJS.enc.Hex) // 转化为16进制
console.log("sign:",sign);

pm.environment.set("timestamp", timestamp);
pm.environment.set("sign", sign);

属性上报

在这里插入图片描述
在这里插入图片描述

{
    
    
    "messageId": 54691,
    "params": {
    
    
        "data": [
            {
    
    
                "key": "batteryPower",
                "value": 10
            },
            {
    
    
                "key": "signalStrength",
                "value": 9.93
            },
            {
    
    
                "key": "smokeScope",
                "value": 12.93
            },
            {
    
    
                "key": "dirtyPercent",
                "value": 5
            },
            {
    
    
                "key": "signalSNR",
                "value": 1
            },
            {
    
    
                "key": "geoLocation",
                "value": {
    
    
                    "longitude": 118.763334,
                    "latitude": 32.0175,
                    "altitude": 3.93,
                    "coordinateSystem": 1
                }
            }
        ],
        "ts": {
    
    {
    
    timestamp}}
    }
}

事件上报

{
    
    
    "messageId": 54691,
    "params": {
    
    
        "data": [
            {
    
    
                "key": "fireAlarm_event",
                "value": 10
            },
            {
    
    
                "key": "power_event",
                "value": 9.93
            },
            {
    
    
                "key": "communication_event",
                "value": 12.93
            },
            {
    
    
                "key": "dirtyPercent",
                "value": 5
            },
            {
    
    
                "key": "signalSNR",
                "value": 1
            },
            {
    
    
                "key": "geoLocation",
                "value": {
    
    
                    "longitude": 118.763334,
                    "latitude": 32.0175,
                    "altitude": 3.93,
                    "coordinateSystem": 1
                }
            }
        ],
        "ts": {
    
    {
    
    timestamp}}
    }
}

猜你喜欢

转载自blog.csdn.net/Blueeyedboy521/article/details/129519306