完善同步机制 1min一次
This commit is contained in:
parent
7ae4a5597e
commit
8f7f176257
|
@ -116,30 +116,7 @@ func init() {
|
|||
check(err)
|
||||
var device Device
|
||||
|
||||
//var serialPort = make(map[string]int)
|
||||
//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)
|
||||
// }
|
||||
// log.Println("slaveDevices:", conf.WIRELESSSLAVEDEVICES)
|
||||
|
||||
for _,v := range conf.LORANODES {
|
||||
v.CURRENT_DATA = -1
|
||||
|
@ -217,9 +194,9 @@ func init() {
|
|||
maledemoDevice.DATA["data2"] = 0
|
||||
//3是男厕
|
||||
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()
|
||||
c := cron.New()
|
||||
|
||||
send_data(CODE1001)
|
||||
//获取数据防抖处理时间
|
||||
// send_data(CODE1001)
|
||||
//获取数据防抖处理时间配置
|
||||
go getConf()
|
||||
|
||||
|
||||
// c.AddFunc("0, *, *, *, *, *", func() {
|
||||
// send_data(CODE1001)
|
||||
// })
|
||||
|
||||
//一分钟一次 同步数据
|
||||
c.AddFunc("0, *, *, *, *, *", func() {
|
||||
send_data(CODE1001)
|
||||
yunhorn_hb_dpark_v1()
|
||||
})
|
||||
|
||||
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) {
|
||||
|
||||
// data_buf := make(chan []byte)
|
||||
|
||||
// Rdata := make([]byte, 0)
|
||||
data := make([]byte, 256)
|
||||
Rdata2 := make([]byte, 0)
|
||||
|
||||
for {
|
||||
// data := make([]byte, config.SERVER_RECV_LEN)
|
||||
//data2 := make([]byte,256)
|
||||
reqLen, err := conn.Read(data)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
|
@ -108,10 +103,10 @@ func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) {
|
|||
buffer.WriteString(s)
|
||||
|
||||
// log.Println(b)
|
||||
//分隔符
|
||||
// log.Println("$$$$$$$$$$$$$$$$$$$$$$$$$",i,reqLen)
|
||||
// log.Println("$$$$$$$$$$$$$$$$$$$$$$$$$",data[reqLen])
|
||||
end :=0
|
||||
//254为分隔符
|
||||
if b==254 && i>3{
|
||||
addrs := data[i-4:i]
|
||||
//尿布台数据,地址1位 数据2位
|
||||
|
@ -186,11 +181,6 @@ func readConn(conn net.Conn, readChan chan<- []byte, stopChan chan<- bool) {
|
|||
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) {
|
||||
for {
|
||||
strData := <-writeChan
|
||||
|
|
44
worker.go
44
worker.go
|
@ -7,6 +7,8 @@ import (
|
|||
_ "math/rand"
|
||||
"strconv"
|
||||
"sync"
|
||||
"encoding/json"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Devicedatas struct {
|
||||
|
@ -105,7 +107,47 @@ func yunhorn_lora_l_v1(data_buf []byte) {
|
|||
if conf.DEBUG {
|
||||
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