产品配置 相关接口
API 列表
函数 | 说明 |
---|---|
Qth.setProductInfo() | 配置产品信息 |
Qth.setServer() | 配置服务器域名 |
Qth.setLifetime() | 配置设备生命周期 |
Qth.setEventCb() | 配置事件回调函数 |
Qth.setMcuVer() | 配置MCU版本信息 |
Qth.setAppVer() | 配置脚本版本信息 |
API 详情
Qth.setProductInfo
该函数用于配置产品信息。产品信息包括 ProductKey 和 ProductSecret,均为在平台创建产品时生成。
函数原型
python
Qth.setProductInfo(pk, ps)
参数说明
输入参数
pk
:在平台创建产品时生成的 ProductKey。ps
:在平台创建产品时生成的 ProductSecret。
输出参数
- 无。
返回值
- 成功:返回
True
。 - 失败:返回
False
。
- 成功:返回
调用示例
python
Qth.setProductInfo("xxxxxx", "xxxxxxxxxxxxxxxx")
Qth.setServer
该函数用于设置服务器域名。
函数原型
python
Qth.setServer(url)
参数说明
输入参数
url
:服务器域名。可选,不配置时使用默认值,默认为:mqtts://iot-south.quectelcn.com:8883
。地区 服务器域名 中国地区非加密 mqtt://iot-south.quectelcn.com:1883 中国地区加密 mqtts://iot-south.quectelcn.com:8883 欧洲地区非加密 mqtt://iot-south.acceleronix.io:1883 欧洲地区加密 mqtts://iot-south.acceleronix.io:8883
输出参数
- 无。
返回值
- 成功:返回
True
。 - 失败:返回
False
。
- 成功:返回
调用示例
python
Qth.setServer("mqtts://iot-south.quectelcn.com:8883")
Qth.setLifetime
该函数用于设置 MQTT 连接的生命周期。
函数原型
python
Qth.setLifetime(lifetime)
参数说明
输入参数
lifetime
:MQTT 连接的生命周期,范围是21-600,默认值是120,单位为秒。
输出参数
- 无。
返回值
- 成功:返回
True
。 - 失败:返回
False
。
- 成功:返回
调用示例
python
Qth.setLifetime(120)
Qth.setEventCb
该函数用于设置用户事件回调。
函数原型
python
Qth.setEventCb(eventlist)
参数说明
输入参数
eventlist
:用户事件回调函数。devEvent
:设备事件回调函数。- 函数原型c
devEventCb(event, result)
- 输入参数
event
:事件类型取值 描述 1 设备联网事件 2 设备与平台交互事件 3 设备重置事件 result
:事件码- 成功:返回
0
。 - 失败:返回其它值,详情请参考错误码列表
- 成功:返回
- 函数原型
recvTsl
:tsl数据接收回调函数。- 函数原型c
recvTslCb(value)
- 输入参数
value
:tsl物模型数据,字典类型
- 函数原型
readTsl
:tsl数据请求回调函数。- 函数原型c
readTslCb(ids, pkgId)
- 输入参数
ids
:tsl物模型ID,数组类型pkgId
:数据包ID
- 函数原型
readTslServer
:tsl服务请求回调函数。- 函数原型c
readTslServerCb(serverId, value, pkgId)
- 输入参数
serverId
:tsl物模型服务IDvalue
:tsl物模型数据,json类型pkgId
:数据包ID
- 函数原型
recvTrans
:透传数据接收回调函数。- 函数原型c
recvTransCb(value)
- 输入参数
value
:透传数据
- 函数原型
ota
:OTA相关事件回调函数。otaPlan
:OTA计划下发回调函数。- 函数原型c
otaPlanCb(plans)
- 输入参数
plans
:下发的OTA计划,数组类型,可能同时存在多个OTA计划,数组里所包含的数据内容如下:c[(组件类型,组件标识,源版本,目标版本,Ota升级最小电量,ota升级需要磁盘空间,Ota升级最小信号强度),(组件类型,组件标识,源版本,目标版本,Ota升级最小电量,ota升级需要磁盘空间,Ota升级最小信号强度)...]
- 函数原型
fotaResult
:OTA升级结果回调函数。- 函数原型c
fotaResultCb(comp_no, result)
- 输入参数
comp_no
:组件标识result
:升级结果- 成功:返回
True
。 - 失败:返回
False
。
- 成功:返回
- 函数原型
输出参数
- 无。
返回值
- 无。
调用示例
python
def App_devEventCb(event, result):
print('event:', event, result)
if(2== event and 0 == result):
Qth.otaRequest()
def App_cmdRecvTransCb(value):
print('recvTrans:', value)
ret = Qth.sendTrans(1, value)
print('sendTrans ret:', ret)
def App_cmdRecvTslCb(value):
print('recvTsl:', value)
ret = Qth.sendTsl(1, value)
print('sendTsl ret:', ret)
def App_cmdReadTslCb(ids, pkgId):
print('readTsl:', ids, pkgId)
value = {1:10,2:'hello'}
Qth.ackTsl(0, value, pkgId)
def App_cmdRecvTslServerCb(serverId, value, pkgId):
print('recvTslServer:', serverId, value, pkgId)
Qth.ackTslServer(1, serverId, value, pkgId)
def App_otaPlanCb(plans):
print('otaPlan:', plans)
Qth.otaAction(1)
def App_fotaResultCb(comp_no, result):
print('fotaResult:', comp_no, result)
eventOtaCb={
'otaPlan':App_otaPlanCb,
'fotaResult':App_fotaResultCb
}
eventCb={
'devEvent':App_devEventCb,
'recvTrans':App_cmdRecvTransCb,
'recvTsl':App_cmdRecvTslCb,
'readTsl':App_cmdReadTslCb,
'readTslServer':App_cmdRecvTslServerCb,
'ota':eventOtaCb
}
Qth.setEventCb(eventCb)
Qth.setMcuVer
该函数用于设置 MCU 版本。
函数原型
python
Qth.setMcuVer(comp_no, version, infoCB, resultCB)
参数说明
输入参数
comp_no
:MCU 组件标识。version
:MCU 组件版本。infoCB
:SOTA固件信息回调函数。- 函数原型c
infoCB(comp_no, version, url, md5, crc)
- 输入参数
comp_no
:组件标识version
:目标版本url
:固件链接md5
:固件MD5(32字节小写)crc
:固件CRC32(MPEG-2)
- 函数原型
resultCB
:SOTA升级结果回调函数。- 函数原型c
resultCB(comp_no, result)
- 输入参数
comp_no
:组件标识result
:升级结果- 成功:返回
True
。 - 失败:返回
False
。
- 成功:返回
- 函数原型
输出参数
- 无。
返回值
- 无。
调用示例
python
def App_sotaInfoCb(comp_no, version, url, md5, crc):
print('sotaInfo:', comp_no, version, url, md5, crc)
# 当使用url下载固件完成,且MCU更新完毕后,需要获取MCU最新的版本信息,并通过setMcuVer进行更新
# Qth.setMcuVer('MCU1', 'V1.2', App_sotaInfoCb, App_sotaResultCb)
def App_sotaResultCb(comp_no, result):
print('sotaResult:',comp_no, result)
Qth.setMcuVer('MCU1', 'V1.1', App_sotaInfoCb, App_sotaResultCb)
Qth.setMcuVer('MCU2', 'V2.1', App_sotaInfoCb, App_sotaResultCb)
Qth.setAppVer
该函数用于设置 APP(Quecpython脚本) 版本。
函数原型
python
Qth.setAppVer(version, resultCB)
参数说明
输入参数
version
:APP组件版本。resultCB
:APP升级结果回调函数。- 函数原型c
resultCB(comp_no, result)
- 输入参数
comp_no
:组件标识result
:升级结果- 成功:返回
True
。 - 失败:返回
False
。
- 成功:返回
- 函数原型
输出参数
- 无。
返回值
- 无。
调用示例
python
Qth.setAppVer('V1.0.1', App_sotaResultCb)
错误码列表
枚举值 | 描述 |
---|---|
-5888 | 调用其他微服务接口网络错误 |
-5889 | 设备消息被限制 |
-5890 | 设备不能激活 |
-5891 | 设备已认证 |
-5892 | 通过PK没有查到产品信息 |
-5893 | 密码解析错误 |
-5894 | Sign错误 |
-5895 | Rand不符合规则 (Rand为随机数,值为base64字符) |
-5896 | 参数传入的DK,PK与数据库存储的DK,PK不一致 |
-5897 | DK不符合规则 |
-5898 | Flag不符合规则 |
-5899 | ClientId规则和Password不匹配 |
-5900 | 设备的DS错误 |
-5901 | 没查到设备信息 |
-5902 | 网关与子设备没有关联关系 |
-5903 | 子设备重复登录 |
-5904 | 设备不在线 |
-5905 | 未知错误 |
-5906 | 静态设备不可认证 |
-5907 | 断线重连 |
-5908 | 主动断开连接 |
-4352 | 获取配置失败 |
-4353 | 设备未认证 |
-4354 | 设备连接失败 |
-4355 | 设备重置失败 |
-4356 | 设备移除失败 |
-4357 | 设备已连接 |
-4358 | 设备重置异常(一机一密设备收到了新的设备密钥) |
-17920 | mqtt 内部错误 |
-17921 | mqtt 网络异常 |
-17922 | mqtt 心跳异常 |
-17923 | mqtt 订阅错误 |
-17924 | mqtt 连接错误 |
-17925 | mqtt 不支持的协议版本 |
-17926 | mqtt 标识符被拒绝 |
-17927 | mqtt 服务器不可用 |
-17928 | mqtt 用户名或密码错误 |
-17929 | mqtt 未授权 |
-17930 | URL解析失败 |
-17931 | 获取IP失败 |
-17932 | 数据包构建失败 |
-17933 | 数据包发送失败 |