Pārlūkot izejas kodu

修改各个对象属性为英文属性并附上对应英文描述(5)

tags/v2.5.0
SmallChi(Koike) pirms 3 gadiem
vecāks
revīzija
ce8a2f92de
31 mainītis faili ar 673 papildinājumiem un 464 dzēšanām
  1. +281
    -284
      README.en.md
  2. +3
    -3
      README.md
  3. +2
    -2
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078.Test/JT808_0x0200Test.cs
  4. +3
    -2
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/DependencyInjectionExtensions.cs
  5. +39
    -20
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/Enums/JT808_JT1078_MsgId.cs
  6. +15
    -7
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/Enums/VideoRelateAlarmType.cs
  7. +69
    -28
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml
  8. +12
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808_JT1078_Constants.cs
  9. +2
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/DependencyInjectionExtensions.cs
  10. +11
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/Enums/ActivePhotographyStrategyType.cs
  11. +11
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/Enums/JT808_SuBiao_MsgId.cs
  12. +2
    -1
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/Enums/PhotoResolutionType.cs
  13. +5
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/Enums/USBIDType.cs
  14. +2
    -1
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/Enums/VideoRecordingResolutionType.cs
  15. +11
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/Enums/WorkingConditionType.cs
  16. +44
    -17
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/JT808.Protocol.Extensions.SuBiao.xml
  17. +2
    -2
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x1FC4_Test.cs
  18. +9
    -6
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/Enums/ActivePhotographyStrategyType.cs
  19. +23
    -11
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/Enums/JT808UpgradeStatus.cs
  20. +11
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/Enums/JT808_YueBiao_MsgId.cs
  21. +2
    -1
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/Enums/PhotoResolutionType.cs
  22. +5
    -0
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/Enums/USBIDType.cs
  23. +3
    -1
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/Enums/VideoRecordingResolutionType.cs
  24. +10
    -5
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/Enums/WorkingConditionType.cs
  25. +63
    -29
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml
  26. +1
    -1
      src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1FC4.cs
  27. +1
    -0
      src/JT808.Protocol.Test/Simples/Demo11.cs
  28. +3
    -0
      src/JT808.Protocol.Test/Simples/Demo13.cs
  29. +5
    -2
      src/JT808.Protocol.Test/Simples/Demo14.cs
  30. +11
    -10
      src/JT808.Protocol/Enums/JT808MsgId.cs
  31. +12
    -11
      src/JT808.Protocol/JT808.Protocol.xml

+ 281
- 284
README.en.md Parādīt failu

@@ -43,7 +43,7 @@

> According to the corresponding message ID:MsgId

***notic:Data content (excluding header and tail identifiers) is escaped***
***Notic:Data content (excluding header and tail identifiers) is escaped***

The escape rules are as follows:

@@ -113,27 +113,27 @@ After the escape
7E 02 00 00 26 12 34 56 78 90 12 00 7E 00 00 00 01 00 00 00 02 00 BA 7F 0E 07 E4 F1 1C 00 28 00 3C 00 00 18 10 15 10 10 10 01 04 00 00 00 64 02 02 00 7D 13 7E

3.disassembly
7E --头标识
02 00 --数据头->消息ID
00 26 --数据头->消息体属性
12 34 56 78 90 12 --数据头->终端手机号
00 7E --数据头->消息流水号
00 00 00 01 --消息体->报警标志
00 00 00 02 --消息体->状态位标志
00 BA 7F 0E --消息体->纬度
07 E4 F1 1C --消息体->经度
00 28 --消息体->海拔高度
00 3C --消息体->速度
00 00 --消息体->方向
18 10 15 10 10 10 --消息体->GPS时间
01 --消息体->附加信息->里程
04 --消息体->附加信息->长度
00 00 00 64 --消息体->附加信息->数据
02 --消息体->附加信息->油量
02 --消息体->附加信息->长度
00 7D --消息体->附加信息->数据
13 --检验码
7E --尾标识
7E --Head logo
02 00 --data head->message id
00 26 --data head->message body properties
12 34 56 78 90 12 --data head->terminal phone number
00 7E --data head->message sequence number
00 00 00 01 --message body->alarm flag
00 00 00 02 --message body->status flag
00 BA 7F 0E --message body->latitude
07 E4 F1 1C --message body->longitude
00 28 --message body->elevation
00 3C --message body->speed
00 00 --message body->direction
18 10 15 10 10 10 --message body->gps time
01 --message body->additional information->mileage
04 --message body->additional information->length
00 00 00 64 --message body->additional information->mileage value
02 --message body->additional information->oil
02 --message body->additional information->length
00 7D --message body->additional information->oil value
13 --Checksum
7E --tail logo
```

#### 3.Program to unpack:
@@ -146,7 +146,7 @@ byte[] bytes = "7E 02 00 00 26 12 34 56 78 90 12 00 7D 02 00 00 00 01 00 00 00 0
var jT808Package = JT808Serializer.Deserialize(bytes);

//3.packet header
Assert.Equal(Enums.JT808MsgId.Location, jT808Package.Header.MsgId);
Assert.Equal(Enums.JT808MsgId._0x0200, jT808Package.Header.MsgId);
Assert.Equal(38, jT808Package.Header.MessageBodyProperty.DataLength);
Assert.Equal(126, jT808Package.Header.MsgNum);
Assert.Equal("123456789012", jT808Package.Header.TerminalPhoneNo);
@@ -171,11 +171,11 @@ Assert.Equal(100, ((JT808_0x0200_0x01)jT808_0x0200.BasicLocationAttachData[JT808
Assert.Equal(125, ((JT808_0x0200_0x02)jT808_0x0200.BasicLocationAttachData[JT808Constants.JT808_0x0200_0x02]).Oil);
```

### 举个栗子2
### For example 2

``` csharp
// 使用消息Id的扩展方法创建JT808Package包
JT808Package jT808Package = Enums.JT808MsgId.位置信息汇报.Create("123456789012",
// Create the JT808Package package using the extension method of the message Id
JT808Package jT808Package = Enums.JT808MsgId._0x0200.Create("123456789012",
new JT808_0x0200 {
AlarmFlag = 1,
Altitude = 40,
@@ -195,183 +195,180 @@ JT808Package jT808Package = Enums.JT808MsgId.位置信息汇报.Create("12345678
byte[] data = JT808Serializer.Serialize(jT808Package);

var hex = data.ToHexString();
//输出结果Hex:
//output result hex:
//7E 02 00 00 26 12 34 56 78 90 12 00 01 00 00 00 01 00 00 00 02 00 BA 7F 0E 07 E4 F1 1C 00 28 00 3C 00 00 18 10 15 10 10 10 01 04 00 00 00 64 02 02 00 7D 01 6C 7E
```

### 举个栗子3
### For example 3

``` csharp
// 初始化配置
// Initial Configuration
IJT808Config DT1JT808Config = new DT1Config();
IJT808Config DT2JT808Config = new DT2Config();
// 注册自定义消息外部程序集
// Register custom message external assemblies
DT1JT808Config.Register(Assembly.GetExecutingAssembly());
// 跳过校验和验证
// Skip checksum validation
DT1JT808Config.SkipCRCCode = true;
// 根据不同的设备终端号,添加自定义消息Id
// Add a user-defined message Id based on the device terminal Id
DT1JT808Config.MsgIdFactory.SetMap<DT1Demo6>();
DT2JT808Config.MsgIdFactory.SetMap<DT2Demo6>();
// 初始化序列化实例
// Initializes the serialization instance
JT808Serializer DT1JT808Serializer = new JT808Serializer(DT1JT808Config);
JT808Serializer DT2JT808Serializer = new JT808Serializer(DT2JT808Config);
```

[可以参考Simples的Demo6](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo6.cs)
[See Demo6 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo6.cs)

### 举个栗子4
### For example 4

#### 遇到的问题-多设备多协议的自定义位置附加信息
#### Problems encountered - Additional information about custom locations for multiple devices and protocols

场景:
一个设备厂商对应多个设备类型,不同设备类型可能存在相同的自定义位置附加信息Id,导致自定义附加信息Id冲突,无法解析。
***scene:***
One device vendor corresponds to multiple device types. Different device types may have the same Id of the user-defined location additional information. As a result, the ids of the user-defined additional information conflict and cannot be resolved.

***解决方式:***
***solution:***
1. You can make a factory based on the device type to decouple the dependency on the common serializer.

1.可以根据设备类型做个工厂,解耦对公共序列化器的依赖。
2. You can configure (GlobalConfigBase) based on the device type and bind the corresponding protocol parsers to different GlobalConfigBase instances.

2.可以根据设备类型去实现(GlobalConfigBase)对应的配置,根据不同的GlobalConfigBase实例去绑定对应协议解析器。
[See Demo4 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo4.cs)

[可以参考Simples的Demo4](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo4.cs)
[See Demo6 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo6.cs)

[可以参考Simples的Demo6](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo6.cs)
> If anyone has another solution, please let me know. Thank you.

> 要是哪位大佬还有其他的解决方式,请您告知我下,谢谢您了。
### For example 5

### 举个栗子5
#### Problems encountered - multimedia data upload for subcontracting processing

#### 遇到的问题-多媒体数据上传进行分包处理
***scene:***
When the device uploads multimedia data, due to the large amount of data, it cannot upload at one time, so it adopts the subcontracting method.

场景:
设备在上传多媒体数据的时候,由于数据比较多,一次上传不了,所以采用分包方式处理。
***solution:***

***解决方式:***
1. The first packet of data is parsed in the usual way;

1. 第一包数据上来采用平常的方式去解析数据;
2. When the second packet comes up, it merges with the SubDataBodies of the first packet;

2. 当第二包上来跟第一包的分包数据体(SubDataBodies)进行合并
3. When N packet data comes in, continue as in Step 2.

3. 当N包数据上来,延续步骤2的方式。
> General Knowledge 1:Since the maximum length of the message body is 10bits (1023 bytes), there is a hard condition that the maximum length cannot be exceeded.
> General Knowledge 2:General industry subcontracting is an integer multiple of 256, too much is not good, too little is not good, must be just right.

> 普及知识点1:由于消息体长度最大为10bit也就是1023的字节,所以这边就有个硬性条件不能超过最大长度
> 普及知识点2:一般行业分包是按256的整数倍,太多不行,太少也不行,必须刚刚好。
[See Demo5 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo5.cs)

[可以参考Simples的Demo5](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo5.cs)
### For example 6

### 举个栗子6
#### Problems encountered - Message ids conflict on multiple devices and protocols

#### 遇到的问题-多设备多协议的消息ID冲突
***scene:***
Because each device vendor is different, the private protocol of the device may use the same message ID as the instruction, causing the platform to fail to resolve the message.

场景:
由于每个设备厂商不同,导致设备的私有协议可能使用相同的消息ID作为指令,导致平台解析不了。
***solution:***
You can configure (GlobalConfigBase) according to the device type and bind the corresponding protocol parser according to the GlobalConfigBase instance.

***解决方式:***
[See Demo6 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo6.cs)

可以根据设备类型去实现(GlobalConfigBase)对应的配置,根据不同的GlobalConfigBase实例去绑定对应
协议解析器。
### For example 7

[可以参考Simples的Demo6](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo6.cs)
How to compatibility with the 2019 version.

### 举个栗子7
> The latest protocol documentation has been written for compatibility, which is the version identifier at bit 14 in the message body attribute.

如何兼容2019版本
1. If the 14th bit is 0, the protocol is the 2011 version.

> 最新协议文档已经写好了如何做兼容,就是在消息体属性中第14位为版本标识。
2. When bit 14 is 1, the protocol is the 2019 version.

1. 当第14位为0时,标识协议为2011年的版本;
[See Demo7 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo7.cs)

2. 当第14位为1时,标识协议为2019年的版本。
### For example 8

[可以参考Simples的Demo7](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo7.cs)
Protocol analyzer is also very useful in data anomalies and error correction, always can not rely on 24K krypton eye to observe the data, so you can develop the protocol at the same time to write the protocol analyzer, so that it is convenient for technology or technical support troubleshooting problems, improve efficiency.

