HeWang 7 mesiacov pred
rodič
commit
e6cabfbbab

+ 7 - 2
aarch64/pjibot_guide/control/main.go

@@ -41,11 +41,16 @@ func main() {
 	//go pkg.JudgeLocal()
 	//go judgeState3()
 
-	go pkg.GetLocalStatus(&localStatus)
+	var localTurnLength = 2
+	var cloudTurnLength = 60
+
+	go pkg.GetLocalStatus(&localStatus, localTurnLength)
+	go pkg.GetCloudStatus(&cloudStatus, cloudTurnLength)
 
 	for {
-		time.Sleep(5 * time.Second)
+		time.Sleep(1 * time.Second)
 		fmt.Println("localStatus: ", localStatus)
+		fmt.Println("cloudStatus: ", cloudStatus)
 	}
 	//select {}
 }

+ 19 - 0
aarch64/pjibot_guide/control/pkg/judge_cloud.go

@@ -1 +1,20 @@
 package pkg
+
+import (
+	commonConfig "cicv-data-closedloop/aarch64/pjibot_guide/common/config"
+	"cicv-data-closedloop/common/config/c_log"
+	"time"
+)
+
+func GetCloudStatus(status *string, turnLength int) {
+	// 轮询云端任务状态
+	for {
+		time.Sleep(time.Duration(turnLength) * time.Second)
+		taskStatus, err := commonConfig.GetStatus(commonConfig.PlatformConfig.TaskConfigId)
+		if err != nil {
+			c_log.GlobalLogger.Error("获取配置status失败:", err)
+			continue
+		}
+		*status = taskStatus
+	}
+}

+ 6 - 13
aarch64/pjibot_guide/control/pkg/judge_local.go

@@ -8,16 +8,10 @@ import (
 	"time"
 )
 
-type StatusMessage struct {
-	Type  string      `json:"type"`
-	Topic string      `json:"topic"`
-	Time  int64       `json:"time"`
-	Data  interface{} `json:"data"`
-}
-
-func GetLocalStatus(localStatus *string) {
+func GetLocalStatus(status *string, turnLength int) {
+	// 轮询本地任务状态
 	for {
-		time.Sleep(2 * time.Second)
+		time.Sleep(time.Duration(turnLength) * time.Second)
 		_, msg, err := config.WsConn.ReadMessage()
 		if err != nil {
 			log.Println("Error in receive:", err)
@@ -26,19 +20,18 @@ func GetLocalStatus(localStatus *string) {
 		log.Printf("Received: %s\n", msg)
 
 		// 将响应字节解码为JSON
-		var statusMessage StatusMessage
+		var statusMessage config.StatusMessage
 		err = json.Unmarshal(msg, &statusMessage)
 		if err != nil {
 			log.Println("Error in receive:", err)
 			break
 		}
-		fmt.Println("statusMessage:", statusMessage)
-
 		if statusMessage.Type == "push" && statusMessage.Topic == "robotStatus" {
+			fmt.Println("statusMessage:", statusMessage)
 			data := statusMessage.Data.(map[string]interface{})
 			fmt.Println("statusMessage.Data", data)
 			fmt.Println("statusMessage.Data[\"taskStatus\"]", data["taskStatus"])
-			*localStatus = data["taskStatus"].(string)
+			*status = data["taskStatus"].(string)
 		}
 	}
 }