From c9b1d33979b3972fe6a82fa427b4ba9a20989112 Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期三, 24 十二月 2025 18:56:28 +0800
Subject: [PATCH] 新增mqtt相关功能

---
 src/gecaoji/Device.java |  217 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 182 insertions(+), 35 deletions(-)

diff --git a/src/gecaoji/Device.java b/src/gecaoji/Device.java
index 9e26eff..9d1a1c3 100644
--- a/src/gecaoji/Device.java
+++ b/src/gecaoji/Device.java
@@ -68,21 +68,30 @@
     // 鑸悜瑙�
     private String pitch;
     // 淇话瑙�
-    private String battery;
-    // 瀹炴椂鐢甸噺
+    private String roll; // 妯粴瑙� 瑙掑害
+    private String yaw; // 鍋忚埅瑙� 瑙掑害
+    private String battery_level; // 鐢垫睜鐢甸噺鐧惧垎姣�
+    private String battery_voltage; // 鐢垫睜鐢靛帇
+    private String operation_mode; // 鎿嶄綔妯″紡锛歮anual, auto, emergency_stop
+    private String motor_status; // 鐢垫満鐘舵�侊細stopped, running, error
+    private String blade_status; // 鍒�鐗囩姸鎬侊細stopped, rotating
+    private String path_id_saved; // 瀛樺偍鐨勮矾寰処D
+    private String error_code; // 閿欒浠g爜
+    private String error_message; // 閿欒淇℃伅
+    
     private String positioningStatus;
     // 瀹氫綅鐘舵��
     private String satelliteCount;
     // 鍗槦鍙暟
     private String differentialAge;
     // 宸垎鏃堕棿
-    private String selfCheckStatus = "-1";
+    private String self_check_status = "-1"; // 鏂板鑷鐘舵�侊細1-瀹屾垚锛�0-鏈畬鎴�
     // 鍓茶崏鏈鸿嚜妫�鐘舵��
     private String mowerStartStatus = "-1";
     // 鍓茶崏鏈哄惎鍔ㄧ姸鎬侊細1寮�鍚紝0鐔勭伀锛�-1鏈煡
     private String mowerLightStatus = "-1";
     // 鍓茶崏鏈虹伅寮�鍏崇姸鎬侊細1寮�鍚紝0鍏抽棴锛�-1鏈煡
-    private String mowerBladeHeight = "-1";
+    private String blade_height = "-1"; // 鍒�鐩橀珮搴� 鍘樼背
     // 鍓茶崏鏈哄垁鐩橀珮搴︼細-1鏈煡
     private String mowerWidth;
     // 鍓茶崏鏈哄搴︼紝鍗曚綅绫�
@@ -154,14 +163,24 @@
         if (realtimeSpeed != null) properties.setProperty("realtimeSpeed", realtimeSpeed);
         if (heading != null) properties.setProperty("heading", heading);
         if (pitch != null) properties.setProperty("pitch", pitch);
-        if (battery != null) properties.setProperty("battery", battery);
+        if (roll != null) properties.setProperty("roll", roll);
+        if (yaw != null) properties.setProperty("yaw", yaw);
+        if (battery_level != null) properties.setProperty("battery_level", battery_level);
+        if (battery_voltage != null) properties.setProperty("battery_voltage", battery_voltage);
+        if (operation_mode != null) properties.setProperty("operation_mode", operation_mode);
+        if (motor_status != null) properties.setProperty("motor_status", motor_status);
+        if (blade_status != null) properties.setProperty("blade_status", blade_status);
+        if (path_id_saved != null) properties.setProperty("path_id_saved", path_id_saved);
+        if (error_code != null) properties.setProperty("error_code", error_code);
+        if (error_message != null) properties.setProperty("error_message", error_message);
+        
         if (positioningStatus != null) properties.setProperty("positioningStatus", positioningStatus);
         if (satelliteCount != null) properties.setProperty("satelliteCount", satelliteCount);
         if (differentialAge != null) properties.setProperty("differentialAge", differentialAge);
