本Class是用于描述XLink设备实体的Model类。属性主要是描述设备实体的一些特征,例如mac、productId、deviceId等。
另外提供了一些构建方法,还有将设备实体转字典等方法。
一、注意事项
因为SDK内部会对此对象有相关操作,为了避免不小心覆盖了一些方法或属性,因此强烈不建议继承本Class。
一般建议实际开发过程中,具体的设备对象引用一个XDevice对象,用于进行设置数据端点、获取数据端点等操作。
二、属性列表
| 参数名称 | 描述 | 类型 |
|---|---|---|
| productID | 产品ID | NSString |
| macAddress | MAC地址 | NSData |
| deviceName | 设备名称 | NSString |
| role | 权限 | NSNumber |
| source | 来源 | NSNumber |
| deviceID | 设备ID | uint32_t |
| pairingID | 内网配对id | uint16_t |
| pairingSignature | 内网配对秘钥 | NSData |
| ticket | 内网配对凭证 | NSData |
| address | IP地址 | NSData |
| protocolVersion | 协议版本 | uint16_t |
| firmwareMod | 固件型号 | NSString |
| firmwareVersion | 固件版本号 | NSString |
| mcuMod | MCU型号 | NSString |
| mcuVersion | mcu软件版本号 | NSString |
| lastLoginDate | 上次登录的时间 | NSString |
| subscribeDate | 订阅设备的时间 | NSString |
| sn | 设备序列号 | NSString |
| authority | 对设备的控制权限,R可读,W可写,RW可读可写;默认为null相当于RW | NSString |
| isActive | 是否激活 | BOOL |
| activeDate | 设备的激活时间 | NSString |
| activeCode | 激活码 | NSString |
| authorizeCode | 认证码 | NSString |
| 设备销售时间 | salesDate | NSString |
| deviceType | 设备类型 | XDeviceType |
| isBinded | 设备是否被绑定过 | BOOL |
| isCloudOnline | 云端是否在线 | BOOL |
| connectionState | 和设备的连接状态 | XDeviceConnectionState |
| localConnectionState | 内网连接状态 | XDeviceConnectionState |
| cloudConnectionState | 外网连接状态 | XDeviceConnectionState |
三、API 列表
1. 通过字典还原成设备实体
- (instancetype)initWithDictionary:(NSDictionary *)dic;
支持的版本
开始支持的版本:5.0
注意事项
传入的字典对象需要是通过getDictionaryFormat获取的,不然可能有问题。
输入参数
具体的接口输入参数描述如下:
| 参数名称 | 描述 | 类型 | 必选 |
|---|---|---|---|
| dic | 设备字典 | NSDictionary | 是 |
输出参数
无
错误码
无
2. 将设备属性格式化成字典
- (NSDictionary *)getDictionaryFormat;
支持的版本
开始支持的版本:5.0
注意事项
无
输入参数
无
输出参数
具体的接口输出参数描述如下:
| 描述 | 类型 | 必选 |
|---|---|---|
| 设备字典 | NSDictionary | 是 |
错误码
无
3. 获得Mac地址的字符串形式,格式:00:00:11:aa:bb:cc
- (NSString *)getMacAddressString;
支持的版本
开始支持的版本:5.0
注意事项
无
输入参数
无
输出参数
具体的接口输出参数描述如下:
| 描述 | 类型 | 必选 |
|---|---|---|
| Mac地址 | NSString | 是 |
错误码
无
4. 获得Mac地址的字符串形式,格式:000011AABBCC
- (NSString *)getMacAddressSimple;
支持的版本
开始支持的版本:5.0
注意事项
无
输入参数
无
输出参数
具体的接口输出参数描述如下:
| 描述 | 类型 | 必选 |
|---|---|---|
| Mac地址 | NSString | 是 |
错误码
无
5. 比较两个设备是否是同一个设备
- (BOOL)isEqualToDevice:(XDevice *)otherDevice;
支持的版本
开始支持的版本:6.0
注意事项
无
输入参数
具体的接口输入参数描述如下:
| 参数名称 | 类型 | 描述 | 必选 |
|---|---|---|---|
| otherDevice | XDevice | 要比较的设备对象 | 是 |
输出参数
具体的接口输出参数描述如下:
| 描述 | 类型 | 必选 |
|---|---|---|
| 比较结果 | BOOL | 是 |
错误码
无
