From 419d1a21a5964b9726ec0ba9775cc54a25367444 Mon Sep 17 00:00:00 2001
From: fish <gcslyp@gmail.com>
Date: Thu, 21 Mar 2019 10:47:00 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B5=8B=E8=AF=95tcp=20clien?=
 =?UTF-8?q?t=E6=96=AD=E5=BC=80=E5=90=8E=EF=BC=8C=E5=85=B3=E9=97=ADchannle?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 conf/gateway.conf |   3 ++-
 db/gateway.db     | Bin 73728 -> 73728 bytes
 do_send_data.go   |   3 +++
 main.go           |   9 +++++++--
 tcpserver.go      |  11 ++++++++++-
 worker.go         |   2 +-
 6 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/conf/gateway.conf b/conf/gateway.conf
index 1517024..9bbbbac 100644
--- a/conf/gateway.conf
+++ b/conf/gateway.conf
@@ -92,7 +92,8 @@
 		]
 	},
 	"devices_list": [
-		["4E5D52DD-EB81-43C0-A2B6-04E432412EBA", "loraport", "yunhorn_kgl_l_v1", "1"]
+		["4E5D52DD-EB81-43C0-A2B6-04E432412EBA", "loraport", "yunhorn_kgl_l_v1", "1"],
+		["EB5B0798-9B7F-474E-AAB8-467FD5FE1293", "loraport", "yunhorn_kgl_l_v1", "2"]
 	],
 	"serialports_list": {
 		"loraport": {
diff --git a/db/gateway.db b/db/gateway.db
index fc64590cdedf6d6262c02df21ef28a65fce3a008..215fc0adb5e3c7805beb240da3dfabafe7b3d686 100644
GIT binary patch
delta 30
mcmZoTz|wGlWr8&0yooZ-jPo`o%(rJW+~n|IpV4qp!3F@Z=?j+t

delta 30
mcmZoTz|wGlWr8&0oQX2djB_?7%(rJW*yQkEpV44Z!3F@ZkqeOk

diff --git a/do_send_data.go b/do_send_data.go
index 7d1e641..044a987 100644
--- a/do_send_data.go
+++ b/do_send_data.go
@@ -41,6 +41,9 @@ func build_data(code int, data []Device) []byte {
 		R_data.GATEWAY_INFO = conf.GATEWAY_INFO
 		DEVICEDATAS.RLock()
 		for _, i := range DEVICEDATAS.DATA {
+			log.Println("=========================================")
+			log.Println(i)
+			log.Println("=========================================")
 			R_data.DEVICES = append(R_data.DEVICES, i)
 		}
 		DEVICEDATAS.RUnlock()
diff --git a/main.go b/main.go
index 1d332f9..c912c26 100644
--- a/main.go
+++ b/main.go
@@ -13,10 +13,15 @@ func main() {
 	go gw_router()
 	go serial_run()
 	c := cron.New()
-	send_data(1001)
+	// send_data(1001)
 	c.AddFunc("0, *, *, *, *, *", func() {
-		send_data(1001)
+		// send_data(1001)
 	})
+	// devices := []Device{}
+	c.AddFunc("*/10, *, *, *, *, *", func(){
+			// log.Println(string(build_data(1001,devices)))
+	})
+
 	c.AddFunc("0, */10, *, *, *, *", savedata_cron)
 	c.AddFunc("0, 0, 0, *, *, *", insertdata)
 	c.AddFunc("0, 0, *, *, *, *", get_weather)
diff --git a/tcpserver.go b/tcpserver.go
index c0f275e..c30284f 100644
--- a/tcpserver.go
+++ b/tcpserver.go
@@ -22,6 +22,8 @@ func handleConn(conn net.Conn) {
 	go readConn(conn, readChan, stopChan)
 	// go writeConn(conn, writeChan, stopChan)
 
+	var heartbeat []byte = []byte{0x01}
+
 	for {
 		select {
 		case readStr := <-readChan:
@@ -33,6 +35,13 @@ func handleConn(conn net.Conn) {
 			if stop {
 				break
 			}
+		case <-time.After(5000 * time.Millisecond):
+			n,err := conn.Write(heartbeat)
+			if err != nil{
+				log.Println("write msg error!",err)
+			}else{
+				log.Println("write msg success!",n)
+			}
 		}
 	}
 }
@@ -56,7 +65,7 @@ func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) {
 				//strData := string(Rdata)
 				//Rdata = make([]byte,0)
 				//log.Println("Received:", strData)
-				
+
 				//readChan <- Rdata
 				//Rdata = make([]byte,0)
 			}
diff --git a/worker.go b/worker.go
index d240d8c..4f96f2f 100644
--- a/worker.go
+++ b/worker.go
@@ -53,7 +53,7 @@ func yunhorn_ys_l_v1(data_buf []byte){
 	if conf.DEBUG {
       log.Println(device)
   }
-   send_data(1005, device)
+   // send_data(1005, device)
 
 }