跳转到内容

7.11 系统状态部分

系统状态指软件指软件系统状态,可参考前文 软件系统概述 一节。

接口名 pb:/aimdk.protocol.SystemService/GetSystemState
功能概述 获取系统状态
接口类型 HTTP JSON RPC
URL http://192.168.100.110:51011/rpc/aimdk.protocol.SystemService/GetSystemState
入参
{}
出参
{
  "header": {
    "code": "0",
    "msg": "",
    "trace_id": "",
    "domin": ""
  },
  "cur_state": "EStop",
  "cur_status": "SystemStatus_IN_READY"
}
  • cur_state: 当前系统状态

    • Startup 启动中状态
    • Ready 启动完成状态
    • Manual 人工操作状态
    • MotionStream 遥操作状态
    • OTA 远程升级状态
    • Estop 急停状态
    • Poweroff 关机状态
    • Reboot 重启状态
    • Reset 重置状态
    • Safe 安全状态
  • cur_status: 系统当前情况

    • SystemStatus_IN_INITIAL:初始化
    • SystemStatus_IN_READY:已完成切换
    • SystemStatus_IN_MOVE:切换中
    • SystemStatus_IN_ROLLBACK:回滚中
    • SystemStatus_IN_RECOVERY:恢复中
示例脚本 examples/other/get_system_state.sh
备注
接口名 pb:/aimdk.protocol.HalBmsService/GetBmsState
功能概述 获取系统状态
接口类型 HTTP JSON RPC
URL http://192.168.100.100:56421/rpc/aimdk.protocol.HalBmsService/GetBmsState
入参
{}
出参
{
  "data": {
    "ver": {
      "hardware_major": 49,
      "hardware_minor": 48,
      "hardware_revision": 49,
      "software_major": 55,
      "software_minor": 48,
      "software_revision": 49
    },
    "voltage": 45460,
    "current": -1156,
    "power": 52551,
    "temperature": 289,
    "capacity": 4220,
    "charge": 29,
    "power_supply_health": "PowerSupplyHealth_GOOD",
    "power_supply_status": "PowerSupplyStatus_IDEL",
    "cycles_num": 1,
    "cycles_capacity": 21,
    "abnormal_state": "PowerAbnormalStatus_NORMAL",
    "charger_state": "ChargerNotPulgin",
    "bms_state": "BatteryStatus_Connected",
    "max_current": 0,
    "battery_firmware_type": "BatteryFirmwareType_OLD",
    "battery_key_state": "BatteryKeyStatus_SHORT_CURCUIT",
    "battery_pack_state": "BatteryPackStatus_NORMAL",
    "battery_comm_state": "BatteryCommunication_NORMAL"
  }
}
  • ver: 版本号信息

  • voltage: 当前电压,单位 mV

  • current: 当前电流,单位 mA

  • power: 当前功率,单位 mW

  • temperature: 当前温度,单位 0.1 摄氏度

  • capacity: 当前容量,单位:mAh

  • charge: 当前电量百分比

  • power_supply_health: 暂不开放

  • power_supply_status: 充电状态

    • PowerSupplyStatus_IDEL
    • PowerSupplyStatus_CHARGING
    • PowerSupplyStatus_FULL
  • cycles_num: 循环次数

  • cycles_capacity: 循环容量(当前电池包总共充放电的容量总计), 单位: Ah

  • abnormal_state: 异常状态

    • PowerAbnormalStatus_NORMAL
    • PowerAbnormalStatus_SHORT_CIRCUIT
    • PowerAbnormalStatus_DISCHARGE_OVERCURRENT
    • PowerAbnormalStatus_CHARGING_OVERCURRENT
    • PowerAbnormalStatus_UNDERVOLTAGE
    • PowerAbnormalStatus_OVERVOLTAGE
    • PowerAbnormalStatus_EXCEED_DISCHARGE_TEMP_LIMIT
    • PowerAbnormalStatus_EXCEED_CHARGING_TEMP_LIMIT
  • charger_state: 充电器是否插入

    • ChargerNotPulgin
    • ChargerConnected
  • bms_state: 电池是否插入

    • BatteryStatus_NotPulgin
    • BatteryStatus_Connected
  • max_current: 当前最大的电流

  • battery_firmware_type: 电池包固件版本

    • BatteryFirmwareType_OLD
    • BatteryFirmwareType_NEW
  • battery_key_state: 电池包 key 状态

    • BatteryKeyStatus_SHORT_CURCUIT
    • BatteryKeyStatus_CONNECTED
  • battery_pack_state: 电池包异常状态

    • BatteryPackStatus_NORMAL
    • BatteryPackStatus_ABNORMAL
  • battery_comm_state: 电池包通信状态

    • BatteryCommunication_NORMAL
    • BatteryCommunication_ABNORMAL
