From 6d3ba9484472d090532434e53667c096652149ce Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期五, 25 九月 2020 09:56:14 +0800
Subject: [PATCH] 202009251
---
HDL_ON/DriverLayer/Control_Bus.cs | 61 ++++++++++++++++++++++++------
1 files changed, 49 insertions(+), 12 deletions(-)
diff --git a/HDL_ON/DriverLayer/Control_Bus.cs b/HDL_ON/DriverLayer/Control_Bus.cs
index 5d5dc30..1705908 100644
--- a/HDL_ON/DriverLayer/Control_Bus.cs
+++ b/HDL_ON/DriverLayer/Control_Bus.cs
@@ -1,14 +1,11 @@
锘縰sing System;
using System.Collections.Generic;
-using System.Net.Sockets;
using System.Text;
using HDL_ON.DAL;
using HDL_ON.DAL.Net;
using HDL_ON.Entity;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
-using Shared;
-using Shared.Net;
namespace HDL_ON
{
@@ -48,7 +45,47 @@
return control.UsefulBytes;
}
- static DAL.Net.TcpListener tcpListener;
+ static bool searchLocalGateway = false;
+ /// <summary>
+ /// 璇诲彇灞�鍩熺綉缃戝叧鍒楄〃
+ /// </summary>
+ public static void SearchLocalGateway()
+ {
+ searchLocalGateway = true;
+ var control = new Control();
+ control.Send(new Target()
+ {
+ IPEndPoint = new System.Net.IPEndPoint(System.Net.IPAddress.Parse(new Shared.Net.NetWiFi().BroadcastIpAddress.ToString()), 6000),
+ Command = Command.ReadGateway,
+ SubnetID = 255,
+ DeviceID = 255,
+ AddData = new byte[] { (byte)new Random().Next(255), (byte)new Random().Next(255) },
+ }, 3, true);
+ }
+ /// <summary>
+ /// 楠岃瘉缃戝叧鍥炲淇℃伅
+ /// </summary>
+ public static void VerGateway(byte[] result)
+ {
+ if(searchLocalGateway)
+ {
+ if (result != null)
+ {
+ var mac0 = CommonPage.byteToHex16(result[5]) + "." + CommonPage.byteToHex16(result[6]) + "." + CommonPage.byteToHex16(result[7]) + "." + CommonPage.byteToHex16(result[8]) + "." + CommonPage.byteToHex16(result[9]) + "." + CommonPage.byteToHex16(result[10]) + "." + CommonPage.byteToHex16(result[11]) + "." + CommonPage.byteToHex16(result[12]);
+ //
+ if (DB_ResidenceData.residenceData.residenceGatewayMAC.Replace(".", "").Replace(":", "").ToUpper() == mac0.Replace(".", "").Replace(":", "").ToUpper())
+ {
+ searchLocalGateway = false;
+ }
+ else
+ {
+ Mqtt_Cloud.StartCloudMqtt();
+ }
+ }
+ }
+ }
+
+ static TcpListener tcpListener;
/// <summary>
/// 000E 鎼滅储鍥炲
@@ -66,7 +103,7 @@
if (tcpListener == null)
{
- tcpListener = new DAL.Net.TcpListener();
+ tcpListener = new TcpListener();
tcpListener.OpenServer(8586);
}
@@ -252,10 +289,10 @@
// receiveFlag += string.Format("{0}", usefulBytes[0]);
// break;
//case Command.ReadDeviceModulACK:
- //case Command.ReadGatewayACK:
//case Command.ReadSecurityStatusACK:
- // receiveFlag = string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
- // break;
+ case Command.ReadGatewayACK:
+ receiveFlag = string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
+ break;
//case Command.UpdataLightDimmingTheLargestLevelACK:
//case Command.UpdataLightDimmingMaximumOrMinimumACK:
//case Command.WriteManageWirelessNetACK:
@@ -635,11 +672,11 @@
// this.SendFlag += string.Format("{0}", target.AddData[0]);
// break;
//case Command.ReadDeviceModul:
- //case Command.ReadGateway:
//case Command.ReadSecurityStatus:
//case Command.ReadHornTargetState:
- // this.SendFlag = string.Format("{0},{1}", target.AddData[0], target.AddData[1]);
- // break;
+ 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:
@@ -816,7 +853,7 @@
var sendJob = new JObject {{ "command", "search" } };
var SearchGateway = JsonConvert.SerializeObject(sendJob);
var SearchGatewayPayload = Encoding.ASCII.GetBytes(SearchGateway);
- Packet = new Packet(SearchGatewayPayload, CommonPage.GetGatewayIP_EndPoint);
+ Packet = new Packet(SearchGatewayPayload, new System.Net.IPEndPoint(System.Net.IPAddress.Parse("224.0.168.188"), 6688));
System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(managerSendCount));
thread.IsBackground = true;
thread.Start(Packet);
--
Gitblit v1.8.0