当前位置: 首页 > news >正文

QuecPython+腾讯云:快速连接腾讯云l0T平台

该模块提供腾讯 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 TXyundef 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.disconnect 

TXyun.disconnect()

关闭连接。

参数描述:

返回值描述:

 TXyun.ping 

TXyun.ping()

发送心跳包

参数描述:

返回值描述:

 TXyun.getTXyunsta 

TXyun.getTXyunsta()

获取腾讯 IoT 平台连接状态

注意:BG95平台不支持该功能。

参数描述:

返回值描述:

  • 0 :连接成功

  • 1:连接中

  • 2:服务端连接关闭

  • -1:连接异常

示例:

from TenCentYun import TXyun
import log
import utime
import checkNet'''
下面两个全局变量是必须有的,用户可以根据自己的实际项目修改下面两个全局变量的值
'''
PROJECT_NAME = "QuecPython_TencentYun_example"
PROJECT_VERSION = "1.0.0"checknet = checkNet.CheckNetwork(PROJECT_NAME, PROJECT_VERSION)# 设置日志输出级别
log.basicConfig(level=log.INFO)
txyun_log = log.getLogger("TenCentYun")'''
腾讯 IoT 平台物联网套件客户端功能
'''
productID = ""  # 产品标识(参照接入腾讯 IoT 平台应用开发指导)
devicename = ""   # 设备名称(参照接入腾讯 IoT 平台应用开发指导)
devicePsk = ""   # 设备密钥(一型一密认证此参数传入None, 参照接入腾讯 IoT 平台应用开发指导)
ProductSecret = None   # 产品密钥(一机一密认证此参数传入None,参照接入腾讯 IoT 平台应用开发指导)tenxun = TXyun(productID, devicename, devicePsk, ProductSecret)  # 创建连接对象
state = 5def sub_cb(topic, msg):   # IoT 平台消息响应回调函数global statetxyun_log.info("Subscribe Recv: Topic={},Msg={}".format(topic.decode(), msg.decode()))state -= 1if __name__ == '__main__':stagecode, subcode = checknet.wait_network_connected(30)if stagecode == 3 and subcode == 1:txyun_log.info('Network connection successful!')tenxun.setMqtt()  # 设置mqtttenxun.setCallback(sub_cb)   # 设置消息回调函数topic = ""  # 输入自定义的Topictenxun.subscribe(topic)   # 订阅Topictenxun.start()tenxun.publish(topic, "hello world")   # 发布消息while 1:if state:passelse:tenxun.disconnect()breakelse:txyun_log.info('Network connection failed! stagecode = {}, subcode = {}'.format(stagecode, subcode))

相关文章:

  • Hive优化秘籍:大数据处理加速之道
  • OpenGL超大分辨率图像显示
  • 恩智浦 GoPoint 全面解析:初学者的嵌入式 AI 学习指南
  • venv和pyenv在mac上
  • 【星海随笔】信息安全管理与法律法规
  • python3使用:macOS上通过Homebrew安装pip库
  • C++GO语言微服务项目之 go语言基础语法
  • Linux——特殊权限管理
  • 【STM32单片机】#14 PWR电源控制
  • 神经网络之互动练习详解:从基础到拟合非线性数据
  • C++ 内存泄漏相关
  • OpenShift AI - OpenShift 支持的 NVIDIA GPU 共享和分区技术 2
  • Netty 的 Reactor 模型
  • 我用cursor 搭建了临时邮箱服务-Temp Mail 365
  • K-means
  • 机器学习-简要与数据集加载
  • React Native【详解】搭建开发环境,创建项目,启动项目
  • 虚拟机连不上网只有lo地址
  • 高频PCB设计如何选择PCB层数?
  • 2025年LangChain(V0.3)开发与综合案例
  • 湖北奥莱斯轮胎公司逃避监管排放大气污染物被罚25万元
  • 观察|印巴交火开始升级,是否会升级为第四次印巴战争?
  • 潘功胜:坚定支持汇金公司在必要时实施对股票市场指数基金的增持
  • 吴清:全力支持中央汇金公司发挥好类“平准基金”作用
  • 巴基斯坦军方:印度向巴本土及巴控克什米尔发射导弹
  • IPO周报|节后首批3只新股本周申购,色谱设备龙头来了