瀏覽代碼

v2.1.3

升级core3.1
tags/v2.1.3
SmallChi(Koike) 5 年之前
父節點
當前提交
f5de3f3176
共有 10 個檔案被更改,包括 23 行新增62 行删除
  1. +13
    -19
      README.md
  2. 二進制
      doc/808809补充协议.pdf
  3. 二進制
      doc/GBT-19056.pdf
  4. 二進制
      doc/JT-T809.pdf
  5. 二進制
      doc/JTT415-2006.pdf
  6. +0
    -32
      doc/jt809协议解析.txt
  7. +2
    -2
      src/JT809.Protocol.Benchmark/JT809.Protocol.Benchmark.csproj
  8. +1
    -2
      src/JT809.Protocol.Benchmark/JT809SerializerContext.cs
  9. +3
    -3
      src/JT809.Protocol.Test/JT809.Protocol.Test.csproj
  10. +4
    -4
      src/JT809.Protocol/JT809.Protocol.csproj

+ 13
- 19
README.md 查看文件

@@ -248,29 +248,23 @@ static void Main(string[] args)

``` ini

BenchmarkDotNet=v0.11.5, OS=Windows 10.0.18362
BenchmarkDotNet=v0.12.0, OS=Windows 10.0.18363
Intel Core i7-8700K CPU 3.70GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
[Host] : .NET Framework 4.7.2 (CLR 4.0.30319.42000), 64bit RyuJIT-v4.8.4010.0
Job-LGLQDK : .NET Core 2.2.7 (CoreCLR 4.6.28008.02, CoreFX 4.6.28008.03), 64bit RyuJIT
Job-ZHZJMS : .NET Core 3.0.0 (CoreCLR 4.700.19.46205, CoreFX 4.700.19.46214), 64bit RyuJIT
.NET Core SDK=3.1.100
[Host] : .NET Core 3.1.0 (CoreCLR 4.700.19.56402, CoreFX 4.700.19.56404), X64 RyuJIT
Job-RQJOPV : .NET Core 3.1.0 (CoreCLR 4.700.19.56402, CoreFX 4.700.19.56404), X64 RyuJIT

Platform=AnyCpu Server=False
Platform=AnyCpu Server=False Toolchain=.NET Core 3.1

```
| Method | Toolchain | N | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---------------------------------------- |-------------- |------- |-------------:|-------------:|-------------:|-----------:|------:|------:|-------------:|
| **JT809_0x9400_0x9401_Package_Deserialize** | **.NET Core 2.2** | **100** | **708.1 us** | **9.502 us** | **8.888 us** | **18.5547** | **-** | **-** | **118.75 KB** |
| JT809_0x9400_0x9401_Package_Serialize | .NET Core 2.2 | 100 | 579.5 us | 4.797 us | 4.487 us | 12.6953 | - | - | 83.59 KB |
| JT809_0x9400_0x9401_Package_Deserialize | .NET Core 3.0 | 100 | 625.4 us | 6.279 us | 5.874 us | 15.6250 | - | - | 100.79 KB |
| JT809_0x9400_0x9401_Package_Serialize | .NET Core 3.0 | 100 | 493.5 us | 6.747 us | 5.981 us | 12.6953 | - | - | 83.59 KB |
| **JT809_0x9400_0x9401_Package_Deserialize** | **.NET Core 2.2** | **10000** | **71,579.2 us** | **479.153 us** | **400.115 us** | **1857.1429** | **-** | **-** | **11875 KB** |
| JT809_0x9400_0x9401_Package_Serialize | .NET Core 2.2 | 10000 | 57,628.0 us | 1,132.986 us | 1,259.311 us | 1333.3333 | - | - | 8359.38 KB |
| JT809_0x9400_0x9401_Package_Deserialize | .NET Core 3.0 | 10000 | 62,621.4 us | 347.593 us | 308.132 us | 1625.0000 | - | - | 10078.74 KB |
| JT809_0x9400_0x9401_Package_Serialize | .NET Core 3.0 | 10000 | 50,368.3 us | 603.232 us | 564.264 us | 1300.0000 | - | - | 8359.38 KB |
| **JT809_0x9400_0x9401_Package_Deserialize** | **.NET Core 2.2** | **100000** | **699,234.2 us** | **4,387.105 us** | **3,889.054 us** | **19000.0000** | **-** | **-** | **118750 KB** |
| JT809_0x9400_0x9401_Package_Serialize | .NET Core 2.2 | 100000 | 553,963.3 us | 5,945.857 us | 5,561.758 us | 13000.0000 | - | - | 83593.75 KB |
| JT809_0x9400_0x9401_Package_Deserialize | .NET Core 3.0 | 100000 | 625,025.5 us | 2,921.895 us | 2,733.143 us | 16000.0000 | - | - | 100787.23 KB |
| JT809_0x9400_0x9401_Package_Serialize | .NET Core 3.0 | 100000 | 500,894.2 us | 2,459.516 us | 2,180.297 us | 13000.0000 | - | - | 83593.75 KB |
| Method | N | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---------------------------------------- |------- |-------------:|-------------:|------------:|-----------:|------:|------:|-------------:|
| **JT809_0x9400_0x9401_Package_Deserialize** | **100** | **629.9 us** | **11.09 us** | **9.83 us** | **15.6250** | **-** | **-** | **100.79 KB** |
| JT809_0x9400_0x9401_Package_Serialize | 100 | 501.0 us | 8.63 us | 8.07 us | 13.1836 | - | - | 83.59 KB |
| **JT809_0x9400_0x9401_Package_Deserialize** | **10000** | **63,018.0 us** | **954.14 us** | **845.82 us** | **1625.0000** | **-** | **-** | **10078.74 KB** |
| JT809_0x9400_0x9401_Package_Serialize | 10000 | 48,890.0 us | 1,107.12 us | 1,136.93 us | 1363.6364 | - | - | 8359.38 KB |
| **JT809_0x9400_0x9401_Package_Deserialize** | **100000** | **623,675.9 us** | **10,185.67 us** | **9,527.68 us** | **16000.0000** | **-** | **-** | **100787.23 KB** |
| JT809_0x9400_0x9401_Package_Serialize | 100000 | 486,690.2 us | 6,158.00 us | 5,458.90 us | 13000.0000 | - | - | 83595.03 KB |

