本页介绍了 GetPowerStatus 的用法, 包含底盘当前的充电状态、电池电量、回坞状态等信息。
本页内容
Sample Code:
使用不同版本的Android Studio可能会带来编译异常,请自行下载相关库和修改build.gradle配置文件,本例程基于Slamware Android SDK 2.6.0 进行开发,若想尝试更高的SDK版本,请直接替换工程中的 slamware_sdk_android.jar 和 librpsdk.so 文件。 |
(以下任选其一)
到 Project Structure --> app --> Dependencies 检查Slamware SDK是否添加到工程中。
将 DeviceManager.connect()方法的
格式说明:AbstractSlamwarePlatform connect(String host, int port),其中host为底盘IP,port为网络端口号。
/* 与底盘连接 */ AbstractSlamwarePlatform robotPlatform = DeviceManager.connect("10.0.130.71", 1445); |
获取电量/充电状态
获取电量/充电状态/* 与底盘连接 */ AbstractSlamwarePlatform robotPlatform = DeviceManager.connect("10.0.130.71", 1445); /* 获取版本信息 */ sdkVersion.setText(robotPlatform.getSDKVersion()); try { /* 获取Slamware ID */ deviceID.setText(robotPlatform.getDeviceId()); /* 获取电源状态相关信息 */ PowerStatus powerStatus = robotPlatform.getPowerStatus(); /* 是否正在充电 */ if(powerStatus.isCharging() == true) { chargingStatus.setText("正在充电"); } else { chargingStatus.setText("未在充电"); } /* 是否DC connected */ if(powerStatus.isDCConnected() == true) { dcConnected.setText("已连接"); } else { dcConnected.setText("未连接"); } /* 剩余电池电量 */ batteryPercentage.setText(powerStatus.getBatteryPercentage() + "%"); /* 是否回到充电桩 */ if(powerStatus.getDockingStatus() == DockingStatus.OnDock) { dockStatus.setText("已回桩"); } else if (powerStatus.getDockingStatus() == DockingStatus.NotOnDock) { dockStatus.setText("未回桩"); } else { dockStatus.setText("未知状态"); } /* 睡眠状态 */ switch (powerStatus.getSleepMode()) { case Awake: sleepMode.setText("Awake"); break; case WakingUp: sleepMode.setText("WakingUp"); break; case Asleep: sleepMode.setText("Asleep"); break; case Unknown: sleepMode.setText("Unknown"); break; default: break; } /* print log info */ ... } catch (ConnectionFailException e) { /* Exception Handle code*/ ... } |