添加继电器类型,开关事件
This commit is contained in:
parent
95a4d57d05
commit
ddd0b42ebd
|
@ -52,6 +52,14 @@
|
|||
}
|
||||
],
|
||||
"lora_nodes":[
|
||||
{
|
||||
"adr":"dc390000",
|
||||
"location_type":"changing_desk",
|
||||
"location_code":"spao",
|
||||
"location_data":"data13",
|
||||
"current_data":0,
|
||||
"device":"yunhorn_kq_d_v1_1"
|
||||
},
|
||||
{
|
||||
"adr":"0c521618",
|
||||
"location_type":"changing_desk",
|
||||
|
|
95
router.go
95
router.go
|
@ -311,7 +311,8 @@ func dealDatav3(data []byte) string{
|
|||
var duration = nowtime.Sub(loraNode.(LoraNode).TIME).Seconds()
|
||||
var durationAsInt64 = int(duration)
|
||||
|
||||
log.Println("yunhorndeug.push.data.durationAsInt64:",durationAsInt64)
|
||||
// log.Println("yunhorndeug.push.data.durationAsInt64:",durationAsInt64)
|
||||
|
||||
if current == 0 {
|
||||
//类型2 吸顶
|
||||
if datatype==2{
|
||||
|
@ -378,15 +379,89 @@ func dealDatav3(data []byte) string{
|
|||
}
|
||||
|
||||
}else if datatype==3{
|
||||
//空气质量
|
||||
for _, b := range data[5:] {
|
||||
s := strconv.FormatInt(int64(b&0xff), 16)
|
||||
if len(s) == 1 {
|
||||
buffer.WriteString("0")
|
||||
}
|
||||
buffer.WriteString(s)
|
||||
|
||||
}else if datatype==4{
|
||||
buffer := new(bytes.Buffer)
|
||||
|
||||
// log.Println("data[9]",int64(data[9]))
|
||||
// log.Println("data[10]",int64(data[10]))
|
||||
|
||||
if data[6] == 0{
|
||||
buffer.WriteString("-")
|
||||
}
|
||||
log.Println("aq.data:",buffer.String())
|
||||
|
||||
wdint1 := strconv.FormatInt(int64(data[7]&0xff), 10)
|
||||
buffer.WriteString(wdint1)
|
||||
buffer.WriteString(".")
|
||||
wdfh := int(data[10])
|
||||
wdint2 := strconv.FormatInt(int64(data[8]&0xff), 10)
|
||||
if wdfh<10{
|
||||
buffer.WriteString("0")
|
||||
}
|
||||
buffer.WriteString(wdint2)
|
||||
|
||||
log.Println("wdfh",data[6])
|
||||
|
||||
wddata := buffer.String()
|
||||
log.Println("wddata",wddata)
|
||||
|
||||
buffer = new(bytes.Buffer)
|
||||
|
||||
sdint1 := strconv.FormatInt(int64(data[9]&0xff), 10)
|
||||
buffer.WriteString(sdint1)
|
||||
buffer.WriteString(".")
|
||||
sdint2 := strconv.FormatInt(int64(data[10]&0xff), 10)
|
||||
if wdfh<10{
|
||||
buffer.WriteString("0")
|
||||
}
|
||||
buffer.WriteString(sdint2)
|
||||
|
||||
sddata := buffer.String()
|
||||
log.Println("sddata",sddata)
|
||||
|
||||
nh3 := uint32(data[11])*256+uint32(data[12])
|
||||
log.Println("nh3",nh3)
|
||||
log.Println("h2s",data[13])
|
||||
ch2o := uint32(data[14])*256+uint32(data[15])
|
||||
log.Println("ch2o",ch2o)
|
||||
co2data := uint32(data[16])*256+uint32(data[17])
|
||||
log.Println("co2data",co2data)
|
||||
|
||||
tvocdata := data[18]
|
||||
log.Println("tvocdata",tvocdata)
|
||||
|
||||
// log.Println("pm25data1",data[19])
|
||||
// log.Println("pm25data2",data[20])
|
||||
pm25data := uint32(data[19])*256+uint32(data[20])
|
||||
log.Println("pm25data",pm25data)
|
||||
|
||||
// log.Println("pm10data1",data[21])
|
||||
// log.Println("pm10data2",data[22])
|
||||
pm10data := uint32(data[21])*256+uint32(data[22])
|
||||
log.Println("pm10data",pm10data)
|
||||
|
||||
var R_data P1004_6
|
||||
R_data.CODE = 1005
|
||||
R_data.ID = "dc390000"
|
||||
//尿布台
|
||||
R_data.VERSION = "yunhorn_kq_c_v1"
|
||||
R_data.ONLINE = true
|
||||
R_data.DATA = make(map[string]interface{})
|
||||
R_data.DATA["temperature"]=wddata
|
||||
R_data.DATA["humidity"]=sddata
|
||||
|
||||
R_data.DATA["nh3"]=sddata
|
||||
R_data.DATA["h2s"]=sddata
|
||||
R_data.DATA["ch2o"]=ch2o
|
||||
R_data.DATA["co2"]=co2data
|
||||
R_data.DATA["tvoc"]=tvocdata
|
||||
R_data.DATA["pm25"]=pm25data
|
||||
R_data.DATA["pm10"]=pm10data
|
||||
|
||||
data_bufTmp, _ := json.Marshal(R_data)
|
||||
data_buf := string(data_bufTmp)
|
||||
go post_to_server(data_buf)
|
||||
|
||||
}
|
||||
|
||||
// log.Println("current:",current)
|
||||
|
@ -424,7 +499,7 @@ func changeDataV2(loraNode LoraNode){
|
|||
DEVICEDATAS.RLock()
|
||||
DEVICEDATAS.DATA[loraNode.DEVICE].DATA[loraNode.LOCATION_DATA] = loraNode.CURRENT_DATA
|
||||
DEVICEDATAS.RUnlock()
|
||||
log.Println("yunhorndeug.push.data.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@22222:",DEVICEDATAS.DATA[loraNode.DEVICE])
|
||||
log.Println("yunhorndeug.push.data.change:",DEVICEDATAS.DATA[loraNode.DEVICE])
|
||||
// log.Println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@")
|
||||
}
|
||||
|
||||
|
|
22
tcpserver.go
22
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|data",reqLen,data)
|
||||
// log.Println("yunhorndeug.push.data.tcp.reqLen|data",reqLen,data)
|
||||
// log.Println("$$$$$$$$$$$$$$$$$$$$$$$$$",data[:reqLen])
|
||||
for i, b := range data[:reqLen] {
|
||||
|
||||
|
@ -157,13 +157,13 @@ func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) {
|
|||
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 close []byte = []byte{0x8E,0x3C,0x00,0x00,0x43,0x46}
|
||||
var open []byte = []byte{0x8E,0x3C,0x00,0x00,0x4F,0x46}
|
||||
var writedata []byte =[]byte{}
|
||||
if pm25data>200{
|
||||
writedata = red
|
||||
if pm25data>100{
|
||||
writedata = open
|
||||
}else{
|
||||
writedata = green
|
||||
writedata = close
|
||||
}
|
||||
v, err := connTest.Write(writedata)
|
||||
log.Println("send.msg.conn.RemoteAddr",connTest.RemoteAddr())
|
||||
|
@ -183,11 +183,11 @@ func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) {
|
|||
// values = data[i+2:i+3]
|
||||
values := data[i+2]
|
||||
|
||||
//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}
|
||||
//28 3C 00 00 47 46
|
||||
var green []byte = []byte{0x28,0x3C,0x00,0x00,0x47,0x46}
|
||||
var red []byte = []byte{0x28,0x3C,0x00,0x00,0x52,0x46}
|
||||
|
||||
var yellow []byte = []byte{0x8E,0x3C,0x00,0x00,0x59,0x46}
|
||||
var yellow []byte = []byte{0x28,0x3C,0x00,0x00,0x59,0x46}
|
||||
var writedata []byte =[]byte{}
|
||||
writedata = green
|
||||
if values == 2{
|
||||
|
@ -222,7 +222,7 @@ func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) {
|
|||
buffer = new(bytes.Buffer)
|
||||
|
||||
|
||||
if(dataType ==1 || dataType ==2 ){
|
||||
if(dataType ==1 || dataType ==2 || dataType == 4 ){
|
||||
go dealDatav3(data[i-4:i+end])
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue