7.7 System Status

7.7 System Status

7.7.1 BMS Status Query RPC Interface

Interface Namepb:/aimdk.protocol.HalBmsService/GetBmsState
OverviewGet system status
Interface Type HTTP JSON RPC
URLhttp://10.42.10.10:56430/rpc/aimdk.protocol.HalBmsService/GetBmsState
Input
text
{}
Output
text
{
  "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: Version information
  • voltage: Current voltage, in mV
  • current: Current, in mA
  • power: Current power, in mW
  • temperature: Current temperature, in 0.1 degrees Celsius
  • capacity: Current capacity, in mAh
  • charge: Current battery percentage
  • power_supply_health: Not open for use at the moment
  • power_supply_status: Charging status
    • PowerSupplyStatus_IDEL
    • PowerSupplyStatus_CHARGING
    • PowerSupplyStatus_FULL
  • cycles_num: Number of charge cycles
  • cycles_capacity: Cycle capacity (the total accumulated charge and discharge capacity of the current battery pack), in Ah
  • abnormal_state: 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: Whether the charger is plugged in
    • ChargerNotPulgin
    • ChargerConnected
  • bms_state: Whether the battery is inserted
    • BatteryStatus_NotPulgin
    • BatteryStatus_Connected
  • max_current: Current maximum current
  • battery_firmware_type: Battery pack firmware version
    • BatteryFirmwareType_OLD
    • BatteryFirmwareType_NEW
  • battery_key_state: Battery pack key state
    • BatteryKeyStatus_SHORT_CURCUIT
    • BatteryKeyStatus_CONNECTED
  • battery_pack_state: Battery pack abnormal state
    • BatteryPackStatus_NORMAL
    • BatteryPackStatus_ABNORMAL
  • battery_comm_state: Battery pack communication status
    • BatteryCommunication_NORMAL
    • BatteryCommunication_ABNORMAL
Example Scriptexamples/other/bms.py
Remarks

7.7.2 Emergency Stop Status Query RPC Interface

When an emergency stop is triggered, an alert is also generated. You can also determine the emergency stop status through GetAlertList. This section provides a dedicated interface for querying emergency stop status.

Interface Namepb:/aimdk.protocol.HalEmergencyService/GetEmergencyState
OverviewGet emergency stop status
Interface Type HTTP JSON RPC
URLhttp://10.42.10.10:56430/rpc/aimdk.protocol.HalEmergencyService/GetEmergencyState
Input
text
{}
Output
text
{
  "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: Whether the emergency stop is triggered
  • reason: Reason why the emergency stop was triggered
  • wireless_emergency_stop: Whether the wireless emergency stop is triggered
  • software_emergency_stop: Whether the software emergency stop is triggered
The remaining fields can be ignored.
Example Scriptexamples/other/emergency_state.py
Remarks
  • The software emergency stop interface is not yet open for secondary development use, so software emergency stop cannot be triggered through the interface.
  • If an empty JSON body is returned, it means all parameters are at their default values, which indicates that the emergency stop has not been triggered.