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

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))

相关文章:

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

该模块提供腾讯 IoT 平台物联网套件客户端功能,目前的产品节点类型仅支持“设备”,设备认证方式支持“一机一密”和“动态注册认证”。 BC25PA系列不支持该功能。 初始化腾讯 IoT 平台 TXyun TXyun(productID, devicename, devicePsk, ProductSecret)配置腾讯 IoT…...

RocketMQ 深度解析:架构设计与最佳实践

在分布式系统架构日益复杂的今天,消息中间件作为系统间通信的桥梁,扮演着至关重要的角色。RocketMQ 作为阿里开源的高性能分布式消息中间件,凭借其卓越的性能、丰富的功能以及高可用性,在电商、金融、互联网等众多领域得到广泛应用…...

Transformer编码器+SHAP分析,模型可解释创新表达!

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基本介绍 基于SHAP分析的特征选择和贡献度计算,Matlab2023b代码实现;基于MATLAB的SHAP可解释Transformer编码器回归模型,敏感性分析方法。 详细介绍 引言 在正向渗透&#xff08…...

[特殊字符]适合母亲节的SVG模版[特殊字符]

宝藏模版 往期推荐(点击阅读): 趣味效果|高大上|可爱风|年终总结I|年终总结II|循环特效|情人节I|情人节II|情人节IIII|妇女节I&…...

浅蓝色调风格人像自拍Lr调色预设,手机滤镜PS+Lightroom预设下载!

调色教程 浅蓝色调风格人像自拍 Lr 调色是利用 Adobe Lightroom 软件针对人像自拍照进行后期处理的一种调色方式。它通过对照片的色彩、对比度、亮度等参数进行精细调整,将画面的主色调打造为清新、柔和的浅蓝色系,赋予人像自拍独特的清新、文艺风格&…...

isp流程介绍(yuv格式阶段)

一、前言介绍 前面两章里面,已经分别讲解了在Raw和Rgb域里面,ISP的相关算法流程,从前面文章里面可以看到,在Raw和Rgb域里面,很多ISP算法操作,更像是属于sensor矫正或者说sensor标定操作。本质上来说&#x…...

数巅智能携手北京昇腾创新中心深耕行业大模型应用

