@@ -0,0 +1,25 @@ | |||
| |||
Microsoft Visual Studio Solution File, Format Version 12.00 | |||
# Visual Studio 15 | |||
VisualStudioVersion = 15.0.27428.2005 | |||
MinimumVisualStudioVersion = 10.0.40219.1 | |||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JT809.Protocol", "JT809.Protocol\JT809.Protocol.csproj", "{4D33A5C9-F583-4230-9791-AB0394EFAD57}" | |||
EndProject | |||
Global | |||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | |||
Debug|Any CPU = Debug|Any CPU | |||
Release|Any CPU = Release|Any CPU | |||
EndGlobalSection | |||
GlobalSection(ProjectConfigurationPlatforms) = postSolution | |||
{4D33A5C9-F583-4230-9791-AB0394EFAD57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | |||
{4D33A5C9-F583-4230-9791-AB0394EFAD57}.Debug|Any CPU.Build.0 = Debug|Any CPU | |||
{4D33A5C9-F583-4230-9791-AB0394EFAD57}.Release|Any CPU.ActiveCfg = Release|Any CPU | |||
{4D33A5C9-F583-4230-9791-AB0394EFAD57}.Release|Any CPU.Build.0 = Release|Any CPU | |||
EndGlobalSection | |||
GlobalSection(SolutionProperties) = preSolution | |||
HideSolutionNode = FALSE | |||
EndGlobalSection | |||
GlobalSection(ExtensibilityGlobals) = postSolution | |||
SolutionGuid = {6159526D-F9A2-4984-A941-B65CA7B0E2EE} | |||
EndGlobalSection | |||
EndGlobal |
@@ -0,0 +1,48 @@ | |||
using System; | |||
using System.Collections.Generic; | |||
using System.Text; | |||
namespace JT809.Protocol | |||
{ | |||
/// <summary> | |||
/// 常量 | |||
/// </summary> | |||
public static class Constants | |||
{ | |||
/// <summary> | |||
/// 报警类型 | |||
/// </summary> | |||
public readonly static Dictionary<ushort, string> AlramType = new Dictionary<ushort, string>() | |||
{ | |||
{0x0001,"超速报警"}, | |||
{0x0002,"疲劳驾驶报警"}, | |||
{0x0003,"紧急报警"}, | |||
{0x0004,"进入指定区域报警"}, | |||
{0x0005,"离开指定区域报警"}, | |||
{0x0006,"路段赌赛报警"}, | |||
{0x0007,"危险路段报警"}, | |||
{0x0008,"越界报警"}, | |||
{0x0009,"盗警"}, | |||
{0x000A,"劫警"}, | |||
{0x000B,"偏离路线报警"}, | |||
{0x000C,"车辆移动报警"}, | |||
{0x000D,"超时驾驶报警"}, | |||
{0x000E,"其他报警"} | |||
}; | |||
/// <summary> | |||
/// 车牌颜色 | |||
/// </summary> | |||
public readonly static Dictionary<byte, string> CarColor = new Dictionary<byte, string>() | |||
{ | |||
{1,"蓝色"}, | |||
{2,"黄色"}, | |||
{3,"黄色"}, | |||
{4,"白色"}, | |||
{5,"绿"}, | |||
{6,"黄绿"}, | |||
{8,"农黄"}, | |||
{9,"其他"} | |||
}; | |||
} | |||
} |
@@ -0,0 +1,163 @@ | |||
using System.ComponentModel; | |||
namespace JT809.Protocol.Enums | |||
{ | |||
/// <summary> | |||
/// 业务数据类型标识 | |||
/// 数据交换一协议规定的业务数据类型名称和标识常量定义见表 73。业务数据类型标识的命名规则如下: | |||
/// a) 上级平台向下级平台发送的请求消息,一般以“DOWN_”开头,以后缀_REQ 结尾;而下级平台向上级平台发送的请求消息一般以“UP_”开头,以后缀_REQ 结尾; | |||
/// b) 当上下级平台之间有应答消息情况下,应答消息可继续沿用对应的请求消息开头标识符,而通过后缀 RSP 来标识结尾。 | |||
/// </summary> | |||
public enum BusinessType : ushort | |||
{ | |||
#region 链路管理类 | |||
///<summary> | |||
///主链路登录请求消息 | |||
///</summary> | |||
[Description("主链路登录请求消息")] | |||
UP_CONNECT_REQ = 0x1001, | |||
///<summary> | |||
///主链路登录应答消息 | |||
///</summary> | |||
[Description("主链路登录应答消息")] | |||
UP_CONNECT_RSP = 0x1002, | |||
///<summary> | |||
///主链路注销请求消息 | |||
///</summary> | |||
[Description("主链路注销请求消息")] | |||
UP_DISCONNECT_REQ = 0x1003, | |||
///<summary> | |||
///主链路注销应答消息 | |||
///</summary> | |||
[Description("主链路注销应答消息")] | |||
UP_DISCONNECT_RSP = 0x1004, | |||
///<summary> | |||
///主链路连接保持请求消息 | |||
///</summary> | |||
[Description("主链路连接保持请求消息")] | |||
UP_LINKTEST_REQ = 0x1005, | |||
///<summary> | |||
///主链路连接保持应答消息 | |||
///</summary> | |||
[Description("主链路连接保持应答消息")] | |||
UP_LINKTEST_RSP = 0x1006, | |||
///<summary> | |||
///主链路断开通知消息 | |||
///</summary> | |||
[Description("主链路断开通知消息")] | |||
UP_DISCONNECT_INFORM = 0x1007, | |||
///<summary> | |||
///下级平台主动关闭链路通知消息 | |||
///</summary> | |||
[Description("下级平台主动关闭链路通知消息")] | |||
UP_CLOSELINK_INFORM = 0x1008, | |||
///<summary> | |||
///从链路连接请求消息 | |||
///</summary> | |||
[Description("从链路连接请求消息")] | |||
DOWN_CONNECT_REQ = 0x9001, | |||
///<summary> | |||
///从链路连接应答消息 | |||
///</summary> | |||
[Description("从链路连接应答消息")] | |||
DOWN_CONNECT_RSP = 0x9002, | |||
///<summary> | |||
///从链路注销请求消息 | |||
///</summary> | |||
[Description("从链路注销请求消息")] | |||
DOWN_DISCONNECT_REQ = 0x9003, | |||
///<summary> | |||
///从链路注销应答消息 | |||
///</summary> | |||
[Description("从链路注销应答消息")] | |||
DOWN_DISCONNECT_RSP = 0x9004, | |||
///<summary> | |||
///从链路连接保持请求消息 | |||
///</summary> | |||
[Description("从链路连接保持请求消息")] | |||
DOWN_LINKTEST_REQ = 0x9005, | |||
///<summary> | |||
///从链路连接保持应答消息 | |||
///</summary> | |||
[Description("从链路连接保持应答消息")] | |||
DOWN_LINKTEST_RSP = 0x9006, | |||
///<summary> | |||
///从链路断开通知消息 | |||
///</summary> | |||
[Description("从链路断开通知消息")] | |||
DOWN_DISCONNECT_INFORM = 0x9007, | |||
///<summary> | |||
///上级平台主动关闭链路通知消息 | |||
///</summary> | |||
[Description("上级平台主动关闭链路通知消息")] | |||
DOWN_CLOSELINK_INFORM = 0x9008, | |||
#endregion | |||
#region 信息统计类 | |||
///<summary> | |||
///接收定位信息数量通知消息 | |||
///</summary> | |||
[Description("接收定位信息数量通知消息")] | |||
DOWN_TOTAL_RECV_BACK_MSG = 0x9101, | |||
#endregion | |||
#region 车辆动态信息交换 | |||
///<summary> | |||
///主链路动态信息交换消息 | |||
///</summary> | |||
[Description("主链路动态信息交换消息")] | |||
UP_EXG_MSG = 0x1200, | |||
///<summary> | |||
///从链路动态信息交换消息 | |||
///</summary> | |||
[Description("从链路动态信息交换消息")] | |||
DOWN_EXG_MSG = 0x9200, | |||
#endregion | |||
#region 平台间信息交互类 | |||
///<summary> | |||
///主链路平台间信息交互消息 | |||
///</summary> | |||
[Description("主链路平台间信息交互消息")] | |||
UP_PLATFORM_MSG = 0x1300, | |||
///<summary> | |||
///从链路平台间信息交互消息 | |||
///</summary> | |||
[Description("从链路平台间信息交互消息")] | |||
DOWN_PLATFORM_MSG = 0x9300, | |||
#endregion | |||
#region 车辆报警信息交互类 | |||
///<summary> | |||
///主链路报警信息交互消息 | |||
///</summary> | |||
[Description("主链路报警信息交互消息")] | |||
UP_WARN_MSG = 0x1400, | |||
///<summary> | |||
///从链路报警信息交互消息 | |||
///</summary> | |||
[Description("从链路报警信息交互消息")] | |||
DOWN_WARN_MSG = 0x9400, | |||
#endregion | |||
#region 车辆监管类 | |||
///<summary> | |||
///主链路车辆监管消息 | |||
///</summary> | |||
[Description("主链路车辆监管消息")] | |||
UP_CTRL_MSG = 0x1500, | |||
///<summary> | |||
///从链路车辆监管消息 | |||
///</summary> | |||
[Description("从链路车辆监管消息")] | |||
DOWN_CTRL_MSG = 0x9500, | |||
#endregion | |||
#region 车辆静态信息交换类 | |||
///<summary> | |||
///主链路静态信息交换消息 | |||
///</summary> | |||
[Description("主链路静态信息交换消息")] | |||
UP_BASE_MSG = 0x1600, | |||
///<summary> | |||
///从链路静态信息交换消息 | |||
///</summary> | |||
[Description("从链路静态信息交换消息")] | |||
DOWN_BASE_MSG = 0x9600, | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,260 @@ | |||
using System.ComponentModel; | |||
namespace JT809.Protocol.Enums | |||
{ | |||
///<summary> | |||
///子业务类型标识 | |||
///</summary> | |||
public enum SubBusinessType : ushort | |||
{ | |||
#region 主链路动态信息交换消息 UP_EXG_MSG | |||
/// <summary> | |||
/// 上传车辆注册信息 | |||
/// </summary> | |||
[Description("上传车辆注册信息")] | |||
UP_EXG_MSG_REGISTER = 0x1201, | |||
///<summary> | |||
///实时上传车辆定位信息 | |||
///</summary> | |||
[Description("实时上传车辆定位信息")] | |||
UP_EXG_MSG_REAL_LOCATION = 0x1202, | |||
///<summary> | |||
///车辆定位信息自动补报 | |||
///</summary> | |||
[Description("车辆定位信息自动补报")] | |||
UP_EXG_MSG_HISTORY_LOCATION = 0x1203, | |||
///<summary> | |||
///启动车辆定位信息交换应答 | |||
///</summary> | |||
[Description("启动车辆定位信息交换应答")] | |||
UP_EXG_MSG_RETURN_STARTUP_ACK = 0x1205, | |||
///<summary> | |||
///结束车辆定位信息交换应答 | |||
///</summary> | |||
[Description("结束车辆定位信息交换应答")] | |||
UP_EXG_MSG_RETURN_END_ACK = 0x1206, | |||
///<summary> | |||
///申请交换指定车辆定位信息请求 | |||
///</summary> | |||
[Description("申请交换指定车辆定位信息请求")] | |||
UP_EXG_MSG_APPLY_FOR_MONITOR_STARTUP = 0x1207, | |||
///<summary> | |||
///取消交换指定车辆定位信息请求 | |||
///</summary> | |||
[Description("取消交换指定车辆定位信息请求")] | |||
UP_EXG_MSG_APPLY_FOR_MONITOR_END = 0x1208, | |||
///<summary> | |||
///补发车辆定位信息请求 | |||
///</summary> | |||
[Description("补发车辆定位信息请求")] | |||
UP_EXG_MSG_APPLY_HISGNSSDATA_REQ = 0x1209, | |||
///<summary> | |||
///上报车辆驾驶员身份识别信息应答 | |||
///</summary> | |||
[Description("上报车辆驾驶员身份识别信息应答")] | |||
UP_EXG_MSG_REPORT_DRIVER_INFO_ACK = 0x120A, | |||
///<summary> | |||
///上报车辆电子运单应答 | |||
///</summary> | |||
[Description("上报车辆电子运单应答")] | |||
UP_EXG_MSG_TAKE_EWAYBILL_ACK = 0x120B, | |||
///<summary> | |||
///主动上报驾驶员身份信息 | |||
///</summary> | |||
[Description("主动上报驾驶员身份信息")] | |||
UP_EXG_MSG_REPORT_DRIVER_INFO = 0x120C, | |||
///<summary> | |||
///主动上报车辆电子运单信息 | |||
///</summary> | |||
[Description("主动上报车辆电子运单信息")] | |||
UP_EXG_MSG_REPORT_EWAYBILL_INFO = 0x120D, | |||
#endregion | |||
#region 从链路动态信息交换消息 DOWN_EXG_MSG | |||
///<summary> | |||
///交换车辆定位信息 | |||
///</summary> | |||
[Description("交换车辆定位信息")] | |||
DOWN_EXG_MSG_CAR_LOCATION = 0x9202, | |||
///<summary> | |||
///车辆定位信息交换补发 | |||
///</summary> | |||
[Description("车辆定位信息交换补发")] | |||
DOWN_EXG_MSG_HISTORY_ARCOSSAREA = 0x9203, | |||
///<summary> | |||
///交换车辆静态信息 | |||
///</summary> | |||
[Description("交换车辆静态信息")] | |||
DOWN_EXG_MSG_CAR_INFO = 0x9204, | |||
///<summary> | |||
///启动车辆定位信息交换请求 | |||
///</summary> | |||
[Description("启动车辆定位信息交换请求")] | |||
DOWN_EXG_MSG_RETURN_STARTUP = 0x9205, | |||
///<summary> | |||
///结束车辆定位信息交换请求 | |||
///</summary> | |||
[Description("结束车辆定位信息交换请求")] | |||
DOWN_EXG_MSG_RETURN_END = 0x9206, | |||
///<summary> | |||
///申请交换指定车辆定位信息应答 | |||
///</summary> | |||
[Description("申请交换指定车辆定位信息应答")] | |||
DOWN_EXG_MSG_APPLY_FOR_MONITOR_STARTUP_ACK = 0x9207, | |||
///<summary> | |||
///取消交换指定车辆定位信息应答 | |||
///</summary> | |||
[Description("取消交换指定车辆定位信息应答")] | |||
DOWN_EXG_MSG_APPLY_FOR_MONITOR_END_ACK = 0x9208, | |||
///<summary> | |||
///补发车辆定位信息应答 | |||
///</summary> | |||
[Description("补发车辆定位信息应答")] | |||
DOWN_EXG_MSG_APPLY_HISGNSSDATA_ACK = 0x9209, | |||
///<summary> | |||
///上报车辆驾驶员身份识别信息请求 | |||
///</summary> | |||
[Description("上报车辆驾驶员身份识别信息请求")] | |||
DOWN_EXG_MSG_REPORT_DRIVER_INFO = 0x920A, | |||
///<summary> | |||
///上报车辆电子运单请求 | |||
///</summary> | |||
[Description("上报车辆电子运单请求")] | |||
DOWN_EXG_MSG_TAKE_EWAYBILL_REQ = 0x920B, | |||
#endregion | |||
#region 主链路平台信息交互消息 UP_PLATFORM_MSG | |||
///<summary> | |||
///平台查岗应答 | |||
///</summary> | |||
[Description("平台查岗应答")] | |||
UP_PLATFORM_MSG_POST_QUERY_ACK = 0x1301, | |||
///<summary> | |||
///下发平台间报文应答 | |||
///</summary> | |||
[Description("下发平台间报文应答")] | |||
UP_PLATFORM_MSG_INFO_ACK = 0x1302, | |||
#endregion | |||
#region 从链路平台信息交互消息 DOWN_PLATFORM_MSG | |||
///<summary> | |||
///平台查岗请求 | |||
///</summary> | |||
[Description("平台查岗请求")] | |||
DOWN_PLATFORM_MSG_POST_QUERY_REQ = 0x9301, | |||
///<summary> | |||
///下发平台间报文请求 | |||
///</summary> | |||
[Description("下发平台间报文请求")] | |||
DOWN_PLATFORM_MSG_INFO_REQ = 0x9302, | |||
#endregion | |||
#region 主链路报警信息交互消息 UP_WARN_MSG | |||
///<summary> | |||
///报警督办应答 | |||
///</summary> | |||
[Description("报警督办应答")] | |||
UP_WARN_MSG_URGE_TODO_ACK = 0x1401, | |||
///<summary> | |||
///上报报警信息 | |||
///</summary> | |||
[Description("上报报警信息")] | |||
UP_WARN_MSG_ADPT_INFO = 0x1402, | |||
///<summary> | |||
///主动上报报警处理结果信息 | |||
///</summary> | |||
[Description("主动上报报警处理结果信息")] | |||
UP_WARN_MSG_ADPT_TODO_INFO = 0x1403, | |||
#endregion | |||
#region 从链路报警信息交互消息 DOWN_WARN_MSG | |||
///<summary> | |||
///报警督办请求 | |||
///</summary> | |||
[Description("报警督办请求")] | |||
DOWN_WARN_MSG_URGE_TODO_REQ = 0x9401, | |||
///<summary> | |||
///报警预警 | |||
///</summary> | |||
[Description("报警预警")] | |||
DOWN_WARN_MSG_INFORM_TIPS = 0x9402, | |||
///<summary> | |||
///实时交换报警信息 | |||
///</summary> | |||
[Description("实时交换报警信息")] | |||
DOWN_WARN_MSG_EXG_INFORM = 0x9403, | |||
#endregion | |||
#region 主链路车辆监管消息 UP_CTRL_MSG | |||
///<summary> | |||
///车辆单向监听应答 | |||
///</summary> | |||
[Description("车辆单向监听应答")] | |||
UP_CTRL_MSG_MONITOR_VEHICLE_ACK = 0x1501, | |||
///<summary> | |||
///车辆拍照应答 | |||
///</summary> | |||
[Description("车辆拍照应答")] | |||
UP_CTRL_MSG_TAKE_PHOTO_ACK = 0x1502, | |||
///<summary> | |||
///下发车辆报文应答 | |||
///</summary> | |||
[Description("下发车辆报文应答")] | |||
UP_CTRL_MSG_TEXT_INFO_ACK = 0x1503, | |||
///<summary> | |||
///上报车辆行驶记录应答 | |||
///</summary> | |||
[Description("上报车辆行驶记录应答")] | |||
UP_CTRL_MSG_TAKE_TRAVEL_ACK = 0x1504, | |||
///<summary> | |||
///车辆应急接入监管平台应答消息 | |||
///</summary> | |||
[Description("车辆应急接入监管平台应答消息")] | |||
UP_CTRL_MSG_EMERGENCY_MONITORING_ACK = 0x1505, | |||
#endregion | |||
#region 从链路车辆监管消息 DOWN_CTRL_MSG | |||
///<summary> | |||
///车辆单向监听请求 | |||
///</summary> | |||
[Description("车辆单向监听请求")] | |||
DOWN_CTRL_MSG_MONITOR_VEHICLE_REQ = 0x9501, | |||
///<summary> | |||
///车辆拍照请求 | |||
///</summary> | |||
[Description("车辆拍照请求")] | |||
DOWN_CTRL_MSG_TAKE_PHOTO_REQ = 0x9502, | |||
///<summary> | |||
///下发车辆报文请求 | |||
///</summary> | |||
[Description("下发车辆报文请求")] | |||
DOWN_CTRL_MSG_TEXT_INFO = 0x9503, | |||
///<summary> | |||
///上报车辆行驶记录请求 | |||
///</summary> | |||
[Description("上报车辆行驶记录请求")] | |||
DOWN_CTRL_MSG_TAKE_TRAVEL_REQ = 0x9504, | |||
///<summary> | |||
///车辆应急接入监管平台请求消息 | |||
///</summary> | |||
[Description("车辆应急接入监管平台请求消息")] | |||
DOWN_CTRL_MSG_EMERGENCY_MONITORING_REQ = 0x9505, | |||
#endregion | |||
#region 主链路静态信息交换消息 UP_BASE_MSG | |||
///<summary> | |||
///补报车辆静态信息应答 | |||
///</summary> | |||
[Description("补报车辆静态信息应答")] | |||
UP_BASE_MSG_VEHICLE_ADDED_ACK = 0x1601, | |||
#endregion | |||
#region 从链路静态信息交换消息 DOWN_BASE_MSG | |||
///<summary> | |||
///补报车辆静态信息请求 | |||
///</summary> | |||
[Description("补报车辆静态信息请求")] | |||
DOWN_BASE_MSG_VEHICLE_ADDED = 0x9601, | |||
#endregion | |||
} | |||
} |
@@ -0,0 +1,7 @@ | |||
<Project Sdk="Microsoft.NET.Sdk"> | |||
<PropertyGroup> | |||
<TargetFramework>netstandard2.0</TargetFramework> | |||
</PropertyGroup> | |||
</Project> |