LingxinMeng 1 jaar geleden
bovenliggende
commit
4831e9125f

+ 18 - 13
aarch64/pji/common/config/c_cloud.go

@@ -9,6 +9,10 @@ import (
 	"time"
 )
 
+type MonitorStruct struct {
+	Url string `yaml:"url"`
+}
+
 type platform struct {
 	UrlDeviceAuth string `yaml:"url-device-auth"`
 	UrlTaskPoll   string `yaml:"url-task-poll"`
@@ -42,19 +46,20 @@ type trigger struct {
 }
 
 type cloudConfig struct {
-	FullCollect           bool         `yaml:"full-collect"`
-	ConfigRefreshInterval int          `yaml:"config-refresh-interval"` // 配置刷新时间间隔
-	BagNumber             int          `yaml:"bag-number"`
-	TimeWindowSendGap     int          `yaml:"time-window-send-gap"` // 主节点向从节点发送窗口的最小时间间隔
-	BagDataDir            string       `yaml:"bag-data-dir"`
-	BagCopyDir            string       `yaml:"bag-copy-dir"`
-	TriggersDir           string       `yaml:"triggers-dir"`
-	RpcPort               string       `yaml:"rpc-port"`
-	Triggers              []trigger    `yaml:"triggers"`
-	Hosts                 []hostStruct `yaml:"hosts"`
-	Ros                   ros          `yaml:"ros"`
-	Platform              platform     `yaml:"platform"`
-	Disk                  disk         `yaml:"disk"`
+	FullCollect           bool          `yaml:"full-collect"`
+	ConfigRefreshInterval int           `yaml:"config-refresh-interval"` // 配置刷新时间间隔
+	BagNumber             int           `yaml:"bag-number"`
+	TimeWindowSendGap     int           `yaml:"time-window-send-gap"` // 主节点向从节点发送窗口的最小时间间隔
+	BagDataDir            string        `yaml:"bag-data-dir"`
+	BagCopyDir            string        `yaml:"bag-copy-dir"`
+	TriggersDir           string        `yaml:"triggers-dir"`
+	RpcPort               string        `yaml:"rpc-port"`
+	Triggers              []trigger     `yaml:"triggers"`
+	Hosts                 []hostStruct  `yaml:"hosts"`
+	Ros                   ros           `yaml:"ros"`
+	Platform              platform      `yaml:"platform"`
+	Disk                  disk          `yaml:"disk"`
+	Monitor               MonitorStruct `yaml:"monitor"`
 }
 
 var (

+ 38 - 0
aarch64/pji/common/config/c_resource.go

@@ -0,0 +1,38 @@
+package config
+
+import (
+	"cicv-data-closedloop/common/config/c_log"
+	"cicv-data-closedloop/common/util"
+	"time"
+)
+
+//type DeviceMonitor struct {
+//	Id               int    `db:"id" json:"id"`                               // 自增id
+//	TotalCpuUsage    string `db:"total_cpu_usage" json:"totalCpuUsage"`       // cpu总占用
+//	TotalMemoryUsage string `db:"total_memory_usage" json:"totalMemoryUsage"` // 内存总占用
+//	Top10Process     string `db:"top10_process" json:"top10Process"`          // cpu占用前十的进程信息
+//	DeviceNumber     string `db:"device_number" json:"deviceNumber"`          // cpu占用前十的进程信息
+//	SocIp            string `db:"soc_ip" json:"socIp"`                        // cpu占用前十的进程信息
+//}
+
+// SendResourceUsage 保存资源占用情况
+func SendResourceUsage() {
+	for {
+		time.Sleep(time.Duration(2) * time.Second)
+		responseString, err := util.HttpPostJsonWithHeaders(
+			CloudConfig.Monitor.Url,
+			map[string]string{"Authorization": "U9yKpD6kZZDDe4LFKK6myAxBUT1XRrDM"},
+			map[string]string{
+				"totalCpuUsage":    util.ToString(util.GetCpuPercent()),
+				"totalMemoryUsage": util.ToString(util.GetMemoryPercent()),
+				"top10Process":     util.ToString(util.GetTop10()),
+				"deviceNumber":     LocalConfig.EquipmentNo,
+				"socIp":            LocalConfig.Node.Ip,
+			},
+		)
+		if err != nil {
+			c_log.GlobalLogger.Errorf("发送数据监控信息报错%v,响应信息为:%v", err, responseString)
+		}
+		c_log.GlobalLogger.Infof("发送数据监控信息成功,响应信息为:%v", responseString)
+	}
+}

+ 5 - 3
aarch64/pji/common/config/yaml/pjibot0-cloud-config.yaml

@@ -1,4 +1,6 @@
 ---
+monitor:
+  url: http://36.110.106.142:12341/web_server/monitor/insert
 platform:
   url-device-auth: http://1.202.169.139:8081/device/auth
   url-task-poll: http://1.202.169.139:8081/device/task/poll
@@ -56,10 +58,10 @@ hosts:
         - "CMAKE_PREFIX_PATH=/opt/ros/melodic"
     topics:
       - /amcl_pose # /amcl
-      - /ob_camera_01/color/image_raw # /ob_camera_01/camera
-      - /ob_camera_01/depth/points # /ob_camera_01/camera
+#      - /ob_camera_01/color/image_raw # /ob_camera_01/camera
+#      - /ob_camera_01/depth/points # /ob_camera_01/camera
       - /ob_camera_02/color/image_raw # /ob_camera_02/camera
-      - /ob_camera_02/depth/points # /ob_camera_02/camera
+#      - /ob_camera_02/depth/points # /ob_camera_02/camera
       - /diagnostics # /amcl /node_diagnostics
       - /locate_info # /localization_monitor_node
       - /obstacle_detection # /move_base

+ 5 - 3
aarch64/pji/common/config/yaml/pjirobot1-cloud-config.yaml

@@ -1,4 +1,6 @@
 ---
+monitor:
+  url: http://36.110.106.142:12341/web_server/monitor/insert
 platform:
   url-device-auth: http://1.202.169.139:8081/device/auth
   url-task-poll: http://1.202.169.139:8081/device/task/poll
@@ -56,10 +58,10 @@ hosts:
         - "CMAKE_PREFIX_PATH=/opt/ros/melodic"
     topics:
       - /amcl_pose # /amcl
-      - /ob_camera_01/color/image_raw # /ob_camera_01/camera
-      - /ob_camera_01/depth/points # /ob_camera_01/camera
+#      - /ob_camera_01/color/image_raw # /ob_camera_01/camera
+#      - /ob_camera_01/depth/points # /ob_camera_01/camera
       - /ob_camera_02/color/image_raw # /ob_camera_02/camera
-      - /ob_camera_02/depth/points # /ob_camera_02/camera
+#      - /ob_camera_02/depth/points # /ob_camera_02/camera
       - /diagnostics # /amcl /node_diagnostics
       - /locate_info # /localization_monitor_node
       - /obstacle_detection # /move_base

+ 3 - 1
aarch64/pji/common/config/yaml/单摄像头-cloud-config.yaml

@@ -1,4 +1,6 @@
 ---
+monitor:
+  url: http://36.110.106.142:12341/web_server/monitor/insert
 platform:
   url-device-auth: http://1.202.169.139:8081/device/auth
   url-task-poll: http://1.202.169.139:8081/device/task/poll
@@ -72,7 +74,7 @@ hosts:
     topics:
       - /amcl_pose
       - /camera/color/image_raw
-      - /camera/depth/points
+#      - /camera/depth/points
       - /diagnostics
       - /locate_info
       - /obstacle_detection

+ 5 - 3
aarch64/pji/common/config/yaml/双摄像头-cloud-config.yaml

@@ -1,4 +1,6 @@
 ---
+monitor:
+  url: http://36.110.106.142:12341/web_server/monitor/insert
 platform:
   url-device-auth: http://1.202.169.139:8081/device/auth
   url-task-poll: http://1.202.169.139:8081/device/task/poll
@@ -56,10 +58,10 @@ hosts:
         - "CMAKE_PREFIX_PATH=/opt/ros/melodic"
     topics:
       - /amcl_pose # /amcl
-      - /ob_camera_01/color/image_raw # /ob_camera_01/camera
-      - /ob_camera_01/depth/points # /ob_camera_01/camera
+#      - /ob_camera_01/color/image_raw # /ob_camera_01/camera
+#      - /ob_camera_01/depth/points # /ob_camera_01/camera
       - /ob_camera_02/color/image_raw # /ob_camera_02/camera
-      - /ob_camera_02/depth/points # /ob_camera_02/camera
+#      - /ob_camera_02/depth/points # /ob_camera_02/camera
       - /diagnostics # /amcl /node_diagnostics
       - /locate_info # /localization_monitor_node
       - /obstacle_detection # /move_base

+ 2 - 0
aarch64/pji/master/main.go

@@ -31,6 +31,8 @@ func init() {
 	commonConfig.InitPlatformConfig()
 	// 初始化ros节点
 	commonConfig.InitRosConfig()
+	// 发送资源占用信息
+	go commonConfig.SendResourceUsage()
 	// 维护data目录缓存的包数量
 	go commonService.BagCacheClean()
 	// 磁盘占用过高时根据缓存策略处理copy目录

+ 1 - 1
aarch64/pjisuv/common/config/c_resource.go

@@ -15,7 +15,7 @@ import (
 //	SocIp            string `db:"soc_ip" json:"socIp"`                        // cpu占用前十的进程信息
 //}
 
-// SendResourceUsage 保存资源占用情况
+// 保存资源占用情况
 func SendResourceUsage() {
 	for {
 		time.Sleep(time.Duration(2) * time.Second)

+ 0 - 2
aarch64/pjisuv/control/main.go

@@ -21,8 +21,6 @@ func init() {
 	config.InitOssConfig()
 	// 初始化业务逻辑配置信息,配置文件在oss上(第2处配置,在oss文件)
 	config.InitCloudConfig()
-	// 发送资源占用信息
-	go config.SendResourceUsage()
 }
 
 func main() {

+ 3 - 0
aarch64/pjisuv/master/main.go

@@ -27,6 +27,8 @@ func init() {
 	commonConfig.InitPlatformConfig()
 	// 初始化ros节点
 	commonConfig.InitRosConfig()
+	// 发送资源占用信息
+	go commonConfig.SendResourceUsage()
 	// 维护data目录缓存的包数量
 	go commonService.BagCacheClean()
 	// 磁盘占用过高时根据缓存策略处理copy目录
@@ -37,6 +39,7 @@ func init() {
 	commonConfig.InitKillSignalListener(commonConfig.CloudConfig.Hosts[0].Ip)
 	// 等待重启,接收到重启信号,会把信号分发给以下channel
 	go commonService.WaitKillSelf()
+
 }
 
 func main() {

+ 3 - 0
amd64/web_server/entity/e_exam.go

@@ -40,3 +40,6 @@ type ExamPagePao struct {
 	TeamName    string `json:"teamName"` // 队伍名字
 	Topic       string `json:"topic"`    // 赛题
 }
+type ExamReportPao struct {
+	Id int `json:"id"`
+}

+ 49 - 12
amd64/web_server/handler/h_exam.go

@@ -11,6 +11,8 @@ import (
 	"time"
 )
 
+var defaultTime = time.Date(2006, time.January, 2, 15, 4, 5, 0, time.Local)
+
 // 考试开始时间
 func Begin(c *gin.Context) {
 	param := new(webServerEntity.ExamPao)
@@ -103,31 +105,49 @@ func End(c *gin.Context) {
 }
 
 // 分页查询
+// todo 如果日期为默认值,则返回空""
 func Page(c *gin.Context) {
 	param := new(webServerEntity.ExamPagePao)
 	_ = c.ShouldBindJSON(&param)
 	var resultPos []webServerEntity.ExamPo
-	var selectSql string
+	var resultPosTotal []int
+	var pageSql string
+	var totalSql string
 	offset := (param.CurrentPage - 1) * param.PageSize
 	size := param.PageSize
 	if param.TeamName == "" && param.Topic == "" {
-		selectSql, _ = util.ReadFile(c_db.SqlFilesMap["exam-select-page.sql"])
-		_ = c_db.MysqlDb.Select(&resultPos, selectSql, offset, size)
+		pageSql, _ = util.ReadFile(c_db.SqlFilesMap["exam-select-page.sql"])
+		totalSql, _ = util.ReadFile(c_db.SqlFilesMap["exam-select-total.sql"])
+		err := c_db.MysqlDb.Select(&resultPos, pageSql, offset, size)
+		if err != nil {
+			c_log.GlobalLogger.Error(err)
+		}
+		err = c_db.MysqlDb.Select(&resultPosTotal, totalSql)
+		if err != nil {
+			c_log.GlobalLogger.Error(err)
+		}
 	}
 	if param.TeamName != "" && param.Topic == "" {
-		selectSql, _ = util.ReadFile(c_db.SqlFilesMap["exam-select-page-by-team_name.sql"])
-		_ = c_db.MysqlDb.Select(&resultPos, selectSql, "%"+param.TeamName+"%", offset, size)
+		pageSql, _ = util.ReadFile(c_db.SqlFilesMap["exam-select-page-by-team_name.sql"])
+		totalSql, _ = util.ReadFile(c_db.SqlFilesMap["exam-select-total-by-team_name.sql"])
+		_ = c_db.MysqlDb.Select(&resultPos, pageSql, "%"+param.TeamName+"%", offset, size)
+		_ = c_db.MysqlDb.Select(&resultPosTotal, totalSql, "%"+param.TeamName+"%")
 	}
 	if param.TeamName == "" && param.Topic != "" {
-		selectSql, _ = util.ReadFile(c_db.SqlFilesMap["exam-select-page-by-topic.sql"])
-		_ = c_db.MysqlDb.Select(&resultPos, selectSql, "%"+param.Topic+"%", offset, size)
+		pageSql, _ = util.ReadFile(c_db.SqlFilesMap["exam-select-page-by-topic.sql"])
+		totalSql, _ = util.ReadFile(c_db.SqlFilesMap["exam-select-total-by-topic.sql"])
+		_ = c_db.MysqlDb.Select(&resultPos, pageSql, "%"+param.Topic+"%", offset, size)
+		_ = c_db.MysqlDb.Select(&resultPosTotal, totalSql, "%"+param.Topic+"%")
 	}
 	if param.TeamName != "" && param.Topic != "" {
-		selectSql, _ = util.ReadFile(c_db.SqlFilesMap["exam-select-page-by-team_name-and-topic.sql"])
-		_ = c_db.MysqlDb.Select(&resultPos, selectSql, "%"+param.TeamName+"%", "%"+param.Topic+"%", offset, size)
+		pageSql, _ = util.ReadFile(c_db.SqlFilesMap["exam-select-page-by-team_name-and-topic.sql"])
+		totalSql, _ = util.ReadFile(c_db.SqlFilesMap["exam-select-total-by-team_name-and-topic.sql"])
+		_ = c_db.MysqlDb.Select(&resultPos, pageSql, "%"+param.TeamName+"%", "%"+param.Topic+"%", offset, size)
+		_ = c_db.MysqlDb.Select(&resultPosTotal, totalSql, "%"+param.TeamName+"%", "%"+param.Topic+"%")
 	}
 	var resultVos []webServerEntity.ExamVo
 	for _, po := range resultPos {
+
 		resultVos = append(resultVos, webServerEntity.ExamVo{
 			Id:              po.Id,
 			TeamName:        po.TeamName,
@@ -143,8 +163,25 @@ func Page(c *gin.Context) {
 	}
 
 	c.JSON(http.StatusOK, commonEntity.Response{
-		Code: 200,
-		Msg:  "分页查询成功!",
-		Data: resultVos,
+		Code:  200,
+		Msg:   "分页查询成功!",
+		Data:  resultVos,
+		Total: resultPosTotal[0],
 	})
 }
+
+//// 评分报告pdf下载
+//func Report(c *gin.Context) {
+//	param := new(webServerEntity.ExamReportPao)
+//	_ = c.ShouldBindJSON(&param)
+//	// 1 根据ID查询数据
+//	// 2 根据数据生成pdf
+//	// 3 返回pdf文件流
+//
+//	c.JSON(http.StatusOK, commonEntity.Response{
+//		Code:  200,
+//		Msg:   "分页查询成功!",
+//		Data:  resultVos,
+//		Total: resultPosTotal[0],
+//	})
+//}

+ 1 - 1
amd64/web_server/main.go

@@ -72,7 +72,7 @@ func main() {
 	examPrefix.POST("/begin", handler.Begin) // 考试开始
 	examPrefix.POST("/end", handler.End)     // 考试结束
 	examPrefix.POST("/page", handler.Page)   // 分页查询
-	//examPrefix.POST("/pdf", handler.Hello)  // pdf下载
+	//examPrefix.POST("/report", handler.Report) // pdf下载
 	monitorPrefix := projectPrefix.Group("/monitor")
 	monitorPrefix.POST("/insert", handler.SaveDeviceMonitor)
 	// 端口

+ 14 - 0
amd64/web_server/sql/exam-select-total-by-team_name-and-topic.sql

@@ -0,0 +1,14 @@
+select count(*)
+from (select id,
+             team_name,
+             topic,
+             begin_time,
+             end_time,
+             score_online,
+             score_offline,
+             score_final,
+             details,
+             score_report_path
+      from exam
+      where team_name like ?
+        and topic like ?) temp

+ 13 - 0
amd64/web_server/sql/exam-select-total-by-team_name.sql

@@ -0,0 +1,13 @@
+select count(*)
+from (select id,
+             team_name,
+             topic,
+             begin_time,
+             end_time,
+             score_online,
+             score_offline,
+             score_final,
+             details,
+             score_report_path
+      from exam
+      where team_name like ?) temp

+ 13 - 0
amd64/web_server/sql/exam-select-total-by-topic.sql

@@ -0,0 +1,13 @@
+select count(*)
+from (select id,
+             team_name,
+             topic,
+             begin_time,
+             end_time,
+             score_online,
+             score_offline,
+             score_final,
+             details,
+             score_report_path
+      from exam
+      where topic like ?) temp

+ 12 - 0
amd64/web_server/sql/exam-select-total.sql

@@ -0,0 +1,12 @@
+select count(*)
+from (select id,
+             team_name,
+             topic,
+             begin_time,
+             end_time,
+             score_online,
+             score_offline,
+             score_final,
+             details,
+             score_report_path
+      from exam) temp

+ 4 - 3
common/entity/http_result.go

@@ -13,9 +13,10 @@ type HttpResult struct {
 }
 
 type Response struct {
-	Code int         `json:"code"` // 错误码
-	Msg  string      `json:"msg"`  // 错误描述
-	Data interface{} `json:"data"` // 返回数据
+	Code  int         `json:"code"`  // 错误码
+	Msg   string      `json:"msg"`   // 错误描述
+	Data  interface{} `json:"data"`  // 返回数据
+	Total interface{} `json:"total"` // 分页的total数量
 }
 
 // ToString 返回 JSON 格式的错误详情

+ 4 - 0
common/util/u_time.go

@@ -58,5 +58,9 @@ func TimeCustom1LessEqualThanTimeCustom2(timeCustom1 string, timeCustom2 string)
 }
 
 func GetTimeString(sourceTime time.Time) string {
+	var defaultTime = time.Date(2006, time.January, 2, 15, 4, 5, 0, time.Local)
+	if sourceTime.Equal(defaultTime) {
+		return ""
+	}
 	return sourceTime.Format("2006-01-02 15:04:05")
 }

+ 0 - 3
log/web_server-2024-03-20-14-00-53.log

@@ -1,3 +0,0 @@
-{"file":"log_config.go:37","level":"info","msg":"初始化GlobalLogger - 成功","time":"2024-03-20T14:00:53+08:00"}
-{"file":"c_sqlx_mysql.go:29","level":"info","msg":"mysql连接成功。","time":"2024-03-20T14:00:53+08:00"}
-{"file":"c_sqlx_sqlfile.go:14","level":"error","msg":"程序退出。加载sql文件错误:open /root/cicv-data-closedloop/amd64/web_server/sql: The system cannot find the path specified.","time":"2024-03-20T14:00:53+08:00"}

+ 0 - 3
log/web_server-2024-03-20-14-01-38.log

@@ -1,3 +0,0 @@
-{"file":"log_config.go:37","level":"info","msg":"初始化GlobalLogger - 成功","time":"2024-03-20T14:01:38+08:00"}
-{"file":"c_sqlx_mysql.go:29","level":"info","msg":"mysql连接成功。","time":"2024-03-20T14:01:38+08:00"}
-{"file":"c_sqlx_sqlfile.go:14","level":"error","msg":"程序退出。加载sql文件错误:open D:\\code\\cicv-data-closedloop\\amd64\\web-server\\sql: The system cannot find the path specified.","time":"2024-03-20T14:01:38+08:00"}

+ 0 - 4
log/web_server-2024-03-20-14-02-35.log

@@ -1,4 +0,0 @@
-{"file":"log_config.go:37","level":"info","msg":"初始化GlobalLogger - 成功","time":"2024-03-20T14:02:35+08:00"}
-{"file":"c_sqlx_mysql.go:29","level":"info","msg":"mysql连接成功。","time":"2024-03-20T14:02:35+08:00"}
-{"file":"c_sqlx_sqlfile.go:24","level":"info","msg":"sql文件加载成功:map[insert_device_monitor.sql:D:\\code\\cicv-data-closedloop\\amd64\\web_server\\sql\\insert_device_monitor.sql]","time":"2024-03-20T14:02:35+08:00"}
-{"file":"main.go:62","level":"info","msg":"配置文件为:{ {12341 /web_server U9yKpD6kZZDDe4LFKK6myAxBUT1XRrDM [/web_server/swagger]} {./log/ web_server} {36.110.106.156 3306 root 1qaz2wsx! dataclosedloop utf8 D:\\code\\cicv-data-closedloop\\amd64\\web_server\\sql}}","time":"2024-03-20T14:02:35+08:00"}

+ 0 - 13
log/web_server-2024-03-21-13-17-29.log

@@ -1,13 +0,0 @@
-{"file":"log_config.go:37","level":"info","msg":"初始化GlobalLogger - 成功","time":"2024-03-21T13:17:29+08:00"}
-{"file":"c_sqlx_mysql.go:29","level":"info","msg":"mysql连接成功。","time":"2024-03-21T13:17:29+08:00"}
-{"file":"c_sqlx_sqlfile.go:24","level":"info","msg":"sql文件加载成功:map[insert_device_monitor.sql:D:\\code\\cicv-data-closedloop\\amd64\\web_server\\sql\\insert_device_monitor.sql]","time":"2024-03-21T13:17:29+08:00"}
-{"file":"main.go:62","level":"info","msg":"配置文件为:{ {12341 /web_server U9yKpD6kZZDDe4LFKK6myAxBUT1XRrDM [/web_server/swagger]} {./log/ web_server} {36.110.106.156 3306 root 1qaz2wsx! dataclosedloop utf8 D:\\code\\cicv-data-closedloop\\amd64\\web_server\\sql}}","time":"2024-03-21T13:17:29+08:00"}
-{"file":"m_log_request.go:20","level":"info","msg":"客户端 ::1 发送请求 /web_server/report/page","time":"2024-03-21T13:18:26+08:00"}
-{"file":"m_log_request.go:20","level":"info","msg":"客户端 ::1 发送请求 /web_server/report/page","time":"2024-03-21T13:47:01+08:00"}
-{"file":"m_log_request.go:20","level":"info","msg":"客户端 ::1 发送请求 /web_server/report/page","time":"2024-03-21T13:47:15+08:00"}
-{"file":"m_log_request.go:20","level":"info","msg":"客户端 ::1 发送请求 /web_server/report/page","time":"2024-03-21T13:47:29+08:00"}
-{"file":"m_log_request.go:20","level":"info","msg":"客户端 ::1 发送请求 /web_server/report/page","time":"2024-03-21T15:08:20+08:00"}
-{"file":"m_log_request.go:20","level":"info","msg":"客户端 ::1 发送请求 /web_server/report/page","time":"2024-03-21T15:26:16+08:00"}
-{"file":"m_log_request.go:20","level":"info","msg":"客户端 ::1 发送请求 /web_server/report/page","time":"2024-03-21T15:27:32+08:00"}
-{"file":"m_log_request.go:20","level":"info","msg":"客户端 ::1 发送请求 /web_server/report/page","time":"2024-03-21T15:32:03+08:00"}
-{"file":"m_log_request.go:20","level":"info","msg":"客户端 ::1 发送请求 /web_server/report/page","time":"2024-03-21T15:33:35+08:00"}

+ 0 - 4
log/web_server-2024-03-21-15-40-42.log

@@ -1,4 +0,0 @@
-{"file":"log_config.go:37","level":"info","msg":"初始化GlobalLogger - 成功","time":"2024-03-21T15:40:42+08:00"}
-{"file":"c_sqlx_mysql.go:29","level":"info","msg":"mysql连接成功。","time":"2024-03-21T15:40:42+08:00"}
-{"file":"c_sqlx_sqlfile.go:24","level":"info","msg":"sql文件加载成功:map[insert_device_monitor.sql:D:\\code\\cicv-data-closedloop\\amd64\\web_server\\sql\\insert_device_monitor.sql]","time":"2024-03-21T15:40:42+08:00"}
-{"file":"main.go:62","level":"info","msg":"配置文件为:{ {12341 /web_server U9yKpD6kZZDDe4LFKK6myAxBUT1XRrDM [/web_server/swagger]} {./log/ web_server} {36.110.106.156 3306 root 1qaz2wsx! dataclosedloop utf8 D:\\code\\cicv-data-closedloop\\amd64\\web_server\\sql}}","time":"2024-03-21T15:40:42+08:00"}

+ 1 - 1
trigger/pji/obstacle_detection/obstacledetection/main/main.go

@@ -14,7 +14,7 @@ func Label() string {
 
 // TODO 如果速度很小则不触发
 func Rule(data *std_msgs.UInt8) string {
-	if data.Data != 0 {
+	if data.Data == 3 {
 		return "obstacledetection"
 	}
 	return ""