开发板: 移远通信EC600S QuecPython开发板TYPE-C接口
淘宝链接:https://detail.tmall.com/item.htm?id=633487849294&spm=a1z09.2.0.0.66322e8d3tI98d&_u=ekc6rk2ee1&skuId=4695698246677
问题描述:
自建MQTT服务(稳定工作一年以上)
使用API:from umqtt import MQTTClient
连接MQTT服务后,通过线程方式启动2个任务:
_thread.start_new_thread(mqMain, ())
_thread.start_new_thread(keeConnect, ())
def mqMain():
global _mqClient
print(“mqtt thread start…”)
while True:
_mqClient.wait_msg() # 阻塞函数,监听消息
def mq_sub_cb(topic, msg):
mqtt_log.info(“Subscribe Recv: Topic={},Msg={}”.format(topic.decode(), msg.decode()))
进入正常工作后,如果网络稳定,则工作一天以上都没问题
但如果网络中断,或MQTT服务临时重启
则模块表现为假死状态,无法重连MQTT
QPYcomV1.1.1的交互窗口只能输入字符,不能回车,相当于不能执行交互指令
期间测试过用Try也无法捕获异常
用看门狗也无法使之重启模块