Ver Fonte

删除多余代码

terry há 4 meses atrás
pai
commit
178e4f60fa
7 ficheiros alterados com 1 adições e 264 exclusões
  1. 0 1
      edge/ipole/concentrator.go
  2. 1 54
      edge/ipole/main.go
  3. 0 94
      edge/ipole/radar.go
  4. 0 32
      edge/ipole/radar_test.go
  5. 0 77
      edge/ipole/ym485_test.go
  6. 0 2
      go.mod
  7. 0 4
      go.sum

+ 0 - 1
edge/ipole/concentrator.go

@@ -5,7 +5,6 @@ import (
 	"encoding/binary"
 	"encoding/hex"
 	"errors"
-	"fmt"
 	"runtime/debug"
 	"strconv"
 	"sync"

+ 1 - 54
edge/ipole/main.go

@@ -36,7 +36,6 @@ func Stat(args ...interface{}) interface{} {
 		}
 		time.Sleep(time.Second)
 	}
-	return 0
 }
 
 func GetNextUint64() uint64 {
@@ -62,32 +61,6 @@ func EnableUpdate() {
 	}
 }
 
-// WatchGoforever 每十分钟查看一次goforever是否启动 hxz
-func WatchGoforever(args ...interface{}) interface{} {
-	for {
-		time.Sleep(1 * time.Minute)
-
-		isRun, err := CheckProRunning("goforever")
-		if err != nil {
-			logrus.Errorf("检查goforever命令失败:%s", err.Error())
-		} else {
-			if !isRun {
-				//这里重启goforever
-				//err := exec.Command("/usr/app/goforever/goforever", "&").Run()
-				//err := exec.Command("/bin/sh", "-c", "/usr/app/goforever/goforever ./goforever &").Run()
-				err := exec.Command("/bin/sh", "-c", "/usr/app/goforever ./goforever &").Run()
-				if err != nil {
-					logrus.Errorf("重启goforever出错: %s", err.Error())
-				} else {
-					logrus.Info("重启goforever成功,当前时间:", util.MlNow().String())
-				}
-			} else {
-				logrus.Info("goforever进程正在运行:", util.MlNow().String())
-			}
-		}
-	}
-}
-
 // SyncTime 每半小时同步一次时间
 func SyncTime(args ...interface{}) interface{} {
 	for {
@@ -101,35 +74,11 @@ func SyncTime(args ...interface{}) interface{} {
 	}
 }
 
-func SignalProcess(args ...interface{}) interface{} {
-	for {
-		ch := make(chan os.Signal)
-		signal.Notify(ch, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL, syscall.SIGQUIT)
-
-		logrus.Info("检测到退出信号:", <-ch)
-
-	}
-	return 0
-}
-
-// func HttpProcess(w http.ResponseWriter, r *http.Request) {
-
-// 	if GetMonitorStatus().GetMonitorRunStatus() {
-// 		fmt.Fprintf(w, "1")
-// 	} else {
-// 		fmt.Fprintf(w, "0")
-// 	}
-// }
-
 func main() {
 	runtime.GOMAXPROCS(runtime.NumCPU() * 2)
 
 	util.InitLogrus("release")
 
-	go func() {
-		logrus.Infoln(http.ListenAndServe(":9999", nil))
-	}()
-
 	logrus.Infof("当前程序版本:%s", appname+" "+version)
 
 	if err := loadAppConfig(); err != nil {
@@ -167,15 +116,13 @@ func main() {
 
 	gopool = util.NewPool(10)
 	gopool.Add(SyncTime, 0)
-	// gopool.Add(WatchGoforever, 0)
-	// gopool.Add(SignalProcess, 8)
+
 	gopool.Add(WatchDevConfig, 1)
 	gopool.Add(WatchModelConfig, 2)
 	gopool.Add(WatchConfConfig, 3)
 	gopool.Add(GetMQTTMgr().MQTTMessageHandle, 4)
 	gopool.Add(GetMQTTMgr().MQTTConnectMgr, 5)
 	gopool.Add(Stat, 6)
-	gopool.Add(RadarReceive, 7)
 	gopool.Run()
 	gopool.Wait()
 }

+ 0 - 94
edge/ipole/radar.go

@@ -1,94 +0,0 @@
-package main
-
-//雷达
-import (
-	"github.com/sirupsen/logrus"
-	"lc/common/protocol"
-	"lc/edge/ipole/modbus"
-	"math"
-	"net"
-	"strconv"
-	"strings"
-)
-
-const (
-	PORT = 1026
-)
-
-func RadarReceive(args ...interface{}) interface{} {
-	UDPConn, err := net.ListenUDP("udp", &net.UDPAddr{
-		IP:   net.IPv4(0, 0, 0, 0),
-		Port: PORT,
-	})
-	if err != nil {
-		logrus.Fatal("Listen failed,", err)
-		return 0
-	}
-
-	for {
-		var data [1024]byte
-		n, addr, err := UDPConn.ReadFromUDP(data[:]) //同步读
-		if err != nil {
-			logrus.Warningf("Read from udp server:%s failed,err:%s", addr, err)
-			continue
-		}
-		logrus.Debugf("Read from udp server addr: %s", addr)
-		if b, sa := verify(data[:n-2]); !b {
-			logrus.Warningf("解析来自:%s 的数据出错,===%v ==== err:%s", addr, string(data[:n]), sa)
-			continue
-		} else {
-			l := len(sa)
-			for _, s := range sa[:l-1] {
-				d := strings.Split(s, ",")
-				if len(d) != 5 {
-					logrus.Warningf("解析的数据出错, 长度不为5")
-					continue
-				}
-				go func() {
-					data1 := make(map[uint16]float64)
-					data1[0], _ = strconv.ParseFloat(d[0], 64)
-					data1[1], _ = strconv.ParseFloat(d[1], 64)
-					data1[2], _ = strconv.ParseFloat(d[2], 64)
-					data1[3], _ = strconv.ParseFloat(d[3], 64)
-					data1[4], _ = strconv.ParseFloat(d[4], 64)
-					data1[3] = math.Abs(data1[3])
-					var obj protocol.Pack_UploadData
-					if str, err := obj.EnCode(addr.String(), appConfig.GID, GetNextUint64(), nil, 0, data1); err == nil {
-						logrus.Debugf("Publish TP_RADAR_DATA")
-						topic := GetTopic(protocol.DT_Radar, appConfig.GID, protocol.TP_RADAR_DATA)
-						GetMQTTMgr().Publish(topic, str, 0, ToCloud) //上传消息 雷达
-					}
-				}()
-			}
-		}
-	}
-}
-
-func verify(b []byte) (bool, []string) {
-	strsplit := strings.Split(string(b), ";")
-	slen := len(strsplit)
-	if slen < 2 {
-		return false, nil
-	}
-	be := strings.Split(strsplit[0], "=")
-	if len(be) != 2 {
-		return false, nil
-	}
-	c := strings.Split(be[1], ":")
-	if len(c) != 2 {
-		return false, nil
-	}
-	if n, err := strconv.Atoi(c[0]); err == nil {
-		if n != slen-1 {
-			return false, nil
-		}
-		strsplit[0] = c[1]
-		crc16 := modbus.CRC16(b[:len(b)-4])
-		if n1, err := strconv.ParseInt(strsplit[slen-1], 16, 32); err == nil {
-			if uint16(n1) == crc16 {
-				return true, strsplit
-			}
-		}
-	}
-	return false, nil
-}

+ 0 - 32
edge/ipole/radar_test.go

@@ -1,32 +0,0 @@
-package main
-
-import (
-	"reflect"
-	"testing"
-)
-
-func Test_verify(t *testing.T) {
-	type args struct {
-		b []byte
-	}
-	tests := []struct {
-		name  string
-		args  args
-		want  bool
-		want1 []string
-	}{
-		// TODO: Add test cases.
-		{"aa", args{[]byte("$RADAR0065=03:5,4,0,4.14,4.8;6,1,0,4.14,3.2;7,31,0,-3.46,1.8;B0E0")}, true, []string{"5,4,0,4.14,4.8", "6,1,0,4.14,3.2", "7,31,0,-3.46,1.8", "B0E0"}},
-	}
-	for _, tt := range tests {
-		t.Run(tt.name, func(t *testing.T) {
-			got, got1 := verify(tt.args.b)
-			if got != tt.want {
-				t.Errorf("verify() got = %v, want %v", got, tt.want)
-			}
-			if !reflect.DeepEqual(got1, tt.want1) {
-				t.Errorf("verify() got1 = %v, want %v", got1, tt.want1)
-			}
-		})
-	}
-}

+ 0 - 77
edge/ipole/ym485_test.go

@@ -1,77 +0,0 @@
-package main
-
-import (
-	json2 "encoding/json"
-	"fmt"
-	"lc/common/protocol"
-
-	"testing"
-)
-
-func TestQueryDeviceState(t *testing.T) {
-	var ret1 protocol.Pack_CHZB_UploadData
-	mapData := make(map[string]*protocol.CHZB_LampData)
-	var data protocol.CHZB_LampData
-	data.Data = make(map[uint16]float64)
-	data.SetStateErrorData(nil)
-
-	//data.Data[0] = float64(0)
-	data.Data[1] = float64(1)
-	data.Data[2] = float64(0)
-	data.Data[3] = 3
-	data.Data[4] = 0.0
-	data.Data[5] = 0.0
-	data.Data[6] = 6
-	data.Data[7] = 0.0
-	data.Data[8] = 8 //by hxz 1,2,3,6,8为有效
-	data.Data[9] = 0.0
-	mapData["160000003194"] = &data
-	fmt.Printf("mapData:\n%+v\n", mapData)
-	fmt.Printf("data.Data:\n%+v\n", data.Data)
-
-	if str, err := ret1.EnCode("160000003194", appConfig.GID, 1, 2, mapData); err != nil {
-		//GetMQTTMgr().Publish(GetTopic(protocol.DT_LAMPCONTROLLER, o.devinfo.DevCode, protocol.TP_YM_DATA), str, mqtt.AtMostOnce, ToCloud)
-		fmt.Printf("error :%s\n", err)
-		fmt.Printf("encode result:%s\n", str)
-	} else {
-		fmt.Printf("error :%s\n", err)
-		fmt.Printf("encode result:%s\n", str)
-	}
-}
-
-type test struct {
-	i int
-	m map[int]float64
-}
-
-// 测试jsoniter "github.com/json-iterator/go" 的MarshalToString方法会panic;encoding/json 的marshal方法正常。
-func TestJsonMarshal(t *testing.T) {
-	var map1 = make(map[string]*test)
-	var map2 = make(map[int]float64)
-	map2[1] = 1
-	map2[2] = 2
-	map2[3] = 3
-	var tt test
-	tt.i = 0
-	tt.m = map2
-	map1["18"] = &tt
-
-	marshal, err := json2.Marshal(map2)
-	if err != nil {
-		fmt.Printf("encoding/json err:%v\n", err)
-	}
-	fmt.Printf("encoding/json tostring:%s   ok!\n", string(marshal))
-	fmt.Printf("###################################################\n")
-	defer func() {
-		if e := recover(); e != nil {
-			//panic("jsoniter panic!\n")
-			fmt.Printf("jsoniter panic:%v   nonononono!\n", e)
-		}
-	}()
-	toString, err2 := json.MarshalToString(map2)
-	if err2 != nil {
-		fmt.Printf("jsoniter err:%v\n", err2)
-		return
-	}
-	fmt.Printf("jsoniter tostring:%s\n", toString)
-}

+ 0 - 2
go.mod

@@ -5,7 +5,6 @@ go 1.17
 require (
 	github.com/BurntSushi/toml v0.3.1
 	github.com/astaxie/beego v1.12.2
-	github.com/beevik/etree v1.1.0
 	github.com/clbanning/mxj v1.8.4
 	github.com/eclipse/paho.mqtt.golang v1.3.5
 	github.com/go-ini/ini v1.61.0
@@ -69,7 +68,6 @@ require (
 	github.com/smartystreets/goconvey v1.6.4 // indirect
 	github.com/tebeka/strftime v0.1.5 // indirect
 	github.com/valyala/fasttemplate v1.2.1 // indirect
-	golang.org/dl v0.0.0-20230404172053-c7dbe52702e1 // indirect
 	golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a // indirect
 	golang.org/x/net v0.0.0-20200822124328-c89045814202 // indirect
 	golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6 // indirect

+ 0 - 4
go.sum

@@ -17,8 +17,6 @@ github.com/astaxie/beego v1.12.2 h1:CajUexhSX5ONWDiSCpeQBNVfTzOtPb9e9d+3vuU5FuU=
 github.com/astaxie/beego v1.12.2/go.mod h1:TMcqhsbhN3UFpN+RCfysaxPAbrhox6QSS3NIAEp/uzE=
 github.com/beego/goyaml2 v0.0.0-20130207012346-5545475820dd/go.mod h1:1b+Y/CofkYwXMUU0OhQqGvsY2Bvgr4j6jfT699wyZKQ=
 github.com/beego/x2j v0.0.0-20131220205130-a0352aadc542/go.mod h1:kSeGC/p1AbBiEp5kat81+DSQrZenVBZXklMLaELspWU=
-github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs=
-github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A=
 github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -251,8 +249,6 @@ github.com/valyala/fasttemplate v1.2.1 h1:TVEnxayobAdVkhQfrfes2IzOB6o+z4roRkPF52
 github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
 github.com/wendal/errors v0.0.0-20130201093226-f66c77a7882b/go.mod h1:Q12BUT7DqIlHRmgv3RskH+UCM/4eqVMgI0EMmlSpAXc=
 github.com/yuin/gopher-lua v0.0.0-20171031051903-609c9cd26973/go.mod h1:aEV29XrmTYFr3CiRxZeGHpkvbwq+prZduBqMaascyCU=
-golang.org/dl v0.0.0-20230404172053-c7dbe52702e1 h1:E391gyv//wdNS4eEoUdR4YNer/Zbfa7fg8Swe2cK6oc=
-golang.org/dl v0.0.0-20230404172053-c7dbe52702e1/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ=
 golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=