当前,AI技术正在加速向各行业深度渗透,成为驱动产业转型和社会经济发展的重要引擎。构建开放协作的AI应用生态体系、推动技术和应用深度融合,已成为行业发展的重要趋势。 近日,数巅智能与北京昇腾人工智能计算中心(北京昇腾创新中…...

【LangChain高级系列】LangGraph第一课

前言 我们今天直接通过一个langgraph的基础案例,来深入探索langgraph的核心概念和工作原理。 基本认识 LangGraph是一个用于构建具有LLMs的有状态、多角色应用程序的库,用于创建代理和多代理工作流。与其他LLM框架相比,它提供了以下核心优…...

增强学习(Reinforcement Learning)简介

增强学习(Reinforcement Learning)简介 增强学习是机器学习的一种范式,其核心目标是让智能体(Agent)通过与环境的交互,基于试错机制和延迟奖励反馈,学习如何选择最优动作以最大化长期累积回报。…...

常见降维算法分析

一、常见的降维算法 LDA线性判别PCA主成分分析t-sne降维 二、降维算法原理 2.1 LDA 线性判别 原理 :LDA(Linear Discriminant Analysis)线性判别分析是一种有监督的降维方法。它的目标是找到一个投影方向,使得不同类别的数据在…...

计算机二级(C语言)已过

非线性结构:树、图 链表和队列的结构特性不一样,链表可以在任何位置插入、删除,而队列只能在队尾入队、队头出队 对长度为n的线性表排序、在最坏情况下时间复杂度,二分查找为O(log2n),顺序查找为O(n),哈希查…...

2025年3月,​韩先超对国网宁夏进行Python线下培训

大家好,我是韩先超!在2025年3月3号和4号,为 宁夏国网 的运维团队进行了一场两天的 Python培训 ,培训目标不仅是让大家学会Python编程,更是希望大家能够通过这门技术解决实际工作中的问题,提升工作效率。 对…...

ATH12K驱动框架架构图

ATH12K驱动框架架构图 ATH12K驱动框架架构图(分层描述)I. 顶层架构II. 核心数据结构层次关系III. 主要模块详解1. 核心模块 (Core)2. 硬件抽象层 (HAL)3. 无线管理接口 (WMI)4. 主机目标通信 (HTC)5. 复制引擎 (CE)6. MAC层7. 数据路径 (DP)IV. 关键数据流路径1. 发送数据流 …...

pcb样板打样厂家哪家好?

国内在PCB样板加工领域具有较强竞争力的企业主要包括以下几家,综合技术实力、市场份额、客户评价及行业认可度进行推荐: 1. 兴森科技 行业地位:国内最大的PCB样板生产商,细分领域龙头企业,月订单品种数可达25,000种&…...

[计算机网络]物理层

文章目录 物理层的概述与功能传输介质双绞线:分类:应用领域: 同轴电缆:分类: 光纤:分类: 无线传输介质:无线电波微波:红外线:激光: 物理层设备中继器(Repeater):放大器:集线器(Hub)&…...

幂等操作及处理措施

利用token模式去避免幂等操作 按以上图所示,除了token,应该也可以把传入的参数用MD5加密,当成key放入redis里面,业务执行完后再删除这个key.如还没有执行完,则请不要重复操作。纯属个人理解...

Matlab 数控车床进给系统的建模与仿真

1、内容简介 Matlab217-数控车床进给系统的建模与仿真 可以交流、咨询、答疑 2、内容说明 略 摘 要:为提高数控车床的加工精度,对数控 车床进给系统中影响加工精度的主要因素进行了仿真分析研 动系统的数学模型,利用MATLAB软件中的动态仿真工具 究:依据机械动力学原理建立了…...

低成本自动化改造的18个技术锚点深度解析

执行摘要 本文旨在深入剖析四项关键的低成本自动化技术,这些技术为工业转型提供了显著的运营和经济效益。文章将提供实用且深入的指导,涵盖老旧设备联网、AGV车队优化、空压机系统智能能耗管控以及此类项目投资回报率(ROI)的严谨…...

【大数据】服务器上部署Apache Paimon

1. 环境准备 在开始部署之前,请确保服务器满足以下基本要求: 操作系统: 推荐使用 Linux(如 Ubuntu、CentOS)。 Java 环境: Paimon 依赖 Java,推荐安装 JDK 8 或更高版本。 Flink 环境: Paimon 是基于 Apache Flink 的…...

我国脑机接口市场规模将破38亿元,医疗领域成关键突破口

当人类仅凭"意念"就能操控无人机编队飞行,当瘫痪患者通过"脑控"重新站立行走,这些曾只存在于科幻电影的场景,如今正通过脑机接口技术变为现实。作为"十四五"规划中重点发展的前沿科技,我国脑机接口…...

Edu教育邮箱申请成功下号

这里是第2部分 如你所见,我根本就没有考虑流量的问题, 如果你有幸看到前面的内容,相信你能自己找到这个后续。...

kotlin中枚举带参数和不带参数的区别

一 ✅ 代码对比总结 第一段(带参数 工具方法) enum class SeatPosition(val position: Int) {DRIVER_LEFT(0),DRIVER_RIGHT(1),SECOND_LEFT(2),SECOND_RIGHT(3);companion object {fun fromPosition(position: Int): SeatPosition? {return SeatPosi…...

【Linux进程控制一】进程的终止和等待

【Linux进程控制一】进程的终止和等待 一、进程终止1.main函数的return2.strerror函数3.库函数exit4.系统调用_exit和库函数exit的区别5.异常信号6.变量errno 二、进程等待1.什么是进程等待?2.wait接口3.status4.waitpid接口 一、进程终止 1.main函数的return 写C…...

修改docker为国内源

一、编辑docker配置文件 vi /etc/docker/daemon.json二、配置国内源和修改docker数据目录 {"registry-mirrors":["http://hub-mirror.c.163.com","https://mirrors.tuna.tsinghua.edu.cn","http://mirrors.sohu.com","https://u…...

Java反射 八股版

目录 一、核心概念阐释 1. Class类 2. Constructor类 3. Method类 4. Field类 二、典型应用场景 1. 框架开发 2. 单元测试 3. JSON序列化/反序列化 三、性能考量 四、安全与访问控制 1. 安全管理器限制 2. 打破封装性 3. 安全风险 五、版本兼容性问题 六、最佳…...

今日行情明日机会——20250509

上证指数今天缩量,整体跌多涨少,走势处于日线短期的高位~ 深证指数今天缩量小级别震荡,大盘股表现更好~ 2025年5月9日涨停股主要行业方向分析 一、核心主线方向 服装家纺(消费复苏出口链驱动) • 涨停家数&#xf…...

单片机-STM32部分:10、串口UART

飞书文档https://x509p6c8to.feishu.cn/wiki/W7ZGwKJCeiGjqmkvTpJcjT2HnNf 串口说明 电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种: TTL电平:3.3V或5V表示1&am…...

RabittMQ-高级特性2-应用问题

文章目录 前言延迟队列介绍ttl死信队列存在问题延迟队列插件安装延迟插件使用事务消息分发概念介绍限流非公平分发(负载均衡) 限流负载均衡RabbitMQ应用问题-幂等性保障顺序性保障介绍1顺序性保障介绍2消息积压总结 前言 延迟队列介绍 延迟队列(Delaye…...

React 播客专栏 Vol.5|从“显示”到“消失”:打造你的第一个交互式 Alert 组件!

👋 欢迎回到《前端达人 播客书单》第 5 期(正文内容为学习笔记摘要,音频内容是详细的解读,方便你理解),请点击下方收听 📌 今天我们不再停留在看代码,而是动手实现一个真正的 React…...

解决 MySQL 数据库无法远程连接的问题

在使用 MySQL 数据库时,遇到这样的问题: 本地可以连接 MySQL,但远程机器连接时,总是报错 Host ... is not allowed to connect to this MySQL server。 这通常是因为 MySQL 的用户权限或配置限制了远程访问。 1. 登录 MySQL 数据…...