-        if (selfCheckStatus != null) properties.setProperty("selfCheckStatus", selfCheckStatus);
+        if (self_check_status != null) properties.setProperty("self_check_status", self_check_status);
         if (mowerStartStatus != null) properties.setProperty("mowerStartStatus", mowerStartStatus);
         if (mowerLightStatus != null) properties.setProperty("mowerLightStatus", mowerLightStatus);
-        if (mowerBladeHeight != null) properties.setProperty("mowerBladeHeight", mowerBladeHeight);
+        if (blade_height != null) properties.setProperty("blade_height", blade_height);
         if (mowerWidth != null) properties.setProperty("mowerWidth", mowerWidth);
         if (mowerLength != null) properties.setProperty("mowerLength", mowerLength);
         if (mowingSafetyDistance != null) properties.setProperty("mowingSafetyDistance", mowingSafetyDistance);
@@ -200,14 +219,24 @@
         target.realtimeSpeed = properties.getProperty("realtimeSpeed", "-1");
         target.heading = properties.getProperty("heading", "-1");
         target.pitch = properties.getProperty("pitch", "-1");
-        target.battery = properties.getProperty("battery", "-1");
+        target.roll = properties.getProperty("roll", "-1");
+        target.yaw = properties.getProperty("yaw", "-1");
+        target.battery_level = properties.getProperty("battery_level", "-1");
+        target.battery_voltage = properties.getProperty("battery_voltage", "-1");
+        target.operation_mode = properties.getProperty("operation_mode", "-1");
+        target.motor_status = properties.getProperty("motor_status", "-1");
+        target.blade_status = properties.getProperty("blade_status", "-1");
+        target.path_id_saved = properties.getProperty("path_id_saved", "-1");
+        target.error_code = properties.getProperty("error_code", "-1");
+        target.error_message = properties.getProperty("error_message", "-1");
+        
         target.positioningStatus = properties.getProperty("positioningStatus", "-1");
         target.satelliteCount = properties.getProperty("satelliteCount", "-1");
         target.differentialAge = properties.getProperty("differentialAge", "-1");
-        target.selfCheckStatus = properties.getProperty("selfCheckStatus", "-1");
+        target.self_check_status = properties.getProperty("self_check_status", "-1");
         target.mowerStartStatus = properties.getProperty("mowerStartStatus", "-1");
         target.mowerLightStatus = properties.getProperty("mowerLightStatus", "-1");
-        target.mowerBladeHeight = properties.getProperty("mowerBladeHeight", "-1");
+        target.blade_height = properties.getProperty("blade_height", "-1");
         target.mowerWidth = properties.getProperty("mowerWidth", "-1");
         target.mowerLength = properties.getProperty("mowerLength", "-1");
         target.mowingSafetyDistance = properties.getProperty("mowingSafetyDistance", "-1");
@@ -238,14 +267,24 @@
         target.realtimeSpeed = "-1";
         target.heading = "-1";
         target.pitch = "-1";
-        target.battery = "-1";
+        target.roll = "-1";
+        target.yaw = "-1";
+        target.battery_level = "-1";
+        target.battery_voltage = "-1";
+        target.operation_mode = "-1";
+        target.motor_status = "-1";
+        target.blade_status = "-1";
+        target.path_id_saved = "-1";
+        target.error_code = "-1";
+        target.error_message = "-1";
+        
         target.positioningStatus = "-1";
         target.satelliteCount = "-1";
         target.differentialAge = "-1";
-        target.selfCheckStatus = "-1";
+        target.self_check_status = "-1";
         target.mowerStartStatus = "-1";
         target.mowerLightStatus = "-1";
-        target.mowerBladeHeight = "-1";
+        target.blade_height = "-1";
         target.mowerWidth = "-1";
         target.mowerLength = "-1";
         target.mowingSafetyDistance = "-1";
@@ -335,8 +374,35 @@
             case "pitch":
                 this.pitch = value;
                 return true;
-            case "battery":
-                this.battery = value;
+            case "roll":
+                this.roll = value;
+                return true;
+            case "yaw":
+                this.yaw = value;
+                return true;
+            case "battery_level":
+                this.battery_level = value;
+                return true;
+            case "battery_voltage":
+                this.battery_voltage = value;
+                return true;
+            case "operation_mode":
+                this.operation_mode = value;
+                return true;
+            case "motor_status":
+                this.motor_status = value;
+                return true;
+            case "blade_status":
+                this.blade_status = value;
+                return true;
+            case "path_id_saved":
+                this.path_id_saved = value;
+                return true;
+            case "error_code":
+                this.error_code = value;
+                return true;
+            case "error_message":
+                this.error_message = value;
                 return true;
             case "positioningStatus":
                 this.positioningStatus = value;
@@ -347,8 +413,8 @@
             case "differentialAge":
                 this.differentialAge = value;
                 return true;
-            case "selfCheckStatus":
-                this.selfCheckStatus = value;
+            case "self_check_status":
+                this.self_check_status = value;
                 return true;
             case "mowerStartStatus":
                 this.mowerStartStatus = value;
@@ -356,8 +422,8 @@
             case "mowerLightStatus":
                 this.mowerLightStatus = value;
                 return true;
-            case "mowerBladeHeight":
-                this.mowerBladeHeight = value;
+            case "blade_height":
+                this.blade_height = value;
                 return true;
             case "mowerWidth":
                 this.mowerWidth = value;
@@ -458,7 +524,7 @@
         }
         satelliteCount = defaultIfEmpty(sanitizeField(fields, 7));
         differentialAge = defaultIfEmpty(sanitizeField(fields, 13));
-        battery = defaultIfEmpty(sanitizeField(fields, 16));
+        battery_level = defaultIfEmpty(sanitizeField(fields, 16));
         pitch = defaultIfEmpty(sanitizeField(fields, 17));
         realtimeSpeed = defaultIfEmpty(sanitizeField(fields, 18));
         GupdateTime = String.valueOf(System.currentTimeMillis());
@@ -844,12 +910,84 @@
         this.pitch = pitch;
     }
 
-    public String getBattery() { // 鑾峰彇瀹炴椂鐢甸噺
-        return battery;
+    public String getRoll() {
+        return roll;
     }
 
-    public void setBattery(String battery) { // 璁剧疆瀹炴椂鐢甸噺
-        this.battery = battery;
+    public void setRoll(String roll) {
+        this.roll = roll;
+    }
+
+    public String getYaw() {
+        return yaw;
+    }
+
+    public void setYaw(String yaw) {
+        this.yaw = yaw;
+    }
+
+    public String getBattery_level() {
+        return battery_level;
+    }
+
+    public void setBattery_level(String battery_level) {
+        this.battery_level = battery_level;
+    }
+
+    public String getBattery_voltage() {
+        return battery_voltage;
+    }
+
+    public void setBattery_voltage(String battery_voltage) {
+        this.battery_voltage = battery_voltage;
+    }
+
+    public String getOperation_mode() {
+        return operation_mode;
+    }
+
+    public void setOperation_mode(String operation_mode) {
+        this.operation_mode = operation_mode;
+    }
+
+    public String getMotor_status() {
+        return motor_status;
+    }
+
+    public void setMotor_status(String motor_status) {
+        this.motor_status = motor_status;
+    }
+
+    public String getBlade_status() {
+        return blade_status;
+    }
+
+    public void setBlade_status(String blade_status) {
+        this.blade_status = blade_status;
+    }
+
+    public String getPath_id_saved() {
+        return path_id_saved;
+    }
+
+    public void setPath_id_saved(String path_id_saved) {
+        this.path_id_saved = path_id_saved;
+    }
+
+    public String getError_code() {
+        return error_code;
+    }
+
+    public void setError_code(String error_code) {
+        this.error_code = error_code;
+    }
+
+    public String getError_message() {
+        return error_message;
+    }
+
+    public void setError_message(String error_message) {
+        this.error_message = error_message;
     }
 
     public String getPositioningStatus() { // 鑾峰彇瀹氫綅鐘舵��
@@ -876,12 +1014,12 @@
         this.differentialAge = differentialAge;
     }
 
-    public String getSelfCheckStatus() { // 鑾峰彇鑷鐘舵��
-        return selfCheckStatus;
+    public String getSelf_check_status() { // 鑾峰彇鑷鐘舵��
+        return self_check_status;
     }
 
-    public void setSelfCheckStatus(String selfCheckStatus) { // 璁剧疆鑷鐘舵��
-        this.selfCheckStatus = selfCheckStatus;
+    public void setSelf_check_status(String self_check_status) { // 璁剧疆鑷鐘舵��
+        this.self_check_status = self_check_status;
     }
 
     public String getMowerStartStatus() { // 鑾峰彇鍓茶崏鏈哄惎鍔ㄧ姸鎬�
@@ -900,12 +1038,12 @@
         this.mowerLightStatus = mowerLightStatus;
     }
 
-    public String getMowerBladeHeight() { // 鑾峰彇鍓茶崏鏈哄垁鐩橀珮搴�
-        return mowerBladeHeight;
+    public String getBlade_height() { // 鑾峰彇鍓茶崏鏈哄垁鐩橀珮搴�
+        return blade_height;
     }
 
-    public void setMowerBladeHeight(String mowerBladeHeight) { // 璁剧疆鍓茶崏鏈哄垁鐩橀珮搴�
-        this.mowerBladeHeight = mowerBladeHeight;
+    public void setBlade_height(String blade_height) { // 璁剧疆鍓茶崏鏈哄垁鐩橀珮搴�
+        this.blade_height = blade_height;
     }
 
     public String getMowerWidth() { // 鑾峰彇鍓茶崏鏈哄搴�
@@ -955,14 +1093,23 @@
                 ", realtimeSpeed='" + realtimeSpeed + '\'' +
                 ", heading='" + heading + '\'' +
                 ", pitch='" + pitch + '\'' +
-                ", battery='" + battery + '\'' +
+                ", roll='" + roll + '\'' +
+                ", yaw='" + yaw + '\'' +
+                ", battery_level='" + battery_level + '\'' +
+                ", battery_voltage='" + battery_voltage + '\'' +
+                ", operation_mode='" + operation_mode + '\'' +
+                ", motor_status='" + motor_status + '\'' +
+                ", blade_status='" + blade_status + '\'' +
+                ", path_id_saved='" + path_id_saved + '\'' +
+                ", error_code='" + error_code + '\'' +
+                ", error_message='" + error_message + '\'' +
                 ", positioningStatus='" + positioningStatus + '\'' +
                 ", satelliteCount='" + satelliteCount + '\'' +
                 ", differentialAge='" + differentialAge + '\'' +
-                ", selfCheckStatus='" + selfCheckStatus + '\'' +
+                ", self_check_status='" + self_check_status + '\'' +
                 ", mowerStartStatus='" + mowerStartStatus + '\'' +
                 ", mowerLightStatus='" + mowerLightStatus + '\'' +
-                ", mowerBladeHeight='" + mowerBladeHeight + '\'' +
+                ", blade_height='" + blade_height + '\'' +
                 ", mowerWidth='" + mowerWidth + '\'' +
                 ", mowerLength='" + mowerLength + '\'' +
                 ", mowingSafetyDistance='" + mowingSafetyDistance + '\'' +

--
Gitblit v1.10.0