发布于: 2024-12-31最后更新: 2025-4-18字数 778阅读时长 2 分钟

type
Post
status
Published
date
Dec 31, 2024
update date
Apr 18, 2025
slug
summary
解决MicroPython设备自带MQTT会自动断连的问题
tags
Python
ESP32
MicroPython
MQTT
category
技术分享
icon
password

MicroPython自带MQTT

以下代码使用MicroPython(2024.12最新固件)自带MQTT库 umqtt.simple 实现了连接巴法云,订阅巴法云上的 esp32led 这个 topic ,经过测试,在一段事件后会自动断开连接,导致服务不可用。经过多次测试,应该是 umqtt.simple 这个库本身的问题。
警告⚠:经多次测试,
umqtt.simple 这个库确实有问题,不定期断线,短则几分钟,长则几小时,不建议再使用。
接入巴法云示例:
 

解决MicroPython自带MQTT自动断连

以下代码换用第三方micropython-mqtt,经过测试,这个mqtt库可以保持连接,不会断开,非常可靠。
安装方式(关闭所有与ESP32连接的软件):
连接巴法云使用示例:

故障排除(使用巴法云平台)

运行以上代码可能会提示:
打开ESP32设备的lib文件夹中的mqtt_as里面的__init__.py,大约在372行,将以下代码注释:
 

Loading...
米家、小爱音箱、巴法云app、微信小程序远程控制ESP32开发板

🥳米家、小爱音箱、巴法云app、微信小程序远程控制ESP32开发板

使用米家、小爱音箱、巴法app和巴法云小程序远程控制ESP32设备


CloudFlare托管域名DDNS

Lazy loaded imageCloudFlare托管域名DDNS

使用Python通过cloudflare API更新群晖、软路由等设备的动态域名解析