Skip to content

产品配置 相关接口

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物模型服务ID
          • value: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密码解析错误
-5894Sign错误
-5895Rand不符合规则 (Rand为随机数,值为base64字符)
-5896参数传入的DK,PK与数据库存储的DK,PK不一致
-5897DK不符合规则
-5898Flag不符合规则
-5899ClientId规则和Password不匹配
-5900设备的DS错误
-5901没查到设备信息
-5902网关与子设备没有关联关系
-5903子设备重复登录
-5904设备不在线
-5905未知错误
-5906静态设备不可认证
-5907断线重连
-5908主动断开连接
-4352获取配置失败
-4353设备未认证
-4354设备连接失败
-4355设备重置失败
-4356设备移除失败
-4357设备已连接
-4358设备重置异常(一机一密设备收到了新的设备密钥)
-17920mqtt 内部错误
-17921mqtt 网络异常
-17922mqtt 心跳异常
-17923mqtt 订阅错误
-17924mqtt 连接错误
-17925mqtt 不支持的协议版本
-17926mqtt 标识符被拒绝
-17927mqtt 服务器不可用
-17928mqtt 用户名或密码错误
-17929mqtt 未授权
-17930URL解析失败
-17931获取IP失败
-17932数据包构建失败
-17933数据包发送失败