diff --git a/tcpserver.go b/tcpserver.go index cc4f9a6..bdeeca2 100644 --- a/tcpserver.go +++ b/tcpserver.go @@ -83,7 +83,7 @@ func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) { buffer := new(bytes.Buffer) continueCount := 0 - // log.Println("yunhorndeug.push.data.tcp.reqLen",reqLen) + log.Println("yunhorndeug.push.data.tcp.reqLen|data",reqLen,data) // log.Println("$$$$$$$$$$$$$$$$$$$$$$$$$",data[:reqLen]) for i, b := range data[:reqLen] { @@ -102,6 +102,8 @@ func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) { } buffer.WriteString(s) + // log.Println("========================",data[reqLen-2:reqLen]) + // log.Println(b) // log.Println("$$$$$$$$$$$$$$$$$$$$$$$$$",i,reqLen) // log.Println("$$$$$$$$$$$$$$$$$$$$$$$$$",data[reqLen]) @@ -136,7 +138,7 @@ func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) { continue } values = data[i+2:i+3] - }else if dataType ==3 { + }else if dataType ==4 { //空气质量 continueCount = 18 end = 19 @@ -145,6 +147,28 @@ func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) { continue } values = data[i+2:i+end] + + log.Println("pm25data1",data[i+15]) + log.Println("pm25data2",data[i+16]) + pm25data := uint32(data[i+15])*256+uint32(data[i+16]) + log.Println("pm25data",pm25data) + + //8E 3C 00 00 47 46 + var green []byte = []byte{0x8E,0x3C,0x00,0x00,0x47,0x46} + var red []byte = []byte{0x8E,0x3C,0x00,0x00,0x52,0x46} + var writedata []byte =[]byte{} + if pm25data>200{ + writedata = red + }else{ + writedata = green + } + v, err := connTest.Write(writedata) + log.Println("send.msg.conn.RemoteAddr",connTest.RemoteAddr()) + log.Println("send.msg.conn.v",v) + if err != nil { + log.Println("write msg error!", err) + } + } log.Println("yunhorndeug.push.data.tcp:",buffer.String(),addrs,dataType,values) @@ -153,8 +177,9 @@ func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) { // log.Println("yunhorndeug.push.data.tcp.values",values) buffer = new(bytes.Buffer) - - go dealDatav3(data[i-4:i+end]) + if(dataType ==1 || dataType ==2 ){ + go dealDatav3(data[i-4:i+end]) + } } }