From 34b6a0f27c6d55e6aaaa08ce62cd59b1cc31b3d6 Mon Sep 17 00:00:00 2001 From: CZ Date: Thu, 10 Oct 2024 17:13:10 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A9=AC=E5=B0=94=E5=A1=9E=E8=BD=A6=E8=BE=86?= =?UTF-8?q?=E9=A9=B1=E5=8A=A8=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Service/Car/Handler/HeartBeatMsgHandler.cs | 15 +++- Service/Car/Msg/Car/Req/HeartBeatMsg.cs | 60 +++++++++++++ Service/Car/Msg/Car/Resp/LockMsgResp.cs | 2 +- Service/Car/Msg/Car/Resp/UnLockMsgResp.cs | 2 +- Service/Car/Msg/Host/Resp/HeartBeatMsgResp.cs | 2 +- hnBackVehicle.sln | 88 ------------------- 6 files changed, 75 insertions(+), 94 deletions(-) delete mode 100644 hnBackVehicle.sln diff --git a/Service/Car/Handler/HeartBeatMsgHandler.cs b/Service/Car/Handler/HeartBeatMsgHandler.cs index 8032951..d6507b6 100644 --- a/Service/Car/Handler/HeartBeatMsgHandler.cs +++ b/Service/Car/Handler/HeartBeatMsgHandler.cs @@ -39,9 +39,18 @@ public class HeartBeatMsgHandler : SimpleChannelInboundHandler, IB ioSession = CarServerMgr.CarServer?.SessionMgr.GetSession(msg.CarNo); } - ioSession.BusinessMap.AddOrUpdate("HeartBeatMsg", msg, ((s, o) => msg)); - ioSession?.BusinessMap.AddOrUpdate("Connected", true, ((s, o) => true)); - + if (ioSession == null) + { + ioSession = new IoSession(ctx.Channel); + CarServerMgr.CarServer?.SessionMgr.ChangeSessionKey(ioSession,msg.CarNo); + } + + if (ioSession != null) + { + ioSession.BusinessMap.AddOrUpdate("HeartBeatMsg", msg, ((s, o) => msg)); + ioSession?.BusinessMap.AddOrUpdate("Connected", true, ((s, o) => true)); + } + HeartBeatMsgResp resp = new HeartBeatMsgResp(CarServerMgr.CarServer.StationStatus) { CarNo = msg.CarNo diff --git a/Service/Car/Msg/Car/Req/HeartBeatMsg.cs b/Service/Car/Msg/Car/Req/HeartBeatMsg.cs index 0be6a80..c2acb63 100644 --- a/Service/Car/Msg/Car/Req/HeartBeatMsg.cs +++ b/Service/Car/Msg/Car/Req/HeartBeatMsg.cs @@ -19,4 +19,64 @@ public class HeartBeatMsg: BaseMsg /// [Property(264, 8)] public byte SolenoidValveStatus { get; set; } + + /// + /// 连接器(充电)状态 0: 正常; 1: 异常 + /// + [Property(272, 8)] + public byte DischargeConnectorStatus { get; set; } + + /// + /// 连接器(放电)状态 0: 正常; 1: 异常 + /// + [Property(280, 8)] + public byte ChargingConnectorStatus { get; set; } + /// + /// 温度状态 0:正常; 1:过温;0xFF: 无效 + /// + [Property(288, 8)] + public byte Temperature { get; set; } + + /// + /// 档位 + /// 0 无效,1:P档,2:R档;3:N档;4:D档;其他保留 0xFF: 不支持 + /// + [Property(296, 8)] + public byte EarPosition { get; set; } + /// + /// 手刹 0:无效 1:有效 + /// + [Property(304, 8)] + public byte Handbrake { get; set; } + /// + /// 换电状态 0 待机; 1 开始; 2 结束0xFF: 不支持 + /// + [Property(312, 8)] + public byte SwapStatus { get; set; } + /// + /// Soc 0.1%,0xFF:无效 + /// + [Property(320, 8,scale:0.1)] + public ushort Soc { get; set; } + /// + /// 电池编码 + /// + [Property(328, 224)] + public string BatteryNo { get; set; } + /// + /// 车辆总行驶里程 单位 0.1km + /// + [Property(552, 32,scale:0.1)] + public uint Mileage { get; set; } + /// + /// 车门状态 0 :车门关闭1:车门打开 + /// + [Property(584, 8)] + public byte Door { get; set; } + /// + /// 高压上下电状态 1 高压上电 2 高压下电 3 无效 + /// + [Property(592, 8)] + public byte HighVoltage { get; set; } + } \ No newline at end of file diff --git a/Service/Car/Msg/Car/Resp/LockMsgResp.cs b/Service/Car/Msg/Car/Resp/LockMsgResp.cs index 0a8ad11..d93ba16 100644 --- a/Service/Car/Msg/Car/Resp/LockMsgResp.cs +++ b/Service/Car/Msg/Car/Resp/LockMsgResp.cs @@ -5,7 +5,7 @@ namespace Service.Car.Msg.Car.Resp; public class LockMsgResp : BaseMsg { /// - /// 0、加锁成功;1、加锁失败;2、车架号不匹配;FF、 异常 + /// 0、加锁成功;1、加锁失败;2、车架号不匹配;3、非ACC OFF状态;FF、 异常 /// [Property(248, 8)] public byte Result { get; set; } diff --git a/Service/Car/Msg/Car/Resp/UnLockMsgResp.cs b/Service/Car/Msg/Car/Resp/UnLockMsgResp.cs index 86e2d6b..1199569 100644 --- a/Service/Car/Msg/Car/Resp/UnLockMsgResp.cs +++ b/Service/Car/Msg/Car/Resp/UnLockMsgResp.cs @@ -5,7 +5,7 @@ namespace Service.Car.Msg.Car.Resp; public class UnLockMsgResp : BaseMsg { /// - /// 0、解锁成功;1、非 ACC OFF 状态;2、车架号不匹配;3、 解锁失败;FF、异常 + /// 0、解锁成功;1、解锁失败;2、车架号不匹配;0xFF、异常; /// [Property(248, 8)] public byte Result { get; set; } diff --git a/Service/Car/Msg/Host/Resp/HeartBeatMsgResp.cs b/Service/Car/Msg/Host/Resp/HeartBeatMsgResp.cs index 956e78d..c8053e3 100644 --- a/Service/Car/Msg/Host/Resp/HeartBeatMsgResp.cs +++ b/Service/Car/Msg/Host/Resp/HeartBeatMsgResp.cs @@ -5,7 +5,7 @@ namespace Service.Car.Msg.Host.Resp; public class HeartBeatMsgResp : BaseMsg { /// - /// 锁止状态 1 待机 2 换电 + /// 站控状态 1 待机 2 换电 /// [Property(248, 8)] public byte HostStatus { get; set; } diff --git a/hnBackVehicle.sln b/hnBackVehicle.sln deleted file mode 100644 index 4ee5ab4..0000000 --- a/hnBackVehicle.sln +++ /dev/null @@ -1,88 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.9.34701.34 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebStarter", "WebStarter\WebStarter.csproj", "{61B1609B-97EE-48E4-ADA6-4F1A832B8D33}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Repository", "Repository\Repository.csproj", "{01D2CC15-F1FD-4E22-845A-2D2473662860}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Service", "Service\Service.csproj", "{A6C2AA7F-B2A2-4AE0-AE84-49BE36B990EC}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinFormStarter", "WinFormStarter\WinFormStarter.csproj", "{A6757DAD-EF5A-41FD-9323-F3FCF05ED777}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Entity", "Entity\Entity.csproj", "{C2380814-15D4-491D-ADF2-ADC68617C3FA}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleStarter", "ConsoleStarter\ConsoleStarter.csproj", "{8EAFC092-1C8A-4CF7-B283-FFCB02D58ED8}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Starter", "Starter", "{E0B949DC-17FE-414D-8898-937A317BB853}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfStarter", "WpfStarter\WpfStarter.csproj", "{17044C11-3794-4938-BA80-C061BD871AE0}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Business", "Business", "{C9515084-B676-4C33-9FE7-E0B860493A4F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rfid", "Rfid\Rfid.csproj", "{053079C7-C9EE-49F4-B9CB-F06D14AEB027}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common", "Common\Common.csproj", "{3CD91BB6-C472-45D1-B0EC-6C96DF603CC0}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {61B1609B-97EE-48E4-ADA6-4F1A832B8D33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {61B1609B-97EE-48E4-ADA6-4F1A832B8D33}.Debug|Any CPU.Build.0 = Debug|Any CPU - {61B1609B-97EE-48E4-ADA6-4F1A832B8D33}.Release|Any CPU.ActiveCfg = Release|Any CPU - {61B1609B-97EE-48E4-ADA6-4F1A832B8D33}.Release|Any CPU.Build.0 = Release|Any CPU - {01D2CC15-F1FD-4E22-845A-2D2473662860}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {01D2CC15-F1FD-4E22-845A-2D2473662860}.Debug|Any CPU.Build.0 = Debug|Any CPU - {01D2CC15-F1FD-4E22-845A-2D2473662860}.Release|Any CPU.ActiveCfg = Release|Any CPU - {01D2CC15-F1FD-4E22-845A-2D2473662860}.Release|Any CPU.Build.0 = Release|Any CPU - {A6C2AA7F-B2A2-4AE0-AE84-49BE36B990EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A6C2AA7F-B2A2-4AE0-AE84-49BE36B990EC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A6C2AA7F-B2A2-4AE0-AE84-49BE36B990EC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A6C2AA7F-B2A2-4AE0-AE84-49BE36B990EC}.Release|Any CPU.Build.0 = Release|Any CPU - {A6757DAD-EF5A-41FD-9323-F3FCF05ED777}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A6757DAD-EF5A-41FD-9323-F3FCF05ED777}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A6757DAD-EF5A-41FD-9323-F3FCF05ED777}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A6757DAD-EF5A-41FD-9323-F3FCF05ED777}.Release|Any CPU.Build.0 = Release|Any CPU - {C2380814-15D4-491D-ADF2-ADC68617C3FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C2380814-15D4-491D-ADF2-ADC68617C3FA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C2380814-15D4-491D-ADF2-ADC68617C3FA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C2380814-15D4-491D-ADF2-ADC68617C3FA}.Release|Any CPU.Build.0 = Release|Any CPU - {8EAFC092-1C8A-4CF7-B283-FFCB02D58ED8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8EAFC092-1C8A-4CF7-B283-FFCB02D58ED8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8EAFC092-1C8A-4CF7-B283-FFCB02D58ED8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8EAFC092-1C8A-4CF7-B283-FFCB02D58ED8}.Release|Any CPU.Build.0 = Release|Any CPU - {17044C11-3794-4938-BA80-C061BD871AE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {17044C11-3794-4938-BA80-C061BD871AE0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {17044C11-3794-4938-BA80-C061BD871AE0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {17044C11-3794-4938-BA80-C061BD871AE0}.Release|Any CPU.Build.0 = Release|Any CPU - {053079C7-C9EE-49F4-B9CB-F06D14AEB027}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {053079C7-C9EE-49F4-B9CB-F06D14AEB027}.Debug|Any CPU.Build.0 = Debug|Any CPU - {053079C7-C9EE-49F4-B9CB-F06D14AEB027}.Release|Any CPU.ActiveCfg = Release|Any CPU - {053079C7-C9EE-49F4-B9CB-F06D14AEB027}.Release|Any CPU.Build.0 = Release|Any CPU - {3CD91BB6-C472-45D1-B0EC-6C96DF603CC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3CD91BB6-C472-45D1-B0EC-6C96DF603CC0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3CD91BB6-C472-45D1-B0EC-6C96DF603CC0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3CD91BB6-C472-45D1-B0EC-6C96DF603CC0}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {8EAFC092-1C8A-4CF7-B283-FFCB02D58ED8} = {E0B949DC-17FE-414D-8898-937A317BB853} - {17044C11-3794-4938-BA80-C061BD871AE0} = {E0B949DC-17FE-414D-8898-937A317BB853} - {61B1609B-97EE-48E4-ADA6-4F1A832B8D33} = {E0B949DC-17FE-414D-8898-937A317BB853} - {A6757DAD-EF5A-41FD-9323-F3FCF05ED777} = {E0B949DC-17FE-414D-8898-937A317BB853} - {C2380814-15D4-491D-ADF2-ADC68617C3FA} = {C9515084-B676-4C33-9FE7-E0B860493A4F} - {01D2CC15-F1FD-4E22-845A-2D2473662860} = {C9515084-B676-4C33-9FE7-E0B860493A4F} - {A6C2AA7F-B2A2-4AE0-AE84-49BE36B990EC} = {C9515084-B676-4C33-9FE7-E0B860493A4F} - {053079C7-C9EE-49F4-B9CB-F06D14AEB027} = {E0B949DC-17FE-414D-8898-937A317BB853} - {3CD91BB6-C472-45D1-B0EC-6C96DF603CC0} = {C9515084-B676-4C33-9FE7-E0B860493A4F} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {3E10BF3D-9914-44B1-A6AA-FCF013C3F155} - EndGlobalSection -EndGlobal