完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
嗨,我正在使用 ESP8266 以 15 分钟的间隔向 MQTT 代理发送数据(ESP 在不发送数据时处于深度睡眠状态)。我的 ESP 是电池供电的,所以我想限制重新连接尝试的持续时间以防止电池耗尽。有人可以帮我用下面的代码吗?如果在 45 秒内没有建立连接,我想退出重新连接循环,而且这个循环应该在深度睡眠周期之间只运行一次。
我正在使用 pubsub 库。 void reconnect() { /* 循环直到我们重新连接 */ while (!mqttClient.connected()) { /*#ifdef SERIAL_DEBUG*/ Serial.print("Attempting MQTT broker connection..."); /*#endif*/ /* 尝试连接 */ if (mqttClient.connect(clientId.c_str(),mqttUser,mqttPassword)) { /*#ifdef SERIAL_DEBUG*/ Serial.println("已连接"); /*#endif*/ /* 一旦连接,重新订阅 */ mqttClient.subscribe(command1_topic,1); // 在这里订阅主题 } else { /*#ifdef SERIAL_DEBUG*/ Serial.print("Failed, rc="); Serial.print(mqttClient.state()); Serial.println("。5 秒后重试..."); /*#endif /* 重试之间等待 5 秒 */ delay(5000); } } } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
944 浏览 0 评论
1671 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5015 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1250浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2330浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2526浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1051浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 23:01 , Processed in 0.597765 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2970
