2024年12月10日 13:21:48 来源:厦门星纵物联科技有限公司 >> 进入该公司展台 阅读量:15
目录
本文主要描述如何使用网关MQTT API接口对网关内置的NS功能进行远程配置管理。
将网关成功连接到MQTT服务器中。参考
进入MQTT应用主题,Request data与Respond data是MQTT API接口远程管理的主题,可自定义主题。
通过MQTT客户端软件(MQTT.fx或MQTTX)进行模拟测试,如下以MQTTX为例,将其连接到与网关同样MQTT服务器,且配置对应的主题,如下图:
MQTTX向Request data主题/test/request推送内容,推送成功后,网关将会通过该主题接收的内容进行配置处理。
网关在配置完成后会向Respond data主题/test/respond 推送回复内容,MQTTX将会通过该主题接收回复内容。
如下举例几种常用MQTT API接口进行介绍,可下载API文件了解完整的MQTT API功能。
添加一条入网方式为OTAA,工作方式为Class C,信道8-15,名为test的profile文件。
推送内容:
{
"type": "ns-api",
"id": "1",
"method": "POST",
"url": "/api/urprofiles",
"body": {
"name": "test",
"profile": {
"factoryPresetFreqs": [],
"macVersion": "1.0.2",
"maxEIRP": 0,
"regParamsRevision": "B",
"rxDROffset1": 0,
"rxDataRate2": 0,
"rxFreq2": 505300000,
"supports32bitFCnt": true,
"supportsClassB": false,
"supportsClassC": false,
"supportsJoin": true,
"pingSlotPeriod": 0,
"pingSlotDR": 2,
"pingSlotFreq": 508300000,
"classBTimeout": 10,
"classCTimeout": 10,
"enableUplinkChannels": [8,9,10,11,12,13,14,15]
}
}
}
网关回复:
{"id":"1","gatewayEUI":"24E124FFFEF2F213","method":"POST","url":"/api/urprofiles","body":{"profileID":"4cf616c0-ee30-4686-b4a6-7ef7ed284cf7"}}
查询网关Profile配置信息。
推送内容:
{
"type":"ns-api",
"id": "1",
"method": "GET",
"url": "/api/urprofiles"
}
网关回复:
删除网关Profile配置文件。
推送内容:
{
"type": "ns-api",
"id": "1",
"method": "DELETE",
"url": "/api/urprofiles/4cf616c0-ee30-4686-b4a6-7ef7ed284cf7"
}
注意:url中profileID信息需要匹配才能删除成功。在添加或查询Profile配置后,网关会在回复包中带上“profileID”,为该Profile配置文件的标识。
网关回复:
若回复包中含有error信息则代表删除失败。
添加一个入网方式为OTAA的终端节点设备。
推送内容:
{
"type":"ns-api",
"id":"1",
"method":"POST",
"url":"/api/urdevices",
"body":{
"name":"testdevice",
"devEUI":"24E124600B252019",
"description":"",
"fPort":1,
"skipFCntCheck":true,
"profileID":"ba238d8e-4cff-4455-b230-280b059740b9",
"appKey":"5572404c696e6b4c6f52613230313823",
"applicationID":"1"
}
}
网关回复:
网关页面上看到设备成功添加。
查询网关所有已添加设备的信息。
推送内容:
{
"type": "ns-api",
"id": "1",
"method": "GET",
"url": "/api/urdevices?&offset=0&limit=9999"
}
网关回复:
修改4.2.1中创建devEUI为24E124600B252019的设备的appKey。
推送内容:
{
"type": "ns-api",
"id": "1",
"method": "PUT",
"url": "/api/urdevices/24E124600B252019",
"body": {
"name":"testdevice",
"applicationID":"1",
"description":"",
"profileID":"ba238d8e-4cff-4455-b230-280b059740b9",
"fCntUp":0,
"fCntDown":0,
"skipFCntCheck":false,
"appKey":"66666666666666666666666666666666",
"devAddr":"",
"appSKey":"",
"nwkSKey":"",
"mbMode":"",
"mbFramePort":0,
"mbTcpPort":0,
"fPort":1
}
}
网关回复:
网关页面上可以看到设备appKey已成功修改。
删除devEUI为24E124600B252019的设备。
推送内容:
{
"type": "ns-api",
"id": "1",
"method": "DELETE",
"url": "/api/urdevices/24E124600B252019"
}
网关回复:
推送内容:
{
"type":"ns-api",
"id":"1",
"method":"POST",
"url":"/api/multicast-groups",
"body":{
"multicastGroup":{
"mcAddr":"",
"name":"group1",
"mcNwkSKey":"5572404c696e6b4c6f52613230313823",
"mcAppSKey":"5572404c696e6b4c6f52613230313823",
"groupType":"CLASS_C",
"fCnt":0,
"dr":0,
"pingSlotPeriod":128,
"frequency":505300000,
"applicationID" :"2"
}
}
}
网关回复:
{
"id":"1",
"method":"POST",
"url":"/api/multicast-groups",
"body":{
"id":"03881b5e-9af0-4a38-860c-bdc25347f739" //成功返回multicastGroupID,失败详细见通用返回值对照表
}
}
推送内容:
{
"type":"ns-api",
"id":"1",
"method":"POST",
"url":"/api/multicast-groups/03881b5e-9af0-4a38-860c-bdc25347f739/devices",
"body":{ "devEUIs": } }
网关回复:
{
"id":"1",
"method":"POST",
"url":"/api/multicast-groups/03881b5e-9af0-4a38-860c-bdc25347f739/devices",
"body": { //body为空时表示添加成功 } }
推送内容:
{
"type": "ns-api",
"id": "1",
"method": "DELETE",
"url": "/api/multicast-groups/8cc84500-9587-4256-bd7e-4f265c56f8ee"
}
网关回复:
{
"id":"1",
"method":"DELETE",
"url":"/api/multicast-groups/8cc84500-9587-4256-bd7e-4f265c56f8ee",
"body":{
"code": , //body为空时表示删除成功,失败会返回code和error
"error":""
}
}
推送内容:
{
"type": "ns-api",
"id": "1",
"method": "POST",
"url": "/api/multicast-groups/0663aff7-3223-4874-ad6a-b306c63a38e7/deletedevices",
"body":{
"devEUIs":[
"24E124136A456467"
]}
}
网关回复:
{
"id":"1",
"method":"POST",
"url":"/api/multicast-groups/0663aff7-3223-4874-ad6a-b306c63a38e7/deletedevices",
"body":{
"code": , //body为空时表示删除成功,失败会返回code和error
"error":""
}
}
1.查询网关下所有组播信息
{
"type": "ns-api",
"id": "1",
"method": "GET",
"url": "/api/multicast-groups?search=&order=asc&offset=0&limit=9999"
}
2.查询网关某个组播信息
{
"type": "ns-api",
"id": "2",
"method": "GET",
"url": "/api/multicast-groups?search=group1&offset=0&limit=9999"
}
网关回复:
{
"id":"1",
"method":"GET",
"url":"/api/multicast-groups?search=&order=asc&offset=0&limit=9999",
"body":{
"totalCount":"1",
"result":[
{
"id":"0663aff7-3223-4874-ad6a-b306c63a38e7",
"name":"group1",
"mcAddr":"",
"mcNwkSKey":"5572404c696e6b4c6f52613230313823",
"mcAppSKey":"5572404c696e6b4c6f52613230313823",
"fCnt":0,
"groupType":"CLASS_C",
"dr":0,
"frequency":505300000,
"pingSlotPeriod":128,
"createdAt":"2023-02-02 01:18:10",
"updatedAt":"2023-02-02 01:27:10",
"applicationID": "2",
"applicationName": "gym",
"devices":[
{
"devEUI":"24E124136A456467",
"name":"em300-470",
"applicationID":"1",
"description":"em300",
"deviceProfileID":"940dcdbe-8d5b-4a1e-b7c6-4e5437162015",
"deviceProfileName":"ClassA-OTAA",
"deviceStatusBattery":0,
"deviceStatusMargin":0,
"lastSeenAt":""
}
]}
]}
}
若使用修改接口需要填充所有参数,请先调用查询接口获取当前数据在对需要修改的参数进行修改,以保证修改的准确性。
推送内容:
{
"type":"ns-api",
"id":"1",
"method":"PUT",
"url":"/api/multicast-groups/0663aff7-3223-4874-ad6a-b306c63a38e7",
"body":{
"multicastGroup":{
"name":"group2",
"mcAddr":"",
"mcNwkSKey":"5572404c696e6b4c6f52613230313823",
"mcAppSKey":"5572404c696e6b4c6f52613230313823",
"fCnt":0,
"groupType":"CLASS_C",
"dr":0,
"frequency":505300000,
"pingSlotPeriod":128
}
}
}
网关回复:
{
"id":"1",
"method":"PUT",
"url":"/api/multicast-groups/0663aff7-3223-4874-ad6a-b306c63a38e7",
"body":{ //成功返回为空,失败会返回code和error详细信息见通用返回值对照表
}
}