## JT809协议消息对照表



二進制
doc/808809补充协议.pdf 查看文件


二進制
doc/GBT-19056.pdf 查看文件


二進制
doc/JT-T809.pdf 查看文件


二進制
doc/JTT415-2006.pdf 查看文件


+ 0
- 32
doc/jt809协议解析.txt 查看文件

@@ -1,32 +0,0 @@
5B
00 00
00 5A 02 00 00 00 85 12 00 01 33 53 D5 01 00 00 00 00 00 27 0F D4 C1 41 31 32 33 34 35 00 00 00 00 00 00 00 00 00 00 00 00 00 01 12 02 00 00 00 24 00 13 07 07 DC 0F 0F 0F 07 EF 4D 80 01 70 18 40 00 32 00 34 00 00 00 96 00 2D 00 2D 00 00 00 03 00 00 00 00 43 BF
5D

5B -- 标识头
00 00 00 5A -- Unit32_t 数据长度
00 00 00 85 -- Unit32_t 报文序列号 a
12 00 -- Unit16_t 业务数据类型
01 33 53 D5 -- Unit32_t 下级平台接入码,上级平台给下级平台分配唯一标识码
01 00 00 -- BYTES 协议版本好标识
00 -- BYTE 报文加密标识位 b: 0 表示报文不加密,1 表示报文加密
00 00 27 0F -- Unit32_t 数据加密的密匙,长度为 4 个字节
D4 C1 41 31 32 33 34 35 00 00 00 00 00 00 00 00 00 00 00 00 00 -- 21 Octet String 车牌号
01 -- 1 BYTE 车辆颜色,按照 JT/T415-2006 中5.4.12 的规定
12 02 --2 Uint16_t 子业务类型标识
00 00 00 24 -- 4 Uint32_t 后续数据长度
-----********************************************** 数据部分********************************************-----
00 -- BYTE 该字段标识传输的定位信息是否使用国家测绘局批准的地图保密插件进行加密。加密标识:1-已加密,0-未加密。
13 07 07 DC -- 4 BYTES 日月年(dmyy)
0F 0F 0F -- 3 BYTES 时分秒(hms)
07 EF 4D 80 --4 Uint32_t 经度,单位为 1*10^-6 度
01 70 18 40 -- 4 Uint32_t 纬度,单位为 1*10^-6 度
00 32 -- 2 Uint16_t 速度,
00 34 -- 2 Uint16_t 行驶记录速度
00 00 00 96 -- 4 Uint32_t 车辆当前总里程数
00 2D --2 Uint16_t 方向,0-359,单位为度(。)
00 2D --2 Uint16_t 海拔高度,单位为米(m)
00 00 00 03 -- 4 Uint32_t 车辆状态,二进制表示,B31B30B29。。。。。。B2B1B0.具体定义按照 JT/T808-2011 中表 17 的规定
00 00 00 00 --4 Uint32_t 报警状态,二进制表示,0 标识正常,1 表示报警:B31B30B29 。。。。。。 B2B1B0. 具 体 定 义 按 照JT/T808-2011 中表 18 的规定
43 BF -- 2 Unint16_t 数据 CRC 校验码
5D -- 标识尾

