添加继电器类型,开关事件
This commit is contained in:
parent
95a4d57d05
commit
ddd0b42ebd
|
@ -52,6 +52,14 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"lora_nodes":[
|
"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",
|
"adr":"0c521618",
|
||||||
"location_type":"changing_desk",
|
"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 duration = nowtime.Sub(loraNode.(LoraNode).TIME).Seconds()
|
||||||
var durationAsInt64 = int(duration)
|
var durationAsInt64 = int(duration)
|
||||||
|
|
||||||
log.Println("yunhorndeug.push.data.durationAsInt64:",durationAsInt64)
|
// log.Println("yunhorndeug.push.data.durationAsInt64:",durationAsInt64)
|
||||||
|
|
||||||
if current == 0 {
|
if current == 0 {
|
||||||
//类型2 吸顶
|
//类型2 吸顶
|
||||||
if datatype==2{
|
if datatype==2{
|
||||||
|
@ -378,15 +379,89 @@ func dealDatav3(data []byte) string{
|
||||||
}
|
}
|
||||||
|
|
||||||
}else if datatype==3{
|
}else if datatype==3{
|
||||||
//空气质量
|
|
||||||
for _, b := range data[5:] {
|
}else if datatype==4{
|
||||||
s := strconv.FormatInt(int64(b&0xff), 16)
|
buffer := new(bytes.Buffer)
|
||||||
if len(s) == 1 {
|
|
||||||
buffer.WriteString("0")
|
// log.Println("data[9]",int64(data[9]))
|
||||||
}
|
// log.Println("data[10]",int64(data[10]))
|
||||||
buffer.WriteString(s)
|
|
||||||
|
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)
|
// log.Println("current:",current)
|
||||||
|
@ -424,7 +499,7 @@ func changeDataV2(loraNode LoraNode){
|
||||||
DEVICEDATAS.RLock()
|
DEVICEDATAS.RLock()
|
||||||
DEVICEDATAS.DATA[loraNode.DEVICE].DATA[loraNode.LOCATION_DATA] = loraNode.CURRENT_DATA
|
DEVICEDATAS.DATA[loraNode.DEVICE].DATA[loraNode.LOCATION_DATA] = loraNode.CURRENT_DATA
|
||||||
DEVICEDATAS.RUnlock()
|
DEVICEDATAS.RUnlock()
|
||||||
log.Println("yunhorndeug.push.data.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@22222:",DEVICEDATAS.DATA[loraNode.DEVICE])
|
log.Println("yunhorndeug.push.data.change:",DEVICEDATAS.DATA[loraNode.DEVICE])
|
||||||
// log.Println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@")
|
// 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)
|
buffer := new(bytes.Buffer)
|
||||||
continueCount := 0
|
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])
|
// log.Println("$$$$$$$$$$$$$$$$$$$$$$$$$",data[:reqLen])
|
||||||
for i, b := range 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)
|
log.Println("pm25data",pm25data)
|
||||||
|
|
||||||
//8E 3C 00 00 47 46
|
//8E 3C 00 00 47 46
|
||||||
var green []byte = []byte{0x8E,0x3C,0x00,0x00,0x47,0x46}
|
var close []byte = []byte{0x8E,0x3C,0x00,0x00,0x43,0x46}
|
||||||
var red []byte = []byte{0x8E,0x3C,0x00,0x00,0x52,0x46}
|
var open []byte = []byte{0x8E,0x3C,0x00,0x00,0x4F,0x46}
|
||||||
var writedata []byte =[]byte{}
|
var writedata []byte =[]byte{}
|
||||||
if pm25data>200{
|
if pm25data>100{
|
||||||
writedata = red
|
writedata = open
|
||||||
}else{
|
}else{
|
||||||
writedata = green
|
writedata = close
|
||||||
}
|
}
|
||||||
v, err := connTest.Write(writedata)
|
v, err := connTest.Write(writedata)
|
||||||
log.Println("send.msg.conn.RemoteAddr",connTest.RemoteAddr())
|
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:i+3]
|
||||||
values := data[i+2]
|
values := data[i+2]
|
||||||
|
|
||||||
//8E 3C 00 00 47 46
|
//28 3C 00 00 47 46
|
||||||
var green []byte = []byte{0x8E,0x3C,0x00,0x00,0x47,0x46}
|
var green []byte = []byte{0x28,0x3C,0x00,0x00,0x47,0x46}
|
||||||
var red []byte = []byte{0x8E,0x3C,0x00,0x00,0x52,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{}
|
var writedata []byte =[]byte{}
|
||||||
writedata = green
|
writedata = green
|
||||||
if values == 2{
|
if values == 2{
|
||||||
|
@ -222,7 +222,7 @@ func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) {
|
||||||
buffer = new(bytes.Buffer)
|
buffer = new(bytes.Buffer)
|
||||||
|
|
||||||
|
|
||||||
if(dataType ==1 || dataType ==2 ){
|
if(dataType ==1 || dataType ==2 || dataType == 4 ){
|
||||||
go dealDatav3(data[i-4:i+end])
|
go dealDatav3(data[i-4:i+end])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue