更新时间:2023-05-22 06:38:31下载pdf
涂鸦智能设备通过设备功能(DP,Data Point)来控制设备,并且通过标准化的 DP 实现设备与 App 之间的交互。
implementation 'com.tuya.smart:tuyasmart-ipc-devicecontrol:3.17.0r139'
ITuyaCameraDevice
提供与设备信息通信的能力,提供了控制指令下发、获取当前设备功能的数据。
接口说明
根据设备 ID 初始化设备控制类。
ITuyaCameraDevice getCameraDeviceInstance(String devId)
示例代码
ITuyaCameraDevice tuyaCameraDevice = TuyaCameraDeviceControlSDK.getCameraDeviceInstance(devId);
接口说明
通过该方法可以判断设备是否支持指定的 DP。如果设备不支持某 DP,调用 数据下发 和 数据查询 的方法会失败。入参为设备功能的 DP ID
boolean isSupportCameraDps(String dpCodeID);
示例代码
boolean isSupportDpBasicFlip = mTuyaCameraDevice.isSupportCameraDps(DpBasicFlip.ID);
接口说明
通过缓存获取对应设备功能的数据,根据 Value 的数据类型可以分别用以下方法查询。
int queryIntegerCurrentCameraDps(String dpCodeID);
示例代码
int dpvalue = mTuyaCameraDevice.queryIntegerCurrentCameraDps(DpSDStatus.ID);
接口说明
通过缓存获取对应设备功能的数据,支持 Enum、Value、Boolean、String 所有的设备功能查询。
Object queryObjectCameraDps(String dpCodeID);
示例代码
Object dpValue = mTuyaCameraDevice.queryObjectCameraDps(DpBasicFlip.ID);
如果使用 queryObjectCameraDps
进行查询,需要您对数据类型进行单独区分。
接口说明
通过缓存获取对应设备功能的数据,根据 String 和 Enum 的数据类型可以分别用以下方法查询。
String queryStringCurrentCameraDps(String dpCodeID);
示例代码
String mode = mTuyaCameraDevice.queryStringCurrentCameraDps(DpMotionSensitivity.ID);
接口说明
通过缓存获取对应设备功能的数据,根据 Boolean 的数据类型可以分别用以下方法查询。
boolean queryBooleanCameraDps(String dpCodeID);
示例代码
boolean dpValue = mTuyaCameraDevice.queryBooleanCameraDps(DpBasicFlip.ID);
接口说明
您可以通过局域网或者云端两种方式发送控制指令,即数据下发。
void publishCameraDps(String dpCode, Object value);
示例代码
//如果设备功能的返回值是 Boolean,回调可以设置 Boolean;如果是 enum/String,回调设置 String;如果是 value,回调设置 Integer
mTuyaCameraDevice.registorTuyaCameraDeviceControlCallback(DpBasicFlip.ID, new ITuyaCameraDeviceControlCallback<Boolean>() {
@Override
public void onSuccess(String s, DpNotifyModel.ACTION action, DpNotifyModel.SUB_ACTION sub_action, Boolean o) {
showPublishTxt.setText("LAN/Cloud query result: " + o);
}
@Override
public void onFailure(String s, DpNotifyModel.ACTION action, DpNotifyModel.SUB_ACTION sub_action, String s1, String s2) {
}
});
mTuyaCameraDevice.publishCameraDps(DpBasicFlip.ID, true);
ITuyaCameraDeviceControlCallback
类提供监听设备信息数据接收,以及 App 端数据下发后,收到设备回传来的回调。
public interface ITuyaCameraDeviceControlCallback<E> {
//成功回调
void onSuccess(String devId, ACTION action, SUB_ACTION subAction, E o);
//失败回调
void onFailure(String devId, ACTION action, SUB_ACTION subAction, String errorCode, String errorString);
}
支持的数据类型
数据类型 | 说明 |
---|---|
Boolean | 布尔型 |
String | 字符型、枚举型 |
Value | 数值型 |
设备功能 | DP ID | 数据类型 | value | 说明 | 功能定义 |
---|---|---|---|---|---|
DpBasicIndicator.ID |
101 | Boolean |
|
状态指示灯 | 开启或关闭设备正常状态下的指示灯,在晚间避免光污染。配网阶段、设备故障等情况下指示灯仍需要正常显示以提示用户 |
DpBasicFlip.ID |
103 | Boolean |
|
画面翻转 | 开启或关闭画面垂直翻转,用于设备倒装时调整画面方向 |
DpBasicOSD.ID |
104 | Boolean |
|
时间水印 | 开启或关闭直播画面的时间水印 |
DpBasicPrivate.ID |
105 | Boolean |
|
隐私模式 | 开启或关闭隐私模式,休眠时设备的音视频采集不工作,即设备无法直播也无法保存录像 |
DpBasicNightvision.ID |
108 | Enum |
|
红外夜视功能 | 调整红外夜视功能的开启、关闭、自动状态 |
设备功能 | DP ID | 数据类型 | value | 说明 | 功能定义 |
---|---|---|---|---|---|
DpPIRSwitch.ID |
152 | Enum |
|
PIR 开关及灵敏度 | 调整 PIR 功能的关闭、低灵敏度、中灵敏度、高灵敏度 |
DpMotionSwitch.ID |
134 | Boolean |
|
移动侦测报警开关 | 开启或关闭移动侦测报警,开启后,设备需要在适当的条件下每次检测到移动均上报消息到服务器 |
DpMotionSensitivity.ID |
106 | Enum |
|
移动侦测报警灵敏度设置 | 设置移动侦测报警的灵敏度 |
设备功能 | DP ID | 数据类型 | value | 说明 | 功能定义 |
---|---|---|---|---|---|
DpDecibelSwitch.ID |
139 | Boolean |
|
声音侦测报警开关 | 开启或关闭声音侦测报警,开启后,设备需要在适当的条件下每次检测到声音均上报消息到服务器 |
DpDecibelSensitivity.ID |
140 | Enum |
|
声音侦测报警灵敏度设置 | 设置声音侦测报警的灵敏度 |
设备功能 | DP ID | 数据类型 | value | 说明 | 功能定义 |
---|---|---|---|---|---|
DpSDStatus.ID |
110 | Value |
|
存储卡状态 | 设备向云端上报当前 SD 卡的状态,包括 SD 卡正常、异常、空间不足等 |
DpSDStorage.ID |
109 | String | String | 存储卡容量信息查询 | 上报存储卡当前的容量状态,包括总容量、已使用容量、剩余容量 |
DpSDFormat.ID |
111 | Boolean | Boolean | 存储卡格式化 | 发起格式化存储卡的指令、上报当前存储卡格式化的进度等状态 |
DpSDFormatStatus.ID |
117 | Value | 正数为格式化进度 0-100 | 当前存储卡格式化的进度等状态 | 正数为格式化进度,100 即格式化成功。错误码:
|
DpSDRecordSwitch.ID |
150 | Boolean |
|
本地录像开关 | 开启或关闭 SD 卡录像,关闭后设备不会将实时录像记录在 SD 卡 |
DpRecordMode.ID |
151 | Enum |
|
本地录像模式选择 | 在本地录像开启的状态下,选择录像的模式,支持 事件录像 和 连续录像 |
设备功能 | DP ID | 数据类型 | value | 说明 | 功能定义 |
---|---|---|---|---|---|
DpPTZControl.ID |
119 | Enum |
|
云台方向控制 | 用于控制云台开始转动以及转动的方向。 |
DpPTZStop.ID |
116 | Boolean | Boolean,云台停止转动命令,无参数 | 控制云台停止转动 | 云台停止转动命令,无参数 |
设备功能 | DP ID | 数据类型 | value | 说明 | 功能定义 |
---|---|---|---|---|---|
DpWirelessElectricity.ID |
145 | Value | 设备电量,上报 0-100 的整数 | 电池及设备状态信息 | 设备主动上报当前电量,电量发生变化时上报,同时设备及时通知云端当前休眠、唤醒状态 |
DpWirelessLowpower.ID |
147 | Value | Value | 低电量报警阈值 | 用户可以在 App 上设置阈值,报警规则为 dp145≤dp147 则报警 |
DpWirelessBatterylock.ID |
153 | Boolean |
|
电池锁 | 控制打开、关闭电池锁 |
DpWirelessPowermode.ID |
146 | Enum |
|
设备供电方式查看 | 设备主动上报当前供电状态,供电状态发生变化时上报 |
字符串枚举类型设备功能的取值范围,在 IPC SDK 中有定义相应的字符串枚举常量,如下表所示。
设备功能 | 枚举 |
---|---|
DpMotionSensitivity |
MotionSensitivityMode |
DpBasicNightvision |
NightStatusMode |
DpPIRSwitch |
PIRMode |
DpRecordMode |
RecordMode |
DpDecibelSensitivity |
SoundSensitivityMode |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