跳到主要内容

远程控制(TSRemoteControl)

TSRemoteControl 模块提供对设备进行远程控制的能力,包括重启、关机和恢复出厂设置。适用于设备管理、问题排查和设备回收等场景。

前提条件

  1. 已成功初始化 TopStepComKit SDK
  2. 已建立与外围设备的蓝牙连接
  3. 外围设备支持远程控制功能

回调类型

回调类型说明
TSCompletionBlock通用完成回调,error 为 nil 表示成功,否则包含错误信息

接口方法

1. 设备控制

重启设备

向设备发送重启指令,设备将立即重启。

- (void)restartDevice:(TSCompletionBlock)completion;

参数

参数名类型说明
completionTSCompletionBlock指令发送完成回调,error 为 nil 表示指令发送成功

代码示例

id<TSRemoteControlInterface> remoteControl = [TopStepComKit sharedInstance].remoteControl;

[remoteControl restartDevice:^(NSError *_Nullable error) {
if (!error) {
TSLog(@"重启指令发送成功,设备正在重启");
// 设备重启后蓝牙连接会断开,建议监听连接状态
} else {
TSLog(@"重启指令发送失败: %@", error.localizedDescription);
}
}];

关机

向设备发送关机指令,设备将立即关闭电源。

- (void)shutdownDevice:(TSCompletionBlock)completion;

参数

参数名类型说明
completionTSCompletionBlock指令发送完成回调,error 为 nil 表示指令发送成功

代码示例

id<TSRemoteControlInterface> remoteControl = [TopStepComKit sharedInstance].remoteControl;

[remoteControl shutdownDevice:^(NSError *_Nullable error) {
if (!error) {
TSLog(@"关机指令发送成功,设备正在关机");
} else {
TSLog(@"关机指令发送失败: %@", error.localizedDescription);
}
}];

恢复出厂设置

向设备发送恢复出厂设置指令,设备上的所有用户数据和配置将被清除,此操作不可撤销

- (void)factoryResetDevice:(TSCompletionBlock)completion;

参数

参数名类型说明
completionTSCompletionBlock指令发送完成回调,error 为 nil 表示指令发送成功

代码示例

id<TSRemoteControlInterface> remoteControl = [TopStepComKit sharedInstance].remoteControl;

// 执行前应向用户展示二次确认弹窗
[remoteControl factoryResetDevice:^(NSError *_Nullable error) {
if (!error) {
TSLog(@"恢复出厂设置指令发送成功,设备数据正在清除");
// 恢复出厂设置后设备会重启,蓝牙连接将断开
} else {
TSLog(@"恢复出厂设置失败: %@", error.localizedDescription);
}
}];

注意事项

  1. 指令发送与执行分离TSCompletionBlock 回调表示指令已成功发送,不代表设备已完成对应操作
  2. 连接状态变化:重启和关机后,蓝牙连接将断开,建议通过 TSBleConnectInterface 监听连接状态变化
  3. 恢复出厂设置不可逆:该操作将清除设备上的全部用户数据和配置,执行前务必向用户展示确认弹窗
  4. 生产环境谨慎使用:以上三个操作均为高危操作,建议仅在明确的用户授权下调用,并做好操作日志记录