### 举个栗子8
[See Demo8 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo8.cs)

协议分析器在数据出现异常和纠错的时候也是挺有用的,总不能凭借24K氪金眼去观察数据,那么可以在开发协议的同时就把协议分析器给写好,这样方便技术或者技术支持排查问题,提高效率。
### For example 9

[可以参考Simples的Demo8](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo8.cs)
Add dashcam serializer, which can either exist alone or be assembled into 808 data packets.

### 举个栗子9
[See Demo9 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo9.cs)

增加行车记录仪序列化器,既可以单独的存在,也可以组装在808的数据包当中。
### For example 10

[可以参考Simples的Demo9](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo9.cs)
***scene1:***
Some devices, not in accordance with the NATIONAL standard additional information Id, the additional information Id is two bytes, so that there will be repeated additional Id in the reported data, resulting in platform parsing errors.

### 举个栗子10
***scene2:***
Since the length of additional information customized by the equipment manufacturer of Guangdong Standard can be four or four bytes, it needs to be compatible.

场景1:
有些设备,不会按照国标的附加信息Id来搞,把附加信息Id搞为两个字节,这样在上报上来的数据就会存在重复的附加Id,导致平台解析出错。
***scene3:***
Some devices report two ids with the same additional information. In this case, only one Id can be parsed and the other Id can be discarded in the exception additional information.

场景2:
由于粤标的设备厂家自定义的附加信息长度可以为四4个字节的,所以需要兼容。

场景3:
有些设备上报会出现两个相同的附加信息Id,那么只能解析一个,另一个只能丢在异常附加信息里面去处理。

|附加信息类说明| 附加ID字节数 | 附加长度字节数 | 备注 |
|Additional Information| Number of additional ID bytes | Number of additional length bytes | Remarks |
| :--- | :---: | :---: | :---:|
| JT808_0x0200_CustomBodyBase | 1 BYTE | 1 BYTE | 标准|
| JT808_0x0200_CustomBodyBase2 | 2 BYTE | 1 BYTE | 自定义|
| JT808_0x0200_CustomBodyBase3 | 2 BYTE | 2 BYTE | 自定义|
| JT808_0x0200_CustomBodyBase4 | 1 BYTE | 4 BYTE | 自定义|
| JT808_0x0200_CustomBodyBase | 1 BYTE | 1 BYTE | standard|
| JT808_0x0200_CustomBodyBase2 | 2 BYTE | 1 BYTE | custom|
| JT808_0x0200_CustomBodyBase3 | 2 BYTE | 2 BYTE | custom|
| JT808_0x0200_CustomBodyBase4 | 1 BYTE | 4 BYTE | custom|

[可以参考Simples的Demo10](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo10.cs)
[See Demo10 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo10.cs)

>注意:默认都是以**标准**的去解析,要是出现未知的附加,不一定解析就是正确,最好还是需要依照协议文档去开发然后自行注册解析器去解析。
>Notice:The default is the **standard** to parse, if there is unknown add-on, may not be the correct resolution, it is better to develop according to the protocol document and then register the parser to parse.

### 举个栗子11
### For example 11

场景:
有些设备,补报的定位数据有异常数据包内容长度跟原始的内容长度不一致导致整包的数据的解析出错,再设备不升级,改不了的情况下,尽量能解析多少补报的数据量,就解析多少。
***scene:***
On some devices, abnormal positioning data reported by the supplement is inconsistent with the length of the original content, resulting in errors in data parsing of the whole packet. If the device is not upgraded and cannot be changed, the amount of data reported by the supplement can be resolved as much as possible.

[可以参考Simples的Demo11](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo11.cs)
[See Demo11 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo11.cs)

### 举个栗子12
### For example 12

场景:
由于粤标的设备把2019版本的0x8105终端控制消息命令参数做了扩展,所以需要兼容。
***scene:***
Since the device of Yue Biao has extended the 0x8105 terminal control message command parameter of the 2019 version, it needs to be compatible.

[可以参考Simples的Demo12](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo12.cs)
[See Demo12 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo12.cs)

### 举个栗子13
### For example 13

场景:
由于协议库本身可能存在消息解析出错的情况,要么就提PR上来,但是不一定会及时发布,这时候就需要自己把原有的消息解析复制出来,改造好,然后重新注册。
***scene:***
Because the protocol library itself may have a message parsing error, or put up PR, but may not be released in time, at this time you need to copy the original message parsing, transform, and then re-register.

[可以参考Simples的Demo13](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo13.cs)
[See Demo13 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo13.cs)

### 举个栗子14
### For example 14

场景:
由于某些厂商不按要求去做,明明使用的2013的协议但是在消息头部的版本标识位置为1,导致程序认为是2019协议。从而解析报错。此时可以强制解析成2013后,然后修正版本标识,重新序列化消息,以供下游服务使用
***scene:***
Because some vendors do not comply with the requirements, the application uses the 2013 protocol but the version identifier position in the message header is 1, causing the application to believe that the 2019 protocol is used. Parse the error. At this point, you can force parsing to 2013, then fix the version identity and reserialize the message for use by downstream services.

[可以参考Simples的Demo14](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo14.cs)
[See Demo14 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo14.cs)

### 举个栗子15
### For example 15

场景:
兼容2011协议的注册消息
***scene:***
A registration message compatible with the 2011 protocol.

[可以参考Simples的Demo15](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo15.cs)
[See Demo15 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo15.cs)

### 举个栗子16
### For example 16

场景:
平台下发分包数据到设备
***scene:***
The platform delivers subcontracted data to the equipment.

可以参考【栗子5】中,设备上来的分包数据结构,然后举一反三的去实现。
We can refer to the subcontracting data structure of the equipment in [Example 5], and then to achieve it.

