完善同步机制 1min一次
This commit is contained in:
parent
7ae4a5597e
commit
8f7f176257
|
@ -116,30 +116,7 @@ func init() {
|
||||||
check(err)
|
check(err)
|
||||||
var device Device
|
var device Device
|
||||||
|
|
||||||
//var serialPort = make(map[string]int)
|
// log.Println("slaveDevices:", conf.WIRELESSSLAVEDEVICES)
|
||||||
//for k, i := range conf.SERIALPORTS_LIST {
|
|
||||||
// log.Println(k)
|
|
||||||
// log.Println(i)
|
|
||||||
// if v, c := serialPort[k]; c {
|
|
||||||
// log.Println("repeatd serial port:", v)
|
|
||||||
// os.Exit(3)
|
|
||||||
// } else {
|
|
||||||
// serialPort[k] = 0
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
//log.Println("begin print serialPort")
|
|
||||||
//for k, i := range serialPort {
|
|
||||||
// log.Println(k)
|
|
||||||
// log.Println(i)
|
|
||||||
//}
|
|
||||||
|
|
||||||
log.Println("slaveDevices:", conf.WIRELESSSLAVEDEVICES)
|
|
||||||
|
|
||||||
// for _,i := range conf.WIRELESSSLAVEDEVICES{
|
|
||||||
// log.Println(conf.WIRELESSSLAVEDEVICES[k].ID)
|
|
||||||
// log.Println(i.ID)
|
|
||||||
// }
|
|
||||||
|
|
||||||
for _,v := range conf.LORANODES {
|
for _,v := range conf.LORANODES {
|
||||||
v.CURRENT_DATA = -1
|
v.CURRENT_DATA = -1
|
||||||
|
@ -217,9 +194,9 @@ func init() {
|
||||||
maledemoDevice.DATA["data2"] = 0
|
maledemoDevice.DATA["data2"] = 0
|
||||||
//3是男厕
|
//3是男厕
|
||||||
DEVICEDATAS.DATA[demoDevice.VERSION+"_2"] = maledemoDevice
|
DEVICEDATAS.DATA[demoDevice.VERSION+"_2"] = maledemoDevice
|
||||||
|
|
||||||
|
|
||||||
dbdata_init()
|
|
||||||
|
go dbdata_init()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
13
main.go
13
main.go
|
@ -15,12 +15,17 @@ func main() {
|
||||||
go serial_run()
|
go serial_run()
|
||||||
c := cron.New()
|
c := cron.New()
|
||||||
|
|
||||||
send_data(CODE1001)
|
// send_data(CODE1001)
|
||||||
//获取数据防抖处理时间
|
//获取数据防抖处理时间配置
|
||||||
go getConf()
|
go getConf()
|
||||||
|
|
||||||
|
// c.AddFunc("0, *, *, *, *, *", func() {
|
||||||
|
// send_data(CODE1001)
|
||||||
|
// })
|
||||||
|
|
||||||
|
//一分钟一次 同步数据
|
||||||
c.AddFunc("0, *, *, *, *, *", func() {
|
c.AddFunc("0, *, *, *, *, *", func() {
|
||||||
send_data(CODE1001)
|
yunhorn_hb_dpark_v1()
|
||||||
})
|
})
|
||||||
|
|
||||||
c.AddFunc("*/10, *, *, *, *, *", func() {
|
c.AddFunc("*/10, *, *, *, *, *", func() {
|
||||||
|
|
12
tcpserver.go
12
tcpserver.go
|
@ -71,15 +71,10 @@ func handleConn(conn net.Conn) {
|
||||||
|
|
||||||
func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) {
|
func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) {
|
||||||
|
|
||||||
// data_buf := make(chan []byte)
|
|
||||||
|
|
||||||
// Rdata := make([]byte, 0)
|
|
||||||
data := make([]byte, 256)
|
data := make([]byte, 256)
|
||||||
Rdata2 := make([]byte, 0)
|
Rdata2 := make([]byte, 0)
|
||||||
|
|
||||||
for {
|
for {
|
||||||
// data := make([]byte, config.SERVER_RECV_LEN)
|
|
||||||
//data2 := make([]byte,256)
|
|
||||||
reqLen, err := conn.Read(data)
|
reqLen, err := conn.Read(data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
|
@ -108,10 +103,10 @@ func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) {
|
||||||
buffer.WriteString(s)
|
buffer.WriteString(s)
|
||||||
|
|
||||||
// log.Println(b)
|
// log.Println(b)
|
||||||
//分隔符
|
|
||||||
// log.Println("$$$$$$$$$$$$$$$$$$$$$$$$$",i,reqLen)
|
// log.Println("$$$$$$$$$$$$$$$$$$$$$$$$$",i,reqLen)
|
||||||
// log.Println("$$$$$$$$$$$$$$$$$$$$$$$$$",data[reqLen])
|
// log.Println("$$$$$$$$$$$$$$$$$$$$$$$$$",data[reqLen])
|
||||||
end :=0
|
end :=0
|
||||||
|
//254为分隔符
|
||||||
if b==254 && i>3{
|
if b==254 && i>3{
|
||||||
addrs := data[i-4:i]
|
addrs := data[i-4:i]
|
||||||
//尿布台数据,地址1位 数据2位
|
//尿布台数据,地址1位 数据2位
|
||||||
|
@ -186,11 +181,6 @@ func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) {
|
||||||
stopChan <- true
|
stopChan <- true
|
||||||
}
|
}
|
||||||
|
|
||||||
//BytesCombine 多个[]byte数组合并成一个[]byte
|
|
||||||
func BytesCombine(pBytes ...[]byte) []byte {
|
|
||||||
return bytes.Join(pBytes, []byte(""))
|
|
||||||
}
|
|
||||||
|
|
||||||
func writeConn(conn net.Conn, writeChan <-chan string, stopChan chan<- bool) {
|
func writeConn(conn net.Conn, writeChan <-chan string, stopChan chan<- bool) {
|
||||||
for {
|
for {
|
||||||
strData := <-writeChan
|
strData := <-writeChan
|
||||||
|
|
44
worker.go
44
worker.go
|
@ -7,6 +7,8 @@ import (
|
||||||
_ "math/rand"
|
_ "math/rand"
|
||||||
"strconv"
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
|
"encoding/json"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Devicedatas struct {
|
type Devicedatas struct {
|
||||||
|
@ -105,7 +107,47 @@ func yunhorn_lora_l_v1(data_buf []byte) {
|
||||||
if conf.DEBUG {
|
if conf.DEBUG {
|
||||||
log.Println(device)
|
log.Println(device)
|
||||||
}
|
}
|
||||||
// send_data(1005, device)
|
}
|
||||||
|
|
||||||
|
func yunhorn_hb_dpark_v1(){
|
||||||
|
|
||||||
|
log.Println("begin yunhorn_hb_dpark_v1")
|
||||||
|
|
||||||
|
// var datalist [len(conf.LORANODES)]LoraNode
|
||||||
|
datalist := make([]LoraNode,len(conf.LORANODES))
|
||||||
|
|
||||||
|
var R_data P1004_6
|
||||||
|
//心跳数据
|
||||||
|
R_data.CODE = 1009
|
||||||
|
//spao点的公厕
|
||||||
|
R_data.ID = "spaoDevs"
|
||||||
|
//尿布台
|
||||||
|
R_data.VERSION = "yunhorn_hb_dpark"
|
||||||
|
R_data.ONLINE = true
|
||||||
|
R_data.DATA = make(map[string]interface{})
|
||||||
|
R_data.DATA["data"]=datalist
|
||||||
|
|
||||||
|
for i,v := range conf.LORANODES {
|
||||||
|
loraNode,ok :=loraNodeMap.Load(v.ADR)
|
||||||
|
if !ok {
|
||||||
|
log.Println("hb load loraNode fail ", ok)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
newLoraNode := LoraNode{}
|
||||||
|
newLoraNode.CURRENT_DATA = loraNode.(LoraNode).CURRENT_DATA
|
||||||
|
newLoraNode.TIME = loraNode.(LoraNode).TIME
|
||||||
|
|
||||||
|
newLoraNode.LOCATION_TYPE = ""
|
||||||
|
newLoraNode.LOCATION_CODE = ""
|
||||||
|
newLoraNode.LOCATION_DATA = loraNode.(LoraNode).LOCATION_DATA
|
||||||
|
newLoraNode.ADR = loraNode.(LoraNode).ADR
|
||||||
|
datalist[i]=newLoraNode
|
||||||
|
}
|
||||||
|
R_data.TIMESTAMP=time.Now().Unix()
|
||||||
|
|
||||||
|
data_bufTmp, _ := json.Marshal(R_data)
|
||||||
|
data_buf := string(data_bufTmp)
|
||||||
|
go post_to_server(data_buf)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue