From 75c1e0d9f4e00edc2c1b915237b8bcee944b1652 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期四, 04 六月 2020 15:17:28 +0800
Subject: [PATCH] 2020-06-04 1.更新
---
Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideSettingGateway.cs | 140 ++++++++++++++++++++++++++--------------------
1 files changed, 79 insertions(+), 61 deletions(-)
diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideSettingGateway.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideSettingGateway.cs
index ed675ad..b95835f 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideSettingGateway.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideSettingGateway.cs
@@ -6,6 +6,7 @@
{
public class GuideSettingGateway : FrameLayout
{
+
static byte TYPEStandardMQTT = 5;
static byte TYPEHdlMQTT = 4;
static GuideSettingGateway curView;
@@ -145,11 +146,11 @@
{
if (gatewayDeicve.Type == DeviceType.OnePortMqttFR) {
- Console.WriteLine ("Assign OnePortMqttFR锛孒DL MQTT");
+ Utlis.WriteLine ("Assign OnePortMqttFR锛孒DL MQTT");
//RemoteSetting ();
RemoteSettingWithHDLMQTT ();
} else {
- Console.WriteLine ("Assign OnePortWirelessFR");
+ Utlis.WriteLine ("Assign OnePortWirelessFR");
RemoteSettingWithOldDevice ();
//RemoteSettingWithMQTT ();
}
@@ -194,7 +195,7 @@
if (common.Type == DeviceType.MusicModel)
continue;
if (common.isMixBox) {
- Console.WriteLine ("IsMixBox");
+ Utlis.WriteLine ("IsMixBox");
continue;
}
countDevcie++;
@@ -247,6 +248,8 @@
this.AddChidren (myLoading);
//myLoading.Start ("鐐瑰嚮灞忓箷鍏抽棴閰嶉妯″紡");
myLoading.Start ("Searching, Please touch the here to exit the searching mode.");
+ //myLoading.Start ("Waiting for new device, Please touch the here to exit the waiting mode.");
+
this.AddChidren (btnCloseLoading);
}
});
@@ -460,7 +463,7 @@
btnDelDevice.Parent.RemoveFromParent ();
});
} catch (Exception ex) {
- Console.WriteLine (ex.Message);
+ Utlis.WriteLine (ex.Message);
} finally {
Application.RunOnMainThread (() => {
MainPage.Loading.Hide ();
@@ -498,7 +501,7 @@
// }
// }
// } catch (Exception ex) {
- // Console.WriteLine ("Cinfig Read Device Loop Info " + ex.Message);
+ // Utlis.WriteLine ("Cinfig Read Device Loop Info " + ex.Message);
// }
//});
}
@@ -520,12 +523,17 @@
//杩欓噷鎼滅储璁惧锛岀洿鍒板畬鎴愬氨閫�鍑�
readDevice ();
} catch (Exception ex) {
- Console.WriteLine (ex.Message);
+ Utlis.WriteLine (ex.Message);
}
Application.RunOnMainThread (action);
}) { IsBackground = true }.Start ();
}
+ ///// <summary>
+ ///// 2020-02-11
+ ///// 鎼滅储閲嶅娆℃暟 鐢�4娆″鍔犱负6娆�
+ ///// </summary>
+ //static readonly int READ_COUNT = 6;
/// <summary>
/// 璇诲彇璁惧
/// </summary>
@@ -539,7 +547,8 @@
CommonPage.DeviceList.Clear ();
CommonPage.searchTotal = 0;
//濡傛灉涓ゆ閮芥病鏈夋暟鎹弽棣堬紝灏变笉璇诲彇
- int readCount = 4;
+ //2020 - 02 - 11鎼滅储閲嶅娆℃暟 鐢�4娆″鍔犱负6娆�
+ int readCount = 6;
while (0 < readCount) {
readCount--;
var ms = new System.IO.MemoryStream ();
@@ -559,7 +568,7 @@
ms.WriteByte (common.SubnetID);
ms.WriteByte (common.DeviceID);
}
- Console.WriteLine ("鎼滅储闈炵綉鍏宠澶囷紝缃戠粶鍦板潃鏄�:" + CommonPage.EndPoint.ToString ());
+ Utlis.WriteLine ("鎼滅储闈炵綉鍏宠澶囷紝缃戠粶鍦板潃鏄�:" + CommonPage.EndPoint.ToString ());
var control = new Control ();
control.Send (new Target () {
IPEndPoint = CommonPage.EndPoint,
@@ -574,7 +583,7 @@
System.Threading.Thread.Sleep (1000);
//濡傛灉鏁伴噺涓嶇浉绛夛紝灏遍噸缃鏁�
if (tempCount != CommonPage.DeviceList.Count) {
- readCount = 4;
+ readCount = 6;
}
}
CommonPage.DeviceList = CommonPage.DeviceList.FindAll ((obj) => { return obj != null && obj.SubnetID == gatewayDeicve.SubnetID; });
@@ -671,7 +680,7 @@
var mobytes = Control.ControlBytesSendHasReturn (Command.SetGateWayModelInternetInfo, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, serverIPBytes);
if (mobytes == null) {
Application.RunOnMainThread (() => {
- new Alert ("", Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline),
+ new Alert ("", ErrorCode.GatewayNoResponse,
Language.StringByID (R.MyInternationalizationString.Close)).Show ();
});
} else if (mobytes [0] == 0xF5) {
@@ -684,7 +693,7 @@
var bindReginIdStatus = Control.ControlBytesSendHasReturn (Command.Write_APP_Data_STORE_1D5E_CMD, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, currentRegionIdBytes);
if (bindReginIdStatus == null) {
Application.RunOnMainThread (() => {
- new Alert ("", Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+ new Alert ("", ErrorCode.GatewayNoResponse, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
});
return;
} else if (bindReginIdStatus [0] != 0xF8) {
@@ -698,7 +707,7 @@
BindGatewaysNew ();
}
} catch (Exception ex) {
- Console.WriteLine (ex.Message);
+ Utlis.WriteLine (ex.Message);
Application.RunOnMainThread (() => {
new Alert ("", Language.StringByID (R.MyInternationalizationString.OperationFailed), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
});
@@ -723,59 +732,29 @@
byte [] gatewayBytes = null;
string [] strServerIP = (MainPage.SeviceIP).Split ('.');
string [] strServerIP1 = (MainPage.SeviceIP).Split ('.');
- MainPage.Loading.Start ("Configuring device...");
+ MainPage.Loading.Start ("Configuring gateway...");
System.Threading.Tasks.Task.Run (() => {
try {
- //璇诲彇涓�绔彛浜ゆ崲鏈恒�佹棤绾跨綉鍏崇殑閰嶇疆淇℃伅
- gatewayBytes = Control.ControlBytesSendHasReturn (Command.ReadGateWayModelInfo, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, new byte [] { });
-
- gatewayDeicve.Remote_GroupName = MainPage.LoginUser.AccountString;//UserConfig.Instance.CurrentRegion.RegionName;
- gatewayDeicve.Remote_ProjectName = gatewayDeicve.MAC.Replace (".", "");//UserConfig.Instance.CurrentRegion.RegionName;
- gatewayDeicve.Remote_UserName = "Admin";
- gatewayDeicve.Remote_Password = "c" + MainPage.LoginUser.ID;
- //gatewayDeicve.Remote_Password = "85521566";
- byte [] ggn = new byte [20];
- byte [] b1 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_GroupName);
- gatewayDeicve.Remote_GroupName = CommonPage.MyEncodingGB2312.GetString (b1);
- Array.Copy (b1, 0, ggn, 0, 20 < b1.Length ? 20 : b1.Length);
-
- byte [] gpn = new byte [20];
- byte [] b2 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_ProjectName);
- Array.Copy (b2, 0, gpn, 0, 20 < b2.Length ? 20 : b2.Length);
-
- byte [] gun = new byte [8];
- byte [] b3 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_UserName);
- Array.Copy (b3, 0, gun, 0, 8 < b3.Length ? 8 : b3.Length);
-
- byte [] gpw = new byte [8];
- byte [] b4 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_Password);
- Array.Copy (b4, 0, gpw, 0, 8 < b4.Length ? 8 : b4.Length);
-
-
- gatewayBytes [0] = TYPEHdlMQTT;//HDL MQTT
- Array.Copy (ggn, 0, gatewayBytes, 1, 20);
- Array.Copy (gpn, 0, gatewayBytes, 21, 20);
- Array.Copy (gun, 0, gatewayBytes, 41, 8);
- Array.Copy (gpw, 0, gatewayBytes, 49, 8);
- //1.淇敼鐢ㄦ埛鍚嶄俊鎭�
- Control.ControlBytesSend (Command.SetGateWayModelInfo, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, gatewayBytes);
- ////2.璇诲彇涓�娆$鐞嗕俊鎭�
- //byte [] adminBytes = Control.ControlBytesSendHasReturn (Command.ReadGateWayAdminInfo, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, new byte [] { });
- ////3.淇敼绠$悊淇℃伅
- //if (SetGateWayAdminInfo (adminBytes)) {
- // //4.鍐欓厤缃垚鍔熷悗涓嬩竴姝ユ搷浣�
- // GatewaySettingSucceeded ();
+ ////璇诲彇涓�绔彛浜ゆ崲鏈恒�佹棤绾跨綉鍏崇殑閰嶇疆淇℃伅
+ //gatewayBytes = Control.ControlBytesSendHasReturn (Command.ReadGateWayModelInfo, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, new byte [] { });
+ //if (gatewayBytes == null) {
+ // //璇诲彇涓�绔彛浜ゆ崲鏈恒�佹棤绾跨綉鍏崇殑閰嶇疆淇℃伅澶辫触
+ // new Alert ("", "Read gateway configuration failed!", "Close").Show ();
+ // return;
//}
-
- //2.淇敼绠$悊淇℃伅
- if (SetGateWayAdminInfo ()) {
- //3.鍐欓厤缃垚鍔熷悗涓嬩竴姝ユ搷浣�
- GatewaySettingSucceeded ();
+
+ //1.淇敼鐢ㄦ埛鍚嶄俊鎭� 鍜屼慨鏀硅繛鎺ユā寮�
+ if (SetGateWayModelInfo()) {
+ //2.淇敼绠$悊淇℃伅
+ if (SetGateWayAdminInfo ()) {
+ //3.鍐欓厤缃垚鍔熷悗涓嬩竴姝ユ搷浣�
+ GatewaySettingSucceeded ();
+ }
}
} catch (Exception ex) {
- Console.WriteLine (ex.Message);
+ Utlis.WriteLine (ex.Message);
Application.RunOnMainThread (() => {
//淇敼缃戝叧杩炴帴妯″紡澶辫触
new Alert ("", "Failed to modify gateway connection mode!", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
@@ -789,6 +768,40 @@
}
});
//Room.InitAllRoom ();
+ }
+
+ bool SetGateWayModelInfo () {
+ byte [] gatewayBytes = new byte [60];
+ gatewayDeicve.Remote_GroupName = MainPage.LoginUser.AccountString;//UserConfig.Instance.CurrentRegion.RegionName;
+ gatewayDeicve.Remote_ProjectName = gatewayDeicve.MAC.Replace (".", "");//UserConfig.Instance.CurrentRegion.RegionName;
+ gatewayDeicve.Remote_UserName = "Admin";
+ gatewayDeicve.Remote_Password = "c" + MainPage.LoginUser.ID;
+ //gatewayDeicve.Remote_Password = "85521566";
+ byte [] ggn = new byte [20];
+ byte [] b1 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_GroupName);
+ gatewayDeicve.Remote_GroupName = CommonPage.MyEncodingGB2312.GetString (b1);
+ Array.Copy (b1, 0, ggn, 0, 20 < b1.Length ? 20 : b1.Length);
+
+ byte [] gpn = new byte [20];
+ byte [] b2 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_ProjectName);
+ Array.Copy (b2, 0, gpn, 0, 20 < b2.Length ? 20 : b2.Length);
+
+ byte [] gun = new byte [8];
+ byte [] b3 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_UserName);
+ Array.Copy (b3, 0, gun, 0, 8 < b3.Length ? 8 : b3.Length);
+
+ byte [] gpw = new byte [8];
+ byte [] b4 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_Password);
+ Array.Copy (b4, 0, gpw, 0, 8 < b4.Length ? 8 : b4.Length);
+
+
+ gatewayBytes [0] = TYPEHdlMQTT;//HDL MQTT
+ Array.Copy (ggn, 0, gatewayBytes, 1, 20);
+ Array.Copy (gpn, 0, gatewayBytes, 21, 20);
+ Array.Copy (gun, 0, gatewayBytes, 41, 8);
+ Array.Copy (gpw, 0, gatewayBytes, 49, 8);
+ byte [] backBytes = Control.ControlBytesSendHasReturn (Command.SetGateWayModelInfo, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, gatewayBytes);
+ return CheckIsSuccessfulWithBytes (backBytes, "Failed to modify gateway connection mode.");
}
/// <summary>
@@ -847,7 +860,7 @@
{
if (backBytes == null) {
Application.RunOnMainThread (() => {
- new Alert ("", Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline),
+ new Alert ("", ErrorCode.GatewayNoResponse,
Language.StringByID (R.MyInternationalizationString.Close)).Show ();
});
return false;
@@ -880,7 +893,7 @@
var bindReginIdStatus = Control.ControlBytesSendHasReturn (Command.Write_APP_Data_STORE_1D5E_CMD, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, sendBytes);
if (bindReginIdStatus == null) {
Application.RunOnMainThread (() => {
- new Alert ("", Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+ new Alert ("", ErrorCode.GatewayNoResponse, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
});
return;
} else if (bindReginIdStatus [0] != 0xF8) {
@@ -955,8 +968,13 @@
MainPage.LoginUser.LastTime = DateTime.Now;
Application.RunOnMainThread (() => {
bodyView.RemoveAll ();
+ //MainPage.WiFiStatus = "CrabtreeAdd/WiFi.png";
UserMiddle.Init (true);
+ MainPage.WiFiStatus = "CrabtreeAdd/WiFi.png";
+ UserMiddle.btnLinkStatus.UnSelectedImagePath = MainPage.WiFiStatus;
});
+
+ //Utlis.ShowAppLinkStatus (AppLinkStatus.WiFi);
}
@@ -1202,7 +1220,7 @@
// }
// } catch (Exception ex) {
- // Console.WriteLine (ex.Message);
+ // Utlis.WriteLine (ex.Message);
// Application.RunOnMainThread (() => {
// new Alert ("", Language.StringByID (R.MyInternationalizationString.OperationFailed), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
// });
--
Gitblit v1.8.0