ESP8266 可靠性及ID


对使用C语言为 ESP8266 编写程序的你们来说,问题在于: ESP SDK (1.2.0) 和关于WiFi的可能非常重要的信息以及 MQTT 协议的可靠性。

 SDK 中:

wifi_station_set_hostname

wifi_station_get_hostname

HOST ID……如果你在Windows网络中扫描IPESP 单元会以IP地址的形式出现,然后是制造商 ESPRESSIF……SDK 中有 WIFI HOSTNAME GET 功能,但是,我无法用这个GET功能做任何事,反而这个功能返回了类似 ESP_945645 的信息,而不是我输入的内容,而且在Windows网络中IP扫描过程中也没有显示任何内容。因此,问题在于,你准备在什么地方使用 SDK 中的 SET 功能,以便替换出自 GET 功能的信息以及为什么Windows网络扫描未能显示任何信息。

wifi_station_set_reconnect_policy

我发现,如果软件在 ESP12 上顺畅地运行而且也能顺利地与 MQTT 交互,并且如果我断开WiFi连接和路由器连接几秒钟,然后再重新连接……然后就死机了。开发板会对serial作出响应,但是它已经丢失了WiFi号码。

无论等待多久都无法解决这个问题,我在想有多少人没有受到这个问题的困扰。好吧,如果你没有碰到这个难题,你可真够幸运的。重新连接策略设置为1会确保在几分钟之内,IP重新连接,当然你可以试试看是不是这样!!!

所以下一步是检查IP是否已经重连,同时调用 MQTT 重连机制,毕竟这个时候你已经丢失了所有的 MQTT 订阅。

然后我想起来可能存在其它情况,NODE-RED可能有一会儿没有运行,不过我还是连接上了,最后让Node-Red每分钟向所有组件发送一个令人心跳的信息(通过省掉组件名称,只在开发板上留有“toesp” 的主题, 发送到所有组件上),然后重置定时器,然后再重复以上的操作。如果WiFi连接正常,计时器已超时,再次连接MQTT我检查了一下堆栈没有问题,所以还是祈祷这次不要出现什么差池。

因此在没有重启的情况下重新连接,想想那些可怕的继电器闪烁的结果!!!我非常开心—我想我应该来一杯啤酒。资料库也得到了更新,现在我开始测试开发板。

如果你在 ESP8266开发板上使用了 MQTT协议和 语言,你可能会思考上面的问题。如果你找到了上面问题的答案,请告诉我。



版权声明:

本译文仅用于学习和交流目的。非商业转载请注明译者、出处,并保留文章的完整链接。

原文来源:http://tech.scargill.net/

原文标题:ESP8266 Reliability and ID

原文地址:http://tech.scargill.net/esp8266-reliability-and-id/


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值