docs(gw_jt808): fix and reformat data exchange guide

This commit is contained in:
JimMoen 2023-12-18 03:21:49 +08:00
parent f38ab4bd39
commit 725e7a17bb
No known key found for this signature in database
GPG Key ID: 87A520B4F76BA86D
1 changed files with 260 additions and 179 deletions

View File

@ -1,8 +1,6 @@
# emqx-jt808 # JT/T 808 2013 网关数据交换格式
JT/T 808 2013 协议接入网关 该文档定义了 **emqx_jt808****EMQX** 之间数据交换的格式
该文档定义了 Plugins **emqx_jt808****EMQX** 之间数据交换的格式
约定: 约定:
- Payload 采用 Json 格式进行组装 - Payload 采用 Json 格式进行组装
@ -13,35 +11,35 @@ Json 结构示例
## 终端到服务器 ## 终端到服务器
```json ```json
{ {
"header" : { "header" : {
"msg_id" : 1, "msg_id" : 1,
"encrypt": 0, "encrypt": 0,
"len": VAL, "len": VAL,
"phone": 13900000000, "phone": 13900000000,
"msg_sn": 0 "msg_sn": 0
}, },
"body": { "body": {
"seq": 1, "seq": 1,
"id": 1, "id": 1,
"result": 0 "result": 0
} }
} }
``` ```
## 服务器到终端 ## 服务器到终端
```json ```json
{ {
"header": { "header": {
"msg_id": 32769, "msg_id": 32769,
"encrypt": 0, "encrypt": 0,
"phone": 13900000000, "phone": 13900000000,
"msg_sn": 0 "msg_sn": 0
}, },
"body": { "body": {
"seq": 1, "seq": 1,
"id": 1, "id": 1,
"result": 0 "result": 0
} }
} }
``` ```
@ -75,7 +73,8 @@ Json 结构示例
### 消息体字段对照表 ### 消息体字段对照表
- 终端通用应答 `"msg_id": 1` 0x0001 #### 终端通用应答 `"msg_id": 1` 0x0001
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:----------:|:-------------:|:----------:|:------------------:| |:----------:|:-------------:|:----------:|:------------------:|
| 应答流水号 | seq | word | integer | | 应答流水号 | seq | word | integer |
@ -83,7 +82,8 @@ Json 结构示例
| 结果 | result | byte | integer | | 结果 | result | byte | integer |
- 平台通用应答 `"msg_id": 32769` 0x8001 #### 平台通用应答 `"msg_id": 32769` 0x8001
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:----------:|:-------------:|:----------:|:------------------:| |:----------:|:-------------:|:----------:|:------------------:|
| 应答流水号 | seq | word | integer | | 应答流水号 | seq | word | integer |
@ -91,11 +91,13 @@ Json 结构示例
| 结果 | result | byte | integer | | 结果 | result | byte | integer |
- 终端心跳 `"msg_id": 2` 0x0002 #### 终端心跳 `"msg_id": 2` 0x0002
空 Json 空 Json
- 补传分包请求 `"msg_id": 32771` 0x8003 #### 补传分包请求 `"msg_id": 32771` 0x8003
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------------:|:-------------:|:--------------:|:------------------:| |:--------------:|:-------------:|:--------------:|:------------------:|
| 原始消息流水号 | seq | word | integer | | 原始消息流水号 | seq | word | integer |
@ -103,7 +105,8 @@ Json 结构示例
| 重传包 ID 列表 | ids | byte(2*length) | list of integer | | 重传包 ID 列表 | ids | byte(2*length) | list of integer |
- 终端注册 `"msg_id": 256` 0x0100 #### 终端注册 `"msg_id": 256` 0x0100
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:---------:|:--------------:|:----------:|:------------------:| |:---------:|:--------------:|:----------:|:------------------:|
| 省域 ID | province | word | integer | | 省域 ID | province | word | integer |
@ -115,28 +118,34 @@ Json 结构示例
| 车辆标识 | license_number | string | string | | 车辆标识 | license_number | string | string |
- 终端注册应答 `"msg_id": 33024` 0x8100 #### 终端注册应答 `"msg_id": 33024` 0x8100
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:----------:|:-------------:|:----------:|:------------------:| |:----------:|:-------------:|:----------:|:------------------:|
| 应答流水号 | seq | word | integer | | 应答流水号 | seq | word | integer |
| 结果 | result | byte | integer | | 结果 | result | byte | integer |
只有成功后才有此字段 只有成功后才有此字段
| Optional Field | Json Key name | Value Type | Value Type in JSON | | Optional Field | Json Key name | Value Type | Value Type in JSON |
|:--------------:|---------------|------------|--------------------|
| 鉴权码 | auth_code | string | string | | 鉴权码 | auth_code | string | string |
- 终端注销 `"msg_id": 3` 0x0003 #### 终端注销 `"msg_id": 3` 0x0003
空 Json 空 Json
- 终端鉴权 `"msg_id": 258` 0x0102 #### 终端鉴权 `"msg_id": 258` 0x0102
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------:|:-------------:|:----------:|:------------------:| |:------:|:-------------:|:----------:|:------------------:|
| 鉴权码 | code | string | string | | 鉴权码 | code | string | string |
- 设置终端参数 `"msg_id": 33027` 0x8103 #### 设置终端参数 `"msg_id": 33027` 0x8103
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:----------:|:-------------:|:----------:|:------------------------------------------------------:| |:----------:|:-------------:|:----------:|:------------------------------------------------------:|
| 参数总数 | length | byte | integer | | 参数总数 | length | byte | integer |
@ -147,11 +156,13 @@ Json 结构示例
参数 ID 说明见协议规定. 参数 ID 说明见协议规定.
- 查询终端参数 `"msg_id": 33028` 0x8104 #### 查询终端参数 `"msg_id": 33028` 0x8104
空 Json 空 Json
- 查询指定终端参数 `"msg_id": 33030` 0x8106 #### 查询指定终端参数 `"msg_id": 33030` 0x8106
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:--------------:|:--------------------------------:| |:------------:|:-------------:|:--------------:|:--------------------------------:|
| 参数总数 | length | byte | integer | | 参数总数 | length | byte | integer |
@ -160,7 +171,8 @@ Json 结构示例
参数 ID 列表中元素为 integer 参数 ID 列表中元素为 integer
- 查询终端应答参数 `"msg_id": 260` 0x0104 #### 查询终端应答参数 `"msg_id": 260` 0x0104
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:----------:|:------------------------------------------------------:| |:------------:|:-------------:|:----------:|:------------------------------------------------------:|
| 应答流水号 | seq | word | integer | | 应答流水号 | seq | word | integer |
@ -172,18 +184,21 @@ Json 结构示例
参数 ID 说明见协议规定. 参数 ID 说明见协议规定.
- 终端控制 `"msg_id": 33029 ` 0x8105 #### 终端控制 `"msg_id": 33029 ` 0x8105
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------:|:-------------:|:----------:|:------------------:| |:--------:|:-------------:|:----------:|:------------------:|
| 命令字 | command | byte | integer | | 命令字 | command | byte | integer |
| 命令参数 | param | string | string | | 命令参数 | param | string | string |
- 查询终端属性 `"msg_id": 33031` 0x8107 #### 查询终端属性 `"msg_id": 33031` 0x8107
空 Json 空 Json
- 查询终端属性应答 `"msg_id": 263` 0x0107 #### 查询终端属性应答 `"msg_id": 263` 0x0107
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:-----------------:|:----------------:|:----------:|:------------------:| |:-----------------:|:----------------:|:----------:|:------------------:|
| 终端类型 | type | word | integer | | 终端类型 | type | word | integer |
@ -196,10 +211,11 @@ Json 结构示例
| GNSS 模块属性 | gnss_prop | byte | integer | | GNSS 模块属性 | gnss_prop | byte | integer |
| 通信模块属性 | comm_prop | byte | integer | | 通信模块属性 | comm_prop | byte | integer |
-- 终端硬件版本号长度、终端固件版本号长度,将被用于二进制报文解析,不向上暴露 - 终端硬件版本号长度、终端固件版本号长度,将被用于二进制报文解析,不向上暴露
- 下发终端升级包 `"msg_id": 33032` 0x8108 #### 下发终端升级包 `"msg_id": 33032` 0x8108
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------------:|:-------------:|:----------:|:----------------------:| |:--------------:|:-------------:|:----------:|:----------------------:|
| 升级类型 | type | byte | integer | | 升级类型 | type | byte | integer |
@ -210,14 +226,16 @@ Json 结构示例
| 升级数据包 | firmware | binary | string(base64 encoded) | | 升级数据包 | firmware | binary | string(base64 encoded) |
- 终端升级结果通知 `"msg_id": 264` 0x0108 #### 终端升级结果通知 `"msg_id": 264` 0x0108
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------:|:-------------:|:----------:|:------------------:| |:--------:|:-------------:|:----------:|:------------------:|
| 升级类型 | type | byte | integer | | 升级类型 | type | byte | integer |
| 升级结果 | result | byte | integer | | 升级结果 | result | byte | integer |
- 位置信息汇报 `"msg_id": 512` 0x0200 #### 位置信息汇报 `"msg_id": 512` 0x0200
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------------------:|:-------------:|:----------:|:------------------:| |:--------------------:|:-------------:|:----------:|:------------------:|
| 报警标志 | alarm | dword | integer | | 报警标志 | alarm | dword | integer |
@ -230,11 +248,13 @@ Json 结构示例
| 时间 | time | bcd(6) | string | | 时间 | time | bcd(6) | string |
| Optional Field | Json Key name | Value Type | Value Type in JSON | | Optional Field | Json Key name | Value Type | Value Type in JSON |
|:------------------:|:-------------:|:----------:|:------------------:|
| 位置附加信息项列表 | extra | - | map | | 位置附加信息项列表 | extra | - | map |
%% TODO: refine alarm mroe details <!-- TODO: refine alarm mroe details -->
- 位置附加信息项列表, 在 `extra`
位置附加信息项列表, 在 `extra`
| Field (附加信息描述) | Json Key name | Value Type | Value Type in Json | | Field (附加信息描述) | Json Key name | Value Type | Value Type in Json |
|:---------------------------------:|:---------------:|:----------:|:----------------------:| |:---------------------------------:|:---------------:|:----------:|:----------------------:|
| 里程 | mileage | dword | integer | | 里程 | mileage | dword | integer |
@ -250,44 +270,51 @@ Json 结构示例
| 无线通信网络信号强度 | rssi | byte | integer | | 无线通信网络信号强度 | rssi | byte | integer |
| GNSS 定位卫星数 | gnss_sat_num | byte | integer | | GNSS 定位卫星数 | gnss_sat_num | byte | integer |
| 后续自定义信息长度 | custome | - | string(base64 encoded) | | 后续自定义信息长度 | custome | - | string(base64 encoded) |
| %% TODO 自定义区域 | | | | | ## TODO 自定义区域 | | | |
- 超速报警附加信息(长度1或5), 置于 map `overspeed_alarm`
超速报警附加信息(长度1或5), 置于 map `overspeed_alarm`
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------:|:-------------:|:----------:|:------------------:| |:--------:|:-------------:|:----------:|:------------------:|
| 位置类型 | type | byte | integer | | 位置类型 | type | byte | integer |
| Optional Field | Json Key name | Value Type | Value Type in JSON | | Optional Field | Json Key name | Value Type | Value Type in JSON |
|:--------------:|:-------------:|:----------:|:------------------:|
| 区域或路段 ID | id | dword | integer | | 区域或路段 ID | id | dword | integer |
进出区域/路线报警附加信息, 置于 map `in_out_alarm` - 进出区域/路线报警附加信息, 置于 map `in_out_alarm`
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:-------------:|:-------------:|:----------:|:------------------:| |:-------------:|:-------------:|:----------:|:------------------:|
| 位置类型 | type | byte | integer | | 位置类型 | type | byte | integer |
| 区域或路段 ID | id | dword | integer | | 区域或路段 ID | id | dword | integer |
| 方向 | direction | byte | integer | | 方向 | direction | byte | integer |
- 路段行驶时间不足/过长报警附加信息, 置于 map `path_time_alarm`
路段行驶时间不足/过长报警附加信息, 置于 map `path_time_alarm`
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:----------:|:------------------:| |:------------:|:-------------:|:----------:|:------------------:|
| 路段 ID | id | dword | integer | | 路段 ID | id | dword | integer |
| 路段行驶时间 | time | word | integer | | 路段行驶时间 | time | word | integer |
| 结果 | result | byte | integer | | 结果 | result | byte | integer |
IO 状态位, 置于 map `io_status` - IO 状态位, 置于 map `io_status`
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:----------:|:------------------:| |:------------:|:-------------:|:----------:|:------------------:|
| 深度休眠状态 | deep_sleep | 1 bit | integer | | 深度休眠状态 | deep_sleep | 1 bit | integer |
| 休眠状态 | sleep | 1 bit | integer | | 休眠状态 | sleep | 1 bit | integer |
模拟量, 置于 map `analog` - 模拟量, 置于 map `analog`
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------:|:-------------:|:----------:|:------------------:| |:--------:|:-------------:|:----------:|:------------------:|
| 模拟量 0 | ad0 | 16 bits | integer | | 模拟量 0 | ad0 | 16 bits | integer |
| 模拟量 1 | ad1 | 16 bits | integer | | 模拟量 1 | ad1 | 16 bits | integer |
扩展车辆信号状态位, 置于 map `extra` - 扩展车辆信号状态位, 置于 map `extra`
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:---------------:|:----------:|:------------------------------------------:| |:------------:|:---------------:|:----------:|:------------------------------------------:|
| 信号 | signal | - 2 bits | map, `{"low_beam": VAL, "high_beam": VAL}` | | 信号 | signal | - 2 bits | map, `{"low_beam": VAL, "high_beam": VAL}` |
@ -305,7 +332,8 @@ IO 状态位, 置于 map `io_status` 内
| 加热器工作 | heater | 1 bit | integer | | 加热器工作 | heater | 1 bit | integer |
| 离合器状态 | cluth | 1 bit | integer | | 离合器状态 | cluth | 1 bit | integer |
信号状态, 置于 map `signal` - 信号状态, 置于 map `signal`
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:----------:|:-------------:|:----------:|:------------------:| |:----------:|:-------------:|:----------:|:------------------:|
| 近光灯信号 | low_beam | 1 bit | integer | | 近光灯信号 | low_beam | 1 bit | integer |
@ -313,107 +341,113 @@ IO 状态位, 置于 map `io_status` 内
example: example:
``` ```json
{ {
"header" : { "header" : {
"msg_id" : 1, "msg_id" : 1,
"encrypt": 0, "encrypt": 0,
"len": VAL, "len": VAL,
"phone": 13900000000, "phone": 13900000000,
"msg_sn": 0 "msg_sn": 0
}, },
"body": { "body": {
"alarm": VAL, "alarm": VAL,
"status": VAL, "status": VAL,
"latitude": VAL, "latitude": VAL,
"longitude": VAL, "longitude": VAL,
"altitude": VAL, "altitude": VAL,
"speed": VAL, "speed": VAL,
"direction": VAL, "direction": VAL,
"time": VAL,
"extra": {
"mileage": VAL,
"fuel_unit": VAL,
"speed": VAL,
"alarm_id": VAL,
"overspeed_alarm": {
"type": VAL,
"id": VAL
},
"in_out_alarm": {
"type": VAL,
"id": VAL,
"direction": VAL
},
"path_time_alarm": {
"id": VAL,
"time": VAL, "time": VAL,
"extra": { "result": VAL
"mileage": VAL, },
"fuel_unit": VAL, "signal": {
"speed": VAL, "low_beam": VAL,
"alarm_id": VAL, "high_beam": VAL
"overspeed_alarm": { },
"type": VAL, "right_turn": VAL,
"id": VAL "left_turn": VAL,
}, "break": VAL,
"in_out_alarm": { "reverse": VAL,
"type": VAL, "fog": VAL,
"id": VAL, "side_marker": VAL,
"direction": VAL "horn": VAL,
}, "air_conditioner": VAL,
"path_time_alarm": { "neutral": VAL,
"id": VAL, "retarder": VAL,
"time": VAL, "abs": VAL,
"result": VAL "heater": VAL,
}, "cluth": VAL,
"signal": { "io_status": {
"low_beam": VAL, "deep_sleep": VAL,
"high_beam": VAL "sleep": VAL
}, },
"right_turn": VAL, "analog": {
"left_turn": VAL, "ad0": VAL,
"break": VAL, "ad1": VAL
"reverse": VAL, }
"fog": VAL,
"side_marker": VAL,
"horn": VAL,
"air_conditioner": VAL,
"neutral": VAL,
"retarder": VAL,
"abs": VAL,
"heater": VAL,
"cluth": VAL,
"io_status": {
"deep_sleep": VAL,
"sleep": VAL
},
"analog": {
"ad0": VAL,
"ad1": VAL
}
}
} }
}
} }
``` ```
- 位置信息查询 `"msg_id": 33281` 0x8201 #### 位置信息查询 `"msg_id": 33281` 0x8201
空 Json 空 Json
- 位置信息查询应答 `"msg_id": 513` 0x0201 #### 位置信息查询应答 `"msg_id": 513` 0x0201
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:----------:|:------------------:| |:------------:|:-------------:|:----------:|:------------------:|
| 应答流水号 | seq | word | integer | | 应答流水号 | seq | word | integer |
| 位置信息汇报 | params | - | map | | 位置信息汇报 | params | - | map |
- 临时位置跟踪控制 `"msg_id": 33282` 0x8202 #### 临时位置跟踪控制 `"msg_id": 33282` 0x8202
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------------:|:-------------:|:----------:|:------------------:| |:--------------:|:-------------:|:----------:|:------------------:|
| 时间间隔 | period | word | integer | | 时间间隔 | period | word | integer |
| 跟踪位置有效期 | expiry | dword | integer | | 跟踪位置有效期 | expiry | dword | integer |
- 人工确认报警消息 `"msg_id": 33283` 0x8203 #### 人工确认报警消息 `"msg_id": 33283` 0x8203
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:----------------:|:-------------:|:----------:|:------------------:| |:----------------:|:-------------:|:----------:|:------------------:|
| 报警消息流水号 | seq | word | integer | | 报警消息流水号 | seq | word | integer |
| 人工确认报警类型 | type | dword | integer | | 人工确认报警类型 | type | dword | integer |
- 文本信息下发 `"msg_id": 33536` 0x8300 #### 文本信息下发 `"msg_id": 33536` 0x8300
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------:|:-------------:|:----------:|:------------------:| |:--------:|:-------------:|:----------:|:------------------:|
| 标志 | flag | byte | integer | | 标志 | flag | byte | integer |
| 文本信息 | text | string | string | | 文本信息 | text | string | string |
- 事件设置 `"msg_id": 33537` 0x8301 #### 事件设置 `"msg_id": 33537` 0x8301
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:----------:|:-----------------------------------------------------------------:| |:------------:|:-------------:|:----------:|:-----------------------------------------------------------------:|
| 设置类型 | type | byte | integer | | 设置类型 | type | byte | integer |
@ -424,33 +458,37 @@ example:
| 事件内容 | content | string | string | | 事件内容 | content | string | string |
- 事件报告 `"msg_id": 769` 0x0301 #### 事件报告 `"msg_id": 769` 0x0301
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:-------:|:-------------:|------------|:------------------:| |:-------:|:-------------:|------------|:------------------:|
| 事件 ID | id | byte | integer | | 事件 ID | id | byte | integer |
- 提问下发 `"msg_id": 33538` 0x8302 #### 提问下发 `"msg_id": 33538` 0x8302
| Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:----------:|:---------------------------------------------------------------:| | Field | Json Key name | Value Type | Value Type in Json |
| 标志 | flag | byte | integer | |:------------:|:-------------:|:----------:|:--------------------------------------------------------------:|
| 问题内容长度 | length | byte | integer | | 标志 | flag | byte | integer |
| 问题 | question | string | string | | 问题内容长度 | length | byte | integer |
| 问题 | question | string | string |
| 候选答案列表 | answers | list | list of answer. `[{"id": ID, "len": LEN, "answer": ANS}, ...]` | | 候选答案列表 | answers | list | list of answer. `[{"id": ID, "len": LEN, "answer": ANS}, ...]` |
| 答案 ID | id | byte | integer | | 答案 ID | id | byte | integer |
| 答案内容长度 | len | byte | integer | | 答案内容长度 | len | byte | integer |
| 答案内容 | answer | string | string | | 答案内容 | answer | string | string |
%% TODO: len -> length or other length -> len <!-- TODO: len -> length or other length -> len -->
#### 提问应答 `"msg_id": 770` 0x0302
- 提问应答 `"msg_id": 770` 0x0302
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:----------:|:-------------:|:----------:|:------------------:| |:----------:|:-------------:|:----------:|:------------------:|
| 应答流水号 | seq | word | integer | | 应答流水号 | seq | word | integer |
| 答案 ID | id | byte | integer | | 答案 ID | id | byte | integer |
- 信息点播菜单设置 `"msg_id": 33539` 0x8303 #### 信息点播菜单设置 `"msg_id": 33539` 0x8303
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:----------:|:------------------:| |:------------:|:-------------:|:----------:|:------------------:|
| 设置类型 | type | byte | integer | | 设置类型 | type | byte | integer |
@ -461,14 +499,16 @@ example:
| 信息名称 | info | string | string | | 信息名称 | info | string | string |
- 信息点播/取消 `"msg_id": 771` 0x0303 #### 信息点播/取消 `"msg_id": 771` 0x0303
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:-------------:|:-------------:|:----------:|:------------------:| |:-------------:|:-------------:|:----------:|:------------------:|
| 信息类型 | id | byte | integer | | 信息类型 | id | byte | integer |
| 点拨/取消标志 | flag | byte | integer | | 点拨/取消标志 | flag | byte | integer |
- 信息服务 `"msg_id": 33540` 0x8304 #### 信息服务 `"msg_id": 33540` 0x8304
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------:|:-------------:|:----------:|:------------------:| |:--------:|:-------------:|:----------:|:------------------:|
| 信息类型 | type | byte | integer | | 信息类型 | type | byte | integer |
@ -476,14 +516,16 @@ example:
| 信息内容 | info | string | string | | 信息内容 | info | string | string |
- 电话回拨 `"msg_id": 33792` 0x8400 #### 电话回拨 `"msg_id": 33792` 0x8400
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------:|:-------------:|:----------:|:------------------:| |:--------:|:-------------:|:----------:|:------------------:|
| 标志 | type | byte | integer | | 标志 | type | byte | integer |
| 电话号码 | phone | string | string | | 电话号码 | phone | string | string |
- `"msg_id": 33793` 0x8401 #### 设置电话本 `"msg_id": 33793` 0x8401
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:----------:|:-------------:|:----------:|:------------------:| |:----------:|:-------------:|:----------:|:------------------:|
| 设置类型 | type | byte | integer | | 设置类型 | type | byte | integer |
@ -496,23 +538,28 @@ example:
| 联系人 | name | string | string | | 联系人 | name | string | string |
联系人项示例 联系人项示例
`[{"type": TYPE, "phone_len", PH_LEN, "phone": PHONE, "name_len": NAME_LEN, "name": NAME}, ...]` ```json
[{"type": TYPE, "phone_len", PH_LEN, "phone": PHONE, "name_len": NAME_LEN, "name": NAME}, ...]
```
- `"msg_id": 34048` 0x8500 #### 车辆控制 `"msg_id": 34048` 0x8500
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------:|:-------------:|:----------:|:------------------:| |:--------:|:-------------:|:----------:|:------------------:|
| 标志控制 | flag | byte | integer | | 标志控制 | flag | byte | integer |
- `"msg_id": 1280` 0x0500 #### 车辆控制应答 `"msg_id": 1280` 0x0500
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------------:|:-------------:|:----------:|:------------------:| |:------------------:|:-------------:|:----------:|:------------------:|
| 应答流水号 | seq | word | integer | | 应答流水号 | seq | word | integer |
| 位置信息汇报消息体 | location | map | map of location | | 位置信息汇报消息体 | location | map | map of location |
- `"msg_id": 34304` 0x8600 #### 设置圆形区域 `"msg_id": 34304` 0x8600
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:------------------:|:----------:|:------------------:| |:------------:|:------------------:|:----------:|:------------------:|
| 设置属性 | type | byte | integer | | 设置属性 | type | byte | integer |
@ -529,7 +576,8 @@ example:
| 超速持续时间 | overspeed_duration | byte | integer | | 超速持续时间 | overspeed_duration | byte | integer |
区域列表示例 区域列表示例
`[{"id": ID, ```json
[{"id": ID,
"flag": FLAG, "flag": FLAG,
"center_latitude": CEN_LAT, "center_latitude": CEN_LAT,
"center_longitude": CEN_LON, "center_longitude": CEN_LON,
@ -540,10 +588,12 @@ example:
"overspeed_duration", OVERSPEED_DURATION "overspeed_duration", OVERSPEED_DURATION
}, },
... ...
]` ]
```
- 删除圆形区域 `"msg_id": 34305` 0x8601 #### 删除圆形区域 `"msg_id": 34305` 0x8601
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:----------:|:------------------:| |:------------:|:-------------:|:----------:|:------------------:|
| 区域数 | length | byte | integer | | 区域数 | length | byte | integer |
@ -553,7 +603,8 @@ example:
`[ID1, ID2, ...]` `[ID1, ID2, ...]`
- 设置矩形区域 `"msg_id": 34306` 0x8602 #### 设置矩形区域 `"msg_id": 34306` 0x8602
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:------------------:|:----------:|:------------------------:| |:------------:|:------------------:|:----------:|:------------------------:|
| 设置属性 | type | byte | integer | | 设置属性 | type | byte | integer |
@ -571,7 +622,8 @@ example:
| 超速持续时间 | overspeed_duration | byte | integer | | 超速持续时间 | overspeed_duration | byte | integer |
- 删除矩形区域 `"msg_id": 34307` 0x8603 #### 删除矩形区域 `"msg_id": 34307` 0x8603
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:----------:|:------------------:| |:------------:|:-------------:|:----------:|:------------------:|
| 区域数 | length | byte | integer | | 区域数 | length | byte | integer |
@ -579,7 +631,8 @@ example:
| 区域 ID 1~n | - | dword | integer | | 区域 ID 1~n | - | dword | integer |
- 设置多边形区域 `"msg_id": 34308` 0x8604 #### 设置多边形区域 `"msg_id": 34308` 0x8604
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:------------------:|:----------:|:------------------:| |:------------:|:------------------:|:----------:|:------------------:|
| 区域 ID | id | dword | integer | | 区域 ID | id | dword | integer |
@ -594,7 +647,8 @@ example:
| 顶点经度 | lng | dword | integer | | 顶点经度 | lng | dword | integer |
- 删除多边形区域 `"msg_id": 34309` 0x8605 #### 删除多边形区域 `"msg_id": 34309` 0x8605
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:----------:|:------------------:| |:------------:|:-------------:|:----------:|:------------------:|
| 区域数 | length | byte | integer | | 区域数 | length | byte | integer |
@ -602,7 +656,8 @@ example:
| 区域 ID 1~n | - | dword | integer | | 区域 ID 1~n | - | dword | integer |
- 设置路线 `"msg_id": 34310` 0x8606 #### 设置路线 `"msg_id": 34310` 0x8606
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:----------------:|:------------------:|:----------:|:------------------:| |:----------------:|:------------------:|:----------:|:------------------:|
| 路线 ID | id | dword | integer | | 路线 ID | id | dword | integer |
@ -623,7 +678,8 @@ example:
| 路段超速持续时间 | overspeed_duration | byte | integer | | 路段超速持续时间 | overspeed_duration | byte | integer |
- `"msg_id": 34311` 0x8607 #### 删除路线 `"msg_id": 34311` 0x8607
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------:|:-------------:|:----------:|:------------------:| |:--------:|:-------------:|:----------:|:------------------:|
| 路线数 | length | byte | integer | | 路线数 | length | byte | integer |
@ -631,14 +687,16 @@ example:
| 路线 ID | - | dword | integer | | 路线 ID | - | dword | integer |
- 行驶记录数据采集命令 `"msg_id": 34560` 0x8700 #### 行驶记录数据采集命令 `"msg_id": 34560` 0x8700
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------:|:-------------:|:----------------------:|:------------------:| |:------:|:-------------:|:----------------------:|:------------------:|
| 命令字 | command | byte | integer | | 命令字 | command | byte | integer |
| 数据块 | param | string(base64 encoded) | string | | 数据块 | param | string(base64 encoded) | string |
- 行驶记录数据上传 `"msg_id": 1792` 0x0700 #### 行驶记录数据上传 `"msg_id": 1792` 0x0700
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:----------:|:-------------:|:----------------------:|:------------------:| |:----------:|:-------------:|:----------------------:|:------------------:|
| 应答流水号 | seq | word | integer | | 应答流水号 | seq | word | integer |
@ -646,25 +704,29 @@ example:
| 数据块 | data | string(base64 encoded) | string | | 数据块 | data | string(base64 encoded) | string |
- 行驶记录参数下传命令 `"msg_id": 34561` 0x8701 #### 行驶记录参数下传命令 `"msg_id": 34561` 0x8701
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------:|:-------------:|:----------------------:|:------------------:| |:------:|:-------------:|:----------------------:|:------------------:|
| 命令字 | command | byte | integer | | 命令字 | command | byte | integer |
| 数据块 | param | string(base64 encoded) | string | | 数据块 | param | string(base64 encoded) | string |
- 电子运单上报 `"msg_id": 1793` 0x0701 #### 电子运单上报 `"msg_id": 1793` 0x0701
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:----------------------:|:------------------:| |:------------:|:-------------:|:----------------------:|:------------------:|
| 电子运单长度 | length | dword | integer | | 电子运单长度 | length | dword | integer |
| 电子运单内容 | data | string(base64 encoded) | string | | 电子运单内容 | data | string(base64 encoded) | string |
- 上报驾驶员身份信息请求 `"msg_id": 34562` 0x8702 #### 上报驾驶员身份信息请求 `"msg_id": 34562` 0x8702
空 Json 空 Json
- 驾驶员身份信息采集上报 `"msg_id": 1794` 0x0702 #### 驾驶员身份信息采集上报 `"msg_id": 1794` 0x0702
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------------:|:-------------:|:----------:|:------------------:| |:--------------:|:-------------:|:----------:|:------------------:|
| 状态 | status | byte | integer | | 状态 | status | byte | integer |
@ -676,7 +738,8 @@ example:
| 证件有效期 | cert_expiry | string | string | | 证件有效期 | cert_expiry | string | string |
- 定位数据批量上传 `"msg_id": 1796` 0x0704 #### 定位数据批量上传 `"msg_id": 1796` 0x0704
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------------:|:-------------:|:----------:|:------------------:| |:--------------:|:-------------:|:----------:|:------------------:|
| 位置数据类型 | type | byte | integer | | 位置数据类型 | type | byte | integer |
@ -684,7 +747,8 @@ example:
| 位置汇报数据项 | location | list | list of location | | 位置汇报数据项 | location | list | list of location |
- `"msg_id": 1797` 0x0705 #### CAN 总线数据上传 `"msg_id": 1797` 0x0705
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------------------:|:-------------:|:----------:|:----------------------:| |:--------------------:|:-------------:|:----------:|:----------------------:|
| 数据项个数 | length | word | integer | | 数据项个数 | length | word | integer |
@ -697,7 +761,8 @@ example:
| CAN 数据 | data | binary | string(base64 encoded) | | CAN 数据 | data | binary | string(base64 encoded) |
- 多媒体时间信息上传 `"msg_id": 2048` 0x0800 #### 多媒体时间信息上传 `"msg_id": 2048` 0x0800
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------------:|:-------------:|:----------:|:------------------:| |:--------------:|:-------------:|:----------:|:------------------:|
| 多媒体数据 ID | id | dword | integer | | 多媒体数据 ID | id | dword | integer |
@ -707,7 +772,8 @@ example:
| 通道 ID | channel | byte | integer | | 通道 ID | channel | byte | integer |
- 多媒体数据上传 `"msg_id": 2049` 0x0801 #### 多媒体数据上传 `"msg_id": 2049` 0x0801
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------------:|:-------------:|:----------:|:----------------------:| |:--------------:|:-------------:|:----------:|:----------------------:|
| 多媒体 ID | id | dword | integer | | 多媒体 ID | id | dword | integer |
@ -720,7 +786,8 @@ example:
- 多媒体数据上传应答 `"msg_id": 34816` 0x8800 #### 多媒体数据上传应答 `"msg_id": 34816` 0x8800
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------------:|:-------------:|:----------:|:------------------:| |:--------------:|:-------------:|:----------:|:------------------:|
| 多媒体 ID | mm_id | dword | integer | | 多媒体 ID | mm_id | dword | integer |
@ -728,7 +795,8 @@ example:
| 重传包 ID 列表 | retx_ids | list | list of retry IDs | | 重传包 ID 列表 | retx_ids | list | list of retry IDs |
- 摄像头立即拍摄命令 `"msg_id": 34817` 0x8801 #### 摄像头立即拍摄命令 `"msg_id": 34817` 0x8801
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:-----------------:|:-------------:|:----------:|:------------------:| |:-----------------:|:-------------:|:----------:|:------------------:|
| 通道 ID | channel_id | byte | integer | | 通道 ID | channel_id | byte | integer |
@ -743,7 +811,8 @@ example:
| 色度 | chromaticity | byte | integer | | 色度 | chromaticity | byte | integer |
- 摄像头立即拍摄应答 `"msg_id": 2053` 0x0805 #### 摄像头立即拍摄应答 `"msg_id": 2053` 0x0805
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:--------------:|:-------------:|:--------------:|:------------------:| |:--------------:|:-------------:|:--------------:|:------------------:|
| 应答流水号 | seq | word | integer | | 应答流水号 | seq | word | integer |
@ -752,7 +821,8 @@ example:
| 多媒体 ID 列表 | ids | byte(4*length) | integer | | 多媒体 ID 列表 | ids | byte(4*length) | integer |
- 存储多媒体数据检索 `"msg_id": 34818` 0x8802 #### 存储多媒体数据检索 `"msg_id": 34818` 0x8802
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:----------:|:-------------:|:----------:|:------------------:| |:----------:|:-------------:|:----------:|:------------------:|
| 多媒体类型 | | byte | | | 多媒体类型 | | byte | |
@ -762,7 +832,8 @@ example:
| 结束时间 | | string | | | 结束时间 | | string | |
- 存储多媒体数据检索应答 `"msg_id": 2050` 0x0802 #### 存储多媒体数据检索应答 `"msg_id": 2050` 0x0802
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:----------------:|:-------------:|:----------:|:---------------------:| |:----------------:|:-------------:|:----------:|:---------------------:|
| 应答流水号 | seq | word | integer | | 应答流水号 | seq | word | integer |
@ -775,7 +846,8 @@ example:
| 位置信息汇报 | location | byte(28) | map | | 位置信息汇报 | location | byte(28) | map |
- 存储多媒体数据上传命令 `"msg_id": 34819` 0x8803 #### 存储多媒体数据上传命令 `"msg_id": 34819` 0x8803
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:----------:|:-------------:|:----------:|:------------------:| |:----------:|:-------------:|:----------:|:------------------:|
| 多媒体类型 | type | byte | integer | | 多媒体类型 | type | byte | integer |
@ -786,7 +858,8 @@ example:
| 删除标志 | delete | byte | integer | | 删除标志 | delete | byte | integer |
- 录音开始命令 `"msg_id": 34820` 0x8804 #### 录音开始命令 `"msg_id": 34820` 0x8804
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:----------:|:-------------:|:----------:|:------------------:| |:----------:|:-------------:|:----------:|:------------------:|
| 录音命令 | command | byte | integer | | 录音命令 | command | byte | integer |
@ -795,46 +868,54 @@ example:
| 音频采样率 | rate | byte | integer | | 音频采样率 | rate | byte | integer |
- 单条存储多媒体j叔叔检索上传命令 `"msg_id": 34821` 0x8805 #### 单条存储多媒体j叔叔检索上传命令 `"msg_id": 34821` 0x8805
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:---------:|:-------------:|:----------:|:------------------:| |:---------:|:-------------:|:----------:|:------------------:|
| 多媒体 ID | id | dword | integer | | 多媒体 ID | id | dword | integer |
| 删除标志 | flag | byte | integer | | 删除标志 | flag | byte | integer |
- 数据下行透传 `"msg_id": 35072` 0x8900 #### 数据下行透传 `"msg_id": 35072` 0x8900
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:----------:|:----------------------:| |:------------:|:-------------:|:----------:|:----------------------:|
| 透传消息类型 | type | byte | integer | | 透传消息类型 | type | byte | integer |
| 透传消息内容 | data | binary | string(base64 encoded) | | 透传消息内容 | data | binary | string(base64 encoded) |
- 数据上行透传 `"msg_id": 2304` 0x0900 #### 数据上行透传 `"msg_id": 2304` 0x0900
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:----------:|:----------------------:| |:------------:|:-------------:|:----------:|:----------------------:|
| 透传消息类型 | type | byte | integer | | 透传消息类型 | type | byte | integer |
| 透传消息内容 | data | binary | string(base64 encoded) | | 透传消息内容 | data | binary | string(base64 encoded) |
- 数据压缩上报 `"msg_id": 2305` 0x0901 #### 数据压缩上报 `"msg_id": 2305` 0x0901
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:------------:|:-------------:|:----------:|:----------------------:| |:------------:|:-------------:|:----------:|:----------------------:|
| 压缩消息长度 | length | dword | integer | | 压缩消息长度 | length | dword | integer |
| 压缩消息体 | data | binary | string(base64 encoded) | | 压缩消息体 | data | binary | string(base64 encoded) |
- 平台 RSA 公钥 `"msg_id": 35328` 0x8A00 #### 平台 RSA 公钥 `"msg_id": 35328` 0x8A00
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:-----:|:-------------:|:----------:|:----------------------:| |:-----:|:-------------:|:----------:|:----------------------:|
| e | e | dword | integer | | e | e | dword | integer |
| n | n | byte(128) | string(base64 encoded) | | n | n | byte(128) | string(base64 encoded) |
- 终端 RSA 公钥 `"msg_id": 2560` 0x0A00 #### 终端 RSA 公钥 `"msg_id": 2560` 0x0A00
| Field | Json Key name | Value Type | Value Type in Json | | Field | Json Key name | Value Type | Value Type in Json |
|:-----:|:-------------:|:----------:|:----------------------:| |:-----:|:-------------:|:----------:|:----------------------:|
| e | e | dword | integer | | e | e | dword | integer |
| n | n | byte(128) | string(base64 encoded) | | n | n | byte(128) | string(base64 encoded) |
- 0x8F00 ~ 0x8FFF
- 0x0F00 ~ 0x0FFF #### 保留 0x8F00 ~ 0x8FFF
#### 保留 0x0F00 ~ 0x0FFF