From e3f3f62315a5789cd812b96954b67bffda4a0f5a Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期四, 01 四月 2021 16:33:55 +0800
Subject: [PATCH] 金辉项目,萤石摄像头更新
---
HDL_ON/DAL/DriverLayer/Control_TcpServer.cs | 138 ++++++++++++++++------------------------------
1 files changed, 48 insertions(+), 90 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Control_TcpServer.cs b/HDL_ON/DAL/DriverLayer/Control_TcpServer.cs
index 2208fde..82a2caa 100644
--- a/HDL_ON/DAL/DriverLayer/Control_TcpServer.cs
+++ b/HDL_ON/DAL/DriverLayer/Control_TcpServer.cs
@@ -171,101 +171,59 @@
Thread.Sleep(100);
}
}
- string tcpFunctionOidJsonString = "";
/// <summary>
/// 鑾峰彇鍒楄〃鏁版嵁鍥炶皟鏂规硶
/// </summary>
public Action<string> GetListResponseAction;
+ string tcpFunctionOidJsonString = "";
/// <summary>
/// 澶勭悊tcp鏁版嵁
/// </summary>
- void AnalysisTcpData(Socket socket, string tcpDataString)
+ void AnalysisTcpData(Socket socket, string tcpBodyDataString)
{
- MainPage.Log($"tcpDataString: {tcpDataString}");
- var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<Newtonsoft.Json.Linq.JObject>(tcpDataString);
- if (obj == null)
+ MainPage.Log($"0001 tcpDataString:\r\n {tcpBodyDataString}");
+ var tcpDataObj = Control.Ins.AnalysisReceiveData(tcpBodyDataString);
+ if (tcpDataObj.BodyDataString == null)
{
return;
}
- var tcpCommand = obj.GetValue("command").ToString();
- var tcpType = obj.GetValue("type").ToString();
-
- switch (tcpCommand)
+ switch (tcpDataObj.Topic)
{
- //鑾峰彇鏁版嵁杩斿洖
- case "get_list_response":
- GetListResponseAction?.Invoke(tcpDataString);
+ case CommunicationTopic.AddDeviceOids:
+ tcpFunctionOidJsonString = tcpDataObj.BodyDataString;
break;
- /*
- case "search":// 閫傜敤浜庢悳绱�
- case "read":// 鐢ㄤ簬渚濇璇诲彇鐩稿叧绫诲瀷淇℃伅鐘舵��
- case "set_list":// 淇敼鍒楄〃
- case "write":// 鐢ㄤ簬渚濇鎺у埗鐩稿叧绫诲瀷淇℃伅
- case "delete":// 鐢ㄤ簬鍒犻櫎鐩稿叧鎿嶄綔
- case "initialize":// 鍒濆鍖�
- case "find":// 璁惧瀹氫綅
- case "get":// 鐢ㄤ簬鑾峰彇sid褰撳墠鐘舵��
- case "set":// 鐢ㄤ簬鎺у埗sid鐩稿叧鍙傛暟
- */
- case "add":// 鐢ㄤ簬澧炲姞鍔熻兘
- switch (tcpType)
+ case CommunicationTopic.AddFunctions:
+ var addSidFunction = Newtonsoft.Json.JsonConvert.DeserializeObject<TcpTransmissionSidsObj>(tcpDataObj.BodyDataString);
+ Application.RunOnMainThread(() =>
{
- case "device_oid":// 鐢ㄤ簬鍘熺敓鎬佽澶囪鍐欑浉鍏虫搷浣�
- tcpFunctionOidJsonString = tcpDataString;
- break;
- case "device_sid":
- var addSidFunction = Newtonsoft.Json.JsonConvert.DeserializeObject<TcpTransmissionObject>(tcpDataString);
- Application.RunOnMainThread(() =>
- {
- var tipDialog = new UI.UpdataTcpResidenceDataDialog();
- var tcpLocalFunction = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Function>>(Newtonsoft.Json.JsonConvert.SerializeObject(addSidFunction.objects));
- tipDialog.ShowDialog(tcpLocalFunction, tcpFunctionOidJsonString);
- });
- break;
- }
+ var tipDialog = new UI.UpdataSidDataDialog();
+ var tcpLocalFunction = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Function>>(Newtonsoft.Json.JsonConvert.SerializeObject(addSidFunction.objects));
+ tipDialog.ShowDialog(tcpLocalFunction, tcpFunctionOidJsonString);
+ });
break;
- case "get_list"://鑾峰彇鍒楄〃
- switch (tcpType)
- {
- /*
- case "space":// 閫傜敤浜庡叏閮ㄨ澶�, 鑾峰彇绌洪棿淇℃伅
- case "device":// 缃戝叧鎴栬�呭叾浠朅璁惧
- case "device_mac":// 鐢ㄤ簬璁惧鏈鸿韩鍙风爜鐩稿叧鎿嶄綔
- case "scene":// 鐢ㄤ簬鍦烘櫙鍔熻兘璇诲啓
- case "security":// 鐢ㄤ簬瀹夐槻鍔熻兘璇诲啓
- case "remote":// 鐢ㄤ簬杩滅▼淇℃伅璇诲啓鎿嶄綔
- case "logic":// 鐢ㄤ簬閫昏緫鑷姩鍖栬鍐欐搷浣�
- case "global":// 鐢ㄤ簬缁勬挱鎼滅储A璁惧
- */
- case "device_oid":// 鐢ㄤ簬鍘熺敓鎬佽澶囪鍐欑浉鍏虫搷浣�
- var bytes = FileUtils.ReadFile("AProtocolData_FunctionOid");
- //var jsonString = System.Text.Encoding.UTF8.GetString(bytes);
- //if (!string.IsNullOrEmpty(jsonString))
- if (bytes.Length > 0)
- {
- socket.Send(bytes);
- MainPage.Log($"send oid list to 8586 prot :{ System.Text.Encoding.UTF8.GetString(bytes)}");
- }
- break;
- case "device_sid":// 鐢ㄤ簬鍔熻兘妯″瀷璇诲啓鎿嶄綔
- var sendSidObj = new TcpTransmissionObject();
- sendSidObj.from_oid = "";
- sendSidObj.to_oid = "";
- sendSidObj.time_stamp = "";
- sendSidObj.type = "device_sid";
- sendSidObj.command = "get_list_response";
- //杞崲鎴恇us闇�瑕佺殑鏁版嵁鏍煎紡
- var localFunction = DB_ResidenceData.functionList.GetAllFunction();
- var localFunctionString = Newtonsoft.Json.JsonConvert.SerializeObject(localFunction);
- var tcpFunction = Newtonsoft.Json.JsonConvert.DeserializeObject<List<TcpObject>>(localFunctionString);
+ case CommunicationTopic.BusPcGetAppOids:
- sendSidObj.objects.AddRange(tcpFunction);
- var sendSidJson = Newtonsoft.Json.JsonConvert.SerializeObject(sendSidObj);
- var sendSidBytes = System.Text.Encoding.UTF8.GetBytes(sendSidJson);
- socket.Send(sendSidBytes, sendSidBytes.Length, SocketFlags.OutOfBand);
- MainPage.Log($"send sid list to 8586 prot :{sendSidJson}");
- break;
+ var bytes = Common.FileUtlis.Files.ReadFile(DB_ResidenceData.OidSavePathName);
+ if (bytes.Length > 0)
+ {
+ socket.Send(bytes);
+ MainPage.Log($"send oid list to 8586 prot :{ System.Text.Encoding.UTF8.GetString(bytes)}");
}
+ break;
+ case CommunicationTopic.BusPcGetAppSids:
+ var sendSidObj = new TcpTransmissionSidsObj();
+ sendSidObj.id = Control.Ins.msg_id.ToString();
+ sendSidObj.time_stamp = "";
+ //杞崲鎴恇us闇�瑕佺殑鏁版嵁鏍煎紡
+ var localFunction = FunctionList.List.GetDeviceFunctionList();
+ var localFunctionString = Newtonsoft.Json.JsonConvert.SerializeObject(localFunction);
+ var tcpFunction = Newtonsoft.Json.JsonConvert.DeserializeObject<List<BusSidObj>>(localFunctionString);
+
+ sendSidObj.objects.AddRange(tcpFunction);
+ var sendSidJson = Newtonsoft.Json.JsonConvert.SerializeObject(sendSidObj);
+ var sendSidBytes = System.Text.Encoding.UTF8.GetBytes(sendSidJson);
+ socket.Send(sendSidBytes, sendSidBytes.Length, SocketFlags.OutOfBand);
+ MainPage.Log($"send sid list to 8586 prot :{sendSidJson}");
break;
}
}
@@ -362,17 +320,15 @@
}
/// <summary>
- /// bus杞欢浼犺緭鍔熻兘鐨勫璞�
+ /// bus杞欢浼犺緭鍔熻兘鐨剆id鍒楄〃瀵硅薄
/// </summary>
- public class TcpTransmissionObject
+ public class TcpTransmissionSidsObj
{
- public List<TcpObject> objects = new List<TcpObject>();
+ public List<BusSidObj> objects = new List<BusSidObj>();
- public string from_oid = "";
- public string to_oid = "";
+ public string id = "";
public string time_stamp = "";
- public string type = "";
- public string command = "";
+
}
/// <summary>
@@ -381,21 +337,23 @@
/// Function瀵硅薄鍖呭惈浜嗚瀵硅薄鐨勬墍鏈夊唴瀹癸紝
/// 姝ゅ璞′负浜嗗噺灏戜紶杈撴暟鎹娇鐢�
/// </summary>
- public class TcpObject
+ public class BusSidObj
{
public string sid = "";// "0301011234567801012301230123";
/// <summary>
- /// A鍗忚鍔熻兘鐨勭壒鎬�
- /// 濡傦細鏄疉C鍔熻兘锛氱壒鎬э細on_off,mode,fan,temperature
- /// attri
+ /// A鍗忚鍔熻兘鐨勫睘鎬�
+ /// 濡傦細鏄疉C鍔熻兘锛氬睘鎬э細on_off,mode,fan,temperature
/// </summary>
- public List<Trait> function = new List<Trait>();
+ public List<FunctionAttributes> attributes = new List<FunctionAttributes>();
/// <summary>
/// 澶囨敞
/// </summary>
public string name;
+
+ public string omodel;
+
}
}
\ No newline at end of file
--
Gitblit v1.8.0