示例脚本 examples/other/get_bms_state.sh
备注

急停触发时,同样会有告警发出,也可以通过 GetAlertList 来获悉急停状态,此处提供一个单独接口来查询急停状态。

接口名 pb:/aimdk.protocol.HalEmergencyService/GetEmergencyState
功能概述 获取急停状态
接口类型 HTTP JSON RPC
URL http://192.168.100.100:56421/rpc/aimdk.protocol.HalEmergencyService/GetEmergencyState
入参
{}
出参
{
  "data": {
    "active": true,
    "reason": "Reason_WIRELESS_ESTOP",
    "left_front_sensor_alarm": false,
    "right_front_sensor_alarm": false,
    "left_sensor_alarm": false,
    "right_sensor_alarm": false,
    "left_back_sensor_alarm": false,
    "right_back_sensor_alarm": false,
    "lift_upper_limit_alarm": false,
    "lift_lower_limit_alarm": false,
    "tray_limit_alarm": false,
    "front_left_tof_alarm": false,
    "front_right_tof_alarm": false,
    "right_front_tof_alarm": false,
    "right_back_tof_alarm": false,
    "back_tof_alarm": false,
    "left_back_tof_alarm": false,
    "left_front_tof_alarm": false,
    "wired_emergency_stop": false,
    "wireless_emergency_stop": true,
    "software_emergency_stop": false
  }
}
  • active: 急停是否触发
  • reason: 急停触发原因
  • wireless_emergency_stop: 无线急停是否触发
  • software_emergency_stop: 软件急停是否触发
其余字段无需关注
示例脚本 examples/other/get_emergency_state.sh
备注
  • 软急停接口暂未开放二开使用,无法通过接口触发软急停。
  • 如返回空的 json body,代表所有参数均为默认值,即急停未触发。
接口名 pb:/aimdk.protocol.OTAService/GetRobotOtaInfo
功能概述 获取软件版本信息
接口类型 HTTP JSON RPC
URL http://192.168.100.100:57900/rpc/aimdk.protocol.OTAService/GetRobotOtaInfo
入参
{}
出参
{
  "robot_info": {
    "model": "A2_T3D1_FLAGSHIP"
  },
  "current_apk_info": {
    "apk_version": "A2_ULTRA-v1.3.23-0-gcee4e21f1-2511292056",
    "pub_time": "",
    "soc_info": [],
    "mcu_info": [],
    "contents": "",
    "fota_version": ""
  },
  "support_rollback_apk_infos": []
}
  • apk_version:软件版本信息
其余字段无需关注
示例脚本 examples/other/get_robot_ota_info.sh
备注
接口名 pb:/aimdk.protocol.OTAService/GetCurrentOtaProgress
功能概述 获取 OTA 进度信息
接口类型 HTTP JSON RPC
URL http://192.168.100.100:57900/rpc/aimdk.protocol.OTAService/GetCurrentOtaProgress
入参
{}
出参
{
  "header": {
    "code": "0",
    "msg": "未处于异常状态",
    "timestamp": {
      "seconds": "1764918512",
      "nanos": 387993669,
      "ms_since_epoch": "0"
    },
    "trace_id": "",
    "domin": ""
  },
  "progress": {
    "current_states": "OTAStates_OTA_IDLE",
    "percentage": 0,
    "error_count": 0,
    "current_stage_error_count": 0,
    "current_apk_version": ""
  }
}
  • apk_version:软件版本信息
其余字段无需关注
示例脚本 examples/other/get_ota_progress.sh
备注 软急停接口暂未开放二开使用,无法通过接口触发软急停。