public static void ConnectToGateway() { mySensorsNodesEngine = null; if (gatewayConfig.SerialGateway.Enable) { gatewayConnectionPort = new SerialConnectionPort( gatewayConfig.SerialGateway.SerialPortName, gatewayConfig.SerialGateway.Boudrate); } else if (gatewayConfig.EthernetGateway.Enable) { gatewayConnectionPort = new EthernetConnectionPort( gatewayConfig.EthernetGateway.GatewayIP, gatewayConfig.EthernetGateway.GatewayPort); } else { return; } //connecting to gateway logs.AddSystemInfo("Connecting to gateway..."); gateway = new Gateway(gatewayConnectionPort, mySensorsDb, mySensorsMessagesDb); gateway.enableAutoAssignId = gatewayConfig.EnableAutoAssignId; gateway.IsMetricUnit = () => gatewayConfig.IsMetric; gateway.OnLogDecodedMessage += logs.AddGatewayDecodedMessage; gateway.OnLogMessage += logs.AddGatewayMessage; gateway.OnLogInfo += logs.AddGatewayInfo; gateway.OnLogError += logs.AddGatewayError; gateway.endlessConnectionAttempts = true; gateway.OnConnected += GatewayConnected; gateway.OnDisconnected += GatewayDisconnected; gateway.Connect().Wait(); if (gateway != null && nodesEngine != null) { mySensorsNodesEngine = new MySensorsNodesEngine(gateway, nodesEngine); } if (gateway != null && gateway.IsConnected()) { logs.AddSystemInfo("Gateway connected."); } else { logs.AddSystemInfo("Gateway is not connected."); } }
private void btnConnect_Click(object sender, EventArgs e) { if (txtGatewayIP.Text == "" || txtGatewayPort.Text == "") { MessageBox.Show("请填写IP地址和端口号!"); return; } GateWay = new WSN_New_DLL.Gateway(txtGatewayIP.Text, Convert.ToInt32(txtGatewayPort.Text)); GateWay.EventDataArrival += GateWay_EventDataArrival; if (GateWay.Connect()) { lblT2.Visible = true; lblT2.Text = "通道建立成功!"; btnConnect.Enabled = false; } else { lblT2.Visible = true; lblT2.Text = "通道建立失败!"; } }