远程控制(TSRemoteControl)
TSRemoteControl 模块提供对设备进行远程控制的能力,包括重启、关机和恢复出厂设置。适用于设备管理、问题排查和设备回收等场景。
前提条件
- 已成功初始化 TopStepComKit SDK
- 已建立与外围设备的蓝牙连接
- 外围设备支持远程控制功能
回调类型
| 回调类型 | 说明 |
|---|---|
TSCompletionBlock | 通用完成回调,error 为 nil 表示成功,否则包含错误信息 |
接口方法
1. 设备控制
重启设备
向设备发送重启指令,设备将立即重启。
- (void)restartDevice:(TSCompletionBlock)completion;
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
completion | TSCompletionBlock | 指令发送完成回调,error 为 nil 表示指令发送成功 |
代码示例
id<TSRemoteControlInterface> remoteControl = [TopStepComKit sharedInstance].remoteControl;
[remoteControl restartDevice:^(NSError *_Nullable error) {
if (!error) {
TSLog(@"重启指令发送成功,设备正在重启");
// 设备重启后蓝牙连接会断开,建议监听连接状态
} else {
TSLog(@"重启指令发送失败: %@", error.localizedDescription);
}
}];
关机
向设备发送关机指令,设备将立即关闭电源。
- (void)shutdownDevice:(TSCompletionBlock)completion;
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
completion | TSCompletionBlock | 指令发送完成回调,error 为 nil 表示指令发送成功 |
代码示例
id<TSRemoteControlInterface> remoteControl = [TopStepComKit sharedInstance].remoteControl;
[remoteControl shutdownDevice:^(NSError *_Nullable error) {
if (!error) {
TSLog(@"关机指令发送成功,设备正在关机");
} else {
TSLog(@"关机指令发送失败: %@", error.localizedDescription);
}
}];
恢复出厂设置
向设备发送恢复出厂设置指令,设备上的所有用户数据和配置将被清除,此操作不可撤销。
- (void)factoryResetDevice:(TSCompletionBlock)completion;
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
completion | TSCompletionBlock | 指令发送完成回调,error 为 nil 表示指令发送成功 |
代码示例
id<TSRemoteControlInterface> remoteControl = [TopStepComKit sharedInstance].remoteControl;
// 执行前应向用户展示二次确认弹窗
[remoteControl factoryResetDevice:^(NSError *_Nullable error) {
if (!error) {
TSLog(@"恢复出厂设置指令发送成功,设备数据正在清除");
// 恢复出厂设置后设备会重启,蓝牙连接将断开
} else {
TSLog(@"恢复出厂设置失败: %@", error.localizedDescription);
}
}];
注意事项
- 指令发送与执行分离:
TSCompletionBlock回调表示指令已成功发送,不代表设备已完成对应操作 - 连接状态变化:重启和关机后,蓝牙连接将断开,建议通过
TSBleConnectInterface监听连接状态变化 - 恢复出厂设置不可逆:该操作将清除设备上的全部用户数据和配置,执行前务必向用户展示确认弹窗
- 生产环境谨慎使用:以上三个操作均为高危操作,建议仅在明确的用户授权下调用,并做好操作日志记录