File was renamed from HDL_ON/DAL/DriverLayer/Control_Udp_Bus.cs |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using HDL_ON.Common; |
| | | using HDL_ON.DAL.Net; |
| | | using HDL_ON.DriverLayer; |
| | | using HDL_ON.Entity; |
| | | using Newtonsoft.Json; |
| | |
| | | { |
| | | public class Control_Udp_Bus |
| | | { |
| | | |
| | | /// <summary> |
| | | /// 通讯ID |
| | | /// </summary> |
| | | public const int msg_id = 1; |
| | | |
| | | /// <summary> |
| | | /// 控制失败次数 |
| | | /// </summary> |
| | |
| | | return; |
| | | } |
| | | |
| | | Control.ins.OpenTcpServer(); |
| | | Control.ins.ChangeCommunicationMode(CommunicationMode.tcp_local_server); |
| | | var sendStr = MainPage.LoginUser.accountString; |
| | | if (usefullBytes.Length == 0) |
| | | { |
| | |
| | | }); |
| | | break; |
| | | case FunctionType.AC: |
| | | var aC = JsonConvert.DeserializeObject<AC>(Newtonsoft.Json.JsonConvert.SerializeObject(function));//as AC; |
| | | var aC = Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(Newtonsoft.Json.JsonConvert.SerializeObject(function));//as AC; |
| | | ControlBytesSend(Command.InstructionPanelKey, aC.bus_Data.SubnetID, aC.bus_Data.DeviceID, new byte[] { 3, aC.trait_on_off.value.ToString() == "on" ? (byte)1 : (byte)0, aC.bus_Data.LoopID }); |
| | | ControlBytesSend(Command.InstructionPanelKey, aC.bus_Data.SubnetID, aC.bus_Data.DeviceID, new byte[] { 6, aC.curModeIndex, aC.bus_Data.LoopID }); |
| | | ControlBytesSend(Command.InstructionPanelKey, aC.bus_Data.SubnetID, aC.bus_Data.DeviceID, new byte[] { 5, aC.curFanIndex, aC.bus_Data.LoopID }); |
| | |
| | | case Command.ReadLightAllLoopBrightness: |
| | | this.SendFlag += ""; |
| | | break; |
| | | //case Command.YIPanelDeviceInof: |
| | | // for (int i = 0; i < 4; i++) |
| | | // { |
| | | // this.sendFlag += string.Format("{0}", target.AddData[i]); |
| | | // } |
| | | // break; |
| | | //case Command.ReadDoorLockSceneObj: |
| | | // this.SendFlag += string.Format("{0},{1},{2},{3},{4}", target.AddData[0], target.AddData[1], target.AddData[2], target.AddData[3], target.AddData[4]); |
| | | // break; |
| | | //case Command.ReadDoorLockClock: |
| | | //case Command.CreatConnection: |
| | | // this.SendFlag += string.Format("{0}", target.AddData[0]); |
| | | // break; |
| | | //case Command.ReadDoorLockUseRemark: |
| | | //case Command.ReadSensorPushMessage: |
| | | //case Command.SetSensorPushMessage: |
| | | //case Command.SetSensorScence: |
| | | //case Command.ReadAnalog: |
| | | // this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); |
| | | // break; |
| | | //case Command.ReadSensorScence: |
| | | // this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); |
| | | // break; |
| | | //case Command.SendRemoteInfoToServer: |
| | | // for (int i = 40; i < 48; i++) |
| | | // { |
| | | // this.sendFlag += string.Format("{0}", target.AddData[i]); |
| | | // } |
| | | // break; |
| | | //case Command.SetCommonSwitch: |
| | | //case Command.InfraredChannelControl: |
| | | //case Command.ReadFoolHeat: |
| | | //case Command.SetFoolHeat: |
| | | //case Command.Serverx_FH_CMD: |
| | | //case Command.SetArm: |
| | | //case Command.ReadArm: |
| | | //case Command.ReadSensorHistory: |
| | | //case Command.SetSensorAutomationTargetLevelEnable: |
| | | //case Command.ReadSensorAutomationLevelTargetEnable: |
| | | // this.SendFlag += string.Format("{0}", target.AddData[0]); |
| | | // break; |
| | | //case Command.ReadDeviceModul: |
| | | //case Command.ReadSecurityStatus: |
| | | //case Command.ReadHornTargetState: |
| | | case Command.ReadGateway: |
| | | this.SendFlag = string.Format("{0},{1}", target.AddData[0], target.AddData[1]); |
| | | break; |
| | | //case Command.SetScene: |
| | | //case Command.SetSeries: |
| | | //case Command.SetHotelCurtain: |
| | | //case Command.ReadAnalogValue: |
| | | //case Command.SetSensorPushValues: |
| | | //case Command.ReadSensorPushValues: |
| | | // this.SendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[1]); |
| | | // break; |
| | | ////case Command.ReadOnePortWirelessFROtherInfo: |
| | | //case Command.UpdataRemake: |
| | | //case Command.WriteManageWirelessNet: |
| | | //case Command.UpdataLightDimmingTheLargestLevel: |
| | | //case Command.UpdataLightDimmingMaximumOrMinimum: |
| | | //case Command.ReadGateWayModelInfo: |
| | | //case Command.ReadGatewayServerIP: |
| | | //case Command.SetGateWayModelInfo: |
| | | //case Command.SetGateWayModelInternetInfo: |
| | | //case Command.ReadDeviceMac: |
| | | //case Command.SetDeviceSubnetID: |
| | | //case Command.PositioningEquipment: |
| | | //case Command.PositioningPanel: |
| | | //case Command.CheckConfigSuccess: |
| | | //case Command.GotoConfigMode: |
| | | //case Command.ReadACPanel: |
| | | //case Command.SetACPanel: |
| | | //case Command.ReadTerrestriaHeatRemark: |
| | | //case Command.UpdateGatewayIp: |
| | | //case Command.ReadWirelessPanelMode: |
| | | //case Command.ReadDrycontactMode: |
| | | //case Command.ReadACFloorHeatingSettingEquipment: |
| | | //case Command.SetACFloorHeatingSettingEquipment: |
| | | //case Command.Read43FloorHeatingSettingEquipment: |
| | | //case Command.Set43FloorHeatingSettingEquipment: |
| | | //case Command.READ_AIR_ALL_Parameter: |
| | | //case Command.Set_AIR_ALL_Parameter: |
| | | //case Command.ReadFloorHeatProbe: |
| | | //case Command.ControlMusicModel: |
| | | //case Command.ReadButtonKeyEnable: |
| | | //case Command.UpdateEquipmentLoopRemake: |
| | | //case Command.SetGateway: |
| | | //case Command.ReadMusicPanelSetting: |
| | | //case Command.ReadMusicPanelEnable: |
| | | //case Command.SetMusicPanelEnable: |
| | | //case Command.SetMusicPanelSetting: |
| | | //case Command.ReadGatewayProgrammingMode: |
| | | //case Command.RED_HSFH_TOTAL: |
| | | //case Command.RED_HSFH_INFORMATION: |
| | | //case Command.RED_HSRM_TOTAL: |
| | | //case Command.RED_HSRM_INFORMATION: |
| | | //case Command.CLEAR_SYSTEM_HISTORY: |
| | | //case Command.SetSensorTargetRemark: |
| | | //case Command.ReadSensorAutomationEnableList: |
| | | //case Command.SetSensorAutomationEnableList: |
| | | //case Command.SetSensorAutomationListID: |
| | | //case Command.ReadSensorAutomationListID: |
| | | //case Command.SetSensorAutomationName: |
| | | //case Command.ReadSensorAutomationName: |
| | | //case Command.Set_Floor_Heat_State: |
| | | //case Command.Read_Floor_Heat_State: |
| | | //case Command.Read_Air_Condition_Set: |
| | | //case Command.UpdateHornLoopRemake: |
| | | //case Command.ReadHornLoopCount: |
| | | //case Command.ReadPanelTempType: |
| | | // this.SendFlag += ""; |
| | | // break; |
| | | //case Command.ControlMusicModel2: |
| | | // for (int i = 1; i < target.AddData.Length; i++) |
| | | // { |
| | | // if (target.AddData[i + 1] == 0x0D) |
| | | // { |
| | | // break; |
| | | // } |
| | | // this.sendFlag += string.Format("{0},", target.AddData[i]); |
| | | // } |
| | | // break; |
| | | //case Command.Remote3th: |
| | | // this.SendFlag = string.Format("{0},", (int)target.Command + 1); |
| | | // break; |
| | | case Command.ReadDeviceLoopInfo: |
| | | if (target.AddData[0] == 1)//特殊处理灯光类,DMX模块每一个回路不固定小类,根据具体设置来回复 |
| | | this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[2]); |
| | | else |
| | | this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); |
| | | break; |
| | | //case Command.SetDeviceLoopInfo: |
| | | //case Command.InfraredControl: |
| | | //case Command.SetSecurityByPass: |
| | | //case Command.SetSensorAutomationDateTimeCycle: |
| | | //case Command.ReadSensorAutomationDateTimeCycle: |
| | | // this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); |
| | | // break; |
| | | //case Command.ReadWirelessPanelButtonKey: |
| | | //case Command.WriteWirelessPanelButtonKey: |
| | | //case Command.ReadDryContactStatus: |
| | | //case Command.SetCurtainModelStutas: |
| | | //case Command.DownloadInfrared: |
| | | //case Command.UpLoadInfrared: |
| | | case Command.InstructionPanelKey: |
| | | case Command.ReadInstructionPanelKey: |
| | | //case Command.ReadSensorTargetRemark: |
| | | //case Command.SetHornTargetState: |
| | | this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[1]); |
| | | break; |
| | | //case Command.AssignedAddress: |
| | | //case Command.UpdataCurtainModelRunTime: |
| | | //case Command.ReadCurtainStatus: |
| | | //case Command.ReadPanleTemp: |
| | | //case Command.FreshAirRead: |
| | | //case Command.FreshAirControl: |
| | | //case Command.Set_Air_State_New: |
| | | //case Command.ReadHornTargetEnable: |
| | | //case Command.SetHornTargetEnable: |
| | | //case Command.ReadHornLoopAlarm: |
| | | //case Command.SetHornPush: |
| | | //case Command.ReadHornPush: |
| | | //case Command.ReadHornHistory: |
| | | //case Command.ReadHornLoopsStatus: |
| | | // this.sendFlag += string.Format("{0}", target.AddData[0]); |
| | | // break; |
| | | //case Command.RemoteFirst: |
| | | // for (int i = 0; i < 28; i++) |
| | | // { |
| | | // this.sendFlag += string.Format("{0}", target.AddData[i]); |
| | | // } |
| | | // break; |
| | | //case Command.RemoteSecoud: |
| | | // for (int i = 0; i < 7; i++) |
| | | // { |
| | | // this.sendFlag += string.Format("{0}", target.AddData[i]); |
| | | // } |
| | | // break; |
| | | default: |
| | | //return; |
| | | break; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 搜索网关 |
| | | /// 读取网关IP |
| | | /// </summary> |
| | | public void SearchLocalGateway() |
| | | public void ReadGatewayIP() |
| | | { |
| | | try |
| | | { |
| | | var sendJob = new JObject { |
| | | {"id",msg_id.ToString() } ,{"time_stamp",(DateTime.Now.Ticks / 10000).ToString()} |
| | | {"type","device" },{"from_oid","020101" },{"to_oid",null },{"time_stamp","46A3B99F" },{"command","search"} |
| | | }; |
| | | var bodyString = JsonConvert.SerializeObject(sendJob); |
| | | var bodyBytes = Encoding.ASCII.GetBytes(bodyString); |
| | | var sendBytes = A_Protocal_Common.apc.ConvertSendBodyData(CommunicationTopic.SearchLoaclGateway, bodyString); |
| | | //组播发送 |
| | | Packet = new Packet(sendBytes, new System.Net.IPEndPoint(System.Net.IPAddress.Parse("239.0.168.188"), 8585)); |
| | | var SearchGateway = JsonConvert.SerializeObject(sendJob); |
| | | var SearchGatewayPayload = Encoding.ASCII.GetBytes(SearchGateway); |
| | | Packet = new Packet(SearchGatewayPayload, new System.Net.IPEndPoint(System.Net.IPAddress.Parse("239.0.168.188"), 8585)); |
| | | Packet.HaveSendCount = 4;//ps:没有重发,后期有时间可以增加重发判断 |
| | | System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(managerSendCount)); |
| | | thread.IsBackground = true; |