该模块提供腾讯 IoT 平台物联网套件客户端功能,目前的产品节点类型仅支持“设备”,设备认证方式支持“一机一密”和“动态注册认证”。
BC25PA系列不支持该功能。
初始化腾讯 IoT 平台
TXyun
TXyun(productID, devicename, devicePsk, ProductSecret)
配置腾讯 IoT 平台物联网套件的产品信息和设备信息。
参数描述:
- productID - 产品标识(唯一ID) ,字符串类型
- devicename - 设备名称 ,字符串类型
- devicePsk - 设备密钥(一型一密认证方案时此参数传入None),字符串类型,可选参数,默认为None
- ProductSecret - 产品密钥,字符串类型,一机一密认证方案时,此参数传入None一型一密认证方案时,此参数传入真实的产品密钥
返回值描述:
返回TXyun连接对象
设置相关功能和回调
TXyun.setMqtt
TXyun.setMqtt(clean_session, keepAlive=300,reconn=True)
设置MQTT数据通道的参数
参数描述:
- clean_session - 产品标识(唯一ID),布尔值类型,如果为True, 那么代理将在其断开连接时删除有关此客户端的所有信息。如果为False,则客户端是持久客户端,当客户端断开连接时,订阅信息和排队消息将被保留。默认为False
- keepAlive - 通信之间允许的最长时间段(以秒为单位),整型类型,默认为300,范围(60-1000),建议300以上
- reconn - (可选)控制是否使用内部重连的标志,布尔值类型,默认开启为True
返回值描述:
成功返回整型值0,失败返回整型值-1。
TXyun.setCallback
TXyun.setCallback(callback)
注册回调函数
参数描述:
- callback - 设置消息回调函数,function类型,当服务端响应时触发该方法
回调函数参数
- topic - mqtt topic主题,字符串类型
- msg - 需要发送的数据,字符串类型
返回值描述:
无
TXyun.error_register_cb
TXyun.error_register_cb(callback)
设置异常回调函数,腾讯 IoT 平台以及umqtt内部线程异常时通过回调返回error信息,该方法在设置不使用内部重连的情况下才可触发回调
参数描述:
- callback - 设置异常回调函数,function类型
回调函数参数
- msg - 异常信息,字符串类型
返回值描述:
无
示例:
from TenCentYun import TXyun
def err_cb(err):
print(“thread err:”)
print(err)
tenxun = TXyun(productID, devicename, devicePsk, ProductSecret)
tenxun.error_register_cb(err_cb)
订阅发布功能
TXyun.subscribe
TXyun.subscribe(topic,qos)
订阅mqtt主题。
参数描述:
- topic - mqtt topic主题,字符串类型
- qos - MQTT消息服务质量(默认0,可选择0或1),整型类型 0:发送者只发送一次消息,不进行重试 1:发送者最少发送一次消息,确保消息到达Broker
返回值描述:
成功返回整型值0,失败返回整型值-1。
TXyun.publish
TXyun.publish(topic,msg, qos=0)
发布消息。
参数描述:
- topic - mqtt topic主题,字符串类型
- msg - 需要发送的数据,字符串类型
- qos - MQTT消息服务质量(默认0,可选择0或1),整型类型 0:发送者只发送一次消息,不进行重试 1:发送者最少发送一次消息,确保消息到达Broker
返回值描述:
成功返回整型值0,失败返回整型值-1。
启停服务相关功能
TXyun.start
TXyun.start()
关闭连接。
参数描述:
无
返回值描述:
无
TXyun.ping
TXyun.ping()
发送心跳包
参数描述:
无
返回值描述:
无
TXyun.getTXyunsta
TXyun.getTXyunsta()
获取腾讯 IoT 平台连接状态
注意:BG95平台不支持该功能。
参数描述:
无
返回值描述:
- 0 :连接成功
- 1:连接中
- 2:服务端连接关闭
- -1:连接异常