添加继电器类型,开关事件

This commit is contained in:
fish 2019-05-09 14:30:57 +08:00
parent 95a4d57d05
commit ddd0b42ebd
3 changed files with 104 additions and 21 deletions

View File

@ -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",

View File

@ -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("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@")
}

View File

@ -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])
}