孟令鑫 před 1 rokem
rodič
revize
8e795949fa

+ 5 - 0
go.mod

@@ -7,6 +7,7 @@ require (
 	github.com/bluenviron/goroslib/v2 v2.1.4
 	github.com/google/uuid v1.5.0
 	github.com/nacos-group/nacos-sdk-go/v2 v2.2.5
+	github.com/shirou/gopsutil v3.21.11+incompatible
 	github.com/sirupsen/logrus v1.9.3
 	gopkg.in/yaml.v2 v2.4.0
 	gopkg.in/yaml.v3 v3.0.1
@@ -23,6 +24,7 @@ require (
 	github.com/buger/jsonparser v1.1.1 // indirect
 	github.com/cespare/xxhash/v2 v2.2.0 // indirect
 	github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
+	github.com/go-ole/go-ole v1.2.6 // indirect
 	github.com/golang/mock v1.6.0 // indirect
 	github.com/golang/protobuf v1.5.3 // indirect
 	github.com/gookit/color v1.5.4 // indirect
@@ -38,7 +40,10 @@ require (
 	github.com/prometheus/client_model v0.2.0 // indirect
 	github.com/prometheus/common v0.32.1 // indirect
 	github.com/prometheus/procfs v0.7.3 // indirect
+	github.com/tklauser/go-sysconf v0.3.13 // indirect
+	github.com/tklauser/numcpus v0.7.0 // indirect
 	github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect
+	github.com/yusufpapurcu/wmi v1.2.3 // indirect
 	go.uber.org/atomic v1.7.0 // indirect
 	go.uber.org/multierr v1.6.0 // indirect
 	go.uber.org/zap v1.21.0 // indirect

+ 11 - 0
go.sum

@@ -92,6 +92,8 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb
 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
 github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
+github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
+github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
 github.com/goji/httpauth v0.0.0-20160601135302-2da839ab0f4d/go.mod h1:nnjvkQ9ptGaCkuDUx6wNykzzlUixGxvkme+H/lnzb+A=
@@ -226,6 +228,8 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1
 github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU=
 github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
 github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI=
+github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
 github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
 github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
 github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
@@ -240,12 +244,18 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
 github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
 github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
+github.com/tklauser/go-sysconf v0.3.13 h1:GBUpcahXSpR2xN01jhkNAbTLRk2Yzgggk8IM08lq3r4=
+github.com/tklauser/go-sysconf v0.3.13/go.mod h1:zwleP4Q4OehZHGn4CYZDipCgg9usW5IJePewFCGVEa0=
+github.com/tklauser/numcpus v0.7.0 h1:yjuerZP127QG9m5Zh/mSO4wqurYil27tHrqwRoRjpr4=
+github.com/tklauser/numcpus v0.7.0/go.mod h1:bb6dMVcj8A42tSE7i32fsIUCbQNllK5iDguyOZRUzAY=
 github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 h1:QldyIu/L63oPpyvQmHgvgickp1Yw510KJOqX7H24mg8=
 github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs=
 github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw=
+github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
 go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
 go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
 go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
@@ -361,6 +371,7 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=

+ 116 - 0
kinglong/common/cfg/cloud-config-all.yaml

@@ -0,0 +1,116 @@
+# 全量采集topic
+---
+platform:
+  url-device-auth: http://139.9.199.227:30991/device/auth
+  url-task-poll: http://139.9.199.227:30991/device/task/poll
+  url-task: http://139.9.199.227:30991/device/task
+bag-number: 120
+config-refresh-interval: 60
+disk-usage: 90
+bag-data-dir: /mnt/media/sda1/rosbag-handle/data/
+bag-copy-dir: /mnt/media/sda1/rosbag-handle/copy/
+triggers-dir: /mnt/media/sda1/rosbag-handle/triggers/
+time-window-send-gap: 6
+tcp-port: 12340
+rpc-port: 12341
+ros:
+  master-address: 192.168.1.102:11311
+  nodes:
+    - /GlobalWay
+    - /ObstacleInfo
+    - /ObstacleInfo_zd
+    - /Trajectorydisplay
+    - /camera_output
+    - /ch128x1/lslidar_driver_node
+    - /ch64_left/lslidar_driver_node
+    - /ch64_mid/lslidar_driver_node
+    - /ch64_right/lslidar_driver_node
+    - /dpi_map_engine
+    - /front_radars_receive_node
+    - /ins
+    - /ins_diagnosis
+    - /lidar_deeplearning
+    - /lidar_fast_euclidean_cluster_detect
+    - /lidar_fusion
+    - /lidar_pretreatment
+    - /planner_s4_gd
+    - /planning_rviz
+    - /planning_task_manage
+    - /polygon_display
+    - /r_des
+    - /r_light
+    - /r_loc
+    - /r_location
+    - /r_speed
+    - /rnode
+    - /rosout
+    - /sensors_fusion_node
+    - /stationinfo
+    - /utmTOll_node
+hosts:
+  - name: node1
+    ip: 192.168.1.102
+    topics:
+      - /AutoModeStatus
+      - /camera_image
+      - /cicv_location
+      - /faultinfo
+      - /heartbeat_info
+      - /jinlong_control_pub
+      - /cicv_location
+      - /data_read
+  - name: node2
+    ip: 192.168.1.103
+    topics:
+      - /points_concat
+      - /tpperception
+      - /tpperception/hmi
+triggers:
+  - label: rapidaccel
+    topics:
+      - /tpperception
+      - /points_concat
+      - /cicv_location
+      - /camera_image
+  - label: brake
+    topics:
+      - /tpperception
+      - /points_concat
+      - /cicv_location
+      - /camera_image
+  - label: EmergencyStop
+    topics:
+      - /tpperception
+      - /points_concat
+      - /cicv_location
+      - /camera_image
+  - label: AutoDLimit
+    topics:
+      - /tpperception
+      - /points_concat
+      - /cicv_location
+      - /camera_image
+  - label: lanechange
+    topics:
+      - /tpperception
+      - /points_concat
+      - /cicv_location
+      - /camera_image
+  - label: brakefault
+    topics:
+      - /tpperception
+      - /points_concat
+      - /cicv_location
+      - /camera_image
+  - label: takeover
+    topics:
+      - /tpperception
+      - /points_concat
+      - /cicv_location
+      - /camera_image
+  - label: TTC
+    topics:
+      - /tpperception
+      - /points_concat
+      - /cicv_location
+      - /camera_image

+ 26 - 23
kinglong/common/init/common_init.go

@@ -4,6 +4,9 @@ import (
 	"cicv-data-closedloop/kinglong/common/cfg"
 	"cicv-data-closedloop/kinglong/common/log"
 	"cicv-data-closedloop/kinglong/common/svc"
+	"github.com/shirou/gopsutil/cpu"
+	"runtime"
+	"time"
 )
 
 func Init() {
@@ -11,8 +14,8 @@ func Init() {
 	// 初始化日志配置
 	log.InitLogConfig()
 
-	//// 循环打印cpu占用
-	//go ResourceOccupancy()
+	// 循环打印cpu占用
+	go ResourceOccupancy()
 
 	// 初始化本地配置文件(第1处配置,在本地文件)
 	cfg.InitLocalConfig()
@@ -39,24 +42,24 @@ func Init() {
 
 }
 
-//func ResourceOccupancy() {
-//	for {
-//		// 获取 CPU 使用率
-//		cpuPercent, err := cpu.Percent(time.Second, false)
-//		if err != nil {
-//			log.MonitorLogger.Info("获取cpu使用率报错:", err)
-//			return
-//		}
-//
-//		var m runtime.MemStats
-//		runtime.ReadMemStats(&m)
-//
-//		// 计算内存占用百分比
-//		memoryPercent := float64(m.Alloc) / float64(m.Sys) * 100.0
-//
-//		log.MonitorLogger.Info("cpu使用率为:", cpuPercent[0]*100, "%,内存使用率为:", memoryPercent, "%")
-//
-//		// 等待一段时间,例如1秒
-//		time.Sleep(time.Second)
-//	}
-//}
+func ResourceOccupancy() {
+	for {
+		// 获取 CPU 使用率
+		cpuPercent, err := cpu.Percent(time.Second, false)
+		if err != nil {
+			log.MonitorLogger.Info("获取cpu使用率报错:", err)
+			return
+		}
+
+		var m runtime.MemStats
+		runtime.ReadMemStats(&m)
+
+		// 计算内存占用百分比
+		memoryPercent := float64(m.Alloc) / float64(m.Sys) * 100.0
+
+		log.MonitorLogger.Info("cpu使用率为:", cpuPercent[0]*100, "%,内存使用率为:", memoryPercent, "%")
+
+		// 等待一段时间,例如1秒
+		time.Sleep(time.Second)
+	}
+}

+ 1 - 0
kinglong/control/main/control.go

@@ -9,6 +9,7 @@ import (
 )
 
 func init() {
+	//runtime.GOMAXPROCS(1)
 	// 初始化日志配置
 	log.InitLogConfig()
 	// 初始化本地配置文件(第1处配置,在本地文件)

+ 2 - 0
kinglong/master/main/master.go

@@ -6,9 +6,11 @@ import (
 	commonService "cicv-data-closedloop/kinglong/common/svc"
 	masterConfig "cicv-data-closedloop/kinglong/master/pkg/cfg"
 	masterService "cicv-data-closedloop/kinglong/master/pkg/svc"
+	"runtime"
 )
 
 func init() {
+	runtime.GOMAXPROCS(1)
 	commonInit.Init()
 	// 初始化TCP连接,用于发送时间窗口到从节点
 	masterConfig.InitTcpConfig()

+ 1 - 0
kinglong/slave/main/slave.go

@@ -10,6 +10,7 @@ import (
 
 // init 初始化函数
 func init() {
+	//runtime.GOMAXPROCS(1)
 	commonInit.Init()
 	slaveConfig.InitTcpListener()
 	cfg2.InitKillSignalListener(cfg2.CloudConfig.Hosts[1].Ip)