更新时间:2024-05-20 01:30:09下载pdf
MQTT 服务协议定义了 MQTT 服务的基本操作。
方法列表
connect()
:连接 MQTT 服务disconnect()
:断开 MQTT 服务连接subscribe(_ topic: String, success: (()->Void)?, failure: ((Error)->Void)?)
:订阅指定主题unsubscribe(_ topic: String, success: (()->Void)?, failure: ((Error)->Void)?)
:取消订阅指定主题方法说明
connect()
连接 MQTT 服务,该方法无参数。
disconnect()
断开 MQTT 服务连接,该方法无参数。
参数说明
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
topic | String | 是 | 要订阅的主题 |
success | (() -> Void)? | 否 | 订阅成功回调函数 |
failure | ((Error) -> Void)? | 否 | 订阅失败回调函数 |
代码示例
MQTTService.shared.subscribe("topic", success: {
print("订阅成功")
}, failure: { error in
print("订阅失败:\(error.localizedDescription)")
})
参数说明
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
topic | String | 是 | 要取消订阅的主题 |
success | (() -> Void)? | 否 | 取消订阅成功回调函数 |
failure | ((Error) -> Void)? | 否 | 取消订阅失败回调函数 |
代码示例
MQTTService.shared.unsubscribe("topic", success: {
print("取消订阅成功")
}, failure: { error in
print("取消订阅失败:\(error.localizedDescription)")
})
参数说明
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
deviceId | NSString | 是 | 要初始化设备的 ID |
返回 Device 对象说明
参数名 | 类型 | 说明 |
---|---|---|
deviceId | String | 设备 ID |
uuid | String | 设备 UUID |
name | String | 设备名称 |
icon | String | 设备图标 |
productId | String | 产品 ID |
category | String | 设备品类 |
timezoneId | String | 设备时区 ID |
isCloudOnline | Bool | 设备是否在云端在线 |
isLocalOnline | Bool | 设备是否在本地在线 |
isOnline | Bool | 设备是否在线 |
latitude | String | 设备所在纬度 |
longitude | String | 设备所在经度 |
dps | [String : Any] | 设备数据点 |
schemas | [String : IndustryDeviceKit.DpSchema] | 设备数据点模式 |
deviceType | IndustryDeviceKit.DeviceType | 设备类型 |
localKey | String | 设备本地密钥 |
pv | Double | 设备协议版本 |
wifiBackup | IndustryDeviceKit.IDeviceBackupNet | 设备备用网络 |
ota | IndustryDeviceKit.IDeviceOTA | 设备 OTA 升级 |
delegate | IndustryDeviceKit.IDeviceDelegate | 设备代理 |
代码示例
let device = DeviceService.shared.device(withDeviceId: "123456")
根据设备 ID,加载设备对象。
参数说明
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
deviceId | String | 是 | 要加载设备的 ID |
success | ((IndustryDeviceKit.IDevice) -> Void)? | 否 | 成功加载设备后的回调函数 |
failure | ((Error) -> Void)? | 否 | 加载设备失败后的回调函数 |
代码示例
DeviceService.shared.load("123456", success: { device in
// 成功加载设备后的回调函数
}, failure: { error in
// 加载设备失败后的回调函数
})
参数说明
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
deviceId | String | 是 | 要重命名的设备 ID |
newName | String | 是 | 设备的新名称 |
success | (() -> Void)? | 否 | 成功重命名设备后的回调函数 |
failure | ((Error) -> Void)? | 否 | 重命名设备失败后的回调函数 |
代码示例
DeviceService.shared.rename("123456", newName: "New Device Name", success: {
// 成功重命名设备后的回调函数
}, failure: { error in
// 重命名设备失败后的回调函数
})
参数说明
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
deviceId | String | 是 | 要删除的设备 ID |
success | (() -> Void)? | 否 | 成功删除设备后的回调函数 |
failure | ((Error) -> Void)? | 否 | 删除设备失败后的回调函数 |
代码示例
DeviceService.shared.remove("123456", success: {
// 成功删除设备后的回调函数
}, failure: { error in
// 删除设备失败后的回调函数
})
参数说明
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
deviceId | String | 是 | 设备 ID |
success | (() -> Void)? | 否 | 操作成功回调 |
failure | ((Error) -> Void)? | 否 | 操作失败回调 |
代码示例
// 调用 resetFactory 方法
DeviceService.shared.resetFactory("your_device_id", success: {
print("设备已恢复出厂设置。")
}) { (error) in
print("设备恢复出厂设置失败: \(error.localizedDescription)")
}
用于监听设备状态的协议。
设备信息更新回调。
@objc optional func deviceInfoUpdated(device: IndustryDeviceKit.IDevice)
参数名 | 类型 | 说明 |
---|---|---|
device | IndustryDeviceKit.IDevice | 设备对象 |
设备数据更新回调。
@objc optional func deviceDpsUpdated(device: IndustryDeviceKit.IDevice)
参数名 | 类型 | 说明 |
---|---|---|
device | IndustryDeviceKit.IDevice | 设备对象 |
设备移除回调。
@objc optional func deviceRemoved(device: IndustryDeviceKit.IDevice)
参数名 | 类型 | 说明 |
---|---|---|
device | IndustryDeviceKit.IDevice | 设备对象 |
设备信号强度回调。
@objc optional func device(_ device: IndustryDeviceKit.IDevice, signalStrength: String)
参数名 | 类型 | 说明 |
---|---|---|
device | IndustryDeviceKit.IDevice | 设备对象 |
signalStrength | String | 设备信号强度 |
设备 OTA 状态变更回调。
@objc optional func device(_ device: IndustryDeviceKit.IDevice, otaStatusChanged: String)
参数名 | 类型 | 说明 |
---|---|---|
device | IndustryDeviceKit.IDevice | 设备对象 |
otaStatusChanged | String | 设备 OTA 状态变更 |
// 调用 checkFirmwareUpgrade 方法
industryOTAService.checkFirmwareUpgrade(success: { (firmwareUpgradeModels) in
if firmwareUpgradeModels.count > 0 {
print("有可用的固件升级:")
for firmwareUpgradeModel in firmwareUpgradeModels {
print("- \(firmwareUpgradeModel.version)")
}
} else {
print("没有可用的固件升级。")
}
}) { (error) in
print("检查固件升级失败: \(error.localizedDescription)")
}
参数名 | 类型 | 说明 |
---|---|---|
success | (([IndustryDeviceKit.IFirmwareUpgradeModel]) -> Void)? | 成功回调,返回设备固件升级信息 |
failure | ((Error) -> Void)? | 失败回调 |
industryOTAService.startFirmwareUpgrade(firmwares)
参数名 | 类型 | 说明 |
---|---|---|
firmwares | [IndustryDeviceKit.IFirmwareUpgradeModel] | 设备固件升级信息 |
industryOTAService.confirmWarningUpgradeTask(true)
参数名 | 类型 | 说明 |
---|---|---|
isContinue | Bool | 是否继续升级 |
// 定义成功和失败的回调函数
let onSuccess = {
print("固件升级已取消")
}
let onFailure = { (error: Error) in
print("固件升级取消失败:\(error.localizedDescription)")
}
// 调用 cancelFirmwareUpgrade 方法
industryOTAService.cancelFirmwareUpgrade(success: onSuccess, failure: onFailure)
参数名 | 类型 | 说明 |
---|---|---|
success | (() -> Void)? | 成功回调 |
failure | ((Error) -> Void)? | 失败回调 |
// 定义成功和失败的回调函数
let onSuccess = { (statusModel: IndustryDeviceKit.IFirmwareUpgradeStatusModel) in
print("固件升级状态:\(statusModel.status)")
}
let onFailure = { (error: Error) in
print("获取固件升级状态失败:\(error.localizedDescription)")
}
// 调用 getFirmwareUpgradingStatus 方法
industryOTAService.getFirmwareUpgradingStatus(success: onSuccess, failure: onFailure)
参数名 | 类型 | 说明 |
---|---|---|
success | ((IndustryDeviceKit.IFirmwareUpgradeStatusModel) -> Void)? | 成功回调,返回设备固件升级状态 |
failure | ((Error) -> Void)? | 失败回调 |
// 定义成功和失败的回调函数
let onSuccess = { (firmwareModels: [IndustryDeviceKit.IFirmwareUpgradeModel]) in
for firmwareModel in firmwareModels {
print("固件版本:\(firmwareModel.version),固件路径:\(firmwareModel.path)")
}
}
let onFailure = { (error: Error) in
print("获取设备本地固件信息失败:\(error.localizedDescription)")
}
// 调用 getDeviceLocalFirmwareInfo 方法
industryOTAService.getDeviceLocalFirmwareInfo(success: onSuccess, failure: onFailure)
参数名 | 类型 | 说明 |
---|---|---|
success | (([IndustryDeviceKit.IFirmwareUpgradeModel]) -> Void)? | 成功回调,返回设备本地固件版本信息 |
failure | ((Error) -> Void)? | 失败回调 |
参数说明
参数名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
dps |
IndustryDeviceKit.DpCommand |
是 | 数据点命令 |
success |
(() -> Void)? |
否 | 成功回调函数 |
failure |
((Error) -> Void)? |
否 | 失败回调函数 |
代码示例
// 定义数据点命令
let dps = IndustryDeviceKit.DpCommand()
// 定义成功和失败的回调函数
let onSuccess = {
print("数据点命令发送成功")
}
let onFailure = { (error: Error) in
print("数据点命令发送失败:\(error.localizedDescription)")
}
// 调用 publish 方法
device.publish(dps: dps, success: onSuccess, failure: onFailure)
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