+ 2
- 2
src/JT809.Protocol.Benchmark/JT809.Protocol.Benchmark.csproj 查看文件

@@ -2,11 +2,11 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>netcoreapp2.2;net472;netcoreapp3.0;</TargetFrameworks>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="BenchmarkDotNet" Version="0.11.5" />
<PackageReference Include="BenchmarkDotNet" Version="0.12.0" />
<PackageReference Include="System.Buffers" Version="4.5.0" />
<PackageReference Include="System.Memory" Version="4.5.3" />
</ItemGroup>


+ 1
- 2
src/JT809.Protocol.Benchmark/JT809SerializerContext.cs 查看文件

@@ -87,8 +87,7 @@ namespace JT809.Protocol.Benchmark
{
public JT809SerializerContextConfig()
{
Add(Job.Default.WithGcServer(false).With(CsProjCoreToolchain.NetCoreApp22).With(Platform.AnyCpu));
Add(Job.Default.WithGcServer(false).With(CsProjCoreToolchain.NetCoreApp30).With(Platform.AnyCpu));
Add(Job.Default.WithGcServer(false).With(CsProjCoreToolchain.NetCoreApp31).With(Platform.AnyCpu));
}
}
}

+ 3
- 3
src/JT809.Protocol.Test/JT809.Protocol.Test.csproj 查看文件

@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<TargetFramework>netcoreapp3.1</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
@@ -11,8 +11,8 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="2.2.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.2.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1">
<PrivateAssets>all</PrivateAssets>


+ 4
- 4
src/JT809.Protocol/JT809.Protocol.csproj 查看文件

@@ -14,7 +14,7 @@
<PackageProjectUrl>https://github.com/SmallChi/JT809</PackageProjectUrl>
<license>https://github.com/SmallChi/JT809/blob/master/LICENSE</license>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<Version>2.1.2</Version>
<Version>2.1.3</Version>
<PackageLicenseFile>LICENSE</PackageLicenseFile>
</PropertyGroup>
@@ -111,9 +111,9 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.CSharp" Version="4.6.0" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.6.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.0.0" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.7.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.0" />
</ItemGroup>


Loading…
取消
儲存