[可以参考Simples的Demo16](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo16.cs)
[See Demo16 for Simples](https://github.com/SmallChi/JT808/blob/master/src/JT808.Protocol.Test/Simples/Demo16.cs)

## NuGet安装
## NuGet Install

| Package Name| Version| Preview Version |Downloads|Remark|
| --- | --- | --- | ---| --- |
| Install-Package JT808 | ![JT808](https://img.shields.io/nuget/v/JT808.svg) | ![JT808](https://img.shields.io/nuget/vpre/JT808.svg)|![JT808](https://img.shields.io/nuget/dt/JT808.svg) |JT808|
| Install-Package JT808.Protocol.Extensions.JT1078 | ![JT808.Protocol.Extensions.JT1078](https://img.shields.io/nuget/v/JT808.Protocol.Extensions.JT1078.svg) | ![JT808.Protocol.Extensions.JT1078](https://img.shields.io/nuget/vpre/JT808.Protocol.Extensions.JT1078.svg)|![JT808](https://img.shields.io/nuget/dt/JT808.Protocol.Extensions.JT1078.svg) |JT1078扩展JT808|
| Install-Package JT808.Protocol.Extensions.SuBiao| ![JT808.Protocol.Extensions.SuBiao](https://img.shields.io/nuget/v/JT808.Protocol.Extensions.SuBiao.svg) | ![JT808.Protocol.Extensions.SuBiao](https://img.shields.io/nuget/vpre/JT808.Protocol.Extensions.SuBiao.svg)|![JT808](https://img.shields.io/nuget/dt/JT808.Protocol.Extensions.SuBiao.svg) |主动安全(苏标)扩展JT808|
| Install-Package JT808.Protocol.Extensions.YueBiao| ![JT808.Protocol.Extensions.YueBiao](https://img.shields.io/nuget/v/JT808.Protocol.Extensions.YueBiao.svg) | ![JT808.Protocol.Extensions.YueBiao](https://img.shields.io/nuget/vpre/JT808.Protocol.Extensions.YueBiao.svg)|![JT808](https://img.shields.io/nuget/dt/JT808.Protocol.Extensions.YueBiao.svg) |主动安全(粤标)扩展JT808|
| Install-Package JT808.Protocol.Extensions.JT1078 | ![JT808.Protocol.Extensions.JT1078](https://img.shields.io/nuget/v/JT808.Protocol.Extensions.JT1078.svg) | ![JT808.Protocol.Extensions.JT1078](https://img.shields.io/nuget/vpre/JT808.Protocol.Extensions.JT1078.svg)|![JT808](https://img.shields.io/nuget/dt/JT808.Protocol.Extensions.JT1078.svg) |JT1078 extension JT808|
| Install-Package JT808.Protocol.Extensions.SuBiao| ![JT808.Protocol.Extensions.SuBiao](https://img.shields.io/nuget/v/JT808.Protocol.Extensions.SuBiao.svg) | ![JT808.Protocol.Extensions.SuBiao](https://img.shields.io/nuget/vpre/JT808.Protocol.Extensions.SuBiao.svg)|![JT808](https://img.shields.io/nuget/dt/JT808.Protocol.Extensions.SuBiao.svg) |Active Safety (Su Biao) extension JT808|
| Install-Package JT808.Protocol.Extensions.YueBiao| ![JT808.Protocol.Extensions.YueBiao](https://img.shields.io/nuget/v/JT808.Protocol.Extensions.YueBiao.svg) | ![JT808.Protocol.Extensions.YueBiao](https://img.shields.io/nuget/vpre/JT808.Protocol.Extensions.YueBiao.svg)|![JT808](https://img.shields.io/nuget/dt/JT808.Protocol.Extensions.YueBiao.svg) |Active Safety (Yue Biao) extension JT808|

## 使用BenchmarkDotNet性能测试报告(只是玩玩,不能当真)
## Using BenchmarkDotNet performance test reports (just for fun, not to be taken seriously)

``` ini

@@ -400,123 +397,123 @@ Platform=AnyCpu Server=False Toolchain=.NET 6.0
| **0x0100Serialize** | **0x0100Serializer** | **100000** | **75,323.96 μs** | **494.762 μs** | **462.800 μs** | **10857.1429** | **67,189 KB** |
| 0x0100Deserialize | 0x0100Serializer | 100000 | 65,503.11 μs | 765.326 μs | 715.886 μs | 15875.0000 | 97,656 KB |

## JT808终端通讯协议消息对照表
## JT808 Comparison table of terminal communication protocol messages

| 序号 | 消息ID | 完成情况 | 测试情况 | 消息体名称 |2019版本 | 2011版本
| SN | Message Id | Completion | Unit Test | Message body name |2019 version | 2011 version
| :---: | :-----------: | :------: | :------: | :---------------------------- |:----------------------------:|:----------------------------:|
| 1 | 0x0001 | √ | √ | 终端通用应答 |
| 2 | 0x8001 | √ | √ | 平台通用应答 |
| 3 | 0x0002 | √ | √ | 终端心跳 |
| 4 | 0x8003 | √ | √ | 补传分包请求 | |被新增|
| 5 | 0x0100 | √ | √ | 终端注册 |修改 |被修改
| 6 | 0x8100 | √ | √ | 终端注册应答 |
| 7 | 0x0003 | √ | √ | 终端注销 |
| 8 | 0x0102 | √ | √ | 终端鉴权 |修改|
| 9 | 0x8103 | √ | √ | 设置终端参数 |修改且增加 |被修改
| 10 | 0x8104 | √ | √ | 查询终端参数 |
| 11 | 0x0104 | √ | √ | 查询终端参数应答 |
| 12 | 0x8105 | √ | √ | 终端控制 |
| 13 | 0x8106 | √ | √ | 查询指定终端参数 | |被新增
| 14 | 0x8107 | √ | 消息体为空| 查询终端属性 | |被新增
| 15 | 0x0107 | √ | √ | 查询终端属性应答 | |被新增
| 16 | 0x8108 | √ | √ | 下发终端升级包 | |被新增
| 17 | 0x0108 | √ | √ | 终端升级结果通知 | |被新增
| 18 | 0x0200 | √ | √ | 位置信息汇报 |增加附加信息 |被修改
| 19 | 0x8201 | √ | √ | 位置信息查询 |
| 20 | 0x0201 | √ | √ | 位置信息查询应答 |
| 21 | 0x8202 | √ | √ | 临时位置跟踪控制 |
| 22 | 0x8203 | √ | √ | 人工确认报警消息 | |被新增
| 23 | 0x8300 | √ | √ | 文本信息下发 |修改 |被修改
| 24 | 0x8301 | √ | √ | 事件设置 |删除|
| 25 | 0x0301 | √ | √ | 事件报告 |删除|
| 26 | 0x8302 | √ | √ | 提问下发 |删除|
| 27 | 0x0302 | √ | √ | 提问应答 |删除|
| 28 | 0x8303 | √ | √ | 信息点播菜单设置 |删除|
| 29 | 0x0303 | √ | √ | 信息点播/取消 |删除|
| 30 | 0x8304 | √ | √ | 信息服务 |删除|
| 31 | 0x8400 | √ | √ | 电话回拨 |
| 32 | 0x8401 | √ | √ | 设置电话本 |
| 33 | 0x8500 | √ | √ | 车辆控制 |修改|
| 34 | 0x0500 | √ | √ | 车辆控制应答 |
| 35 | 0x8600 | √ | √ | 设置圆形区域 |修改 |被修改
| 36 | 0x8601 | √ | √ | 删除圆形区域 |
| 37 | 0x8602 | √ | √ | 设置矩形区域 |修改|
| 38 | 0x8603 | √ | √ | 删除矩形区域 |
| 39 | 0x8604 | √ | √ | 设置多边形区域 |修改|
| 40 | 0x8605 | √ | √ | 删除多边形区域 |
| 41 | 0x8606 | √ | √ | 设置路线 |修改|
| 42 | 0x8607 | √ | √ | 删除路线 |
| 43 | 0x8700 | √ | √ | 行驶记录仪数据采集命令 | |被修改
| 44 | 0x0700 | √ | √ | 行驶记录仪数据上传 |
| 45 | 0x8701 | √ | √ | 行驶记录仪参数下传命令 | |被修改
| 46 | 0x0701 | √ | √ | 电子运单上报 |
| 47 | 0x0702 | √ | √ | 驾驶员身份信息采集上报 |修改 |被修改
| 48 | 0x8702 | √ | 消息体为空| 上报驾驶员身份信息请求 | |被新增
| 49 | 0x0704 | √ | √ | 定位数据批量上传 |修改| |被新增
| 50 | 0x0705 | √ | √ | CAN 总线数据上传 |修改| |被新增
| 51 | 0x0800 | √ | √ | 多媒体事件信息上传 | |被修改
| 52 | 0x0801 | √ | √ | 多媒体数据上传 |修改 |被修改
| 53 | 0x8800 | √ | √ | 多媒体数据上传应答 | |被修改
| 54 | 0x8801 | √ | √ | 摄像头立即拍摄命令 |修改|
| 55 | 0x0805 | √ | √ | 摄像头立即拍摄命令应答 |修改| |被新增
| 56 | 0x8802 | √ | √ | 存储多媒体数据检索 |
| 57 | 0x0802 | √ | √ | 存储多媒体数据检索应答 | |被修改
| 58 | 0x8803 | √ | √ | 存储多媒体数据上传 |
| 59 | 0x8804 | √ | √ | 录音开始命令 |
| 60 | 0x8805 | √ | √ | 单条存储多媒体数据检索上传命令 |修改| |被新增
| 61 | 0x8900 | √ | √ | 数据下行透传 |修改 |被修改
| 62 | 0x0900 | √ | √ | 数据上行透传 |修改 |被修改
| 63 | 0x0901 | √ | √ | 数据压缩上报 |
| 64 | 0x8A00 | √ | √ | 平台 RSA 公钥 |
| 65 | 0x0A00 | √ | √ | 终端 RSA 公钥 |
| 66 | 0x8F00~0x8FFF | 保留 | 保留 | 平台下行消息保留 |
| 67 | 0x0F00~0x0FFF | 保留 | 保留 | 终端上行消息保留 |
| 68 | 0x0004 | √ | √ | 查询服务器时间请求 |新增|
| 69 | 0x8004 | √ | √ | 查询服务器时间应答 |新增|
| 70 | 0x0005 | √ | √ | 终端补传分包请求 |新增|
| 71 | 0x8204 | √ | √ | 链路检测 |新增|
| 72 | 0x8608 | √ | √ | 查询区域或线路数据 |新增|
| 73 | 0x0608 | √ | √ | 查询区域或线路数据应答 |新增|
| 74 | 0xE000~0xEFFF | 保留 | 保留 | 厂商自定义上行消息 |新增|
| 75 | 0xF000~0xFFFF | 保留 | 保留 | 厂商自定义下行消息 |新增|
## JT1078扩展JT808议消息对照表
| 序号 | 消息ID | 完成情况 | 测试情况 | 消息体名称 |
| 1 | 0x0001 | √ | √ | Terminal universal reply |
| 2 | 0x8001 | √ | √ | Platform Universal response |
| 3 | 0x0002 | √ | √ | Terminal heart |
| 4 | 0x8003 | √ | √ | Forwarding subcontract request | |Is the new|
| 5 | 0x0100 | √ | √ | Terminal registration |changed |be modified
| 6 | 0x8100 | √ | √ | Terminal registration reply |
| 7 | 0x0003 | √ | √ | Terminal logout |
| 8 | 0x0102 | √ | √ | Terminal authentication |changed|
| 9 | 0x8103 | √ | √ | Setting Terminal Parameters |changedAndNew |be modified
| 10 | 0x8104 | √ | √ | Querying Terminal Parameters |
| 11 | 0x0104 | √ | √ | Query terminal parameter response |
| 12 | 0x8105 | √ | √ | Terminal control |
| 13 | 0x8106 | √ | √ | Example Query specified terminal parameters | |Is the new
| 14 | 0x8107 | √ | The message body is empty| Querying Terminal Properties | |Is the new
| 15 | 0x0107 | √ | √ | Query the response of the terminal properties | |Is the new
| 16 | 0x8108 | √ | √ | Query terminal properties reply Deliver the terminal upgrade package | |Is the new
| 17 | 0x0108 | √ | √ | Terminal upgrade result notification | |Is the new
| 18 | 0x0200 | √ | √ | Location information reporting |Add Additional information |be modified
| 19 | 0x8201 | √ | √ | Location information query |
| 20 | 0x0201 | √ | √ | Location information query response |
| 21 | 0x8202 | √ | √ | Temporary position tracking control |
| 22 | 0x8203 | √ | √ | Manually confirm the alarm message | |Is the new
| 23 | 0x8300 | √ | √ | Text message delivery|changed |be modified
| 24 | 0x8301 | √ | √ | Event set |delete|
| 25 | 0x0301 | √ | √ | Event report |delete|
| 26 | 0x8302 | √ | √ | Questions issued |delete|
| 27 | 0x0302 | √ | √ | Question answering |delete|
| 28 | 0x8303 | √ | √ | Information on demand menu Settings |delete|
| 29 | 0x0303 | √ | √ | Information on demand/Information cancel |delete|
| 30 | 0x8304 | √ | √ | Information service |delete|
| 31 | 0x8400 | √ | √ | Back to the dial |
| 32 | 0x8401 | √ | √ | Set up a phone book |
| 33 | 0x8500 | √ | √ | Vehicle control |changed|
| 34 | 0x0500 | √ | √ | Vehicle control response |
| 35 | 0x8600 | √ | √ | Set the circular area |changed |be modified
| 36 | 0x8601 | √ | √ | Delete circular area |
| 37 | 0x8602 | √ | √ | Set rectangle area|changed|
| 38 | 0x8603 | √ | √ | Delete rectangular area |
| 39 | 0x8604 | √ | √ | Set polygon region |changed|
| 40 | 0x8605 | √ | √ | Delete polygon area |
| 41 | 0x8606 | √ | √ | Set the route |changed|
| 42 | 0x8607 | √ | √ | Delete the route |
| 43 | 0x8700 | √ | √ | Drive recorder data acquisition command | |be modified
| 44 | 0x0700 | √ | √ | Data upload from driving recorder |
| 45 | 0x8701 | √ | √ | Driving recorder parameters down command | |be modified
| 46 | 0x0701 | √ | √ | Electronic waybill reporting |
| 47 | 0x0702 | √ | √ | Collect and report driver identity information |changed |be modified
| 48 | 0x8702 | √ | The message body is empty| Report driver identification request | |Is the new
| 49 | 0x0704 | √ | √ | Upload location data in batches |changed| |Is the new
| 50 | 0x0705 | √ | √ | CAN bus data upload|changed| |Is the new
| 51 | 0x0800 | √ | √ | Upload multimedia event information| |be modified
| 52 | 0x0801 | √ | √ | Multimedia Data upload|changed |be modified
| 53 | 0x8800 | √ | √ | Reply to multimedia data upload | |be modified
| 54 | 0x8801 | √ | √ | The camera immediately shoots the command |changed|
| 55 | 0x0805 | √ | √ | The camera immediately shoots the command reply |changed| |Is the new
| 56 | 0x8802 | √ | √ | Store multimedia data retrieval |
| 57 | 0x0802 | √ | √ | Store multimedia data retrieval replies |be modified
| 58 | 0x8803 | √ | √ | Store multimedia data upload |
| 59 | 0x8804 | √ | √ | Recording Start Command |
| 60 | 0x8805 | √ | √ | Single storage multimedia data retrieval upload command |changed| |Is the new
| 61 | 0x8900 | √ | √ | Data is transmitted through downlink |changed |be modified
| 62 | 0x0900 | √ | √ | Data is transparently transmitted upstream |changed |be modified
| 63 | 0x0901 | √ | √ | Data compression reporting |
| 64 | 0x8A00 | √ | √ | Platform RSA Public Key |
| 65 | 0x0A00 | √ | √ | Terminal RSA Public Key |
| 66 | 0x8F00~0x8FFF | reserved | reserved | Platform downlink message reserved |
| 67 | 0x0F00~0x0FFF | reserved | reserved | The uplink message on the terminal is reserved |
| 68 | 0x0004 | √ | √ | Queries server time requests |new|
| 69 | 0x8004 | √ | √ | Query the server time response |new|
| 70 | 0x0005 | √ | √ | The terminal sends the subcontract request |new|
| 71 | 0x8204 | √ | √ | Link detection |new|
| 72 | 0x8608 | √ | √ | Example Query area or line data |new|
| 73 | 0x0608 | √ | √ | Query area or line data reply |new|
| 74 | 0xE000~0xEFFF | reserved | reserved | The vendor defines the uplink message |new|
| 75 | 0xF000~0xFFFF | reserved | reserved | Vendor defined downlink messages |new|
## Extend JT808 discussion message comparison table
| SN | Message Id | Completion | Unit Test | Message body name |
| :---: | :-----------: | :------: | :------: | :---------------------------- |
| 1 | 0x0200_0x14 | √ | √ | 视频相关报警 |
| 2 | 0x0200_0x15 | √ | √ | 视频信号丢失报警状态 |
| 3 | 0x0200_0x16 | √ | √ | 视频信号遮挡报警状态 |
| 4 | 0x0200_0x17 | √ | √ | 存储器故障报警状态 |
| 5 | 0x0200_0x18 | √ | √ | 异常驾驶行为报警详细描述 |
| 6 | 0x8103_0x0075 | √ | √ | 音视频参数设置 |
| 7 | 0x8103_0x0076 | √ | √ | 音视频通道列表设置 |
| 8 | 0x8103_0x0077 | √ | √ | 单独视频通道参数设置 |
| 9 | 0x8103_0x0079 | √ | √ | 特殊报警录像参数设置 |
| 10 | 0x8103_0x007A | √ | √ | 视频相关报警屏蔽字 |
| 11 | 0x8103_0x007B | √ | √ | 图像分析报警参数设置 |
| 12 | 0x8103_0x007C | √ | √ | 终端休眠模式唤醒设置 |
| 13 | 0x1003 | √ | √ | 终端上传音视频属性 |
| 14 | 0x1005 | √ | √ | 终端上传乘客流量 |
| 15 | 0x1205 | √ | √ | 终端上传音视频资源列表 |
| 16 | 0x1206 | √ | √ | 文件上传完成通知 |
| 17 | 0x9003 | √ | √ | 查询终端音视频属性 |
| 18 | 0x9101 | √ | √ | 实时音视频传输请求 |
| 19 | 0x9102 | √ | √ | 音视频实时传输控制 |
| 20 | 0x9105 | √ | √ | 实时音视频传输状态通知 |
| 21 | 0x9201 | √ | √ | 平台下发远程录像回放请求 |
| 22 | 0x9202 | √ | √ | 平台下发远程录像回放控制 |
| 23 | 0x9205 | √ | √ | 查询资源列表 |
| 24 | 0x9206 | √ | √ | 文件上传指令 |
| 25 | 0x9207 | √ | √ | 文件上传控制 |
| 26 | 0x9301 | √ | √ | 云台旋转 |
| 27 | 0x9302 | √ | √ | 云台调整焦距控制 |
| 28 | 0x9303 | √ | √ | 云台调整光圈控制 |
| 29 | 0x9304 | √ | √ | 云台雨刷控制 |
| 30 | 0x9305 | √ | √ | 红外补光控制 |
| 31 | 0x9306 | √ | √ | 云台变倍控制 |
## 使用方法
| 1 | 0x0200_0x14 | √ | √ | Video related alarm |
| 2 | 0x0200_0x15 | √ | √ | Video signal loss alarm status |
| 3 | 0x0200_0x16 | √ | √ | Video signal occlusion alarm status |
| 4 | 0x0200_0x17 | √ | √ | Memory fault alarm status |
| 5 | 0x0200_0x18 | √ | √ | Abnormal driving behavior alarm detailed description |
| 6 | 0x8103_0x0075 | √ | √ | Audio and video parameter Settings |
| 7 | 0x8103_0x0076 | √ | √ | Set the audio and video channel list |
| 8 | 0x8103_0x0077 | √ | √ | Separate video channel parameter Settings |
| 9 | 0x8103_0x0079 | √ | √ | Special alarm video parameter setting |
| 10 | 0x8103_0x007A | √ | √ | Video related alarm masking word |
| 11 | 0x8103_0x007B | √ | √ | Image analysis alarm parameter setting |
| 12 | 0x8103_0x007C | √ | √ | Wake up in hibernation mode |
| 13 | 0x1003 | √ | √ | The terminal uploads audio and video properties |
| 14 | 0x1005 | √ | √ | Terminal uploads passenger flow |
| 15 | 0x1205 | √ | √ | The terminal uploads the audio and video resource list |
| 16 | 0x1206 | √ | √ | Notification of file upload completion |
| 17 | 0x9003 | √ | √ | Example Query audio and video properties of terminals |
| 18 | 0x9101 | √ | √ | Real-time audio and video transmission request |
| 19 | 0x9102 | √ | √ | Audio and video real-time transmission control |
| 20 | 0x9105 | √ | √ | Real-time audio and video transmission status notification |
| 21 | 0x9201 | √ | √ | The platform delivers a remote video playback request |
| 22 | 0x9202 | √ | √ | Platform delivers remote video playback control |
| 23 | 0x9205 | √ | √ | Querying a Resource List |
| 24 | 0x9206 | √ | √ | File upload command |
| 25 | 0x9207 | √ | √ | File Upload Control |
| 26 | 0x9301 | √ | √ | PTZ rotation |
| 27 | 0x9302 | √ | √ | PTZ Adjust focal length control |
| 28 | 0x9303 | √ | √ | PTZ Adjust aperture control |
| 29 | 0x9304 | √ | √ | PTZ Wiper control |
| 30 | 0x9305 | √ | √ | Infrared light filling control |
| 31 | 0x9306 | √ | √ | Head doubling control |
## usage

```csharp
IServiceCollection serviceDescriptors1 = new ServiceCollection();
@@ -524,31 +521,31 @@ serviceDescriptors1.AddJT808Configure()
.AddJT1078Configure();
```

## 主动安全(苏标)扩展JT808协议消息对照表
## Active Security (SuBiao) extended JT808 protocol message comparison table

| 序号 | 消息ID | 完成情况 | 测试情况 | 消息体名称 |
| SN | Message Id | Completion | Unit Test | Message body name |
| :---: | :---: | :---: | :---: | :---|
| 1 | 0x1210 | √ | √ | 报警附件信息消息 |
| 2 | 0x1211 | √ | √ | 文件信息上传 |
| 3 | 0x1212 | √ | √ | 文件上传完成消息 |
| 4 | 0x9208 | √ | √ | 报警附件上传指令 |
| 5 | 0x9212 | √ | √ | 文件上传完成消息应答 |
| 6 | 0x0200_0x64 | √ | √ | 高级驾驶辅助系统报警信息 |
| 7 | 0x0200_0x65 | √ | √ | 驾驶员状态监测系统报警信息 |
| 8 | 0x0200_0x66 | √ | √ | 胎压监测系统报警信息 |
| 9 | 0x0200_0x67 | √ | √ | 盲区监测系统报警信息 |
| 10 | 0x8103_0xF364 | √ | √ | 高级驾驶辅助系统参数 |
| 11 | 0x8103_0xF365 | √ | √ | 驾驶员状态监测系统参数 |
| 12 | 0x8103_0xF366 | √ | √ | 胎压监测系统参数 |
| 13 | 0x8103_0xF367 | √ | √ | 盲区监测系统参数 |
| 14 | 0x0900 | √ | √ | 上传基本信息 |
| 15 | 0x0900_0xF7 | √ | √ | 外设工作状态 |
| 16 | 0x0900_0xF8 | √ | √ | 外设系统信息 |
| 17 | 0x8900 | √ | √ | 查询基本信息 |
| 18 | 0x8900_0xF7 | √ | √ | 外设工作状态 |
| 19 | 0x8900_0xF8 | √ | √ | 外设系统信息 |
## 使用方法
| 1 | 0x1210 | √ | √ | Alarm attachment information message |
| 2 | 0x1211 | √ | √ | Uploading File Information |
| 3 | 0x1212 | √ | √ | Message indicating that file uploading is complete |
| 4 | 0x9208 | √ | √ | Alarm attachment upload instruction |
| 5 | 0x9212 | √ | √ | File upload complete reply message |
| 6 | 0x0200_0x64 | √ | √ | Advanced driver assistance system alarm information |
| 7 | 0x0200_0x65 | √ | √ | Driver status monitoring system alarm information |
| 8 | 0x0200_0x66 | √ | √ | Tire pressure monitoring system alarm information |
| 9 | 0x0200_0x67 | √ | √ | Blind area monitoring system alarm information |
| 10 | 0x8103_0xF364 | √ | √ | Advanced driver assistance system parameters |
| 11 | 0x8103_0xF365 | √ | √ | Driver condition monitoring system parameters |
| 12 | 0x8103_0xF366 | √ | √ | Tire pressure monitoring system parameters |
| 13 | 0x8103_0xF367 | √ | √ | Blind area monitoring system parameters |
| 14 | 0x0900 | √ | √ | Upload basic Information |
| 15 | 0x0900_0xF7 | √ | √ | Operating status of peripheral |
| 16 | 0x0900_0xF8 | √ | √ | Peripheral system information |
| 17 | 0x8900 | √ | √ | Querying Basic Information |
| 18 | 0x8900_0xF7 | √ | √ | Operating status of peripheral |
| 19 | 0x8900_0xF8 | √ | √ | Peripheral system information |
## usage

```csharp
IServiceCollection serviceDescriptors1 = new ServiceCollection();
@@ -556,35 +553,35 @@ serviceDescriptors1.AddJT808Configure()
.AddSuBiaoConfigure();
```

## 主动安全(粤标)扩展JT808协议消息对照表
## Active Security (Yue Biao) extended JT808 protocol message comparison table

> 注意:基于JT/T808 2019版本
> Notice:Based on JT/T808 version 2019

| 序号 | 消息ID | 完成情况 | 测试情况 | 消息体名称 |
| SN | Message Id | Completion | Unit Test | Message body name |
| :---: | :---: | :---: | :---: | :---|
| 1 | 0x1210 | √ | √ | 报警附件信息消息 |
| 2 | 0x1211 | √ | √ | 文件信息上传 |
| 3 | 0x1212 | √ | √ | 文件上传完成消息 |
| 4 | 0x9208 | √ | √ | 报警附件上传指令 |
| 5 | 0x9212 | √ | √ | 文件上传完成消息应答 |
| 6 | 0x1FC4 | √ | √ | 终端升级进度上报 |
| 7 | 0x0200_0x64 | √ | √ | 高级驾驶辅助系统报警信息 |
| 8 | 0x0200_0x65 | √ | √ | 驾驶员状态监测系统报警信息 |
| 9 | 0x0200_0x66 | √ | √ | 胎压监测系统报警信息 |
| 10 | 0x0200_0x67 | √ | √ | 盲区监测系统报警信息 |
| 11 | 0x8103_0xF364 | √ | √ | 高级驾驶辅助系统参数 |
| 12 | 0x8103_0xF365 | √ | √ | 驾驶员状态监测系统参数 |
| 13 | 0x8103_0xF366 | √ | √ | 胎压监测系统参数 |
| 14 | 0x8103_0xF367 | √ | √ | 盲区监测系统参数 |
| 15 | 0x8103_0xF370 | √ | √ | 智能视频协议版本信息 |
| 16 | 0x0900 | √ | √ | 上传基本信息 |
| 17 | 0x0900_0xF7 | √ | √ | 外设工作状态 |
| 18 | 0x0900_0xF8 | √ | √ | 外设系统信息 |
| 19 | 0x8900 | √ | √ | 查询基本信息 |
| 20 | 0x8900_0xF7 | √ | √ | 外设工作状态 |
| 21 | 0x8900_0xF8 | √ | √ | 外设系统信息 |
## 使用方法
| 1 | 0x1210 | √ | √ | Alarm attachment information message |
| 2 | 0x1211 | √ | √ | Uploading File Information |
| 3 | 0x1212 | √ | √ | Message indicating that file uploading is complete |
| 4 | 0x9208 | √ | √ | Alarm attachment upload instruction |
| 5 | 0x9212 | √ | √ | File upload complete reply message |
| 6 | 0x1FC4 | √ | √ | Terminal upgrade progress reported |
| 7 | 0x0200_0x64 | √ | √ | Advanced driver assistance system alarm information |
| 8 | 0x0200_0x65 | √ | √ | Driver status monitoring system alarm information |
| 9 | 0x0200_0x66 | √ | √ | Tire pressure monitoring system alarm information |
| 10 | 0x0200_0x67 | √ | √ | Blind area monitoring system alarm information |
| 11 | 0x8103_0xF364 | √ | √ | Advanced driver assistance system parameters |
| 12 | 0x8103_0xF365 | √ | √ | Driver condition monitoring system parameters |
| 13 | 0x8103_0xF366 | √ | √ | Tire pressure monitoring system parameters |
| 14 | 0x8103_0xF367 | √ | √ | Blind area monitoring system parameters |
| 15 | 0x8103_0xF370 | √ | √ | Smart video protocol version information |
| 16 | 0x0900 | √ | √ | Upload basic Information |
| 17 | 0x0900_0xF7 | √ | √ | Operating status of peripheral |
| 18 | 0x0900_0xF8 | √ | √ | Peripheral system information |
| 19 | 0x8900 | √ | √ | Querying Basic Information |
| 20 | 0x8900_0xF7 | √ | √ | Operating status of peripheral |
| 21 | 0x8900_0xF8 | √ | √ | Peripheral system information |
## usage

```csharp
IServiceCollection serviceDescriptors1 = new ServiceCollection();


+ 3
- 3
README.md Parādīt failu

@@ -1,4 +1,4 @@
# JT808协议
# JT/JT808协议

[![MIT Licence](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/SmallChi/JT808/blob/master/LICENSE)![.NET Core](https://github.com/SmallChi/JT808/workflows/.NET%20Core/badge.svg?branch=master)

@@ -146,7 +146,7 @@ byte[] bytes = "7E 02 00 00 26 12 34 56 78 90 12 00 7D 02 00 00 00 01 00 00 00 0
var jT808Package = JT808Serializer.Deserialize(bytes);

//3.数据包头
Assert.Equal(Enums.JT808MsgId.位置信息汇报, jT808Package.Header.MsgId);
Assert.Equal(Enums.JT808MsgId._0x0200, jT808Package.Header.MsgId);
Assert.Equal(38, jT808Package.Header.MessageBodyProperty.DataLength);
Assert.Equal(126, jT808Package.Header.MsgNum);
Assert.Equal("123456789012", jT808Package.Header.TerminalPhoneNo);
@@ -175,7 +175,7 @@ Assert.Equal(125, ((JT808_0x0200_0x02)jT808_0x0200.BasicLocationAttachData[JT808

``` csharp
// 使用消息Id的扩展方法创建JT808Package包
JT808Package jT808Package = Enums.JT808MsgId.位置信息汇报.Create("123456789012",
JT808Package jT808Package = Enums.JT808MsgId._0x0200.Create("123456789012",
new JT808_0x0200 {
AlarmFlag = 1,
Altitude = 40,


+ 2
- 2
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078.Test/JT808_0x0200Test.cs Parādīt failu

@@ -40,7 +40,7 @@ namespace JT808.Protocol.Extensions.JT1078.Test
};
jT808UploadLocationRequest.CustomLocationAttachData.Add(JT808_JT1078_Constants.JT808_0X0200_0x14, new JT808_0x0200_0x14
{
VideoRelateAlarm = (uint)(VideoRelateAlarmType.视频信号遮挡报警 | VideoRelateAlarmType.其他视频设备故障报警)
VideoRelateAlarm = (uint)(VideoRelateAlarmType.video_signal_occlusion_alarm | VideoRelateAlarmType.other_video_equipment_fault_alarm)
});
var hex = JT808Serializer.Serialize(jT808UploadLocationRequest).ToHexString();
Assert.Equal("000000010000000200BA7F0E07E4F11C0028003C000020013120202014040000000A", hex);
@@ -57,7 +57,7 @@ namespace JT808.Protocol.Extensions.JT1078.Test
Assert.Equal(132444444, jT808UploadLocationRequest.Lng);
Assert.Equal(60, jT808UploadLocationRequest.Speed);
Assert.Equal((uint)2, jT808UploadLocationRequest.StatusFlag);
Assert.Equal((uint)(VideoRelateAlarmType.视频信号遮挡报警 | VideoRelateAlarmType.其他视频设备故障报警), ((JT808_0x0200_0x14)jT808UploadLocationRequest.CustomLocationAttachData[JT808_JT1078_Constants.JT808_0X0200_0x14]).VideoRelateAlarm);
Assert.Equal((uint)(VideoRelateAlarmType.video_signal_occlusion_alarm | VideoRelateAlarmType.other_video_equipment_fault_alarm), ((JT808_0x0200_0x14)jT808UploadLocationRequest.CustomLocationAttachData[JT808_JT1078_Constants.JT808_0X0200_0x14]).VideoRelateAlarm);
}

[Fact]


+ 3
- 2
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/DependencyInjectionExtensions.cs Parādīt failu

@@ -10,12 +10,13 @@ using System.Text;
namespace JT808.Protocol.Extensions.JT1078
{
/// <summary>
/// 1078扩展808
/// JT/T1078 extension JT/T808
/// </summary>
public static class DependencyInjectionExtensions
{
/// <summary>
/// 注册1078扩展808
/// 注册JT/T1078扩展JT/T808
/// Register JT/T1078 extension JT/T808
/// </summary>
/// <param name="jT808Builder"></param>
/// <returns></returns>


+ 39
- 20
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/Enums/JT808_JT1078_MsgId.cs Parādīt failu

@@ -2,85 +2,104 @@
{
/// <summary>
/// JT808扩展消息体
/// JT808 Extended message body
/// </summary>
public enum JT808_JT1078_MsgId:ushort

{
/// <summary>
/// 终端上传音视频属性
/// The terminal uploads audio and video properties
/// </summary>
终端上传音视频属性 = 0x1003,
_0x1003 = 0x1003,
/// <summary>
/// 终端上传乘客流量
/// Terminal uploads passenger flow
/// </summary>
终端上传乘客流量 = 0x1005,
_0x1005 = 0x1005,
/// <summary>
/// 终端上传音视频资源列表
/// The terminal uploads the audio and video resource list
/// </summary>
终端上传音视频资源列表 = 0x1205,
_0x1205 = 0x1205,
/// <summary>
/// 文件上传完成通知
/// Notification of file upload completion
/// </summary>
文件上传完成通知 = 0x1206,
_0x1206 = 0x1206,
/// <summary>
/// 查询终端音视频属性
/// Example Query audio and video properties of terminals
/// </summary>
查询终端音视频属性 = 0x9003,
_0x9003 = 0x9003,
/// <summary>
/// 实时音视频传输请求
/// Real-time audio and video transmission request
/// </summary>
实时音视频传输请求 = 0x9101,
_0x9101 = 0x9101,
/// <summary>
/// 音视频实时传输控制
/// Audio and video real-time transmission control
/// </summary>
音视频实时传输控制 = 0x9102,
_0x9102 = 0x9102,
/// <summary>
/// 实时音视频传输状态通知
/// Real-time audio and video transmission status notification
/// </summary>
实时音视频传输状态通知 = 0x9105,
_0x9105 = 0x9105,
/// <summary>
/// 平台下发远程录像回放请求
/// The platform delivers a remote video playback request
/// </summary>
平台下发远程录像回放请求 = 0x9201,
_0x9201 = 0x9201,
/// <summary>
/// 平台下发远程录像回放控制
/// Platform delivers remote video playback control
/// </summary>
平台下发远程录像回放控制 = 0x9202,
_0x9202 = 0x9202,
/// <summary>
/// 查询资源列表
/// Querying a Resource List
/// </summary>
查询资源列表 = 0x9205,
_0x9205 = 0x9205,
/// <summary>
/// 文件上传指令
/// File upload command
/// </summary>
文件上传指令 = 0x9206,
_0x9206 = 0x9206,
/// <summary>
/// 文件上传控制
/// File Upload Control
/// </summary>
文件上传控制 = 0x9207,
_0x9207 = 0x9207,
/// <summary>
/// 云台旋转
/// PTZ rotation
/// </summary>
云台旋转 = 0x9301,
_0x9301 = 0x9301,
/// <summary>
/// 云台调整焦距控制
/// PTZ Adjust focal length control
/// </summary>
云台调整焦距控制 = 0x9302,
_0x9302 = 0x9302,
/// <summary>
/// 云台调整光圈控制
/// PTZ Adjust aperture control
/// </summary>
云台调整光圈控制 = 0x9303,
_0x9303 = 0x9303,
/// <summary>
/// 云台雨刷控制
/// PTZ Wiper control
/// </summary>
云台雨刷控制 = 0x9304,
_0x9304 = 0x9304,
/// <summary>
/// 红外补光控制
/// Infrared light filling control
/// </summary>
红外补光控制 = 0x9305,
_0x9305 = 0x9305,
/// <summary>
/// 云台变倍控制
/// Head doubling control
/// </summary>
云台变倍控制 = 0x9306
_0x9306 = 0x9306
}
}

+ 15
- 7
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/Enums/VideoRelateAlarmType.cs Parādīt failu

@@ -4,37 +4,45 @@ namespace JT808.Protocol.Extensions.JT1078.Enums
{
/// <summary>
/// 视频相关报警
/// Video related alarm
/// </summary>
[Flags]
public enum VideoRelateAlarmType:uint
{
/// <summary>
/// 视频信号丢失报警
/// Video signal loss alarm
/// </summary>
视频信号丢失报警 = 0,
video_signal_loss_alarm = 0,
/// <summary>
/// 视频信号遮挡报警
/// Video signal occlusion alarm
/// </summary>
视频信号遮挡报警 = 2,
video_signal_occlusion_alarm = 2,
/// <summary>
/// 存储单元故障报警
/// The storage unit is faulty
/// </summary>
存储单元故障报警 = 4,
storage_unit_faulty = 4,
/// <summary>
/// 其他视频设备故障报警
/// Other video equipment fault alarm
/// </summary>
其他视频设备故障报警 = 8,
other_video_equipment_fault_alarm = 8,
/// <summary>
/// 客车超员报警
/// Bus overcrowding alarm
/// </summary>
客车超员报警 = 16,
bus_overcrowding_alarm = 16,
/// <summary>
/// 异常驾驶行为报警
/// Abnormal driving behavior alarm
/// </summary>
异常驾驶行为报警 = 32,
abnormal_driving_behavior_alarm = 32,
/// <summary>
/// 特殊报警录像达到存储阈值报警
/// Special alarm video reaches storage threshold alarm
/// </summary>
特殊报警录像达到存储阈值报警 = 64,
special_alarm_video_reaches_storage_threshold_alarm = 64,
}
}

+ 69
- 28
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808.Protocol.Extensions.JT1078.xml Parādīt failu

@@ -6,12 +6,13 @@
<members>
<member name="T:JT808.Protocol.Extensions.JT1078.DependencyInjectionExtensions">
<summary>
1078扩展808
JT/T1078 extension JT/T808
</summary>
</member>
<member name="M:JT808.Protocol.Extensions.JT1078.DependencyInjectionExtensions.AddJT1078Configure(JT808.Protocol.IJT808Builder)">
<summary>
注册1078扩展808
注册JT/T1078扩展JT/T808
Register JT/T1078 extension JT/T808
</summary>
<param name="jT808Builder"></param>
<returns></returns>
@@ -19,141 +20,169 @@
<member name="T:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId">
<summary>
JT808扩展消息体
JT808 Extended message body
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.终端上传音视频属性">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x1003">
<summary>
终端上传音视频属性
The terminal uploads audio and video properties
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.终端上传乘客流量">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x1005">
<summary>
终端上传乘客流量
Terminal uploads passenger flow
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.终端上传音视频资源列表">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x1205">
<summary>
终端上传音视频资源列表
The terminal uploads the audio and video resource list
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.文件上传完成通知">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x1206">
<summary>
文件上传完成通知
Notification of file upload completion
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.查询终端音视频属性">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9003">
<summary>
查询终端音视频属性
Example Query audio and video properties of terminals
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.实时音视频传输请求">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9101">
<summary>
实时音视频传输请求
Real-time audio and video transmission request
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.音视频实时传输控制">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9102">
<summary>
音视频实时传输控制
Audio and video real-time transmission control
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.实时音视频传输状态通知">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9105">
<summary>
实时音视频传输状态通知
Real-time audio and video transmission status notification
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.平台下发远程录像回放请求">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9201">
<summary>
平台下发远程录像回放请求
The platform delivers a remote video playback request
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.平台下发远程录像回放控制">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9202">
<summary>
平台下发远程录像回放控制
Platform delivers remote video playback control
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.查询资源列表">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9205">
<summary>
查询资源列表
Querying a Resource List
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.文件上传指令">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9206">
<summary>
文件上传指令
File upload command
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.文件上传控制">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9207">
<summary>
文件上传控制
File Upload Control
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.云台旋转">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9301">
<summary>
云台旋转
PTZ rotation
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.云台调整焦距控制">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9302">
<summary>
云台调整焦距控制
PTZ Adjust focal length control
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.云台调整光圈控制">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9303">
<summary>
云台调整光圈控制
PTZ Adjust aperture control
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.云台雨刷控制">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9304">
<summary>
云台雨刷控制
PTZ Wiper control
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.红外补光控制">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9305">
<summary>
红外补光控制
Infrared light filling control
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId.云台变倍控制">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.JT808_JT1078_MsgId._0x9306">
<summary>
云台变倍控制
Head doubling control
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType">
<summary>
视频相关报警
Video related alarm
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType.视频信号丢失报警">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType.video_signal_loss_alarm">
<summary>
视频信号丢失报警
Video signal loss alarm
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType.视频信号遮挡报警">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType.video_signal_occlusion_alarm">
<summary>
视频信号遮挡报警
Video signal occlusion alarm
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType.存储单元故障报警">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType.storage_unit_faulty">
<summary>
存储单元故障报警
The storage unit is faulty
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType.其他视频设备故障报警">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType.other_video_equipment_fault_alarm">
<summary>
其他视频设备故障报警
Other video equipment fault alarm
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType.客车超员报警">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType.bus_overcrowding_alarm">
<summary>
客车超员报警
Bus overcrowding alarm
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType.异常驾驶行为报警">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType.abnormal_driving_behavior_alarm">
<summary>
异常驾驶行为报警
Abnormal driving behavior alarm
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType.特殊报警录像达到存储阈值报警">
<member name="F:JT808.Protocol.Extensions.JT1078.Enums.VideoRelateAlarmType.special_alarm_video_reaches_storage_threshold_alarm">
<summary>
特殊报警录像达到存储阈值报警
Special alarm video reaches storage threshold alarm
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.JT1078.JT808_JT1078_Constants">
@@ -164,61 +193,73 @@
<member name="F:JT808.Protocol.Extensions.JT1078.JT808_JT1078_Constants.JT808_0X0200_0x14">
<summary>
视频相关报警
Video related alarm
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.JT808_JT1078_Constants.JT808_0X0200_0x15">
<summary>
视频信号丢失报警状态
Video signal loss alarm status
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.JT808_JT1078_Constants.JT808_0X0200_0x16">
<summary>
视频信号遮挡报警状态
Video signal occlusion alarm status
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.JT808_JT1078_Constants.JT808_0X0200_0x17">
<summary>
存储器故障报警状态
Video signal occlusion alarm status Memory fault alarm status
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.JT808_JT1078_Constants.JT808_0X0200_0x18">
<summary>
异常驾驶行为报警详细描述
Abnormal driving behavior alarm detailed description
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.JT808_JT1078_Constants.JT808_0X8103_0x0075">
<summary>
音视频参数设置
Audio and video parameter Settings
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.JT808_JT1078_Constants.JT808_0X8103_0x0076">
<summary>
音视频通道列表设置
Set the audio and video channel list
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.JT808_JT1078_Constants.JT808_0X8103_0x0077">
<summary>
单独视频通道参数设置
Separate video channel parameter Settings
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.JT808_JT1078_Constants.JT808_0X8103_0x0079">
<summary>
特殊报警录像参数设置
Special alarm video parameter setting
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.JT808_JT1078_Constants.JT808_0X8103_0x007A">
<summary>
视频相关报警屏蔽字
Video related alarm masking word
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.JT808_JT1078_Constants.JT808_0X8103_0x007B">
<summary>
图像分析报警参数设置
Image analysis alarm parameter setting
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.JT1078.JT808_JT1078_Constants.JT808_0X8103_0x007C">
<summary>
终端休眠模式唤醒设置
Wake up in hibernation mode
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.JT1078.MessageBody.JT808_0x0200_0x14">


+ 12
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.JT1078/JT808_JT1078_Constants.cs Parādīt failu

@@ -11,50 +11,62 @@ namespace JT808.Protocol.Extensions.JT1078
{
/// <summary>
/// 视频相关报警
/// Video related alarm
/// </summary>
public const byte JT808_0X0200_0x14 = 0x14;
/// <summary>
/// 视频信号丢失报警状态
/// Video signal loss alarm status
/// </summary>
public const byte JT808_0X0200_0x15 = 0x15;
/// <summary>
/// 视频信号遮挡报警状态
/// Video signal occlusion alarm status
/// </summary>
public const byte JT808_0X0200_0x16 = 0x16;
/// <summary>
/// 存储器故障报警状态
/// Video signal occlusion alarm status Memory fault alarm status
/// </summary>
public const byte JT808_0X0200_0x17 = 0x17;
/// <summary>
/// 异常驾驶行为报警详细描述
/// Abnormal driving behavior alarm detailed description
/// </summary>
public const byte JT808_0X0200_0x18 = 0x18;
/// <summary>
/// 音视频参数设置
/// Audio and video parameter Settings
/// </summary>
public const uint JT808_0X8103_0x0075 = 0x0075;
/// <summary>
/// 音视频通道列表设置
/// Set the audio and video channel list
/// </summary>
public const uint JT808_0X8103_0x0076 = 0x0076;
/// <summary>
/// 单独视频通道参数设置
/// Separate video channel parameter Settings
/// </summary>
public const uint JT808_0X8103_0x0077 = 0x0077;
/// <summary>
/// 特殊报警录像参数设置
/// Special alarm video parameter setting
/// </summary>
public const uint JT808_0X8103_0x0079 = 0x0079;
/// <summary>
/// 视频相关报警屏蔽字
/// Video related alarm masking word
/// </summary>
public const uint JT808_0X8103_0x007A = 0x007A;
/// <summary>
/// 图像分析报警参数设置
/// Image analysis alarm parameter setting
/// </summary>
public const uint JT808_0X8103_0x007B = 0x007B;
/// <summary>
/// 终端休眠模式唤醒设置
/// Wake up in hibernation mode
/// </summary>
public const uint JT808_0X8103_0x007C = 0x007C;
}


+ 2
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/DependencyInjectionExtensions.cs Parādīt failu

@@ -11,11 +11,13 @@ namespace JT808.Protocol.Extensions.SuBiao
{
/// <summary>
/// 添加苏标-主动安全
/// Added Su Biao - Active Safety
/// </summary>
public static class DependencyInjectionExtensions
{
/// <summary>
/// 添加苏标-主动安全
/// Register SU Biao - Active safety
/// </summary>
/// <param name="jT808Builder"></param>
/// <returns></returns>


+ 11
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/Enums/ActivePhotographyStrategyType.cs Parādīt failu

@@ -6,28 +6,34 @@ namespace JT808.Protocol.Extensions.SuBiao.Enums
{
/// <summary>
/// 主动拍照策略
/// Active photo taking strategy
/// </summary>
public enum ActivePhotographyStrategyType:byte
{
/// <summary>
/// 不开启
/// Is not enabled
/// </summary>
不开启 = 0x00,
not_enabled = 0x00,
/// <summary>
/// 定时拍照
/// Camera Timer
/// </summary>
定时拍照 = 0x01,
camera_timer = 0x01,
/// <summary>
/// 定距拍照
/// Distance take photos
/// </summary>
定距拍照 = 0x02,
distance_take_photos = 0x02,
/// <summary>
/// 保留
/// reserve
/// </summary>
保留 = 0x03,
reserve = 0x03,
/// <summary>
/// 不修改参数
/// Do not Modify parameters
/// </summary>
不修改参数 = 0xFF
not_modify_parameters = 0xFF
}
}

+ 11
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/Enums/JT808_SuBiao_MsgId.cs Parādīt failu

@@ -6,28 +6,34 @@ namespace JT808.Protocol.Extensions.SuBiao.Enums
{
/// <summary>
/// 主动安全消息Id
/// Active security message Id
/// </summary>
public enum JT808_SuBiao_MsgId : ushort
{
/// <summary>
/// 报警附件信息消息
/// Alarm attachment information message
/// </summary>
报警附件信息消息 = 0x1210,
alarm_attachment_information_message = 0x1210,
/// <summary>
/// 文件信息上传
/// Uploading File Information
/// </summary>
文件信息上传 = 0x1211,
uploading_file_information = 0x1211,
/// <summary>
/// 文件上传完成消息
/// Message indicating that file uploading is complete
/// </summary>
文件上传完成消息 = 0x1212,
message_indicating_that_file_uploading_complete = 0x1212,
/// <summary>
/// 报警附件上传指令
/// Alarm attachment upload instruction
/// </summary>
报警附件上传指令 = 0x9208,
alarm_attachment_upload_instruction = 0x9208,
/// <summary>
/// 文件上传完成消息应答
/// File upload complete reply message
/// </summary>
文件上传完成消息应答 = 0x9212,
file_upload_complete_reply_message = 0x9212,
}
}

+ 2
- 1
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/Enums/PhotoResolutionType.cs Parādīt failu

@@ -35,7 +35,8 @@ namespace JT808.Protocol.Extensions.SuBiao.Enums
x1920_1080 = 0x06,
/// <summary>
/// 不修改参数
/// not_modify_parameters
/// </summary>
不修改参数 = 0xFF
not_modify_parameters = 0xFF
}
}

+ 5
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/Enums/USBIDType.cs Parādīt failu

@@ -6,23 +6,28 @@ namespace JT808.Protocol.Extensions.SuBiao.Enums
{
/// <summary>
/// USB编号类型
/// USB number type
/// </summary>
public enum USBIDType:byte
{
/// <summary>
/// 高级驾驶辅助系统
/// ADAS
/// </summary>
ADAS = 0x64,
/// <summary>
/// 驾驶员状态监控系统
/// DSM
/// </summary>
DSM = 0x65,
/// <summary>
/// 轮胎气压监测系统
/// TPMS
/// </summary>
TPMS = 0x66,
/// <summary>
/// 盲点监测系统
/// BSD
/// </summary>
BSD = 0x67
}


+ 2
- 1
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/Enums/VideoRecordingResolutionType.cs Parādīt failu

@@ -39,7 +39,8 @@ namespace JT808.Protocol.Extensions.SuBiao.Enums
_1080P = 0x07,
/// <summary>
/// 不修改参数
/// not_modify_parameters
/// </summary>
不修改参数 = 0xFF
not_modify_parameters = 0xFF
}
}

+ 11
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/Enums/WorkingConditionType.cs Parādīt failu

@@ -6,28 +6,34 @@ namespace JT808.Protocol.Extensions.SuBiao.Enums
{
/// <summary>
/// 工作状态
/// Working
/// </summary>
public enum WorkingConditionType:byte
{
/// <summary>
/// 正常工作
/// normal_normal
/// </summary>
正常工作 = 0x01,
normal_normal = 0x01,
/// <summary>
/// 待机状态
/// stand by
/// </summary>
待机状态 = 0x02,
stand_by = 0x02,
/// <summary>
/// 升级维护
/// Upgrade maintenance
/// </summary>
升级维护 = 0x03,
upgrade_maintain = 0x03,
/// <summary>
/// 设备异常
/// unit exception
/// </summary>
设备异常 = 0x04,
unit_exception = 0x04,
/// <summary>
/// 断开连接
/// disconnect
/// </summary>
断开连接 = 0x10,
disconnect = 0x10,
}
}

+ 44
- 17
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.SuBiao/JT808.Protocol.Extensions.SuBiao.xml Parādīt failu

@@ -7,11 +7,13 @@
<member name="T:JT808.Protocol.Extensions.SuBiao.DependencyInjectionExtensions">
<summary>
添加苏标-主动安全
Added Su Biao - Active Safety
</summary>
</member>
<member name="M:JT808.Protocol.Extensions.SuBiao.DependencyInjectionExtensions.AddSuBiaoConfigure(JT808.Protocol.IJT808Builder)">
<summary>
添加苏标-主动安全
Register SU Biao - Active safety
</summary>
<param name="jT808Builder"></param>
<returns></returns>
@@ -19,61 +21,73 @@
<member name="T:JT808.Protocol.Extensions.SuBiao.Enums.ActivePhotographyStrategyType">
<summary>
主动拍照策略
Active photo taking strategy
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.ActivePhotographyStrategyType.不开启">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.ActivePhotographyStrategyType.not_enabled">
<summary>
不开启
Is not enabled
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.ActivePhotographyStrategyType.定时拍照">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.ActivePhotographyStrategyType.camera_timer">
<summary>
定时拍照
Camera Timer
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.ActivePhotographyStrategyType.定距拍照">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.ActivePhotographyStrategyType.distance_take_photos">
<summary>
定距拍照
Distance take photos
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.ActivePhotographyStrategyType.保留">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.ActivePhotographyStrategyType.reserve">
<summary>
保留
reserve
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.ActivePhotographyStrategyType.不修改参数">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.ActivePhotographyStrategyType.not_modify_parameters">
<summary>
不修改参数
Do not Modify parameters
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.SuBiao.Enums.JT808_SuBiao_MsgId">
<summary>
主动安全消息Id
Active security message Id
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.JT808_SuBiao_MsgId.报警附件信息消息">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.JT808_SuBiao_MsgId.alarm_attachment_information_message">
<summary>
报警附件信息消息
Alarm attachment information message
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.JT808_SuBiao_MsgId.文件信息上传">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.JT808_SuBiao_MsgId.uploading_file_information">
<summary>
文件信息上传
Uploading File Information
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.JT808_SuBiao_MsgId.文件上传完成消息">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.JT808_SuBiao_MsgId.message_indicating_that_file_uploading_complete">
<summary>
文件上传完成消息
Message indicating that file uploading is complete
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.JT808_SuBiao_MsgId.报警附件上传指令">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.JT808_SuBiao_MsgId.alarm_attachment_upload_instruction">
<summary>
报警附件上传指令
Alarm attachment upload instruction
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.JT808_SuBiao_MsgId.文件上传完成消息应答">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.JT808_SuBiao_MsgId.file_upload_complete_reply_message">
<summary>
文件上传完成消息应答
File upload complete reply message
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.SuBiao.Enums.PhotoResolutionType">
@@ -111,34 +125,40 @@
1920x1080
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.PhotoResolutionType.不修改参数">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.PhotoResolutionType.not_modify_parameters">
<summary>
不修改参数
not_modify_parameters
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.SuBiao.Enums.USBIDType">
<summary>
USB编号类型
USB number type
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.USBIDType.ADAS">
<summary>
高级驾驶辅助系统
ADAS
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.USBIDType.DSM">
<summary>
驾驶员状态监控系统
DSM
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.USBIDType.TPMS">
<summary>
轮胎气压监测系统
TPMS
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.USBIDType.BSD">
<summary>
盲点监测系统
BSD
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.SuBiao.Enums.VideoRecordingResolutionType">
@@ -181,39 +201,46 @@
1080P
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.VideoRecordingResolutionType.不修改参数">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.VideoRecordingResolutionType.not_modify_parameters">
<summary>
不修改参数
not_modify_parameters
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.SuBiao.Enums.WorkingConditionType">
<summary>
工作状态
Working
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.WorkingConditionType.正常工作">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.WorkingConditionType.normal_normal">
<summary>
正常工作
normal_normal
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.WorkingConditionType.待机状态">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.WorkingConditionType.stand_by">
<summary>
待机状态
stand by
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.WorkingConditionType.升级维护">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.WorkingConditionType.upgrade_maintain">
<summary>
升级维护
Upgrade maintenance
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.WorkingConditionType.设备异常">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.WorkingConditionType.unit_exception">
<summary>
设备异常
unit exception
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.WorkingConditionType.断开连接">
<member name="F:JT808.Protocol.Extensions.SuBiao.Enums.WorkingConditionType.disconnect">
<summary>
断开连接
disconnect
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.SuBiao.JT808_SuBiao_Constants">


+ 2
- 2
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao.Test/JT808_0x1FC4_Test.cs Parādīt failu

@@ -26,7 +26,7 @@ namespace JT808.Protocol.Extensions.YueBiao.Test
{
ErrorCode=1,
MsgNum=2,
UpgradeStatus= Enums.JT808UpgradeStatus.固件下载中,
UpgradeStatus= Enums.JT808UpgradeStatus.firmware_download,
UpgradeType= Protocol.Enums.JT808UpgradeType.beidou_module,
UploadProgress=3
};
@@ -39,7 +39,7 @@ namespace JT808.Protocol.Extensions.YueBiao.Test
var jT808UploadLocationRequest = JT808Serializer.Deserialize<JT808_0x1FC4>("000234010301".ToHexBytes());
Assert.Equal(1, jT808UploadLocationRequest.ErrorCode);
Assert.Equal(2, jT808UploadLocationRequest.MsgNum);
Assert.Equal(Enums.JT808UpgradeStatus.固件下载中, jT808UploadLocationRequest.UpgradeStatus);
Assert.Equal(Enums.JT808UpgradeStatus.firmware_download, jT808UploadLocationRequest.UpgradeStatus);
Assert.Equal(Protocol.Enums.JT808UpgradeType.beidou_module, jT808UploadLocationRequest.UpgradeType);
Assert.Equal(3, jT808UploadLocationRequest.UploadProgress);
}


+ 9
- 6
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/Enums/ActivePhotographyStrategyType.cs Parādīt failu

@@ -12,22 +12,25 @@ namespace JT808.Protocol.Extensions.YueBiao.Enums
/// <summary>
/// 不开启
/// </summary>
不开启 = 0x00,
not_enabled = 0x00,
/// <summary>
/// 定时拍照
/// Camera Timer
/// </summary>
定时拍照 = 0x01,
camera_timer = 0x01,
/// <summary>
/// 定距拍照
/// Distance take photos
/// </summary>
定距拍照 = 0x02,
distance_take_photos = 0x02,
/// <summary>
/// 保留
/// reserve
/// </summary>
保留 = 0x03,
reserve = 0x03,
/// <summary>
/// 不修改参数
/// Do not Modify parameters
/// </summary>
不修改参数 = 0xFF
not_modify_parameters = 0xFF
}
}

+ 23
- 11
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/Enums/JT808UpgradeStatus.cs Parādīt failu

@@ -6,52 +6,64 @@ namespace JT808.Protocol.Extensions.YueBiao.Enums
{
/// <summary>
/// 升级状态
/// Upgrade Status
/// </summary>
public enum JT808UpgradeStatus:byte
{
/// <summary>
/// 固件下载中
/// Firmware download
/// </summary>
固件下载中 = 0x01,
firmware_download = 0x01,
/// <summary>
/// 固件下载成功
/// Firmware downloaded successfully
/// </summary>
固件下载成功 = 0x02,
firmware_download_success= 0x02,
/// <summary>
/// 固件下载失败
/// Firmware download failure
/// </summary>
固件下载失败 = 0x03,
firmware_download_failure = 0x03,
/// <summary>
/// 固件安装中
/// Firmware Install
/// </summary>
固件安装中 = 0x04,
firmware_install = 0x04,
/// <summary>
/// 安装成功
/// Install Success
/// </summary>
安装成功 = 0x05,
install_success = 0x05,
/// <summary>
/// 安装失败
/// Install Failed
/// </summary>
安装失败 = 0x06,
install_failed = 0x06,
/// <summary>
/// 未找到目标设备
/// Target device not found
/// </summary>
未找到目标设备 = 0x07,
target_device_not_found = 0x07,
/// <summary>
/// 硬件型号不支持
/// The hardware model is not supported
/// </summary>
硬件型号不支持 = 0x08,
hardware_model_not_supported = 0x08,
/// <summary>
/// 软件版本相同
/// Same Software Version
/// </summary>
软件版本相同 = 0x09,
same_software_version = 0x09,
/// <summary>
/// 软件版本不支持
/// The software version is not supported
/// </summary>
软件版本不支持 = 0x0a,
software_version_not_supported = 0x0a,
/// <summary>
/// 其他
/// Other
/// </summary>
其他 = 0x0b,
Other = 0x0b,
}
}

+ 11
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/Enums/JT808_YueBiao_MsgId.cs Parādīt failu

@@ -11,27 +11,33 @@ namespace JT808.Protocol.Extensions.YueBiao.Enums
{
/// <summary>
/// 报警附件信息消息
/// Alarm attachment information message
/// </summary>
报警附件信息消息 = 0x1210,
alarm_attachment_information_message = 0x1210,
/// <summary>
/// 文件信息上传
/// Uploading File Information
/// </summary>
文件信息上传 = 0x1211,
/// <summary>
/// 文件上传完成消息
/// Message indicating that file uploading is complete
/// </summary>
文件上传完成消息 = 0x1212,
message_indicating_that_file_uploading_complete = 0x1212,
/// <summary>
/// 报警附件上传指令
/// Alarm attachment upload instruction
/// </summary>
报警附件上传指令 = 0x9208,
alarm_attachment_upload_instruction = 0x9208,
/// <summary>
/// 文件上传完成消息应答
/// File upload complete reply message
/// </summary>
文件上传完成消息应答 = 0x9212,
file_upload_complete_reply_message = 0x9212,
/// <summary>
/// 终端升级进度上报
/// Terminal upgrade progress reported
/// </summary>
终端升级进度上报 = 0x1FC4,
terminal_upgrade_progress_reported = 0x1FC4,
}
}

+ 2
- 1
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/Enums/PhotoResolutionType.cs Parādīt failu

@@ -35,7 +35,8 @@ namespace JT808.Protocol.Extensions.YueBiao.Enums
x1920_1080 = 0x06,
/// <summary>
/// 不修改参数
/// not Modify parameters
/// </summary>
不修改参数 = 0xFF
not_modify_parameters = 0xFF
}
}

+ 5
- 0
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/Enums/USBIDType.cs Parādīt failu

@@ -6,23 +6,28 @@ namespace JT808.Protocol.Extensions.YueBiao.Enums
{
/// <summary>
/// USB编号类型
/// USB number type
/// </summary>
public enum USBIDType:byte
{
/// <summary>
/// 高级驾驶辅助系统
/// ADAS
/// </summary>
ADAS = 0x64,
/// <summary>
/// 驾驶员状态监控系统
/// DSM
/// </summary>
DSM = 0x65,
/// <summary>
/// 轮胎气压监测系统
/// TPMS
/// </summary>
TPMS = 0x66,
/// <summary>
/// 盲点监测系统
/// BSD
/// </summary>
BSD = 0x67
}


+ 3
- 1
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/Enums/VideoRecordingResolutionType.cs Parādīt failu

@@ -6,6 +6,7 @@ namespace JT808.Protocol.Extensions.YueBiao.Enums
{
/// <summary>
/// 视频录制分辨率
/// Video recording resolution
/// </summary>
public enum VideoRecordingResolutionType:byte
{
@@ -39,7 +40,8 @@ namespace JT808.Protocol.Extensions.YueBiao.Enums
_1080P = 0x07,
/// <summary>
/// 不修改参数
/// Do not Modify parameters
/// </summary>
不修改参数 = 0xFF
not_modify_parameters = 0xFF
}
}

+ 10
- 5
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/Enums/WorkingConditionType.cs Parādīt failu

@@ -11,23 +11,28 @@ namespace JT808.Protocol.Extensions.YueBiao.Enums
{
/// <summary>
/// 正常工作
/// normal_normal
/// </summary>
正常工作 = 0x01,
normal_normal = 0x01,
/// <summary>
/// 待机状态
/// stand_by
/// </summary>
待机状态 = 0x02,
stand_by = 0x02,
/// <summary>
/// 升级维护
/// upgrade_maintain
/// </summary>
升级维护 = 0x03,
upgrade_maintain = 0x03,
/// <summary>
/// 设备异常
/// unit exception
/// </summary>
设备异常 = 0x04,
unit_exception = 0x04,
/// <summary>
/// 断开连接
/// disconnect
/// </summary>
断开连接 = 0x10,
disconnect = 0x10,
}
}

+ 63
- 29
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/JT808.Protocol.Extensions.YueBiao.xml Parādīt failu

@@ -22,89 +22,104 @@
主动拍照策略
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.ActivePhotographyStrategyType.不开启">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.ActivePhotographyStrategyType.not_enabled">
<summary>
不开启
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.ActivePhotographyStrategyType.定时拍照">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.ActivePhotographyStrategyType.camera_timer">
<summary>
定时拍照
Camera Timer
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.ActivePhotographyStrategyType.定距拍照">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.ActivePhotographyStrategyType.distance_take_photos">
<summary>
定距拍照
Distance take photos
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.ActivePhotographyStrategyType.保留">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.ActivePhotographyStrategyType.reserve">
<summary>
保留
reserve
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.ActivePhotographyStrategyType.不修改参数">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.ActivePhotographyStrategyType.not_modify_parameters">
<summary>
不修改参数
Do not Modify parameters
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus">
<summary>
升级状态
Upgrade Status
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.固件下载中">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.firmware_download">
<summary>
固件下载中
Firmware download
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.固件下载成功">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.firmware_download_success">
<summary>
固件下载成功
Firmware downloaded successfully
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.固件下载失败">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.firmware_download_failure">
<summary>
固件下载失败
Firmware download failure
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.固件安装中">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.firmware_install">
<summary>
固件安装中
Firmware Install
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.安装成功">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.install_success">
<summary>
安装成功
Install Success
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.安装失败">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.install_failed">
<summary>
安装失败
Install Failed
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.未找到目标设备">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.target_device_not_found">
<summary>
未找到目标设备
Target device not found
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.硬件型号不支持">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.hardware_model_not_supported">
<summary>
硬件型号不支持
The hardware model is not supported
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.软件版本相同">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.same_software_version">
<summary>
软件版本相同
Same Software Version
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.软件版本不支持">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.software_version_not_supported">
<summary>
软件版本不支持
The software version is not supported
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.其他">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808UpgradeStatus.Other">
<summary>
其他
Other
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.YueBiao.Enums.JT808_YueBiao_MsgId">
@@ -112,34 +127,40 @@
主动安全消息Id
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808_YueBiao_MsgId.报警附件信息消息">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808_YueBiao_MsgId.alarm_attachment_information_message">
<summary>
报警附件信息消息
Alarm attachment information message
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808_YueBiao_MsgId.文件信息上传">
<summary>
文件信息上传
Uploading File Information
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808_YueBiao_MsgId.文件上传完成消息">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808_YueBiao_MsgId.message_indicating_that_file_uploading_complete">
<summary>
文件上传完成消息
Message indicating that file uploading is complete
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808_YueBiao_MsgId.报警附件上传指令">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808_YueBiao_MsgId.alarm_attachment_upload_instruction">
<summary>
报警附件上传指令
Alarm attachment upload instruction
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808_YueBiao_MsgId.文件上传完成消息应答">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808_YueBiao_MsgId.file_upload_complete_reply_message">
<summary>
文件上传完成消息应答
File upload complete reply message
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808_YueBiao_MsgId.终端升级进度上报">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.JT808_YueBiao_MsgId.terminal_upgrade_progress_reported">
<summary>
终端升级进度上报
Terminal upgrade progress reported
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.YueBiao.Enums.PhotoResolutionType">
@@ -177,39 +198,46 @@
1920x1080
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.PhotoResolutionType.不修改参数">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.PhotoResolutionType.not_modify_parameters">
<summary>
不修改参数
not Modify parameters
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.YueBiao.Enums.USBIDType">
<summary>
USB编号类型
USB number type
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.USBIDType.ADAS">
<summary>
高级驾驶辅助系统
ADAS
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.USBIDType.DSM">
<summary>
驾驶员状态监控系统
DSM
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.USBIDType.TPMS">
<summary>
轮胎气压监测系统
TPMS
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.USBIDType.BSD">
<summary>
盲点监测系统
BSD
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.YueBiao.Enums.VideoRecordingResolutionType">
<summary>
视频录制分辨率
Video recording resolution
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.VideoRecordingResolutionType.CIF">
@@ -247,9 +275,10 @@
1080P
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.VideoRecordingResolutionType.不修改参数">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.VideoRecordingResolutionType.not_modify_parameters">
<summary>
不修改参数
Do not Modify parameters
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.YueBiao.Enums.WorkingConditionType">
@@ -257,29 +286,34 @@
工作状态
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.WorkingConditionType.正常工作">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.WorkingConditionType.normal_normal">
<summary>
正常工作
normal_normal
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.WorkingConditionType.待机状态">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.WorkingConditionType.stand_by">
<summary>
待机状态
stand_by
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.WorkingConditionType.升级维护">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.WorkingConditionType.upgrade_maintain">
<summary>
升级维护
upgrade_maintain
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.WorkingConditionType.设备异常">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.WorkingConditionType.unit_exception">
<summary>
设备异常
unit exception
</summary>
</member>
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.WorkingConditionType.断开连接">
<member name="F:JT808.Protocol.Extensions.YueBiao.Enums.WorkingConditionType.disconnect">
<summary>
断开连接
disconnect
</summary>
</member>
<member name="T:JT808.Protocol.Extensions.YueBiao.JT808_YueBiao_Constants">


+ 1
- 1
src/JT808.Protocol.Extensions/JT808.Protocol.Extensions.YueBiao/MessageBody/JT808_0x1FC4.cs Parādīt failu

@@ -21,7 +21,7 @@ namespace JT808.Protocol.Extensions.YueBiao.MessageBody
/// <summary>
/// 终端升级进度上报
/// </summary>
public override ushort MsgId => JT808_YueBiao_MsgId.终端升级进度上报.ToUInt16Value();
public override ushort MsgId => JT808_YueBiao_MsgId.terminal_upgrade_progress_reported.ToUInt16Value();
/// <summary>
/// 流水号
/// </summary>


+ 1
- 0
src/JT808.Protocol.Test/Simples/Demo11.cs Parādīt failu

@@ -27,6 +27,7 @@ namespace JT808.Protocol.Test.Simples
var package = JT808Serializer.Deserialize<JT808Package>(bytes);
var bodies = package.Bodies as JT808_0x0704;
//从第几个补传数据开始后续的包就有问题
//There are problems with subsequent packets from the number of data to be sent
Assert.Equal(1,bodies.ErrorRemainPositions.FirstOrDefault(i=>i.Key==1).Key);
Assert.Equal(2, bodies.Count);
Assert.Single(bodies.Positions);


+ 3
- 0
src/JT808.Protocol.Test/Simples/Demo13.cs Parādīt failu

@@ -29,6 +29,7 @@ namespace JT808.Protocol.Test.Simples
IServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure(new DefaultGlobalConfig("replace"));
//通常在startup中使用app的Use进行扩展
//The Use of the app is typically extended in startup
IServiceProvider serviceProvider = serviceDescriptors.BuildServiceProvider();
Use(serviceProvider);
}
@@ -37,6 +38,7 @@ namespace JT808.Protocol.Test.Simples
{
IJT808Config jT808Config = serviceProvider.GetRequiredService<DefaultGlobalConfig>();
//替换原有消息存在的BUG
//Replace the bugs in the original message
jT808Config.ReplaceMsgId<JT808_0x0001, JT808_0x0001_Replace>();
JT808Serializer = jT808Config.GetSerializer();
}
@@ -81,6 +83,7 @@ namespace JT808.Protocol.Test.Simples

/// <summary>
/// 终端通用应答_替换原有的消息,来解决库现有的bug
/// The terminal general answer _ replaces the original message to solve the existing library bug
/// </summary>
public class JT808_0x0001_Replace : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0001_Replace>, IJT808Analyze
{


+ 5
- 2
src/JT808.Protocol.Test/Simples/Demo14.cs Parādīt failu

@@ -29,6 +29,7 @@ namespace JT808.Protocol.Test.Simples
IServiceCollection serviceDescriptors = new ServiceCollection();
serviceDescriptors.AddJT808Configure();
//通常在startup中使用app的Use进行扩展
//The Use of the app is typically extended in startup
IServiceProvider serviceProvider = serviceDescriptors.BuildServiceProvider();
JT808Serializer = serviceProvider.GetRequiredService<IJT808Config>().GetSerializer();
}
@@ -37,11 +38,13 @@ namespace JT808.Protocol.Test.Simples
public void Test1()
{
var bytes = "7e0102400c01003000068109024a3130303330303030363831857e".ToHexBytes();
JT808Package jT808Package = JT808Serializer.Deserialize<JT808Package>(bytes, JT808Version.JTT2013Force);//强制使用2013协议转换
JT808Package jT808Package = JT808Serializer.Deserialize<JT808Package>(bytes, JT808Version.JTT2013Force);//Force the 2013 protocol conversion
//因头部的版本标识号是2019,实际上是使用2013的协议
//Since the version id in the header is 2019, it actually uses the 2013 protocol
jT808Package.Header.MessageBodyProperty.VersionFlag = false;
//修改版本号之后,重新编码协议,以便后续服务正常使用
var newBytes=JT808Serializer.Serialize(jT808Package);
//After the version number is changed, the protocol is re-encoded to facilitate the normal use of subsequent services
var newBytes =JT808Serializer.Serialize(jT808Package);
JT808Package jT808PackageNew = JT808Serializer.Deserialize<JT808Package>(newBytes);
}
}


+ 11
- 10
src/JT808.Protocol/Enums/JT808MsgId.cs Parādīt failu

@@ -65,18 +65,19 @@ namespace JT808.Protocol.Enums
/// <summary>
/// 查询终端参数
/// 0x8104
/// Querying Terminal Parameters
/// </summary>
_0x8104 = 0x8104,
/// <summary>
/// 查询终端参数应答
/// 0x0104
/// Querying Terminal Parameters
/// Query terminal parameter response
/// </summary>
_0x0104 = 0x0104,
/// <summary>
/// 终端控制
/// 0x8105
/// terminal control
/// Terminal control
/// </summary>
_0x8105 = 0x8105,
/// <summary>
@@ -185,7 +186,7 @@ namespace JT808.Protocol.Enums
/// <summary>
/// 信息服务
/// 0x8304
/// information service
/// Information service
/// </summary>
_0x8304 = 0x8304,
/// <summary>
@@ -203,7 +204,7 @@ namespace JT808.Protocol.Enums
/// <summary>
/// 车辆控制
/// 0x8500
/// vehicle control
/// Vehicle control
/// </summary>
_0x8500 = 0x8500,
/// <summary>
@@ -345,6 +346,12 @@ namespace JT808.Protocol.Enums
/// </summary>
_0x8802 = 0x8802,
/// <summary>
/// 存储多媒体数据检索应答
/// 0x0802
/// Store multimedia data retrieval replies
/// </summary>
_0x0802 = 0x0802,
/// <summary>
/// 存储多媒体数据上传
/// 0x8803
/// Store multimedia data upload
@@ -428,11 +435,5 @@ namespace JT808.Protocol.Enums
/// Query area or line data reply
/// </summary>
_0x0608 = 0x0608,
/// <summary>
/// 存储多媒体数据检索应答
/// 0x0802
/// Store multimedia data retrieval replies
/// </summary>
_0x0802 = 0x0802,
}
}

+ 12
- 11
src/JT808.Protocol/JT808.Protocol.xml Parādīt failu

@@ -929,20 +929,21 @@
<summary>
查询终端参数
0x8104
Querying Terminal Parameters
</summary>
</member>
<member name="F:JT808.Protocol.Enums.JT808MsgId._0x0104">
<summary>
查询终端参数应答
0x0104
Querying Terminal Parameters
Query terminal parameter response
</summary>
</member>
<member name="F:JT808.Protocol.Enums.JT808MsgId._0x8105">
<summary>
终端控制
0x8105
terminal control
Terminal control
</summary>
</member>
<member name="F:JT808.Protocol.Enums.JT808MsgId._0x8106">
@@ -1069,7 +1070,7 @@
<summary>
信息服务
0x8304
information service
Information service
</summary>
</member>
<member name="F:JT808.Protocol.Enums.JT808MsgId._0x8400">
@@ -1090,7 +1091,7 @@
<summary>
车辆控制
0x8500
vehicle control
Vehicle control
</summary>
</member>
<member name="F:JT808.Protocol.Enums.JT808MsgId._0x0500">
@@ -1254,6 +1255,13 @@
Store multimedia data retrieval
</summary>
</member>
<member name="F:JT808.Protocol.Enums.JT808MsgId._0x0802">
<summary>
存储多媒体数据检索应答
0x0802
Store multimedia data retrieval replies
</summary>
</member>
<member name="F:JT808.Protocol.Enums.JT808MsgId._0x8803">
<summary>
存储多媒体数据上传
@@ -1352,13 +1360,6 @@
Query area or line data reply
</summary>
</member>
<member name="F:JT808.Protocol.Enums.JT808MsgId._0x0802">
<summary>
存储多媒体数据检索应答
0x0802
Store multimedia data retrieval replies
</summary>
</member>
<member name="T:JT808.Protocol.Enums.JT808MultimediaCodingFormat">
<summary>
多媒体格式编码


Notiek ielāde…
Atcelt
Saglabāt