消息轉(zhuǎn)發(fā)說(shuō)明
對(duì)于GB/T 32960協(xié)議云網(wǎng)關(guān)設(shè)備,設(shè)備登錄認(rèn)證、注銷(xiāo)和上報(bào)數(shù)據(jù)等消息,可通過(guò)物聯(lián)網(wǎng)平臺(tái)消息轉(zhuǎn)發(fā)的云產(chǎn)品流轉(zhuǎn)功能轉(zhuǎn)發(fā)到服務(wù)端(用戶的服務(wù)器)。設(shè)備上報(bào)數(shù)據(jù)消息可通過(guò)消息轉(zhuǎn)發(fā)的AMQP訂閱功能推送至服務(wù)端。本文介紹消息轉(zhuǎn)發(fā)的使用說(shuō)明,及對(duì)應(yīng)消息的Topic和數(shù)據(jù)格式。
使用說(shuō)明
配置消息轉(zhuǎn)發(fā)時(shí),您需注意以下事項(xiàng):
僅支持在新版云產(chǎn)品流轉(zhuǎn)功能下,為云網(wǎng)關(guān)設(shè)備配置數(shù)據(jù)流轉(zhuǎn)。具體操作,請(qǐng)參見(jiàn)配置數(shù)據(jù)流轉(zhuǎn)解析器。
GB/T 32960協(xié)議云網(wǎng)關(guān)設(shè)備不具備Topic訂閱能力,所以不支持將GB/T 32960協(xié)議云網(wǎng)關(guān)設(shè)備數(shù)據(jù)流轉(zhuǎn)至另一個(gè)Topic。
云產(chǎn)品流轉(zhuǎn)的數(shù)據(jù)源,僅支持自定義、設(shè)備狀態(tài)變化通知和設(shè)備生命周期變更,配置自定義數(shù)據(jù)源時(shí),需您手動(dòng)輸入車(chē)輛設(shè)備的VIN值。具體操作,請(qǐng)參見(jiàn)創(chuàng)建數(shù)據(jù)源。
服務(wù)端訂閱中僅支持推送設(shè)備上報(bào)消息、設(shè)備狀態(tài)變化通知和設(shè)備生命周期變更的數(shù)據(jù)。具體操作,請(qǐng)參見(jiàn)配置AMQP服務(wù)端訂閱。
設(shè)備對(duì)應(yīng)消息中參數(shù)取值符合標(biāo)準(zhǔn)GB/T 32960協(xié)議規(guī)范即可。詳細(xì)說(shuō)明,請(qǐng)參見(jiàn)GB/T 32960的2016版本協(xié)議(通訊協(xié)議及數(shù)據(jù)格式)。
設(shè)備登錄通知
Topic:/sys/${productKey}/${deviceName}/device/message/uplink
。
{
"header": {
"command": 1,
"responseFlag": 254,
"vin": "onepart1234567891"
},
"body": {
"iccid": "12345678901234567890",
"month": 3,
"hour": 16,
"year": 23,
"subSystemNumber": 2,
"systemEncode": [
"12345678",
"87654321"
],
"systemEncodeLength": 8,
"day": 21,
"serialNo": 1,
"minute": 20,
"second": 12
}
}
參數(shù)名稱 | 數(shù)據(jù)類型 | 描述 |
header | Object | 消息頭數(shù)據(jù)。 |
command | Integer | 命令標(biāo)識(shí)。 |
responseFlag | Integer | 應(yīng)答標(biāo)識(shí)。 |
vin | String | 車(chē)輛的識(shí)別代碼。 |
body | Object | 消息體數(shù)據(jù)。 |
iccid | String | 車(chē)輛的ICCID。 |
year | Integer | 車(chē)輛登錄時(shí)間的年。 |
month | Integer | 車(chē)輛登錄時(shí)間的月。 |
day | Integer | 車(chē)輛登錄時(shí)間的日。 |
hour | Integer | 車(chē)輛登錄時(shí)間的小時(shí)。 |
minute | Integer | 車(chē)輛登錄時(shí)間的分鐘。 |
second | Integer | 車(chē)輛登錄時(shí)間的秒數(shù)。 |
subSystemNumber | Integer | 可充電儲(chǔ)能子系統(tǒng)數(shù)。 |
systemEncode | List | 可充電儲(chǔ)能系統(tǒng)編碼列表。 |
systemEncodeLength | Integer | 可充電儲(chǔ)能系統(tǒng)編碼長(zhǎng)度。 |
serialNo | Integer | 車(chē)輛登錄的流水號(hào)。 |
設(shè)備上下線狀態(tài)
Topic:/sys/${productKey}/${deviceName}/device/status/notify
。
設(shè)備上線的數(shù)據(jù)格式:
{ "protocol": "gb32960", "status":"online", "iotId":"4z819VQHk6VSLmmBJfrf00107e****", "productKey":"al12345****", "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":"192.0.2.1" }
設(shè)備下線的數(shù)據(jù)格式:
{ "protocol": "gb32960", "status":"offline", "iotId":"4z819VQHk6VSLmmBJfrf00107e****", "offlineReasonCode":427, "productKey":"al12345****", "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":"192.0.2.1" }
參數(shù)說(shuō)明:
參數(shù) | 類型 | 說(shuō)明 |
protocol | String | GB/T 32960協(xié)議云網(wǎng)關(guān),取值 |
status | String | 設(shè)備狀態(tài)。
|
iotId | String | 設(shè)備在平臺(tái)內(nèi)的唯一標(biāo)識(shí)。 |
offlineReasonCode | Integer | 設(shè)備下線時(shí),返回的錯(cuò)誤碼。詳細(xì)說(shuō)明,請(qǐng)參見(jiàn)設(shè)備行為錯(cuò)誤碼。 |
productKey | String | 設(shè)備所屬產(chǎn)品的唯一標(biāo)識(shí)。 |
deviceName | String | 設(shè)備名稱。 |
lastTime | String | 該參數(shù)為歷史存量字段,已無(wú)實(shí)際意義。 |
utcLastTime | String | |
time | String | 設(shè)備上、下線的時(shí)間。 收到消息的順序不是實(shí)際設(shè)備上下線時(shí)間排序。設(shè)備上下線順序需按照time具體值排序。 例如,您依次收到3條消息:
這3條消息展示了,設(shè)備先下線,再上線,最后下線的過(guò)程。 |
utcTime | String | 設(shè)備上、下線的UTC時(shí)間。 |
clientIp | String | 設(shè)備公網(wǎng)出口IP。 |
設(shè)備上報(bào)數(shù)據(jù)
Topic:/sys/${productKey}/${deviceName}/device/message/uplink
。
{
"header": {
"command": 123,
"responseFlag":1,
"vin":""
},
"body": {
"data":""
}
}
參數(shù)名稱 | 數(shù)據(jù)類型 | 描述 |
header | Object | 消息頭數(shù)據(jù)。 |
command | Integer | 命令標(biāo)識(shí)。 |
responseFlag | Integer | 應(yīng)答標(biāo)識(shí)。 |
vin | String | 車(chē)輛的識(shí)別代碼。 |
body | Object | 消息體數(shù)據(jù),data數(shù)據(jù)格式為Base64編碼格式。 |
設(shè)備注銷(xiāo)通知
Topic:/sys/${productKey}/${deviceName}/device/message/uplink
。
{
"header": {
"command": 4,
"responseFlag": 254,
"vin": "onepart1234567891"
},
"body": {
"month": 3,
"hour": 16,
"year": 23,
"day": 21,
"minute": 20,
"second": 12,
"serialNo": 1
}
}
參數(shù)名稱 | 數(shù)據(jù)類型 | 描述 |
header | Object | 消息頭數(shù)據(jù)。 |
command | Integer | 命令標(biāo)識(shí)。 |
responseFlag | Integer | 應(yīng)答標(biāo)識(shí)。 |
vin | String | 車(chē)輛的識(shí)別代碼。 |
body | Object | 消息體數(shù)據(jù)。 |
year | Integer | 車(chē)輛注銷(xiāo)時(shí)間的年。 |
month | Integer | 車(chē)輛注銷(xiāo)時(shí)間的月。 |
day | Integer | 車(chē)輛注銷(xiāo)時(shí)間的日。 |
hour | Integer | 車(chē)輛注銷(xiāo)時(shí)間的小時(shí)。 |
minute | Integer | 車(chē)輛注銷(xiāo)時(shí)間的分鐘。 |
second | Integer | 車(chē)輛注銷(xiāo)時(shí)間的秒數(shù)。 |
serialNo | Integer | 車(chē)輛注銷(xiāo)的流水號(hào)。 |