Espeasy: Wifi 问题 - 永无止境的故事 - 回到非基于事件的 wifi?

创建于 2018-04-23  ·  388评论  ·  资料来源: letscontrolit/ESPEasy

正如你们中的许多人在过去几周注意到的那样,wifi 出现了很多问题。
这一切都始于我将 wifi 的操作方式更改为基于事件的方式。

  • 静态 IP 不起作用
  • 启动循环 (ESP32)
  • 已连接但无法传输数据(NTP 无法连接到 0.0.0.0)
  • 未发现 AP 错误
  • 从 AP 模式加载设置页面不起作用(为此更改为核心 2.4.0)
  • 信标超时错误 => 没有正确的重新连接
  • 各种其他与wifi相关的问题。

其中一些错误与核心版本相关,更新至核心 2.4.0 确实会引入许多其他问题。
然后是设置损坏的问题,这也是这一时期的问题。 这与基于 wifi 事件的连接无关,但它让我寻找许多其他问题,这些问题根本不是真正的问题,而只是设置损坏。

所以目前我写的 wifi 状态机过于复杂,因为有很多没有修复的修复,因为事情没有被破坏。
还有其他真正的问题,要么是由核心 2.4.0 引起的,要么是仍然开放的 wifi 问题。

所以现在我们必须选择:

  1. 返回 sloooowwww 但 wifi 稳定(当连接丢失时,MQTT 仍然存在一些问题)
  2. 投入更多时间让基于事件的 wifi 恰到好处 + 尝试让核心 2.4.1 正常工作。
  3. 投入更多时间让基于事件的 wifi 恰到好处,但仍然回到核心 2.3.0
  4. 使用核心 2.3.0 执行异步 wifi 的一些中间解决方案

核心 2.3.0 似乎确实减少了很多问题并留下了更多可用内存。
所以我想这是我的首选基地。
这意味着对于基于事件的 wifi,在需要初始配置时加载设置页面仍然存在一些问题。

无论如何,这必须现在停止并再次稳定下来。
目前手头有太多问题很难将其视为单独的问题。

还有什么建议吗?

Core related Stabiliy Wifi Fixed Discussion

最有用的评论

我不确定状态 LED。 它是从 MQTTconnect 函数和其他一些地方调用的。
但也许您可以添加一个问题,使其可选择通过该 LED 显示的内容?

很高兴听到 MQTT 问题似乎已通过降低的超时时间得到解决。
我们可能必须使其可选。

所有388条评论

我真的无法从编程层面谈论这一点,但在我看来,除了静态 IP 地址之外,在设置“全新”单元时,wifi 似乎可以正常工作美好的。 我没有看到使用最新固件进行“全新”安装的任何连接问题。 网页加载速度很快,整个事情看起来都很快而且反应灵敏。 当您尝试升级时,大多数问题似乎都在发生。 升级到较新的固件时似乎存在损坏问题。

我还注意到,似乎很多用户编译的固件都存在 wifi 问题。 仅仅通过阅读所有这些问题帖子,我就有了这种印象。 不过,我可能完全错了。 我并不是要说这是事实,而只是一种可能性。

我无法与 MQTT 交谈,因为我不使用它。

只是我的 2 美分价值.....

如果您倾向于选项 3,我完全支持您。 我不想看到我们放弃基于事件的 WiFi 为我们提供的改进。 核心 2_4_x 可能更容易恢复/进入上游?

从用户的角度:
我会尽快使用新的 Core 2.4.1。
用户始终可以使用旧版本。

不要忘记,核心 2.4.x 修复了一些问题:
PWM 闪烁已成为历史(#1156 已在核心 2.4.0 中修复)
大包的串口也修复了...
在某些时候,我们必须过渡到新的核心。 回到 2.3.0 只是推迟问题。 无论如何,我们最终还是要完成工作。 我的 ESP 在 2.4.0 下肯定更好

在我看来,核心 2_4_x 会发生,但目前可能没有必要。 当我们同时进行核心更新和基于 wifi 事件的方法时,我们做了一个错误的决定。 我们应该一个接一个地制作它们。 当我们同时在全局设置中进行更新时,问题变得异常难以查明。 我强烈支持在 wifi 稳定性修复 + 设置损坏修复期间返回 2_3_0 的想法。

在那之后,我们有望发布 v2.1.0,然后专注于使 v2.2.0 的核心 2_4_x 稳定

清除设置并从 22.04 上传版本后。 到目前为止,一切正常。 至少现在 :) 仅可用内存是不够的,即使在 NORMAL 中也是如此。 我们将看到它将如何进行。

我必须同意@Budman1758@melwinek :我还发现,从一个干净的设备开始,Wifi、静态 IP 和设置完全没有问题。
主要问题是升级我现在需要手动清理所有单元,重新刷新它们并重建它们的配置。

我想我们不应该忘记,正式我们仍在从稳定的 R120 到稳定的 2.1.0 的过程中,并且设置不会在这两个版本之间转换,因此您无论如何都需要从头开始。 我们对核心 2_4_x 的更新所做的是再次制造“断点”。 如果我们能忍受,那么这不是问题。 我同意全新安装非常稳定(至少在我最常测试的 NORMAL 上)。 而 NORMAL 是唯一真正会出现在发布中的部分,无论如何,测试和开发只是在开发夜间发布中。

我的意思是:如果当前开发的固件在干净的设置下工作并且稳定,那么这意味着它没有任何问题。 我不会回到 2.3 或旧的 wifi。

是的,我听到了,我有点同意。 唯一的问题是我们创建了另一个断点,我认为这没问题,因为它仍然是测试版。

虽然这是我不喜欢的退步,但我担心现在回到核心 2_3_0 会更好,因为我认为由于 2_4_0 上缺少可用内存,可能会发生一些奇怪的问题。

@giig1967g我同意你的看法。 我确实相信有一些腐败问题正在发生。 可能是什么搞砸了 wifi,而不是它有很多固有的问题。

仍然可以选择将内存使用量提高到可接受的程度。
我想我可以在大约 1 个晚上的编程中获得大约 3 - 4 kB 的内存。 (虽然需要更改所有插件文件)
而 MQTT 导入也是一个真正应该尽快解决的痛点。
而且 Switch 插件本身确实有太多的功能,应该拆分。

我今天会考虑一下,我们应该怎么做,所以请补充更多建议/论点:)

@TD-er 你对 SWITCH 是正确的。
大多数人只使用 ON/OFF 进行开关/继电器。
在这个插件中,有一个伺服器、调光器和可能的东西。
那可以分开。

它还处理非常特定于 MQTT 和/或 Domoticz 的东西。 那不应该是插件的一部分。

@TD-er在很多情况下,它会帮助我自己编译,在删除不必要的插件后,在很多情况下我只需要SWITCH、FHEM控制器、DHT。
但是在这些设置的冒险之后,我害怕自己编译。 特别是在您的帖子之后: https :

看看,其他项目(如tasmota)中wifi是怎么实现的?

关于记忆:我告诉过你 :smile:
我认为核心中有太多很少使用的功能 - 决定,如果实现核心功能请求应该更加严格 - 现在对每个人来说都有点像圣诞节......
也许有一定限制的投票会有所帮助。

如果可能,应首先从很少使用的功能中清除核心(或转换为插件),然后进行优化。 此外,可以考虑为插件提供额外的接口,以允许在核心之外交换更多功能。

@M0ebiu5同意。
应该发生的是,新功能将在单独的分支上开发,然后收集其中的一些并将它们合并到发布候选分支并测试它们。
然后将使用的功能发布并合并到 master 分支(或 dev 分支,或任何您命名的分支)。

我学到的一件事是两次询问观察到的内容,应该观察的内容以及使用的版本。 这将使事情变得更加清晰,并减少错误。
其中一部分必须在代码本身中完成,以制作某种足迹,以便能够查看(和记录)使用了哪些软件。

插件也应该只是将传感器连接到某些输出值的插件。
也许生成输出的插件(如显示)不应该与输入的插件一样使用。
所以我们得到类似的东西:

  • 传感器读取设备并生成测量值
  • 输出(显示?)以显示值。 这也可以是显示之外的其他内容,例如 JSON 或图像。
  • 控制器与外部世界的接口(输入和输出)
  • 处理数据和事件的规则。
  • 将事件转换为其他内容的通知。 实际上,这听起来像是一个更精细的控制器。
  • 执行一些基本设置或临时(非持久)更改/更新并执行一些操作(例如重启)的命令
  • 网页来配置它们。

但是这样的重新设计需要相当多的努力。

@TD-er 你是对的,但我会分小步进行更改 - 因为大多数部件都在稳定工作,而大的更改可能会使这种稳定性处于危险之中。

到核心的新接口是一种可能的方式。 它们不会影响当前的行为,只有新的或发生重大变化的插件才会使用它们。 转变为干净的架构需要更多时间,但风险较低,而且努力也会随着时间的推移而分散。

我同意应该轻松完成这些更改。
更多的是对未来重新设计的看法。

但是,来自 22.04 的节点已失去连接。
重置路由器没有帮助。
ESP 重置会有所帮助,但我离得很远。
因此,我节点上的最佳版本是 mega-20180410。
也许是因为它在核心 2.3 上?
然而,也许一个好的解决方案是回到 2.3 一段时间?

不,昨晚我看到了问题(在代码中并发生在我自己的单位)。
我的节点在收到“信标超时”错误时没有重新连接,这是断开连接的一个很常见的原因。 这是代码中的逻辑错误,但已经过了凌晨 1 点 30 分,我不想在那一刻修复它。 修复它肯定已经过了每晚的构建时间,所以这不再重要;)

相关:#1064

我刚刚使用当前版本的 ESP_Easy_mega-20180425_test_ESP8266_4096.bin 刷新了 6 个设备。

我认为在这个版本中,我们已经达到了绝对的低点。
几个小时后,网络中的所有设备都无法访问。

这就是为什么我会 - 以一种或另一种方式 - 返回到可用的 wifi 版本。

也许我们也应该删除今天的构建,只是为了防止其他人加载相同的内容。

我建议现在在核心 2.3.0 上构建一个新版本 04.25 并替换当前版本:)

我无法控制构建服务器。
并且具有相同内部版本号的 2 个版本从来都不是一个好主意。

我知道@Grovkillen可以删除今天的构建。

你认为我应该删除它@TD-er 吗? 明天将建造一个新的。

显然,与昨天的构建相比,它甚至更糟。
所以是的,删除它。

完毕

并且 platformio.ini 也发生了变化。
所以无论发生什么,明天的构建都不会像今天的那么糟糕。

我感觉到这里很恐慌。 别着急,还有希望。
首先,让我们喝 :beer: 或 :beers: 现在,
感谢@TD-er,尽管您担心,但仍如此躁动不安,感谢@Grovkillen对他的支持。 也感谢所有其他人。 感谢大家如此公开地讨论新想法。

话虽如此,让我这样说:

  1. 根据我的经验,除了 2.4.1 有 wificlient 内存泄漏(和解决方法)之外,较新的核心版本没有任何问题。
  2. 在决定放弃 2.0 之前,master 分支的旧版本在这些核心版本上工作得非常稳定。 而且很快。
  3. 我们真的应该(强调真的!)专注于稳定性。 暂时没有新功能(除非提高稳定性)更少的 ESP32 和更少的内存搜索,更少的加速,除了稳定性之外的一切。 让我们假设我们计划飞往月球。 真正的。 那东西需要操作。 它需要容忍单个位故障、重启、电源波动和温度压力。
    我的意思是容错编程。 完成了。 如果你全神贯注,它会很有趣。

下一步是什么 ? 如果我是核心开发人员,我会选择基于 json 的配置。 尽快。 似乎当前的邪恶根源就像不久前的内存密集型 Web 服务器一样。

我感觉到这里很恐慌。 别着急,还有希望。
首先,让我们来个 🍺 或 🍻 现在,
感谢@TD-er,尽管您担心,但仍如此躁动不安,感谢@Grovkillen对他的支持。 也感谢所有其他人。 感谢大家如此公开地讨论新想法。

100%同意!!!

我不知道这个错误是否已经知道:
一两天后,网络服务器似乎不再工作了。 MQTT 发布仍在工作。
我使用的是 04.22 的普通版本。

@TD-er 我个人会投票支持 2.4.1 之类的新尝试。

1+

1+

我感觉到这里很恐慌。 别着急,还有希望。

这不是恐慌,而是纯粹的挫败感 ;)
事情是我真的在这里测试了东西,并且在几分钟内(至少感觉是这样)构建失败甚至比以前更糟。
我习惯于针对黑盒进行编程,也习惯于针对 rev。 设计那些黑匣子。
但这感觉就像我认为在日志中看到的反馈与现实完全不同。
现在很明显,过去几周出现了几个问题,原因是核心库中的错误、设置损坏以及我所做的一些更改似乎与 AP 固件中的一些错误有关。

我个人对软件的看法是它应该坚如磐石,稳定,速度第二。
但是上周的速度提升还可以,但无论我尝试什么,稳定性都在一天比一天恶化。

所以现在是时候坚定地停止并首先关注稳定了。 你可以称之为“恐慌”,但实际上这是一种真正专注于正在发生的事情的退步。
我现在比一个月前更了解 wifi,所以我应该能够制作一个精心设计的包。 但这需要时间,我真的很想达到某个稳定点,让我的头脑放松一下,让它像它应该的那样工作。
然后还有很多空间可以让东西更快,因为我已经看到 ik 连接更快:)
但那是下一个版本。

关于其余主要问题:

  • 内存使用情况
  • JSON 导入/导出设置
  • MQTT 导入重新设计
  • 一些插件如 P001-switch 应该改变。
  • 还剩什么。

对我(可能只是我)来说,迁移到 2.4.1 甚至 GIT Core 都没有改进,情况恰恰相反。 我尝试了大约 20 种不同的核心版本、mage-commits 和 lwIP 版本组合。 回到 2.3.0 尤其是 lwIP 1.4 是让它稳定运行的唯一方法。 但同样,只是我在我的特定环境中对此的看法......

是的,非常感谢@TD-er 和@Grovkillen 所做的出色工作以及他们为社区投入的时间!

谢谢大家,@TD-er 很好地总结了前进的道路。

关于其余主要问题:
• 内存使用情况
• JSON 导入/导出设置
• MQTT 导入重新设计
• 一些插件如P001-switch 应该改变。
• 还剩什么。

我们将在明天的版本中恢复到 2.3.0 并测试一段时间。

我的大部分自建镜像都基于核心版本。 491c9b8b (2.4.1 + x)。
我唯一看到的是我的 Sonof 4ch 设备随机重启。 不幸的是,它是我池塘控制的一部分,因此没有机会连接串行接口以进行更好的监控,Syslog 非常无法使用,因为相关信息在 WIFI 启动并运行之前就被吐出。

它非常有用 - 只要您使用 lwIP 'v2 Higher Bandwith' 库。
否则,您会看到包 > 512 字节的 MTU 碎片问题(乱序,窗口信息不正确)。

正在工作的 ESPEasy Revs(我的回购)是

提交 3576619181926b3adff5a1a133390eb71e808ae9
合并:9038bd2 d083a58
添加一名作者
日期:2018 年 4 月 13 日星期五 17:07:30 +0200

Merge remote-tracking branch 'upstream/mega' into mega

* upstream/mega:
  automaticly updated release notes for mega-20180413
  [wifi] Event based wifi, fix set AP and crash on start


提交 daf39a064d3633fe1eccfa33576fafbccd7611a7
合并:2a96218 806a275
添加一名作者
日期:2018 年 4 月 9 日星期一 09:15:52 +0200

Merge remote-tracking branch 'upstream/mega' into mega

* upstream/mega:
  automaticly updated release notes for mega-20180409
  Both reset/factoryreset option
  Factory Reset (not enabled yet)

4 月 13 日星期五之后的任何 ESPEasy 都显示出可怕的 - 说不工作 - 结果,即使在闪烁二进制文件之前擦除整个闪存(通过 Arduino IDE)。

因此,我建议使用 2.4.1(或更高版本)并完善 ESPEasy(WIFI 和配置)。
到目前为止,Core 本身似乎还可以。

大声笑@ 13 号
那么什么是“抛光 ESPEasy(WIFI 和配置)”。 ?
一个不同的分支..?
波兰又名波兰语或抛光,如抛光和光泽,哈

@susisstrolch我如何捕捉这样的错误?
“包 > 512 字节的 MTU 碎片问题(乱序,窗口信息不正确)。”

只需向 espeasy 网络服务器发送准备好的请求,并带有至少 512 个字符的附加标头

@Oxyandy :在我的 FHEM 服务器上运行 tcpdump 并使用 WireShark 进行分析,我发现 ~700 字节 JSON 响应的最后 512 字节首先发送,然后是 HTTP 标头。
而这两个包只是缺少 TCP 窗口信息。
可以根据要求发送更多详细信息...
像抛光和光泽一样抛光

对我来说,22.04.2018 和 Core 2.4.1 的版本运行得很好。
sysinfo

你能不能也检查一下我昨天的工作,然后建立在 2.4.1 上?
https://github.com/TD-er/ESPEasy/tree/bugfix/wifi_stability

在 2.3.0 中,我仍然遇到静态 IP 问题。
尚未使用设置页面测试 AP 模式。

我刚刚用你的版本刷了一个 wemos
[wifi] 尝试使基于事件的 wifi 更简单)。

版本运行.....

我现在应该怎么办?

妈的,从我上次测试 (22.04.1018) 开始,8 台设备中有 4 台在大约 7 小时后挂断了。

我猜没有日志? :(
节点是否崩溃(挂起)或只是没有重新连接?
他们是否回复 ping,因此只有网络服务器被禁用或太忙(MQTT 重新连接需要大量资源)?

同时挂5台设备。
我没有日志。 无法访问 Web 服务器。 Ping 也不行。

他们只是死了。

你真的应该尝试记录它。 它可能会给我们一些有用的提示

我记录了 Gijs 的版本。 它已经运行了 55 分钟。 :)

哦,我可以打败它! 我有 12 台设备在 Gijs 版本上运行在 45 到 263 分钟之间(带有来自 GIT 的 esp 核心)😀,但他们仍然很高兴......

是的,时代变了。
过去,我的设备运行数周。

今天,当他们工作几个小时时,我很高兴。 :)

我家中的一台设备仍在运行我在 20171231 上构建的版本,并且今天的正常运行时间已达到 60 天。

所以我知道你的意思:(

那我们就拿2017123这个版本来说吧,那我们就可以专注于其他的事情了。 :)

当地时间: | 2018-04-26 17:47:23
正常运行时间: | 0 天 2 小时 27 分钟
负载: | 10% (LC=9371)
免费内存: | 10336 (9544 - sendContentBlocking)
知识产权: | 192.168.0.201
Wifi RSSI: | -67 分贝

嘿,为什么不拿那个 60 天版本,用 2.0 标记它并写一些关于已知问题的要点(不要缺少功能)

@s0170071我们真的需要 75% 的工作产品,并且在发布后解决了很多问题吗?

也许没有必要回到那么远......这是来自最新的手动重启:

正常运行时间:21 天 3 小时 32 分钟
负载:32% (LC=6281)
免费内存:14328(13392 - parseTemplate3)

构建 | 20100 - Mega(核心 2_3_0)
GIT 版本 | 兆丰-20180308
插件 | 72【正常】【测试】【开发】
建造 Md5 | eb5a94ae675cb343cc387319fd8c4f9a
Md5检查| 通过了。
构建时间 | 2018 年 3 月 8 日 03:05:36
二进制文件名 | 固件.bin

6 台设备已运行 5 小时——创下新纪录。

已经超过 30 小时了 ;)

我现在几乎所有(12+)设备都在@TD-er 的 tonigt 更改上运行。 所有 Wemos D1 Mini 都连接了各种传感器和继电器(全部不同)。 他们中的大多数人现在有 10 小时以上的正常运行时间。 我现在也要刷上最后一个。
我确实从一两个设备上进行了两次或三次自发重启,但这也可能来自插件或有故障的传感器(我还使用了一些开发插件,甚至更改了配置以支持 24 个任务并使用 esp GIT 核心,有些甚至没有清除先配置)。 但他们总是重新启动并成功连接到网络!

所以对我来说,这是迄今为止我拥有的最稳定的版本。 类似于我在 2.4.0 核心之前所拥有的。

因此,我会投票从今晚开始合并@TD-er 的更改,对其进行测试并从那里继续……但这只是 MHO ……

并感谢@TD-er 的快速错误修复(尝试)!! 对我来说它奏效了!!

我也在一台设备上重新启动,但它立即重新连接。
所有设备都是 Wemos D1 mini。

我在这里运行了带有 71 个插件的测试版本。
设备上几乎只有 BME280、Pir、MH-Z19 和灰尘传感器和一些 LED。

Web 服务器的反应非常快。
目前我对这个版本和 Core 2.4.1 非常满意。

也许它已经知道(如果是,请忽略它)
我已经安装了带有 ESP_Easy_mega-20180422_normal_ESP8266_4096.bin(核心 2.4.0)的 ESP pro mini。
它从3天开始运行!
只有在冷启动后才能访问 GUI。 (测试与另一个 esp)
Ping 没问题,mqtt 发布也可以,GPIO 切换 http 也可以。
“唯一”的问题,gui 无法访问。
换句话说,ESP 盲目工作,一切正常,只有 GUI 没有响应。
在浏览器中输入ip后得到:

ily:无衬线字体; 字体大小:12pt; 边距:0px; 填充:0px; box-sizing: 边框框; }h1 {字体大小:16pt; 颜色:#07D; 边距:8px 0; 字体weig190 ; 颜色:#07D; }.button {边距:4px; 填充:4px 16px; 背景色:#07D; 颜色:#FFF; 文字装饰:无; 边框半径:4px; 边界:190 190 ative; 光标:指针; 字体大小:12pt; -webkit-user-select:无; -moz-user-select:无; -ms-u

我在冷重启后启用了我的第二台设备的日志记录,在设备变得无响应后,如果需要,我将在此处报告日志。

您还可以记录内存使用情况吗? 只是为了看看某些人报告的 2.4.1 中是否存在内存泄漏。

是的,我对 2018 年 4 月 22 日的版本完全一样。
设备正在运行,但无法访问 Web 服务器。

我会尝试记录它。
似乎是恒定的。

免费内存: | 9792 (9008 - sendContentBlocking)

你的意思是系统堆?

unbenannt

@uzi18你不能同时拥有尖端和稳定性。 60天版本稳定吧?

@TD-er如果您将规则窗口打开几分钟,所有规则都将消失。

那是 2.3.0 吗?

我有 2.4.1

你好,
我正在测试 20180426。工作但与 20180424 相比真的很慢。
对我来说,核心 2.4.0 运行良好且稳定。
在新版本中,MQTT 连接需要 1 多分钟,而旧版本则是一半。
核心 2.4.0 我只是幸运吗? 还是只是配置问题?

我发现昨天的@TD-er 版本的 Core 2.4.1 非常快。

接通电压后,只需几秒钟即可访问 Web 界面。
MQTT 消息立即出现。

只为感兴趣的人。 我正在跟踪 CPU、内存和 RSSI。 附上所有单位的图表。 当我升级到 2.4.x 内核时,您可以清楚地看到内存使用情况。 但是,内存似乎很稳定(例如没有泄漏)......
设备 1-11 和 16 与传感器等一起“使用”。其他设备只是普通的 D1,没有任何连接。

image

@micropet :我如何使用昨天的核心 2.4.1 版本?

我开始认为也许 Wemos 比 SONOS 更稳定?
我也用 Wemos

@micropet和 @TD-er :我刚刚用核心 2.4.1 编译了 wifi 稳定性分支。
哇。 惊人的快。
将在接下来的 3 天内运行并报告。 它包含相当复杂的规则......
目前:连接到 MQTT 需要 7 秒,而 2.3.0 版本 20180426 需要 60 秒。

我在 MQTT 导入中看到了一些重新连接。

104 : INIT : Free RAM:20040
104 : INIT : I2C
104 : INIT : SPI not enabled
1213 : INFO : Plugins: 72 [Normal] [Testing] [Development] (ESP82xx Core 2_4_1)
1214 : EVENT: System#Wake
1289 : WIFI : Set WiFi to STA
mode : sta(60:01:94:8e:ba:c9)
                             add if0
                                    1292 : WIFI : Connecting KeepOut attempt #0
1293 : IP   : Static IP : 192.168.1.206 GW: 192.168.1.1 SN: 255.255.255.0 DNS: 8.8.8.8
1405 : EVENT: System#Boot
1412 : ACT  : gpio,14,1
1414 : SW   : GPIO 14 Set to 1
1416 : ACT  : gpio,12,1
1417 : SW   : GPIO 12 Set to 1
1420 : ACT  : gpio,13,1
1420 : SW   : GPIO 13 Set to 1
1422 : ACT  :
1431 : ACT  : taskvalueset 1,1,1
1441 : ACT  : taskvalueset 1,2,1
1453 : ACT  : taskvalueset 1,3,1
1465 : ACT  : taskvalueset 1,4,1
1474 : ACT  :
1482 : ACT  :
1489 : ACT  : timerset,4,60
1568 : WD   : Uptime 0 ConnectFailures 0 FreeMem 18616
1682 : Dummy: value 1: 1.00
1683 : Dummy: value 2: 1.00
1683 : Dummy: value 3: 1.00
1683 : Dummy: value 4: 1.00
1684 : EVENT: Relay1#r1=1.00
1753 : EVENT: Relay1#r2=1.00
1824 : EVENT: Relay1#r3=1.00
1890 : EVENT: Relay1#r4=1.00
2251 : SYS  : 0.00
2253 : EVENT: SysInfoUptime#UptimeDays=0.00
3188 : IMPT : MQTT 037 Intentional reconnect
3562 : IMPT : MQTT 037 Intentional reconnect
scandone
        state: 0 -> 2 (b0)
                          5130 : Dummy: value 1: 25.80
5130 : Dummy: value 2: 27.20
5130 : Dummy: value 3: 27.40
5130 : Dummy: value 4: 0.00
5131 : EVENT: temp#t1=25.80
state: 2 -> 3 (0)
                 5158 : ACT  : timerset,1,2
state: 3 -> 5 (10)
                  add 0
                       aid 5
                            cnt
                                5174 : ACT  : lcd,1,20,*

connected with KeepOut, channel 9
                                 ip:192.168.1.206,mask:255.255.255.0,gw:192.168.1.1
   5239 : EVENT: temp#t2=27.20
5266 : ACT  : timerset,2,3
5276 : ACT  : lcd,1,20,*
5335 : EVENT: temp#t3=27.40
5365 : ACT  : timerset,3,4
5375 : ACT  : lcd,1,20,*
5428 : EVENT: temp#t4=0.00
5503 : Dummy: value 1: 18.00
5504 : Dummy: value 2: 11.00
5504 : Dummy: value 3: 12.00
5504 : Dummy: value 4: 0.00
5505 : EVENT: local#LSet1=18.00
5575 : EVENT: local#LSet2=11.00
5645 : EVENT: local#LSet3=12.00
5715 : EVENT: local#empty=0.00
6553 : Current Time Zone:  DST time start: 2018-03-25 02:00:00 offset: 120 minSTD time start: 2018-10-28 03:00:00 offset: 60 min
6554 : EVENT: Time#Initialized
6627 : EVENT: Clock#Time=Thu,22:59
6702 : IMPT : MQTT 037 Intentional reconnect
6964 : IMPT : Connected to MQTT broker with Client ID=ESPT6-Import
6965 : EVENT: MQTTimport#Connected
6981 : ACT  : publish /ESPT6/dummy/requestedTempUpdate,0
7059 : IMPT : [import1#Set1] subscribed to /OH2/status/nSetTemp1
7061 : IMPT : [import1#Set2] subscribed to /OH2/status/nSetTemp2
7062 : IMPT : [import1#Set3] subscribed to /OH2/status/nSetTemp3
7063 : IMPT : [import1#master] subscribed to /OH2/status/nMasterCaldaia
7065 : WIFI : Connected! AP: KeepOut (BC:EE:7B:EF:A3:38) Ch: 9 Duration: 3911 ms
7065 : EVENT: WiFi#ChangedAccesspoint
7144 : WIFI : Static IP: 192.168.1.206 (ESPT6-16) GW: 192.168.1.1 SN: 255.255.255.0   duration: 1940 ms
7173 : EVENT: Time#Set
7247 : EVENT: WiFi#Connected
7316 : Webserver: start
7332 : IMPT : MQTT 037 Intentional reconnect
7587 : IMPT : Error subscribing to /OH2/status/nSetTemp1
7588 : EVENT: Rules#Timer=1
ping 1, timeout 0, total payload 32 bytes, 1067 ms
                                                  7648 : [if 0=1]=false
7650 : else = true
7651 : ACT  : timerset,5,6
7688 : EVENT: Rules#Timer=1 Processing time:100 milliSeconds
7690 : MQTT : Intentional reconnect
7704 : MQTT : Connected to broker with client ID: ESPClient_60:01:94:8E:BA:C9
7707 : Subscribed to: /ESPT6/#
7708 : EVENT: MQTT#Connected
7722 : ACT  : publish /ESPT6/dummy/requestedTempUpdate,0
7813 : EVENT: MQTT#Connected Processing time:105 milliSeconds
7828 : IMPT : [import1#Set1] : 18.00
7828 : EVENT: import1#Set1=18.00
7882 : ACT  : taskvalueset,6,1,18
7893 : ACT  : timerset,1,2
7904 : ACT  : lcd,1,20,*
7955 : EVENT: import1#Set1=18.00 Processing time:127 milliSeconds
8065 : MQTT : Topic: /ESPT6/status/LWT
8065 : MQTT : Payload: Connected
8075 : IMPT : [import1#Set2] : 11.00
8075 : EVENT: import1#Set2=11.00
8131 : ACT  : taskvalueset,6,2,11
8143 : ACT  : timerset,2,3
8152 : ACT  : lcd,1,20,*
8199 : EVENT: import1#Set2=11.00 Processing time:124 milliSeconds
8206 : MQTT : Topic: /ESPT6/dummy/requestedTempUpdate
8207 : MQTT : Payload: 0
8218 : MQTT : Topic: /ESPT6/Relay1/r1
8218 : MQTT : Payload: 0
8219 : MQTT : Topic: /ESPT6/Relay1/r2
8219 : MQTT : Payload: 1
8220 : MQTT : Topic: /ESPT6/Relay1/r3
8220 : MQTT : Payload: 1
8220 : MQTT : Topic: /ESPT6/Relay1/r4
8220 : MQTT : Payload: 1
8221 : MQTT : Topic: /ESPT6/SysInfoUptime/UptimeDays
8221 : MQTT : Payload: 0.1
8222 : MQTT : Topic: /ESPT6/status/LWT
8222 : MQTT : Payload: Connected
8223 : MQTT : Topic: /ESPT6/dummy/requestedTempUpdate
8223 : MQTT : Payload: 0
ping 1, timeout 0, total payload 32 bytes, 1112 ms
                                                  8320 : IMPT : [import1#Set3] : 12.00
8320 : EVENT: import1#Set3=12.00
8376 : ACT  : taskvalueset,6,3,12
8387 : ACT  : timerset,3,4
8396 : ACT  : lcd,1,20,*
8441 : EVENT: import1#Set3=12.00 Processing time:121 milliSeconds
8565 : IMPT : [import1#master] : 0.00
8565 : EVENT: import1#master=0.00
8581 : ACT  : timerset,1,2
8591 : ACT  : timerset,2,3
8600 : ACT  : timerset,3,4
8608 : ACT  : lcd,1,20,*
8684 : EVENT: import1#master=0.00 Processing time:119 milliSeconds
8696 : EVENT: MQTTimport#Disconnected
8774 : EVENT: MQTTimport#Disconnected Processing time:78 milliSeconds
8775 : IMPT : MQTT 037 Connection lost
9712 : IMPT : Connected to MQTT broker with Client ID=ESPT6-Import
9713 : EVENT: MQTTimport#Connected
9725 : ACT  : publish /ESPT6/dummy/requestedTempUpdate,0
9809 : EVENT: MQTTimport#Connected Processing time:96 milliSeconds
9813 : IMPT : [import1#Set1] subscribed to /OH2/status/nSetTemp1
9813 : IMPT : [import1#Set2] subscribed to /OH2/status/nSetTemp2
9814 : IMPT : [import1#Set3] subscribed to /OH2/status/nSetTemp3
9815 : IMPT : [import1#master] subscribed to /OH2/status/nMasterCaldaia
9817 : MQTT : Topic: /ESPT6/dummy/requestedTempUpdate
9817 : MQTT : Payload: 0
9931 : IMPT : [import1#Set1] : 18.00
9931 : EVENT: import1#Set1=18.00
9985 : ACT  : taskvalueset,6,1,18
9996 : ACT  : timerset,1,2
10005 : ACT  : lcd,1,20,*
10053 : EVENT: import1#Set1=18.00 Processing time:122 milliSeconds
10173 : IMPT : [import1#Set2] : 11.00
10174 : EVENT: import1#Set2=11.00
10228 : ACT  : taskvalueset,6,2,11
10239 : ACT  : timerset,2,3
10248 : ACT  : lcd,1,20,*
10295 : EVENT: import1#Set2=11.00 Processing time:121 milliSeconds
10414 : IMPT : [import1#Set3] : 12.00
10414 : EVENT: import1#Set3=12.00
10470 : ACT  : taskvalueset,6,3,12

@giig1967g你有没有机会制作一个我可以下载的 bin 文件? 4兆版本? 还在学习编译过程....

@ giig1967g,正如我所说 - 非常快,而且看起来也很稳定。

我现在在 7 小时内重新连接。

@giig1967g运行静态 IP 的我的新代码仍然存在一些问题。
特别是在使用 MQTT 运行时。
DHCP 似乎工作正常。

明天对我来说将是非常忙碌的一天,因为这是“国王节”,王室将在格罗宁根。 我也被邀请到那里——也许——告诉国王我们在这里的问题。
所以我现在要睡觉了,我的建议是今天不要将代码合并到主分支。 明天我们将继续开发并制作最好的wifi连接代码:)

好的,我在 20180426 (2.3.0) 和 WifistabilityBranch (2.4.1) 上都发现了问题。
如果我关闭路由器然后重新打开,尽管设备写入串行“Wifi#Connected”,但它不会重新连接到 Wifi。 设备正在工作(串行和规则正常),但没有 WiFi 连接,因此没有 Web 界面。

@ TD-he,让我们这样做。 向国王问好——也许他有别的想法。 :)
和晚安。

@TD-er:祝你在现实生活中好运......

这里有些,如果我断开 WIFI 0.2 秒:

29113846 : ACT : timerSet,1,60
29115651:MQTT:连接丢失
29115652:事件:MQTT#Disconnected
29115689:MQTT:无法连接到代理
29115690:事件:WiFi#Disconnected
29115706:WIFI:断开连接! 原因:'(1) Unspecified' 连接了 8h04m <-------- !!
29116189:MQTT:无法连接到代理
29116939:MQTT:无法连接到代理
29117860:WD:正常运行时间 485 ConnectFailures 6 FreeMem 16416
29117881:MQTT:无法连接到代理
29117938:MQTT:无法连接到代理
29119189:MQTT:无法连接到代理
29120689:MQTT:无法连接到代理
29120736:DS:温度:19.94(28-ff-b8-ea-b4-16-3-ed)
29120738:事件:DS18b20#Temperature=19.94
29122440:MQTT:无法连接到代理
29124440:MQTT:无法连接到代理
29126441:MQTT:无法连接到代理
29128442:MQTT:无法连接到代理

@giig1967g
您可以查找启动/停止网络服务器的函数,并在该函数的第一行添加return;
https://github.com/TD-er/ESPEasy/blob/f9be283cb70043733fdc45575457a85244660ea8/src/WebServer.ino#L570 -L585

我想在使用静态 IP 时调用“gotIP”函数存在一些问题。
这也是运行MQTT+静态IP时不稳定的原因。

但这对于@TD-er 来说可能是小事一桩。 :)

嗯,我不看。
我认为你最好明天这样做。
此外,我在这里使用 DHCP。

对我来说,使用 2.3.0 核心构建,我的硬件稳定性总是“更好”(不完美)

  • 尝试了 2.4.0 和 2.41——它们更糟......

0403 超级正常 - 似乎可以正常工作和之前的版本..
任何仍然像我一样有问题的人都可以尝试 0403..
@susisstrolch@uzi18 - 感谢你们的回复.. 我现在对如何查看通信有了更好的了解 - Wireshark 和 USB wifi 2.4g 适配器可以工作,我有足够的备用
谢谢

我的现在已经运行了将近 17 个小时。 单连接

从我的单位更新(名称|以分钟为单位的正常运行时间|最后一张光盘。原因|以毫秒为单位的 wifi 连接):
wemos_mini_01_sysinfo | 1220 | 200 | 6462869
wemos_mini_02_sysinfo | 第1223章 1 | 19359544
wemos_mini_03_sysinfo | 第657话 1 | 1018597
wemos_mini_04_sysinfo | 第1078章 201 | 439668
wemos_mini_05_sysinfo | 650 | 6 | 9194816
wemos_mini_06_sysinfo | 927 | 1 | 955432
wemos_mini_07_sysinfo | 第1142章 1 | 14078412
wemos_mini_08_sysinfo | 730 | 1 | 7848454
wemos_mini_09_sysinfo | 1005 | 1 | 5536489
wemos_mini_10_sysinfo | 550 | 201 | 465734
wemos_mini_11_sysinfo | 第662话 4 | 15658520
wemos_mini_12_sysinfo | 第1211章 1 | 17915701
wemos_mini_13_sysinfo | 第1211章 1 | 17896590
wemos_mini_14_sysinfo | 1210 | 1 | 17882406
wemos_mini_15_sysinfo | 第753话 1 | 58904600
wemos_mini_16_sysinfo | 第1197章 1 | 17210855

10 单元重启一次(也可能与插件有关)。 所有带有 DHCP 和 FHEM 控制器的单元以及定期的 JSON 状态更新(通过 HTTPMOD 从 fhem 调用)。
所有这些服务器上的网络服务器仍在运行并且响应迅速。 虽然从未使用过静态 ip 或设置页面。

所以对我来说这似乎是一个相当稳定的版本。

因为接下来的 4 天我大部分时间都处于离线状态,所以下周我会看看还有多少人还活着 😃

哦,向国王问好! 我希望他也喜欢物联网😀

@clumsy-stefan 这个版本? https://github.com/TD-er/ESPEasy/tree/bugfix/wifi_stability
什么核心?
您是否尝试过重新启动路由器?

@melwinek git commit:来自 esp8266 master 分支的 d582cab938f041f622f2d4d8016b3d4bada55580(因此是核心开发对 master 分支的最新提交)。

@clumsy-stefan 核心 2.3.0、2.4.0 或 2.4.1 ?

最新的 GIT 提交! (所以假设它是核心 2.4.1+)

我找不到这个提交。
最新的是: https :
你能提供一个链接吗?

@clumsy-stefan 我明白了,你把 git 写到了核心。
你编译哪个 ESPEasy 提交?

@TD-er:

@giig1967g
您可以查找启动/停止网络服务器并添加返回的函数; 在该函数的第一行。
https://github.com/TD-er/ESPEasy/blob/f9be283cb70043733fdc45575457a85244660ea8/src/WebServer.ino#L570 -L585

我想在使用静态 IP 时调用“gotIP”函数存在一些问题。
这也是运行MQTT+静态IP时不稳定的原因。

嗨,问题不在于网络服务器,而是似乎连接到 Wifi 的设备,但事实并非如此。 无法ping通,无法发送MQTT等。

最新的 github 在核心 2.4.1 上完美运行。 没有连接问题,没有成员泄漏

@mvdbro你使用 esp32 还是 esp8266 设备?

我同时使用 ESP8266 和 ESP32。 两者都工作正常。

边注:
一直使用静态IP
仅使用我需要的插件(将 RAM 保持在安全的最低限度。我认为默认设置必须加载许多插件)

伟大的! :微笑:
我也在我的 esp8266 上尝试了 core 2.4.1。
静态和 dhcp 正在工作。
dnsserver 和强制门户有效。
ntp 有效!

@Feuerreiter :您是否尝试关闭和打开路由器以查看设备是否重新连接?
在我的情况下,日志说它重新连接但没有。

@giig1967g我稍后会在家里尝试。 我已经用我的手机作为热点在我的车里完成了测试。 ;-)

@mvdbro

我认为默认设置必须加载许多插件

我同意。 应该对插件进行一些预选,或者更好地检查所有插件,以免在不使用时使用比绝对需要更多的内存。
当仔细查看包含可用插件信息的大结构时,可以获得大量内存。

[PlatformIO] 更新核心至 2.4.1
1+

我认为这是一个很好的决定。
从昨天下午开始我就没有问题了。

正如我在另一个帖子中发布的那样:
对于那些在构建方面需要一点帮助的人,我只是构建了一个我两天前写的补丁的版本,但现在核心是 2.4.1:
TD-er_wifi_stability_core-2.4.1

内存保持相当稳定。
它在前 15 分钟内下沉一点。
(他们不能在这里看到)
19:05:33 ESP-206/SYSHEAP 11536
19:08:34 ESP-206/SYSHEAP 11536
19:11:36 ESP-206/SYSHEAP 11536
19:14:37 ESP-206/SYSHEAP 11536
19:17:40 ESP-206/SYSHEAP 11536
19:20:42 ESP-206/SYSHEAP 11536
19:23:45 ESP-206/SYSHEAP 11536
19:26:47 ESP-206/SYSHEAP 11536
19:29:50 ESP-206/SYSHEAP 11536
19:32:52 ESP-206/SYSHEAP 11536
19:35:54 ESP-206/SYSHEAP 11536
19:38:57 ESP-206/SYSHEAP 11536
19:41:59 ESP-206/SYSHEAP 11536
19:45:01 ESP-206/SYSHEAP 11536
19:48:04 ESP-206/SYSHEAP 11536
19:51:06 ESP-206/SYSHEAP 11536
19:54:09 ESP-206/SYSHEAP 11536
19:57:11 ESP-206/SYSHEAP 11536
20:00:13 ESP-206/SYSHEAP 11536
20:03:16 ESP-206/SYSHEAP 11536
20:06:17 ESP-206/SYSHEAP 11536
20:09:29 ESP-206/SYSHEAP 11656
20:12:19 ESP-206/SYSHEAP 11592
20:15:21 ESP-206/SYSHEAP 11592
20:18:23 ESP-206/SYSHEAP 11592
20:21:24 ESP-206/SYSHEAP 11592
20:24:25 ESP-206/SYSHEAP 13192
20:27:27 ESP-206/SYSHEAP 11592
20:30:30 ESP-206/SYSHEAP 11592
20:33:31 ESP-206/SYSHEAP 11592
20:36:34 ESP-206/SYSHEAP 11592
20:39:36 ESP-206/SYSHEAP 11592
20:42:39 ESP-206/SYSHEAP 11592
20:45:40 ESP-206/SYSHEAP 11592
20:48:43 ESP-206/SYSHEAP 11592
20:51:45 ESP-206/SYSHEAP 11592
20:54:48 ESP-206/SYSHEAP 11592
20:57:50 ESP-206/SYSHEAP 11592
21:00:52 ESP-206/SYSHEAP 11592
21:03:54 ESP-206/SYSHEAP 11592
21:06:56 ESP-206/SYSHEAP 11424
21:09:58 ESP-206/SYSHEAP 13024
21:13:01 ESP-206/SYSHEAP 11424
21:16:03 ESP-206/SYSHEAP 13024
21:19:06 ESP-206/SYSHEAP 11424
21:22:08 ESP-206/SYSHEAP 11448
21:25:10 ESP-206/SYSHEAP 11424
21:28:13 ESP-206/SYSHEAP 11424
21:31:15 ESP-206/SYSHEAP 11424
21:34:18 ESP-206/SYSHEAP 11424
21:37:20 ESP-206/SYSHEAP 11424
21:40:22 ESP-206/SYSHEAP 11424
21:43:24 ESP-206/SYSHEAP 11424
21:46:27 ESP-206/SYSHEAP 11424
21:49:28 ESP-206/SYSHEAP 13024
21:52:31 ESP-206/SYSHEAP 11424
21:55:33 ESP-206/SYSHEAP 11424
21:58:36 ESP-206/SYSHEAP 11424
22:01:38 ESP-206/SYSHEAP 11424

同时,从昨天中午开始,已有8台设备在运行。
他们都没有被卡住。

其中一个在大约 15 分钟内无法访问 - 突然它又回到了网络上。
总的来说,一个令人满意的结果。

很高兴听到。
让我们希望@Oxyandy也能与我分享的最新版本分享类似的积极成果。
使用2.4.x时他的节点是最关键的

@TD-er 早上好,在赶上之后终于找到了这个帖子
0403 使用 2.4.1 整个晚上都很棒..
现在从你最新的 rar 正常闪烁 1024 8266
连接第一次尝试,立即更新时间,没有 wifi 错误(到目前为止)并保持连接(到目前为止),
网络服务器每次都响应..
需要更多时间测试,但看起来不错

听起来还不错 :)

我将查看@giig1967g报告的 NTP 问题,然后将此代码推送到 ESPeasy 存储库。
让我们期盼最好的结果。

如果我们可以将 wifi 保持原样并继续其余部分,那就太好了。

希望你可以微调我提供反馈的一些事情,一旦事情再次稳定下来。
我将尝试使用来自 Github 的 wifi_stability_core-2.4.1 源代码进行一些特定测试
&也许可以解决我长期存在的问题,如果来源没有从根本上改变

如果你有一些修复,请分享它们。

@giig1967g我已经做了测试。 非常短的断开连接没有问题。 AP 关闭并立即打开。 如果 AP 回来,我的 mcunode 会连接。 我的电脑已经连接到另一个 AP。

也刚开始用 D1-Mini 和 BME280 测试

ESPEasy:提交 2abec2b0bb74018ea76203886f683761796091a2
合并:16d3a9f 29f89b6
作者:Susis Strolch [email protected]
日期:2018 年 4 月 28 日星期六 10:26:14 +0200

Merge remote-tracking branch 'upstream/mega' into mega

* upstream/mega:
  automaticly updated release notes for mega-20180428

核心:提交 41a64707f149d01ace37c903f448d5e3f1cee5d8
作者:Marcel Stör [email protected]
日期:2018 年 4 月 26 日星期四 01:46:17 +0200

Fix WiFi status formatting issue (bullet list) (#4671)

自定义.h:
`#warning " ** 使用 Custom.h 文件中的设置 * "

如果定义(ESP8266)

//启用Arduino OTA更新。
//注意:这会增加大约 10kb 的固件大小,以及 1kb 的额外内存。
// #define FEATURE_ARDUINO_OTA

//启用mDNS模式(添加大约6kb ram和一些字节的IRAM)
// #define FEATURE_MDNS

万一

undef PLUGIN_BUILD_NORMAL

undef PLUGIN_BUILD_TESTING

undef PLUGIN_BUILD_DEV

定义 PLUGIN_BUILD_CUSTOM

undef BUILD_UPLOADER

如果定义(BUILD_UPLOADER)

#warning "**** Building ESP8285 Uploader image ***"

别的

// 定义我们自己的插件
#define USES_P001 // 开关
#define USES_P002 // ADC
#define USES_P004 // 达拉斯
#define USES_P005 // DHT
#define USES_P013 // HCSR04
#define USES_P026 // 系统信息
#define USES_P028 // BME280
#define USES_P033 // 虚拟

#define USES_C008   // Generic HTTP
#define USES_C009   // FHEM HTTP
#define USES_C013   // ESPEasy P2P network

万一

undef BUILD_GIT

定义 BUILD_GIT "2abec2b"`

似乎NTP存在一些问题:
`
初始化:启动版本:2abec2b(ESP82xx 核心 41a64707)

80 : INIT : 热启动 #2

81 : FS : 安装...

106 : FS : 挂载成功,使用了 957314 的 76053 字节

115 : CRC : 未找到程序存储器校验和。 检查 crc2.py 的输出

144:CRC:安全设置CRC ...OK

227:初始化:可用内存:32208

227:初始化:I2C

227 : INIT : SPI 未启用

232:信息:插件:8(ESP82xx 核心 41a64707)

233:事件:系统#唤醒

241:WIFI:设置WiFi为STA
242:WIFI:连接 SusiconStrolch 尝试 #0
355:事件:系统#启动
364:WD:正常运行时间 0 ConnectFailures 0 FreeMem 31504
3987 : BMx280 : 检测到 BME280
5575:BME280:露点 8.03C
5576:BME280:地址:0x76
5576:BME280:温度:18.49
5576:BME280:湿度:50.75
5576:BME280:大气压力:1010.58
5583:事件:BMx280#Temperature=18.49
5592:事件:BMx280#Humidity=50.75
5597:事件:BMx280#压力=1010.58
5853:当前时区:DST 时间开始:2018-03-25 02:00:00 偏移:120 分钟STD 时间开始:2018-10-28 03:00:00 偏移:60 分钟
5853:事件:时间#初始化
5862:事件:时钟#时间=周六,10:52
5866 : ACT : 任务值集 12,1,0
5872 : ACT : 任务值集 12,2,-58
5877:ACT:任务值集12、3、29912
5883 : ACT : 任务值集 12,4,39164
5888:WIFI:已连接! AP:SusiconStrolch (38:10:D5:B2:22:1E) Ch:13 持续时间:3783 ms
5888:事件:WiFi#ChangedAccesspoint
5894:WIFI:DHCP IP:192.168.254.71 (D1pro-01-11) GW:192.168.254.1 SN:255.255.255.0 持续时间:17 毫秒
5913:当前时区:DST 时间开始:2036-03-30 02:00:00 偏移:120 分钟STD 时间开始:2036-10-26 03:00:00 偏移:60 分钟
5914 :事件:时间#Set
5921:事件:WiFi#Connected
5928:网络服务器:启动
5935:事件:时钟#时间=周四,07:28
`
5853:当前时区:夏令时时间开始:2018-03-25 02:00:00
5913:当前时区:DST 时间开始:2036-03-30 02:00:00 偏移:120 分钟STD 时间开始:

这是一个已知的 -1 错误代码,仍然转换为时间错误。

嗯,我仍然想知道如何调用 NTP 会导致 -1。

@susisstrolch
那是什么版本? ESPeasy 使用 BUILD_GIT 值来确定应该在设置文件和其他文件中修补什么。 它是一种用于确定所需补丁的内部版本。 (如果有的话)
当您更改该值时,可能会导致奇怪的事情。

我想这是UDP相关的。 我没有看到我的任何其他设备。 反之亦然。

@susisstrolch那是使用静态 IP 还是使用 DHCP?

@TD-er 基于 BUILD_GIT 打补丁是一个坏主意,因为它会在分支、分支和本地提交上发生变化。
应该有一些不同的类型/变量 - 可能是 BUILD_FEATURE - 控制这种行为。

因为我几乎从不重启我的 AP,所以没有注意到使用最新的 github 源 (20180428) 重新连接失败。 我试图获得一些内部状态以查看发生了什么:

开机后:
调用 Wifi.status() : 3 表示 WL_CONNECTED
变量 wifiStatus : 3 表示 ESPEASY_WIFI_SERVICES_INITIALIZED

重启AP后
调用 Wifi.status() : 3 表示 WL_CONNECTED
变量 wifiStatus : 0 表示 ESPEASY_WIFI_DISCONNECTED

这不会随着时间的推移而改变,ESP 永远不会重新连接

只是想知道为什么 Wifi.status() 对核心的调用仍然报告状态 3 (WL_CONNECTED)
这是因为基于事件的 wifi 干扰了内部核心状态吗?

核心 2_3_0 和 2_4_1 上的行为相同

那是 DHCP

我希望在正常重启后:

调用 Wifi.status() : 3 表示 WL_CONNECTED
可变 wifiStatus : 1 表示 ESPEASY_WIFI_CONNECTED

代替:
调用 Wifi.status() : 3 表示 WL_CONNECTED
变量 wifiStatus : 3 表示 ESPEASY_WIFI_SERVICES_INITIALIZED

嗯,这是个好问题@mvdbro
也许状态WL_CONNECTED永远不会更新,因为它没有调用函数来更新该状态。
仅凭记忆,我会说在处理“获得 IP”事件时在核心库中调用该函数。
我将研究核心库代码的那个区域。
谢谢你的注意。

@susisstrolch好的,我也会在这里尝试使用 DHCP。
我的测试单元可以通过内部 ESPeasy UDP 通信看到彼此,但它们目前在静态 IP 上运行,因为最近出现了大部分问题。

@TD-er 稍等 - 将检查它是否是核心相关问题。

@mvdbro
这是代码:
https://github.com/esp8266/Arduino/blob/836c7da8cc1ad11a66e0be1f30d35a92b5317bcc/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp#L497 -L513

确实,只要内部状态没有设置为'got IP',它就不会返回WL_CONNECTED。

关于 ESPeasy 和核心库中的 enum/defines 之间变量名称的差异。
核心库状态并不能真正反映真实状态,因为您可以连接而没有 IP。

我最好只保留这个线程来解决 Wifi 连接/重新连接问题,这样就可以首先解决这个问题。

我想这些是使用的有效代码:

Wifi.status() 代码:
WL_IDLE_STATUS 0
WL_NO_SSID_AVAIL 1
WL_SCAN_COMPLETED 2
WL_CONNECTED 3
WL_CONNECT_FAILED 4
WL_CONNECTION_LOST 5
WL_DISCONNECTED 6

wifi状态码:
ESPEASY_WIFI_DISCONNECTED 0
ESPEASY_WIFI_CONNECTED 1
ESPEASY_WIFI_GOT_IP 2
ESPEASY_WIFI_SERVICES_INITIALIZED 3

我想这很可能与 wifi 连接/重新连接问题有关。
对于静态 IP,根本没有“获得 IP”的事件,因此其当前处理可能不完整,这会导致其中一些问题。

所以重启AP后
调用 Wifi.status() : 3 表示 WL_CONNECTED
这是不正确的。

如果 Wifi.status() 没有按预期工作,这将是一个严重的 arduino 核心错误。 这不应该在他们的 github 问题跟踪器上报告吗?

@susisstrolch刚刚经历了同样的

解决方法:检查UDP端口条目。 (65500) 我的刚刚不见了。 再次重新启动,它正在工作。
我们真的应该选择基于 JSON 的配置!!!

@mvdbro我刚找到这个,见第 39 页顶部:
https://www.espressif.com/sites/default/files/documentation/2c-esp8266_non_os_sdk_api_reference_en.pdf
所以我现在将测试看看我们是否必须在处理连接事件后设置 IP 配置(再次)。

有人可以测试此 PR 中的代码: https :

@s0170071 - 确认 - UDP 端口的设置已更改。

@TD-er 关于#1328:

INIT : Booting version: 62e6317 (ESP82xx Core 41a64707)
75 : INIT : Warm boot #1
76 : FS   : Mounting...
101 : FS   : Mount successful, used 76053 bytes of 957314
111 : CRC  : No program memory checksum found. Check output of crc2.py
142 : CRC  : SecuritySettings CRC   ...OK 
248 : INIT : Free RAM:31624
248 : INIT : I2C
248 : INIT : SPI not enabled
253 : INFO : Plugins: 8 (ESP82xx Core 41a64707)
254 : EVENT: System#Wake
261 : WIFI : Set WiFi to STA
        mode : sta(5c:cf:7f:f1:bb:e1)
        add if0
264 : WIFI : Connecting SusiconStrolch attempt #0
267 : OTA  : Arduino OTA enabled on port 8266
379 : EVENT: System#Boot
390 : WD   : Uptime 0 ConnectFailures 0 FreeMem 30112
        scandone
        state: 0 -> 2 (b0)
4014 : BMx280 : Detected BME280
        state: 2 -> 3 (0)
        state: 3 -> 5 (10)
        add 0
        aid 3
        cnt 
        connected with SusiconStrolch, channel 13
        dhcp client start...
        ip:192.168.254.71,mask:255.255.255.0,gw:192.168.254.1
5602 : BME280: dew point 8.12C
5603 : BME280 : Address: 0x76
5603 : BME280 : Temperature: 20.25
5603 : BME280 : Humidity: 45.75
5603 : BME280 : Barometric Pressure: 1010.14
5611 : EVENT: BMx280#Temperature=20.25
5620 : EVENT: BMx280#Humidity=45.75
5626 : EVENT: BMx280#Pressure=1010.14
5884 : Current Time Zone:  DST time start: 2018-03-25 02:00:00 offset: 120 minSTD time start: 2018-10-28 03:00:00 offset: 60 min
5884 : EVENT: Time#Initialized
5893 : EVENT: Clock#Time=Sat,16:10
5898 : ACT  : taskvalueset 12,1,0
5903 : ACT  : taskvalueset 12,2,-60
5908 : ACT  : taskvalueset 12,3,28376
5914 : ACT  : taskvalueset 12,4,58217
5921 : WIFI : Connected! AP: SusiconStrolch (38:10:D5:B2:22:1E) Ch: 13 Duration: 3788 ms
5921 : EVENT: WiFi#ChangedAccesspoint
5927 : IP   : Static IP : 192.168.254.71 GW: 192.168.254.1 SN: 255.255.255.0 DNS: 192.168.254.1
        STUB: dhcp_stop
5932 : WIFI : Static IP: 192.168.254.71 (D1pro-01-11) GW: 192.168.254.1 SN: 255.255.255.0   duration: 1879 ms
5957 : Current Time Zone:  DST time start: 2036-03-30 02:00:00 offset: 120 minSTD time start: 2036-10-26 03:00:00 offset: 60 min
5957 : EVENT: Time#Set
5964 : EVENT: WiFi#Connected
5971 : Webserver: start
5979 : EVENT: Clock#Time=Thu,07:28
5989 : ACT  : taskvalueset 12,1,0
5999 : ACT  : taskvalueset 12,2,-59
6006 : ACT  : taskvalueset 12,3,26040
6014 : ACT  : taskvalueset 12,4,26896
6019 : EVENT: Clock#Time=Thu,07:28 Processing time:40 milliSeconds
        ping 1, timeout 0, total payload 32 bytes, 1064 ms
        ping 1, timeout 0, total payload 32 bytes, 1065 ms
7269 : UDP  : 5C:CF:7F:23:CB:63,192.168.254.97,7
8088 : UDP  : 5C:CF:7F:1C:0B:DD,192.168.254.94,4
8396 : UDP  : 5C:CF:7F:1B:E4:F7,192.168.254.92,2
11998 : Dummy: value 1: 0.00
12000 : Dummy: value 2: -59.00
12000 : Dummy: value 3: 26040.00
12001 : Dummy: value 4: 26896.00
12006 : EVENT: sysinfo#uptime=0.00
12015 : EVENT: sysinfo#uptime=0.00 Processing time:9 milliSeconds
12016 : EVENT: sysinfo#RSSI=-59.00
12025 : EVENT: sysinfo#RSSI=-59.00 Processing time:8 milliSeconds
12025 : EVENT: sysinfo#sysheap=26040.00
12034 : EVENT: sysinfo#sysheap=26040.00 Processing time:9 milliSeconds
12034 : EVENT: sysinfo#syssec_d=26896.00
12043 : EVENT: sysinfo#syssec_d=26896.00 Processing time:9 milliSeconds
12068 : HTTP : connecting to 192.168.254.27:8383
12275 : HTTP : closing connection
        pm open,type:2 0
14437 : UDP  : 5C:CF:7F:9E:CB:D4,192.168.254.99,9
18430 : UDP  : 5C:CF:7F:1B:E9:2F,192.168.254.91,1
18533 : UDP  : 5C:CF:7F:23:C5:5A,192.168.254.96,6
25189 : UDP  : 60:01:94:83:B1:70,192.168.254.80,10
30390 : WD   : Uptime 1 ConnectFailures 0 FreeMem 24816
30391 : UDP  : Send Sysinfo message
34917 : UDP  : 5C:CF:7F:9E:CC:3D,192.168.254.98,8
37273 : UDP  : 5C:CF:7F:23:CB:63,192.168.254.97,7
38092 : UDP  : 5C:CF:7F:1C:0B:DD,192.168.254.94,4
38501 : UDP  : 5C:CF:7F:1B:E4:F7,192.168.254.92,2
44441 : UDP  : 5C:CF:7F:9E:CB:D4,192.168.254.99,9
48436 : UDP  : 5C:CF:7F:1B:E9:2F,192.168.254.91,1
48641 : UDP  : 5C:CF:7F:23:C5:5A,192.168.254.96,6
49979 : EVENT: Clock#Time=Thu,07:29
49987 : ACT  : taskvalueset 12,1,1
49994 : ACT  : taskvalueset 12,2,-57
50001 : ACT  : taskvalueset 12,3,25544
50009 : ACT  : taskvalueset 12,4,26940
50014 : EVENT: Clock#Time=Thu,07:29 Processing time:35 milliSeconds
55193 : UDP  : 60:01:94:83:B1:70,192.168.254.80,10
60390 : WD   : Uptime 1 ConnectFailures 0 FreeMem 24816
60392 : UDP  : Send Sysinfo message
64922 : UDP  : 5C:CF:7F:9E:CC:3D,192.168.254.98,8
66569 : BME280: dew point 8.10C
66571 : BME280 : Address: 0x76
66572 : BME280 : Temperature: 20.28
66572 : BME280 : Humidity: 45.58
66573 : BME280 : Barometric Pressure: 1010.10
66576 : EVENT: BMx280#Temperature=20.28
66587 : EVENT: BMx280#Temperature=20.28 Processing time:11 milliSeconds
66588 : EVENT: BMx280#Humidity=45.58
66594 : EVENT: BMx280#Humidity=45.58 Processing time:6 milliSeconds
66595 : EVENT: BMx280#Pressure=1010.10
66602 : EVENT: BMx280#Pressure=1010.10 Processing time:7 milliSeconds
66627 : HTTP : connecting to 192.168.254.27:8383
66833 : HTTP : closing connection
67277 : UDP  : 5C:CF:7F:23:CB:63,192.168.254.97,7
68096 : UDP  : 5C:CF:7F:1C:0B:DD,192.168.254.94,4
68403 : UDP  : 5C:CF:7F:1B:E4:F7,192.168.254.92,2
72860 : Dummy: value 1: 1.00
72861 : Dummy: value 2: -57.00
72862 : Dummy: value 3: 25544.00
72863 : Dummy: value 4: 26940.00
72865 : EVENT: sysinfo#uptime=1.00
72872 : EVENT: sysinfo#uptime=1.00 Processing time:7 milliSeconds
72872 : EVENT: sysinfo#RSSI=-57.00
72878 : EVENT: sysinfo#RSSI=-57.00 Processing time:6 milliSeconds
72879 : EVENT: sysinfo#sysheap=25544.00
72887 : EVENT: sysinfo#sysheap=25544.00 Processing time:8 milliSeconds
72888 : EVENT: sysinfo#syssec_d=26940.00
72897 : EVENT: sysinfo#syssec_d=26940.00 Processing time:9 milliSeconds
72924 : HTTP : connecting to 192.168.254.27:8383
73129 : HTTP : closing connection
74446 : UDP  : 5C:CF:7F:9E:CB:D4,192.168.254.99,9
78747 : UDP  : 5C:CF:7F:23:C5:5A,192.168.254.96,6
78950 : UDP  : 5C:CF:7F:1B:E9:2F,192.168.254.91,1
85197 : UDP  : 60:01:94:83:B1:70,192.168.254.80,10
90390 : WD   : Uptime 2 ConnectFailures 0 FreeMem 24816
90391 : UDP  : Send Sysinfo message
94925 : UDP  : 5C:CF:7F:9E:CC:3D,192.168.254.98,8
97280 : UDP  : 5C:CF:7F:23:CB:63,192.168.254.97,7
98101 : UDP  : 5C:CF:7F:1C:0B:DD,192.168.254.94,4
98407 : UDP  : 5C:CF:7F:1B:E4:F7,192.168.254.92,2
104448 : UDP  : 5C:CF:7F:9E:CB:D4,192.168.254.99,9
108852 : UDP  : 5C:CF:7F:23:C5:5A,192.168.254.96,6
108954 : UDP  : 5C:CF:7F:1B:E9:2F,192.168.254.91,1
110842 : EVENT: Clock#Time=Thu,07:30
110849 : ACT  : taskvalueset 12,1,2
110856 : ACT  : taskvalueset 12,2,-54
110864 : ACT  : taskvalueset 12,3,24504
110871 : ACT  : taskvalueset 12,4,27000
110876 : EVENT: Clock#Time=Thu,07:30 Processing time:34 milliSeconds

如您所见,即使设置为静态 IP,DHCP 也会启动...

这是我的 JSON

{"System":{
"Build":20102,
"Git Build":"62e6317",
"Local time":"2036-02-07 07:33:33",
"Unit":11,
"Name":"D1pro-01",
"Uptime":5,
"Load":1,
"Load LC":10747,
"Free RAM":25280
},
"WiFi":{
"Hostname":"D1pro-01-11",
"IP":"192.168.254.71",
"Subnet Mask":"255.255.255.0",
"Gateway IP":"192.168.254.1",
"MAC address":"5C:CF:7F:F1:BB:E1",
"DNS 1":"192.168.254.1",
"DNS 2":"0.0.0.0",
"SSID":"SusiconStrolch",
"BSSID":"38:10:D5:B2:22:1E",
"Channel":13,
"Connected msec":319382,
"Last Disconnect Reason":1,
"Last Disconnect Reason str":"(1) Unspecified",
"RSSI":-59
},
"Sensors":[
{
"TaskNumber":4,
"Type":"Environment - BMx280",
"TaskName":"BMx280",
"TaskValues": [
{"ValueNumber":1,
"Name":"Temperature",
"Value":20.31},
{"ValueNumber":2,
"Name":"Humidity",
"Value":44.70},
{"ValueNumber":3,
"Name":"Pressure",
"Value":1010.10}]
},
{
"TaskNumber":12,
"Type":"Generic - Dummy Device",
"TaskName":"sysinfo",
"TaskValues": [
{"ValueNumber":1,
"Name":"uptime",
"Value":5},
{"ValueNumber":2,
"Name":"RSSI",
"Value":-60},
{"ValueNumber":3,
"Name":"sysheap",
"Value":25464},
{"ValueNumber":4,
"Name":"syssec_d",
"Value":27180}]
}
]
}

99 : CRC : 未找到程序存储器校验和。 检查 crc2.py 的输出
130:CRC:安全设置CRC ...OK
211:初始化:可用内存:21016
211:初始化:I2C
211 : INIT : SPI 未启用
1042:信息:插件:71 [正常] [测试](ESP82xx Core 2_4_1)
1042:事件:系统#唤醒
1089:WIFI:将WiFi设置为STA
1091:WIFI:连接SMC尝试#0
1103:事件:系统#启动
1111 : ACT : 发布 ESP-201/IP,0.0.0.0
1124:ACT:定时器集,1,60
1152:WD:正常运行时间 0 ConnectFailures 0 FreeMem 20160
1183:DS:温度:20.37(28-ff-b8-ea-b4-16-3-ed)
1184:事件:DS18b20#Temperature=20.37
4887:WIFI:已连接! AP:SMC (78:8A:20:D1:9B:D9) 通道:1 持续时间:3795 毫秒
4888:事件:WiFi#ChangedAccesspoint
4910:IP:静态 IP:192.168.0.201 GW:192.168.0.3 SN:255.255.255.0 DNS:192.168.0.3
4911 : WIFI : 静态 IP: 192.168.0.201 (ESP-201-1) GW: 192.168.0.3 SN: 255.255.255.0 持续时间: 25 ms
5009:当前时区:DST 时间开始:2018-03-25 02:00:00 偏移:120 分钟STD 时间开始:2018-10-28 03:00:00 偏移:60 分钟
5010:事件:时间#初始化
5027:事件:WiFi#Connected
5044:网络服务器:启动
5127:MQTT:有意重新连接
5182:MQTT:使用客户端 ID 连接到代理:ESPClient_5C:CF:7F:0B:68:52
5184:订阅:ESP-201/#
5185:事件:MQTT#Connected
5846:事件:时钟#时间=周六,16:19

@susisstrolch启动 DHCP 很奇怪,因为我最近为它写了一个补丁。
也许在 2.4.1 中发生了一些变化?

你做了什么来获得额外的调试信息?

我只是将调试级别设置为“调试更多”...

@susisstrolch您似乎还有其他由核心库生成的调试输出。
我在串行端口的日志中没有看到这一点。

编辑:
找到了,从Setup()调用Serial.setDebugOutput。 所以简单的重启就足够了:)

这是 SYSHEAP 和 Uptime 的交互。

sysheap

我很好奇系统堆图在一两天后会是什么样子。

如果他没有失败,我们会看到的。 :)

图表看起来都不一样:这是您最后一次更改和静态 IP 的设备。

esp-201 sysheap

以前的图表是什么版本?

第一张图表,你昨晚的特别版。 使用 DHCP

有趣的。
我也会向我的节点添加一些系统堆日志记录。

我用 openHAB 登录。 Grafana 也很棒。

我应该刷新您当前的提交吗? 然后我的图表在 ESP-201 上丢失了。

我猜目前wifi稳定性测试更重要。

好的,我会做的。

OK,上线了。

初始化:启动版本:(ESP82xx Core 2_4_1)
92:初始化:热启动#2
94 : FS : 安装...
118 : FS : 挂载成功,使用了 957314 的 76806 字节
131:CRC:未找到程序存储器校验和。 检查 crc2.py 的输出
162:CRC:安全设置CRC ...OK
243:初始化:可用内存:20984
243:初始化:I2C
243 : INIT : SPI 未启用
1073:信息:插件:71 [正常] [测试](ESP82xx Core 2_4_1)
1073:事件:系统#唤醒
1120 : WIFI : 将 WiFi 设置为 STA
1152:WIFI:连接SMC尝试#0
1153:IP:静态 IP:192.168.0.201 GW:192.168.0.3 SN:255.255.255.0 DNS:192.168.0.3
1155 : WIFI : SDK 站状态与 Arduino 状态不同。 SDK 状态:1 Arduino 状态:6
1172:事件:系统#启动
1178:ACT:NeoPixelAll,0,0,0,0
1189 : ACT : 发布 ESP-201/IP,192.168.0.201
1201 : ACT : timerSet,1,60
1226 :WD:正常运行时间 0 ConnectFailures 0 FreeMem 20088
1257:DS:温度:20.25(28-ff-b8-ea-b4-16-3-ed)
1259:事件:DS18b20#Temperature=20.25
4952:WIFI:已连接! AP:SMC (78:8A:20:D1:9B:D9) 通道:1 持续时间:3798 毫秒
4953:事件:WiFi#ChangedAccesspoint
4974:IP:静态 IP:192.168.0.201 GW:192.168.0.3 SN:255.255.255.0 DNS:192.168.0.3
4975 : WIFI : SDK 站状态与 Arduino 状态不同。 SDK 状态:5 Arduino 状态:3
4980 : WIFI : 静态 IP: 192.168.0.201 (ESP-201-1) GW: 192.168.0.3 SN: 255.255.255.0 持续时间: 24 ms
5102 : 当前时区: DST 时间开始:2018-03-25 02:00:00 偏移:120 分钟STD 时间开始:2018-10-28 03:00:00 偏移:60 分钟
5103:事件:时间#初始化
5123:事件:WiFi#Connected
5140:网络服务器:启动
5141 : WIFI : SDK 站状态与 Arduino 状态不同。 SDK 状态:5 Arduino 状态:3
5223 :MQTT:有意重新连接
5261:MQTT:通过客户端 ID 连接到代理:ESPClient_5C:CF:7F:0B:68:52
5264:订阅:ESP-201/#
5265:事件:MQTT#Connected
5912:事件:时钟#时间=太阳,00:14
31226:WD:正常运行时间 1 ConnectFailures 0 FreeMem 15968

我还扩展了 sysinfo 页面上的信息。
添加了重新连接计数器并使用了静态/DHCP 设置(和 SDK 版本)

还包括一些强制重新连接检查,它会在一段时间未连接时重新连接。

我应该中断 WIFI 0.2 秒吗?

请尝试使其崩溃:)

244302 : ACT : 发布 ESP-201/IP,192.168.0.201
244318 : ACT : 发布 ESP-201/MAC,5C:CF:7F:0B:68:52
244331 : ACT : 发布 ESP-201/Time,00:18:18
244343 : ACT : 发布 ESP-201/Uptime,4
244355 : ACT : 发布 ESP-201/RSSI,-62
244367 : ACT : 发布 ESP-201/SSID,SMC
244379 : ACT : 发布 ESP-201/BSSID,78:8A:20:D1:9B:D9
244391 : ACT : 发布 ESP-201/CH,1
244406 : ACT : 发布 ESP-201/SYSHEAP,12616
244422 : ACT : timerSet,1,60
255542:事件:WiFi#Disconnected
255560:WIFI:断开连接! 原因:“(1) 未指定”已连接 4 m 10 s
255560:WIFI:SDK 站状态与 Arduino 状态不同。 SDK 状态:5 Arduino 状态:3
255571:MQTT:连接丢失
255572:事件:MQTT#Disconnected
255610:MQTT:无法连接到代理
256110:MQTT:无法连接到代理
256860:MQTT:无法连接到代理
257860:MQTT:无法连接到代理
259110:MQTT:无法连接到代理
260610:MQTT:无法连接到代理
262360:MQTT:无法连接到代理
264360:MQTT:无法连接到代理
266360:MQTT:无法连接到代理
268360:MQTT:无法连接到代理
270360:MQTT:无法连接到代理
271226:WD:正常运行时间 5 ConnectFailures 22 FreeMem 17224
271247:MQTT:无法连接到代理
272360:MQTT:无法连接到代理
274360:MQTT:无法连接到代理
276360:MQTT:无法连接到代理
278360:MQTT:无法连接到代理
280360:MQTT:无法连接到代理
282360:MQTT:无法连接到代理
284360:MQTT:无法连接到代理
286291:事件:Clock#Time=Sun,00:19
286359:MQTT:无法连接到代理
288360:MQTT:无法连接到代理
290360:MQTT:无法连接到代理

就为了这个检查,你能不能让它在这个状态下保持4分钟?
我将减少此检查的代码间隔(当前为 240 秒)

好的,我愿意。

240秒很长

是的,我知道,我会改变它。
刚刚从这个问题中汲取了想法: //github.com/esp8266/Arduino/issues/4445

没有什么....

432148:MQTT:无法连接到代理
434148:MQTT:无法连接到代理
436148:MQTT:无法连接到代理
438147:MQTT:无法连接到代理
440148:MQTT:无法连接到代理
442147:MQTT:无法连接到代理
444148:MQTT:无法连接到代理
446148:MQTT:无法连接到代理
448148:MQTT:无法连接到代理
450147:MQTT:无法连接到代理
451222:WD:正常运行时间 8 ConnectFailures 446 FreeMem 17384
451243:MQTT:无法连接到代理
452148:MQTT:无法连接到代理
453907:事件:Clock#Time=Sun,00:29
454148:MQTT:无法连接到代理
456148:MQTT:无法连接到代理
458148:MQTT:无法连接到代理

我要睡觉了,明天见。

刚刚发现另一个问题,可能与 UDP 相关:
在普通的新出厂重置单元上使用串行命令
无线钥匙
无线网络
保存

重新启动,然后转到高级设置并检查 ssdp。 重启。
然后进入引导循环:

 ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v41a64707
~ld
⸮U87 : 


INIT : Booting version: (custom) (ESP82xx Core 41a64707)
88 : INIT : Warm boot #741
89 : FS   : Mounting...
114 : FS   : Mount successful, used 75802 bytes of 957314
120 : CRC  : No program memory checksum found. Check output of crc2.py
152 : CRC  : SecuritySettings CRC   ...OK 
258 : INIT : Free RAM:27288
258 : INIT : I2C
258 : INIT : SPI not enabled
272 : INFO : Plugins: 49 [Normal] (ESP82xx Core 41a64707)
273 : WIFI : Set WiFi to STA
304 : WIFI : Connecting MNET attempt #0
306 : WIFI  : SDK station status differs from Arduino status. SDK-status: 1 Arduino status: 6
311 : WD   : Uptime 0 ConnectFailures 0 FreeMem 26448

Exception (28):
epc1=0x40208931 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000004 depc=0x00000000

Decoding 14 results
0x40208931: UdpContext::next() at /home/john/Arduino/scetchbooks/ESPEasy/_P030_BMP280.ino line 390
0x40249cf8: HardwareSerial::write(unsigned char const*, unsigned int) at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/HardwareSerial.cpp line 69
0x4024a055: Print::write(char const*) at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/Print.cpp line 220
0x4024a2f1: Print::printNumber(unsigned long, unsigned char) at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/Print.cpp line 220
0x4024ac4f: String::changeBuffer(unsigned int) at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/WString.cpp line 714
0x40249cf8: HardwareSerial::write(unsigned char const*, unsigned int) at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/HardwareSerial.cpp line 69
0x401071a2: millis at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/core_esp8266_wiring.c line 183
0x4024a27c: Print::println(char const*) at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/Print.cpp line 220
0x40213ece: LogStruct::add(char const*) at /home/john/Arduino/scetchbooks/ESPEasy/_P030_BMP280.ino line 390
:  (inlined by) addLog(unsigned char, char const*) at /home/john/Arduino/scetchbooks/ESPEasy/Misc.ino line 1395
0x4023545d: runEach30Seconds() at /home/john/Arduino/scetchbooks/ESPEasy/_P030_BMP280.ino line 390
0x4020c678: timeOutReached(unsigned long) at /home/john/Arduino/scetchbooks/ESPEasy/_P030_BMP280.ino line 390
0x4023eac5: loop at /home/john/Arduino/scetchbooks/ESPEasy/ESPEasy.ino line 436
0x4024bcc8: loop_wrapper at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/core_esp8266_main.cpp line 125
0x40100739: cont_wrapper at /home/john/ArduinoPortable/arduino-1.8.5_ESPgit/hardware/esp8266com/esp8266/cores/esp8266/cont.S line 81

大家早上好。
对我来说,重新连接还不起作用。

初始化:启动版本:(ESP82xx Core 2_4_1)
92:初始化:热启动#8
94 : FS : 安装...
118 : FS : 挂载成功,使用了 957314 的 76806 字节
131:CRC:未找到程序存储器校验和。 检查 crc2.py 的输出
162:CRC:安全设置CRC ...OK
243:初始化:可用内存:20968
243:初始化:I2C
243 : INIT : SPI 未启用
1073:信息:插件:71 [正常] [测试](ESP82xx Core 2_4_1)
1074:事件:系统#唤醒
1121 : WIFI : 将 WiFi 设置为 STA
1153:WIFI:连接SMC尝试#0
1154:IP:静态 IP:192.168.0.201 GW:192.168.0.3 SN:255.255.255.0 DNS:192.168.0.3
1155 : WIFI : SDK 站状态与 Arduino 状态不同。 SDK 状态:1 Arduino 状态:6
1173:事件:系统#启动
1179:ACT:NeoPixelAll,0,0,0,0
1190 : ACT : 发布 ESP-201/IP,192.168.0.201
1201 : ACT : timerSet,1,60
1226 :WD:正常运行时间 0 ConnectFailures 0 FreeMem 20072
1258 : DS : 温度: 19.75 (28-ff-b8-ea-b4-16-3-ed)
1259:事件:DS18b20#Temperature=19.75
4925:WIFI:已连接! AP:SMC (78:8A:20:D1:9B:D9) Ch:1 持续时间:3770 毫秒
4926:事件:WiFi#ChangedAccesspoint
4947:IP:静态 IP:192.168.0.201 GW:192.168.0.3 SN:255.255.255.0 DNS:192.168.0.3
4947 : WIFI : SDK 站状态与 Arduino 状态不同。 SDK 状态:5 Arduino 状态:3
4953 : WIFI : 静态 IP: 192.168.0.201 (ESP-201-1) GW: 192.168.0.3 SN: 255.255.255.0 持续时间: 23 ms
5066:当前时区:DST 时间开始:2018-03-25 02:00:00 偏移:120 分钟STD 时间开始:2018-10-28 03:00:00 偏移:60 分钟
5066:事件:时间#初始化
5087:事件:WiFi#Connected
5104:网络服务器:启动
5104 : WIFI : SDK 站状态与 Arduino 状态不同。 SDK 状态:5 Arduino 状态:3
5186:MQTT:有意重新连接
5222:MQTT:通过客户端 ID 连接到代理:ESPClient_5C:CF:7F:0B:68:52
5225:订阅:ESP-201/#
5226:事件:MQTT#Connected
5906:事件:时钟#时间=太阳,10:01
31227:WD:正常运行时间 1 ConnectFailures 0 FreeMem 16336
47905 :事件:时钟#Time=Sun,10:02
61229:WD:正常运行时间 1 ConnectFailures 0 FreeMem 16336
61926:DS:温度:19.75(28-ff-b8-ea-b4-16-3-ed)
61928:事件:DS18b20#Temperature=19.75
61972:事件:规则#Timer=1
61983 : ACT : 发布 ESP-201/IP,192.168.0.201
61999 : ACT : 发布 ESP-201/MAC,5C:CF:7F:0B:68:52
62015 : ACT : 发布 ESP-201/Time,10:02:14
62030 : ACT : 发布 ESP-201/Uptime,1
62044 : ACT : 发布 ESP-201/RSSI,-62
62060 : ACT : 发布 ESP-201/SSID,SMC
62076 : ACT : 发布 ESP-201/BSSID,78:8A:20:D1:9B:D9
62091 : ACT : 发布 ESP-201/CH,1
62107 : ACT : 发布 ESP-201/SYSHEAP,13536
62120 : ACT : timerSet,1,60
67292:事件:WiFi#Disconnected
67310:WIFI:断开连接! 原因:'(1) Unspecified' 连接了 1 m 2 s
67310 : WIFI : SDK 站状态与 Arduino 状态不同。 SDK 状态:5 Arduino 状态:3
67316:MQTT:连接丢失
67317:事件:MQTT#Disconnected
67357:MQTT:无法连接到代理
67856:MQTT:无法连接到代理
68606:MQTT:无法连接到代理
69607:MQTT:无法连接到代理
70857:MQTT:无法连接到代理
72357:MQTT:无法连接到代理
74107:MQTT:无法连接到代理
76106:MQTT:无法连接到代理
78107:MQTT:无法连接到代理
80107:MQTT:无法连接到代理
82106:MQTT:无法连接到代理
84106:MQTT:无法连接到代理
86107:MQTT:无法连接到代理
88106:MQTT:无法连接到代理
90107:MQTT:无法连接到代理
91228:WD:正常运行时间 2 ConnectFailures 30 FreeMem 17368
91250:MQTT:无法连接到代理
92107:MQTT:无法连接到代理
94107:MQTT:无法连接到代理
96106:MQTT:无法连接到代理
98107:MQTT:无法连接到代理
100107:MQTT:无法连接到代理
102107:MQTT:无法连接到代理
104106:MQTT:无法连接到代理
106107:MQTT:无法连接到代理
107905:事件:时钟#时间=太阳,10:03
108107:MQTT:无法连接到代理
110107:MQTT:无法连接到代理
112107:MQTT:无法连接到代理
114107:MQTT:无法连接到代理
116107:MQTT:无法连接到代理
118107:MQTT:无法连接到代理
120107:MQTT:无法连接到代理
121228:WD:正常运行时间 2 ConnectFailures 62 FreeMem 17368
121249:MQTT:无法连接到代理
121926:DS:温度:19.75(28-ff-b8-ea-b4-16-3-ed)
121927:事件:DS18b20#Temperature=19.75
122107:MQTT:无法连接到代理
122905:事件:规则#Timer=1
122915 : ACT : 发布 ESP-201/IP,0.0.0.0
122927 : ACT : 发布 ESP-201/MAC,5C:CF:7F:0B:68:52
122939 : ACT : 发布 ESP-201/Time,10:03:15
122950 : ACT : 发布 ESP-201/Uptime,2
122961 : ACT : 发布 ESP-201/RSSI,0
122972:ACT:发布 ESP-201/SSID,--
122983 : ACT : 发布 ESP-201/BSSID,00:00:00:00:00:00
122994 : ACT : 发布 ESP-201/CH,0
123005 : ACT : 发布 ESP-201/SYSHEAP,16992
123015 : ACT : timerSet,1,60
124107:MQTT:无法连接到代理
126106:MQTT:无法连接到代理
128107:MQTT:无法连接到代理
130107:MQTT:无法连接到代理
132107:MQTT:无法连接到代理
134107:MQTT:无法连接到代理
136107:MQTT:无法连接到代理
138107:MQTT:无法连接到代理
140107:MQTT:无法连接到代理
142107:MQTT:无法连接到代理
144107:MQTT:无法连接到代理
146107:MQTT:无法连接到代理
148107:MQTT:无法连接到代理
150107:MQTT:无法连接到代理
151228:WD:正常运行时间 3 ConnectFailures 94 FreeMem 17368
151249:MQTT:无法连接到代理
152107:MQTT:无法连接到代理
154107:MQTT:无法连接到代理
156107:MQTT:无法连接到代理
158107:MQTT:无法连接到代理
160107:MQTT:无法连接到代理
162107:MQTT:无法连接到代理
164107:MQTT:无法连接到代理
166107:MQTT:无法连接到代理
167905:事件:Clock#Time=Sun,10:04
168107:MQTT:无法连接到代理
170107:MQTT:无法连接到代理
172107:MQTT:无法连接到代理
174106:MQTT:无法连接到代理
176106:MQTT:无法连接到代理
178107:MQTT:无法连接到代理
180107:MQTT:无法连接到代理
181228 :WD:正常运行时间 3 ConnectFailures 126 FreeMem 17368
181250:MQTT:无法连接到代理
181926 : DS : 温度: 19.75 (28-ff-b8-ea-b4-16-3-ed)
181927:事件:DS18b20#Temperature=19.75
182107:MQTT:无法连接到代理
183905:事件:规则#Timer=1
183915 : ACT : 发布 ESP-201/IP,0.0.0.0
183927 : ACT : 发布 ESP-201/MAC,5C:CF:7F:0B:68:52
183938 : ACT : 发布 ESP-201/Time,10:04:16
183950 : ACT : 发布 ESP-201/Uptime,3
183961 : ACT : 发布 ESP-201/RSSI,0
183972:ACT:发布 ESP-201/SSID,--
183983 : ACT : 发布 ESP-201/BSSID,00:00:00:00:00:00
183994 : ACT : 发布 ESP-201/CH,0
184005 : ACT : 发布 ESP-201/SYSHEAP,16992
184015 : ACT : timerSet,1,60
184107:MQTT:无法连接到代理
186106:MQTT:无法连接到代理
188107:MQTT:无法连接到代理
190106:MQTT:无法连接到代理
192107:MQTT:无法连接到代理
194106:MQTT:无法连接到代理
196106:MQTT:无法连接到代理
198106:MQTT:无法连接到代理
200106:MQTT:无法连接到代理
202106:MQTT:无法连接到代理
204106:MQTT:无法连接到代理
206106:MQTT:无法连接到代理
208106:MQTT:无法连接到代理
210106:MQTT:无法连接到代理
211228:WD:正常运行时间 4 ConnectFailures 158 FreeMem 17368
211249:MQTT:无法连接到代理
212106:MQTT:无法连接到代理
214106:MQTT:无法连接到代理
216106:MQTT:无法连接到代理
218106:MQTT:无法连接到代理
220106:MQTT:无法连接到代理
222106:MQTT:无法连接到代理
224106:MQTT:无法连接到代理
226106:MQTT:无法连接到代理
227905:事件:时钟#时间=太阳,10:05
228107:MQTT:无法连接到代理
230107:MQTT:无法连接到代理
232107:MQTT:无法连接到代理
234107:MQTT:无法连接到代理
236106:MQTT:无法连接到代理
238106:MQTT:无法连接到代理
240106:MQTT:无法连接到代理
241228:WD:正常运行时间 4 ConnectFailures 190 FreeMem 17368
241249:MQTT:无法连接到代理
241925:DS:温度:19.75(28-ff-b8-ea-b4-16-3-ed)
241927:事件:DS18b20#Temperature=19.75
242107:MQTT:无法连接到代理
244106:MQTT:无法连接到代理
244908:事件:规则#Timer=1
244918 : ACT : 发布 ESP-201/IP,0.0.0.0
244930 : ACT : 发布 ESP-201/MAC,5C:CF:7F:0B:68:52
244942 : ACT : 发布 ESP-201/Time,10:05:17
244953 : ACT : 发布 ESP-201/Uptime,4
244964 : ACT : 发布 ESP-201/RSSI,0
244975:ACT:发布 ESP-201/SSID,--
244986 : ACT : 发布 ESP-201/BSSID,00:00:00:00:00:00
244997 : ACT : 发布 ESP-201/CH,0
245008 : ACT : 发布 ESP-201/SYSHEAP,16992
245018 : ACT : timerSet,1,60
246107:MQTT:无法连接到代理
248106:MQTT:无法连接到代理
250106:MQTT:无法连接到代理
252106:MQTT:无法连接到代理
254106:MQTT:无法连接到代理
256106:MQTT:无法连接到代理
258106:MQTT:无法连接到代理
260106:MQTT:无法连接到代理
262106:MQTT:无法连接到代理
264106:MQTT:无法连接到代理
266107:MQTT:无法连接到代理

ESP32 - 最后更改 (28-04-2018) MQTT 停止工作,NTP 停止工作
(静态IP)

@flexiti
如果您不订阅而只是尝试发布,MQTT 确实会每秒丢失连接。

52898 : MQTT : Connection lost
52925 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
52926 : Subscribed to: 
53176 : MQTT : Connection lost
53203 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
53204 : Subscribed to: 
53498 : MQTT : Connection lost
53527 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
53528 : Subscribed to: 
53778 : MQTT : Connection lost
53806 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
53807 : Subscribed to: 
54058 : MQTT : Connection lost
54086 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
54087 : Subscribed to: 
54337 : MQTT : Connection lost
54363 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
54364 : Subscribed to: 
54615 : MQTT : Connection lost
54642 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
54643 : Subscribed to: 
54894 : MQTT : Connection lost
54921 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
54922 : Subscribed to: 
55172 : MQTT : Connection lost
55199 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
55200 : Subscribed to: 
55630 : FILE : Saved config.dat
55692 : FILE : Saved config.dat
55861 : MQTT : Connection lost
55889 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2

即使您不使用它,也要尝试在订阅行中输入一些内容。 为我工作。

55630 : FILE : Saved config.dat
55692 : FILE : Saved config.dat
55861 : MQTT : Connection lost
55889 : MQTT : Connected to broker with client ID: ESPClient_2C:3A:E8:06:5E:B2
55890 : Subscribed to: SMA
60404 : WD   : Uptime 1 ConnectFailures 354 FreeMem 19224
90404 : WD   : Uptime 2 ConnectFailures 353 FreeMem 19224
120404 : WD   : Uptime 2 ConnectFailures 352 FreeMem 19224
150404 : WD   : Uptime 3 ConnectFailures 351 FreeMem 19224
180404 : WD   : Uptime 3 ConnectFailures 350 FreeMem 19224
210404 : WD   : Uptime 4 ConnectFailures 349 FreeMem 19224

@TD-er
此线程有点过载,似乎存在多个 wifi/稳定性问题。 我建议将所有问题移至单独的 github 问题并用关键字标记它们,例如
[WIFICORE] ssdp
[WIFICORE] MQTT subscription needed
[WIFICORE] Unit not found - port setting vanished
[WIFICORE] ticker interval

只是报告,刚刚从mega-20180428升级到mega-20180429。

在 mega-20180428 中,wifi 总体稳定,但在断开连接后不会重新连接。
在 mega-20180429 中,wifi 非常不稳定,我无法在没有读取超时的情况下对其进行 ping 操作。

我正在使用sonoff basic,使用#define PLUGIN_SET_SONOFF_BASIC自行编译版本,以使bin 足够小以供OTA 使用。
不确定它是否有帮助,同时返回到 mega-20180428。

@louis-lau 你能用我刚做的最新提交+合并重新测试吗?

这是最新的提交
screenshot

@louis-lau 来自节点本身的日志?
如果它尝试重新连接到 MQTT 代理,响应会变慢,并且当前有一个重新连接处理程序在后台重新连接,当有很多 MQTT 重新连接失败时。
哦,有时在尝试刷机后最好重置节点(不是重置设置,就像按下重置按钮一样)。 有时,刷机后节点上仍然存在一些剩余的配置,这可能会导致奇怪的结果。

@louis-lau 是sonoff 基本款吗?
我也是 我爱 0429, 0428 太可怕了
我可以了解更多有关您的“整体”设置的信息吗?
作为自编译,它是用 2.4.1 Core 编译的吗?
我刚刚在一个空白节点上测试了 0429 新闪存 & 它运行完美。
我之前对 0429 的尝试是对预配置静态集节点的更新。 也很完美
我的电路板日期为 5-5-2017

@Oxyandy
2.4.2核心???

这就是我得到的所有似乎相关的东西:

04-29-2018  15:43:29    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: EVENT: MQTT#Connected
04-29-2018  15:43:29    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: Subscribed to: /sonoff_lavalamp/#
04-29-2018  15:43:29    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:71:68:FB
04-29-2018  15:43:29    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: EVENT: Time#Set Processing time:46 milliSeconds
04-29-2018  15:43:29    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: EVENT: Time#Set
04-29-2018  15:43:29    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: NTP  : NTP replied: 20 mSec
04-29-2018  15:43:29    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: NTP  : NTP host time.google.com (216.239.35.8) queried
04-29-2018  15:43:29    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
04-29-2018  15:43:06    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: SW   : GPIO 12 Set to 0
04-29-2018  15:43:06    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: EVENT: MQTT#Connected Processing time:1132 milliSeconds
04-29-2018  15:43:06    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: else = false
04-29-2018  15:43:06    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: SW   : GPIO 13 Set PWM to 1023
04-29-2018  15:43:05    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: [if 0=0]=true
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: ACT  : timerSet,4,0
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: ACT  : timerSet,3,0
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: ACT  : timerSet,2,0
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: ACT  : timerSet,1,0
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: EVENT: MQTT#Connected
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: Subscribed to: /sonoff_lavalamp/#
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:71:68:FB
04-29-2018  15:43:05    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: EVENT: Time#Set Processing time:47 milliSeconds
04-29-2018  15:43:05    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: EVENT: Time#Set
04-29-2018  15:43:05    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: NTP  : NTP replied: 20 mSec
04-29-2018  15:43:05    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: NTP  : NTP host time.google.com (216.239.35.8) queried
04-29-2018  15:43:05    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
04-29-2018  15:42:53    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: WD   : Uptime 3 ConnectFailures 2 FreeMem 19456
04-29-2018  15:42:53    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: 2: lowest: 12320  parseTemplate3-> 17112 ruleMatch-> 17088 ruleMatch2-> 17040 parseTemplate-> 17176 parseTemplate3-> 17112 ruleMatch-> 17072 ruleMatch2-> 17008 rulesProcessingFile2-> 17160 sendContentBlocking-> 17184 sendConten
04-29-2018  15:42:47    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: EVENT: MQTT#Connected Processing time:1131 milliSeconds
04-29-2018  15:42:47    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: else = false
04-29-2018  15:42:47    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: SW   : GPIO 13 Set PWM to 1023
04-29-2018  15:42:46    Kernel.Debug    192.168.2.22    sonoff_lavalamp EspEasy: [if 0=0]=true
04-29-2018  15:42:46    Kernel.Notice   192.168.2.22    sonoff_lavalamp EspEasy: ACT  : timerSet,4,0

@Oxyandy我会尝试

你是对的,在出厂设置下工作正常😄。

我会尝试恢复,看看它是否再次中断。

它只是看起来像重新启动?

在网络日志中,您会得到更多的行,因为该日志有 15 行的缓冲区。
同样在 sysinfo 页面上,您可以获得更多信息。

syslog服务器上记录的日志可能不完整,因为当wifi断开时,该日志没有接收到数据。

好吧,当我启用 mqtt 控制器时又开始发生了。
当我禁用它时停止。

我会尝试获得更好的日志,当您有一半时间无法连接到它时,这有点困难。
什么日志级别? 调试?

MQTT 连接也显示在信息级别。
信息确实显示错误+信息。
这样,您就不会太快地填满网络日志的日志缓冲区而无法显示。

好的,当我停止 mqtt 服务器时也正常工作,只有在服务器运行时才会连接超时。

这是我能够从日志中获得的全部信息:
screenshot

这是一个什么样的MQTT控制器? 多莫蒂奇? OpenHAB?

或者你正在尝试做importMQTT?

网页上还有一个复制按钮显示日志。
该页面每 N 秒刷新一次,这允许您将刷新之间的文本粘贴到文本编辑器。
这并不完美,我知道,但总比没有好:)

编辑:
如果这些是完整的,也请查看规则。
保存规则仍然存在问题。 此保存可能不是输入的完整规则集。

使用最新的 githib (07bfec42347d13ad49dda907654a36bf747df3bc),Wifi 在我的所有节点上都可以正常连接。 现在也可以在 AP 重启后正确重新连接。 使用核心 2.4.1。

呵呵,真正加载后我的时间很少,所以就截图了。 我正在使用 openhab mqtt 控制器,服务器是 mosquitto。

编辑:现在不使用规则。 只是为了确保这不是问题。

同样在这里。 尝试订阅任何主题。 那解决了我的问题。

-------- Ursprüngliche Nachricht --------
冯:Louis Laureys [email protected]
Gesendet:2018 年 4 月 29 日 16:23:54 MESZ
答:letscontrolit/ESPEasy [email protected]
抄送:s0170071 [email protected] ,提提@noreply.github.com
Betreff:回复:[letscontrolit/ESPEasy] Wifi 问题-永无止境的故事-回到非基于事件的 wifi? (#1302)

呵呵,真正加载后我的时间很少,所以就截图了。 我正在使用 openhab mqtt 控制器,服务器是 mosquitto。

——
你收到这个是因为你被提到了。
直接回复本邮件或在 GitHub 上查看:
https://github.com/letscontrolit/ESPEasy/issues/1302#issuecomment -385255207

@s0170071这个订阅应该在哪里完成?
如果这是某种默认设置,那么也许我们应该添加它。

MQTT 重新连接之间的时间大约是 15 - 16 秒吗? 然后可能是 Mosquito 把你踢出去了,然后我知道在哪里修补它。

在 openhab 控制器设置中。 有订阅字段。

使用最新的 githib (07bfec4),MQTT 在使用 openhab 控制器并连接到 Mosquitto 时也没有问题。 使用核心 2.4.1。

@td-er 看到上面的几个帖子。

正如您在日志中看到的那样,我已经订阅了 /sonoff_lavalamp/#。

当我订阅#(所以,所有主题)时,我确实注意到了。 wifi 稳定,但这使得 mqtt 无法使用;)

Mosquitto 不应该把用户踢出去,我使用的用户拥有所有主题的权限。

这是蚊子的日志:

1525014154: New client connected from 192.168.2.22 as ESPClient_5C:CF:7F:71:68:FB (c1, k15, u'my_mqtt_username').
1525014168: New connection from 192.168.2.22 on port 1883.
1525014168: Client ESPClient_5C:CF:7F:71:68:FB already connected, closing old connection.
1525014168: Client ESPClient_5C:CF:7F:71:68:FB disconnected.
1525014168: New client connected from 192.168.2.22 as ESPClient_5C:CF:7F:71:68:FB (c1, k15, u'my_mqtt_username').
1525014196: New connection from 192.168.2.22 on port 1883.
1525014196: Client ESPClient_5C:CF:7F:71:68:FB already connected, closing old connection.
1525014196: Client ESPClient_5C:CF:7F:71:68:FB disconnected.
1525014196: New client connected from 192.168.2.22 as ESPClient_5C:CF:7F:71:68:FB (c1, k15, u'my_mqtt_username').
1525014214: New connection from 192.168.2.22 on port 1883.
1525014214: Client ESPClient_5C:CF:7F:71:68:FB already connected, closing old connection.
1525014214: Client ESPClient_5C:CF:7F:71:68:FB disconnected.
1525014214: New client connected from 192.168.2.22 as ESPClient_5C:CF:7F:71:68:FB (c1, k15, u'my_mqtt_username').
1525014226: New connection from 192.168.2.22 on port 1883.
1525014226: Client ESPClient_5C:CF:7F:71:68:FB already connected, closing old connection.
1525014226: Client ESPClient_5C:CF:7F:71:68:FB disconnected.
1525014226: New client connected from 192.168.2.22 as ESPClient_5C:CF:7F:71:68:FB (c1, k15, u'my_mqtt_username').
1525014255: New connection from 192.168.2.22 on port 1883.
1525014255: Client ESPClient_5C:CF:7F:71:68:FB already connected, closing old connection.
1525014255: Client ESPClient_5C:CF:7F:71:68:FB disconnected.
1525014255: New client connected from 192.168.2.22 as ESPClient_5C:CF:7F:71:68:FB (c1, k15, u'my_mqtt_username').
1525014270: New connection from 192.168.2.22 on port 1883.

它似乎正在重新连接,而 mosquitto 正在关闭旧连接。

我一直在研究 PubSubClient 的来源。
似乎在超时期限内必须有传入传出活动。
如果其中一个失败,PubSubClient 将断开连接,因此 ESPeasy 将重新连接。

我将尝试添加某种自动 ping。 已经有一些,但可能是在 ping 返回之前检查已完成。

@louis-lau 你能以某种方式在你的 Mosquito 中找到使用过的保持活动时间设置吗?

看起来我们使用的 MQTT 超时设置是 15 秒。
它的定义为: #define MQTT_KEEPALIVE 15

另见https://github.com/knolleary/pubsubclient/issues/239

哇,你做到了@TD-er !!!!!!

467279:事件:Clock#Time=Sun,17:24
467588:WD:正常运行时间 8 ConnectFailures 0 FreeMem 16304
481935:MQTT:连接丢失
481935:事件:MQTT#Disconnected
481953:事件:WiFi#Disconnected
481969:WIFI:断开连接! 原因:“(1) 未指定”已连接 7 m 40 s
482278:WIFI:连接SMC尝试#0
482278:IP:静态 IP:192.168.0.201 GW:192.168.0.3 SN:255.255.255.0 DNS:192.168.0.3
483304:事件:WiFi#Disconnected
483322:WIFI:断开连接! 原因:“(202) 身份验证失败”已连接 1018 毫秒
484291:WIFI:连接SMC尝试#1
484292:IP:静态IP:192.168.0.201 GW:192.168.0.3 SN:255.255.255.0 DNS:192.168.0.3
488073:WIFI:已连接! AP:SMC (78:8A:20:D1:9B:D9) Ch:1 持续时间:3780 毫秒
488074:IP:静态 IP:192.168.0.201 GW:192.168.0.3 SN:255.255.255.0 DNS:192.168.0.3
488078 : WIFI : 静态 IP: 192.168.0.201 (ESP-201-1) GW: 192.168.0.3 SN: 255.255.255.0 持续时间: 6 ms
488099:事件:WiFi#Connected
488245:MQTT:使用客户端 ID 连接到代理:ESPClient_5C:CF:7F:0B:68:52
488247:订阅:ESP-201/#
488248:事件:MQTT#Connected
489111:事件:时间#Set

@TD-er 你确定 pubsubclient 有问题吗? 我的单元什么也没收到,每 30 秒只发送一次模拟值。 没有 MQTT 连接问题。 如果图书馆有问题,我们会不会有更多的用户抱怨?

也许这是一个竞争条件......

MQTT 代理必须将客户端视为在 1.5 倍超时时断开连接。
当最后一次活动超过 15 秒前时,Pubsubclient 确实会发送 ping。
因此,如果使用 Mosquito 的默认超时(10 秒),那么时机就变得非常关键。

在我的设置中,我看到这里所有节点的大量 MQTT 流量在同一个 (domoticz) 频道上聊天。
所以超时在这里从来都不是问题。
但是如果只有一个节点,流量就会少很多,并且默认的 ESPeasy 超时设置为默认 Mosquito 超时的 1.5 倍,这可能有点关键。

然后他可以尝试每 5 秒发送一个虚拟模拟值来检查问题是否消失......

或者使用我最后一次提交 ;)

我的重新连接非常快,每秒左右

MQTT 开发人员似乎不喜欢这样:
我不倾向于更改默认值。 7 年多来一直是 15 秒。 如果有的话,我们将使自定义变得更容易,而不是依赖于编辑头文件。

定义用#ifdef 包裹
所以有一个选项可以在代码的其他部分定义它。

在 PubSubclient 的 github 页面上,还有一个关于使其可配置的问题。

它的作者的另一条评论:
在 MQTT 协议中,客户端确定连接上使用的 keepalive 值。 经纪人对此没有发言权。

mosquitto 上唯一的 keepalive 配置选项是它的桥 keepalive - 它充当连接到另一个代理的客户端 - https://mosquitto.org/man/mosquitto-conf-5.html

我检查了我的 mosquitto 配置。 找不到任何连接超时选项

文档讨论超时行为。

该文件声明相同:

MQTT 客户端负责设置正确的保持活动值。 例如,它可以根据当前的信号强度调整间隔。

那么 Mosquitto 的 10 秒时间是从哪里来的呢? 它是硬编码的吗?

https://mosquitto.org/man/mosquitto-conf-5.html

keepalive_interval 秒
设置在没有其他流量发生时网桥应该发送 ping 的秒数。 默认为 60。允许最小值为 5 秒。

该设置仅用于桥接

请记住,这在 20180428 中不是问题:)

编辑:我回家后会尝试你的最新提交。

您可以尝试禁用connectionCheckHandler

查看最后一天发生了什么变化: https :

刚刚更新到https://github.com/letscontrolit/ESPEasy/commit/4e6e31fdae11476a2f3dfce00e01ed77d1858c00并且 wifi 现在稳定了。 当我重新启动 AP 时,它现在也会重新连接! 谢谢😄

(顺便说一句,有没有办法使用规则来切换 Wifi 状态 LED 设置?例如,我只想在 mqtt 断开连接时启用它,并在连接时将其用于继电器状态。)

我不确定状态 LED。 它是从 MQTTconnect 函数和其他一些地方调用的。
但也许您可以添加一个问题,使其可选择通过该 LED 显示的内容?

很高兴听到 MQTT 问题似乎已通过降低的超时时间得到解决。
我们可能必须使其可选。

你能让LOG窗口长一点吗?
我的意思是,增加行数。

否则它现在进展得很好。

我只是减少了它们。
它是 20 行,但是在 2.4.0 中必须有更多的空闲内存,所以我将它减少到 10 行用于开发/测试,15 行用于正常。

我将研究本周的内存消耗, @Grovkillen正在寻找某种方法来获得正确的日志窗口。

好的,我去睡觉了。
非常感谢您的辛勤工作!!

关于那个窗口。 在我看来,有三个选项。

  1. 使用尽可能多的内存来保留信息直到被请求。 可能是动态的,取决于有多少插件处于活动状态。
  2. 将其流式传输到网络浏览器。
  3. 暂时压缩它并在需要时恢复。 例如,使用更多的数字代码。 当然,它的可读性较差。

我喜欢 2. 也能提供流畅的网页显示。 然而事情并没有那么简单。

这个想法是让某种 JavaScript 来收集日志并将其存储在浏览器中。
有多种选项可以将数据传送到浏览器,例如保持开放连接或其他一些技术。
这样只需要在内存中保留几行日志。
该缓冲区还可用于将日志传输到系统日志。

日志缓存对象当前的内存效率不高。 很大的改进空间。

我现在也想知道不同版本的蚊子
运行在不同的操作系统上有不同的行为?
我知道 ESPeasy 应该很灵活,但是 mosquitto 更新是否可以解决某些问题。

只为了解...
为什么我在启动我的 ESP 后直接得到这个:

Last Disconnect Reason str |  (1) Unspecified
Number reconnects | 1

在 syslog 中,我看到两个 IP STATIC 消息和 Uptime 0 ConnectFailures 0:

INIT : Booting version: mega-20180430 (ESP82xx Core 2_4_1)
104 : INIT : Warm boot #1
105 : FS   : Mounting...
130 : FS   : Mount successful, used 75802 bytes of 957314
419 : CRC  : program checksum       ...OK
426 : CRC  : SecuritySettings CRC   ...OK 
532 : INIT : Free RAM:23528
532 : INIT : I2C
532 : INIT : SPI not enabled
546 : INFO : Plugins: 47 [Normal] (ESP82xx Core 2_4_1)
546 : WIFI : Set WiFi to STA
578 : WIFI : Connecting im6shop attempt #0
579 : IP   : Static IP : 192.168.1.17 GW: 0.0.0.0 SN: 0.0.0.0 DNS: 0.0.0.0
585 : WD   : Uptime 0 ConnectFailures 0 FreeMem 22688
4342 : WIFI : Connected! AP: im6shop (30:B5:C2:EB:DB:7D) Ch: 9 Duration: 3763 ms
4343 : IP   : Static IP : 192.168.1.17 GW: 0.0.0.0 SN: 0.0.0.0 DNS: 0.0.0.0
4346 : WIFI : Static IP: 0.0.0.0 (ESP-Easy-7) GW: 0.0.0.0 SN: 0.0.0.0   duration: 3 ms
4356 : Webserver: start
4710 : WIFI : Static IP: 192.168.1.32 (ESP-Easy-7) GW: 192.168.1.1 SN: 255.255.255.0   duration: 356 ms

也许“重新连接”一词没有选择好。
它更像是“(重新)连接”或“连接尝试”
计数器从 0 开始,每次连接尝试时它都是一个计数器++。

我通过将计数器初始化为“-1”来更改它。 所以第一次连接尝试将其设置为 0,因此标签“重新连接”现在再次有意义:)
我想不出更好的名字,所以我改变了报告的值;)

正确命名仍然是编程中最难的部分。

这听起来不错 !

连接尝试 x

不幸的是,最新版本 20180503 (4096 dev) 对我不起作用 - ESP web 没有打开,而是在串行控制台中停止响应(在 web 打开尝试之后)。 设置重置为默认值,并通过串行控制台仅设置 WifiSSID 和密钥。 PING 工作,没有重新启动,没有错误信息。

您是否在闪存后执行过冷重启?
闪烁后我有类似的事情。
然后电源循环确实解决了它。

是的,我尝试了严重的冷重启,它仍然是一样的。 在 Win7 上通过 MSIE 和 Firefox 进行测试。 几分钟后,我将在另一个位置测试该设备(不同的 PC/OS,不同的 AP)。
在闪存之后它重新启动并挂起。

我现在已经尝试过,使用普通版本。 在我这边,没有问题。 无需上电复位。

在另一个位置很奇怪,同一设备的 ESP 网络工作正常(Win10 + Firefox / MS Edge,不同的 AP),但串行控制台看起来“只读”...... :-/
更新 - 尝试了另一个终端应用程序 - 相同的串行控制台只读。 然后再次运行 putty(这是我的默认终端应用程序),一旦我将 putty 连接到适当的 COM 端口,就会看到设备重新启动。 现在串行控制台接受命令并且网络也在工作......我什么都不明白......

也许尝试完全擦除闪存并再次编程?
似乎与wifi连接以及是否正在读取串口有关。 我看到有人在一个线程中提到过。 不确定这是在 PlatformIO 问题上还是在 LWIP 上。
我最近读了很多书;)

是的,我会在下一个版本中尝试这个,这个我希望在另一个位置再次测试,看看它是否仍然存在相同的问题(同时更新了一些设备配置)。
顺便提一句。 当我第一次重置设置时(在此构建闪烁之后,通过从串行控制台发出重置命令),实际上它没有重置设置,尽管它说“格式化闪存”等。设备重新启动,至少 WiFi 设置仍然存在正如我看到在串行控制台中连接到 AP 的尝试......串行控制台的第二次重置尝试删除了设置......

是的,核心库将 wifi 设置存储在 SPIFF 之外的区域。
这可能会影响 wifi 连接尝试。

我已经读过(核心)代码,现在最多支持 5 个 wifi 设置,您可以选择。
所以也许我也会主动使用那个存储区域,以确保它不会与我们自己的设置冲突。
我唯一害怕的是,这些设置会被写得太频繁。 我必须检查什么时候写的。
但是,当 ESPeasy 也考虑到该区域时,它可能会使 wifi 连接更具可预测性。

@Oxyandy我现在将推动 PlatformIO.ini 更改以使用 LWIP2_LOW_MEMORY。
你能测试一下吗?
还有您是否使用任务/设备 12 的问题?
我刚刚在我的节点上对其进行了测试,几乎立即断开连接 + 拒绝再次上网。
那是用 LWIP1.4

还有您是否使用任务/设备 12 的问题?

在测试中,不仅仅是第一个,一个开关
是的,现在在 GitHub Desktop 中拉取了 15 个更改的文件

编译良好,Web 服务器很棒,使用 LWIP2_LOW_MEMORY,F5 测试,很棒..
日志中没有LmacRxBlk:1 的迹象
我已经清除了节点上的所有设置,但会“重置”它并完成整个过程,报告任何奇怪的事情..
Wifi 连接立即第一次去..

小心lwIP2低内存,我不得不使用lwIP2高带宽,否则大数据包会被截断(例如具有多个值的传感器),至少在使用fhem作为服务器/控制器时...

我目前正在使用来自 GIT 和 lwIP2 高带宽的带有 esp 核心的 mega 分支,它运行良好,但一段时间后,某些单元无法再读取传感器值,因此不会将其发送到控制器。 该单元本身以及网络界面运行顺利......我仍在调查这个,在 Mai 之前从来没有提交过这个......

我们尝试了 LwIP2 高带宽和那些乱七八糟的 POST 消息。
例如,保存规则 > 1520 字节被截断。

ESP_Easy_mega-20180504_normal_ESP8266_1024.bin
是否意味着对时间服务器的 DoS 攻击?
在我闪过之后,我被叫走了,我有这个循环的页面和页面

INIT : Booting version: mega-20180504 (ESP82xx Core 2_4_1, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3)
105 : INIT : Cold Boot
106 : FS   : Mounting...
113 : FS   : Mount successful, used 76053 bytes of 113201
15:40:37: 410 : CRC  : program checksum       ...OK
417 : CRC  : SecuritySettings CRC   ...OK 
418 : CRC  : binary has changed since last save of Settings
433 : INIT : Free RAM:23448
434 : INIT : I2C
434 : INIT : SPI not enabled
449 : INFO : Plugins: 47 [Normal] (ESP82xx Core 2_4_1, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3)
449 : EVENT: System#Wake
458 : WIFI : Set WiFi to STA
mode : sta(5c:cf:7f:72:96:ec)
add if0
491 : WIFI : Connecting MAD_IOT attempt #0
492 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
STUB: dhcp_stop
505 : EVENT: System#Boot
514 : SW   : Switch state 1 Output value 1
517 : EVENT: Float_SW#Switch=1.00
530 : ACT  : Publish domoticz/in,{"idx":66,"nvalue":0,"svalue":"FLOAT_SWITCH_1_00:00:00"}
541 : Command: publish
1004 : WD   : Uptime 0 ConnectFailures 0 FreeMem 22736
15:40:39: scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 
15:40:41: 
connected with MAD_IOT, channel 13
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
4480 : WIFI : Connected! AP: MAD_IOT (F4:F2:6D:25:84:C6) Ch: 13 Duration: 3986 ms
4485 : EVENT: WiFi#ChangedAccesspoint
4497 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
4499 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 19 ms
4517 : EVENT: WiFi#Connected
4525 : Webserver: start
4526 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
5015 : NTP  : NTP host au.pool.ntp.org (129.250.35.250) queried
5066 : NTP  : NTP replied: 50 mSec
5068 : Current Time Zone:  DST time start: 2018-10-07 01:00:00 offset: 660 minSTD time start: 2018-04-01 01:00:00 offset: 600 min
5071 : EVENT: Time#Initialized
5082 : EVENT: Time#Initialized Processing time:11 milliSeconds
5083 : EVENT: Clock#Time=Fri,15:40
5089 : EVENT: Clock#Time=Fri,15:40 Processing time:6 milliSeconds
5091 : MQTT : Intentional reconnect
5091 : LoadFromFile: config.dat index: 28672 datasize: 336
5221 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:96:EC
5222 : Subscribed to: domoticz/out
5224 : EVENT: MQTT#Connected
5234 : EVENT: MQTT#Connected Processing time:9 milliSeconds
15:40:43: ping 1, timeout 0, total payload 32 bytes, 1365 ms
15:40:48: bcn_timout,ap_probe_send_start
15:40:50: ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
13912 : EVENT: WiFi#Disconnected
13919 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 9432 ms
13930 : MQTT : Connection lost
13931 : EVENT: MQTT#Disconnected
14514 : WIFI : Connecting MAD_IOT attempt #0
14515 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
15:40:51: scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 
15:40:52: 
connected with MAD_IOT, channel 13
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
16258 : WIFI : Connected! AP: MAD_IOT (F4:F2:6D:25:84:C6) Ch: 13 Duration: 1738 ms
16260 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
16269 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 11 ms
16288 : EVENT: WiFi#Connected
16295 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
16389 : LoadFromFile: config.dat index: 28672 datasize: 336
16425 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:96:EC
16426 : Subscribed to: domoticz/out
16427 : EVENT: MQTT#Connected
16434 : EVENT: MQTT#Connected Processing time:6 milliSeconds
16557 : NTP  : NTP host au.pool.ntp.org (129.250.35.250) queried
16599 : NTP  : NTP replied: 40 mSec
16600 : EVENT: Time#Set
16606 : EVENT: Time#Set Processing time:5 milliSeconds
15:40:54: ping 1, timeout 0, total payload 32 bytes, 1022 ms
15:40:59: bcn_timout,ap_probe_send_start
15:41:01: ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
25176 : EVENT: WiFi#Disconnected
25183 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 8919 ms
25194 : MQTT : Connection lost
25195 : EVENT: MQTT#Disconnected
25514 : WIFI : Connecting MAD_IOT attempt #0
25515 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 
15:41:02: 
connected with MAD_IOT, channel 13
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
26186 : WIFI : Connected! AP: MAD_IOT (F4:F2:6D:25:84:C6) Ch: 13 Duration: 666 ms
26189 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
26197 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 11 ms
26217 : EVENT: WiFi#Connected
26224 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
26318 : LoadFromFile: config.dat index: 28672 datasize: 336
26344 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:96:EC
26345 : Subscribed to: domoticz/out
26346 : EVENT: MQTT#Connected
26353 : EVENT: MQTT#Connected Processing time:7 milliSeconds
15:41:04: ping 1, timeout 1, total payload 0 bytes, 1022 ms
27623 : NTP  : NTP host au.pool.ntp.org (129.250.35.250) queried
27664 : NTP  : NTP replied: 41 mSec
27665 : EVENT: Time#Set
27671 : EVENT: Time#Set Processing time:6 milliSeconds
27672 : EVENT: Clock#Time=Fri,15:41
27677 : EVENT: Clock#Time=Fri,15:41 Processing time:5 milliSeconds
ping 1, timeout 0, total payload 32 bytes, 1024 ms
15:41:07: 31004 : WD   : Uptime 1 ConnectFailures 4 FreeMem 19304
15:41:10: bcn_timout,ap_probe_send_start
15:41:12: pm open,type:2 0
ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
pm close 7
36143 : MQTT : Connection lost
36144 : EVENT: MQTT#Disconnected
36151 : EVENT: WiFi#Disconnected
36156 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 9948 ms
36514 : WIFI : Connecting MAD_IOT attempt #0
36515 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 
15:41:13: 
connected with MAD_IOT, channel 13
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
37145 : WIFI : Connected! AP: MAD_IOT (F4:F2:6D:25:84:C6) Ch: 13 Duration: 625 ms
37147 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
37155 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 10 ms
37176 : EVENT: WiFi#Connected
37182 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
37276 : LoadFromFile: config.dat index: 28672 datasize: 336
37296 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:96:EC
37297 : Subscribed to: domoticz/out
37298 : EVENT: MQTT#Connected
37306 : EVENT: MQTT#Connected Processing time:8 milliSeconds
37551 : NTP  : NTP host au.pool.ntp.org (129.250.35.250) queried
37592 : NTP  : NTP replied: 41 mSec
37593 : EVENT: Time#Set
37599 : EVENT: Time#Set Processing time:6 milliSeconds
15:41:15: ping 1, timeout 0, total payload 32 bytes, 1046 ms
15:41:20: bcn_timout,ap_probe_send_start
15:41:22: ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
46076 : MQTT : Connection lost
46076 : EVENT: MQTT#Disconnected
46083 : EVENT: WiFi#Disconnected
46089 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 8921 ms
46514 : WIFI : Connecting MAD_IOT attempt #0
46515 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 

使用当前的内核(Master、ESP82xx Core 41a64707、NONOS SDK 2.2.1(cfd48f3)),MTU 问题不再出现。
自 5 月 1 日起运行 10 个 ESP(Sonoff、NodeMcu、W1pro),没有任何问题。

仅供参考...刷入最新的官方版本,通过串口将设置重置为默认值,输入WiFiSSID和密钥。 尽管它是可见的,但无法连接到主 AP(但信号较弱,约为 -82)。 然后崩溃了,如下所示。
在另一个快速连接到辅助 AP 的定位设备中,没有任何问题,到目前为止它正在工作(但没有配置插件,没有活动规则)。
....
....
458745:WIFI:连接 IOTAP1 尝试 #57
458749:AP 模式:客户端断开连接:xx:xx:xx:xx:xx:xx 连接的设备:0
458810:WIFI:断开连接! 原因:“(201) 未找到 AP”已连接 64 毫秒
459360:AP 模式:客户端连接:xx:xx:xx:xx:xx:xx 已连接设备:1
471739:WIFI:AP 模式 ssid 将为 ESP_Easy_0,地址为 192.168.4.1
471739:WIFI:连接 IOTAP2 尝试 #58

例外 (29):
epc1=0x4000e1c3 epc2=0x00000000 epc3=0x40000f68 excvaddr=0x00000018 depc=0x00000000

ctx:系统
sp: 3ffffc50 结束: 3ffffb0 偏移量: 01a0

堆栈>>>
3ffffdf0: 3fff5108 1f385062 401021e6 3fffa2b0
3ffffe00:402706a6 402705c4 3fff9454 40100eb6
3ffffe10:3ffeb6d5 401042bb 3ffef160 4026a718
3ffffe20:00000018 3ffefb30 3ffefaac 00000000
3ffffe30:40270767 3ff20a00 3fff9454 3ffedf1a
3ffffe40: 3ffedf00 00000000 00000000 00000006
3ffffe50:00000021 1f4328f4 401021e6 3ffedf00
3ffffe60: 3ffedf1a 0000002c 00000008 401004f4
3ffffe70: 3ffff0a 3fff6454 4026d324 3ff20a00
3ffffe80:3fff9454 3fff55c4 00000015 4026d1f7
3ffffe90: 3fffc278 40101f80 3ffffc200 00000022
3ffffea0: 3ffebf74 00000000 00000000 3fff4fe4
3ffffeb0: 40000f68 00000030 00000010 ffffffff
3ffffec0: 40000f58 00000000 00000020 00000000
3ffffed0: 3ffef7d4 7fffffff 00000000 3ffeed30
3ffffee0: 3ffef138 00000006 00000000 3fffdab0
3ffffef0:00000000 3ffffdcc0 00000040 00000030
3ffffff00:40274fd1 ffffffe0 00000000 00000000
3ffff10:4026ca2f 3ffedf00 3ffef160 3fff9454
3fffff20:00000000 3ffedf0a 3ffedf20 4026a4d1
3fffff30:4027fac5 00000001 00000000 3ffedf0a
3ffff40:4027ec78 00000092 3ffedef4 3fff6454
3fffff50:3ffedef4 00000000 00000040 4027e5a2
3ffff60: 3ffef160 3ffedef4 3fffdcc0 3ffeb710
3ffff70: 3ffedf10 3fff752c 00000040 3ffeb710
3ffff80:00000040 3ffef160 00000002 00000000
3fffff90:4027de7f 3fffdab0 00000000 40283f5f
3fffffa0: 3ffeb710 40000f49 3fffdab0 40000f49
<<

ets Jan 8 2013,第一个原因:2 ,启动模式:(3,7)

加载 0x4010f000,len 1384,房间 16
尾8
校验和 0x2d
总和 0x2d
v614f7c32
~ld
-U88 :

初始化:启动版本:mega-20180504(ESP82xx Core 2_4_1,NONOS SDK 2.2.1(cfd48f3),LWIP:2.0.3)
89:初始化:热启动 #6
90 : FS : 安装...
116 : FS : 挂载成功,使用了 957314 的 75802 字节
436:CRC:程序校验和...OK
442:CRC:安全设置CRC ...OK
548:初始化:可用内存:21464
549:初始化:I2C
549 : INIT : SPI 未启用
565 : INFO : Plugins: 72 [Normal] [Testing] [Development] (ESP82xx Core 2_4_1, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3)
566:WIFI:将WiFi设置为STA
599:WIFI:连接IOTAP1尝试#0
607 :WD:正常运行时间 0 ConnectFailures 0 FreeMem 20616
3461:WIFI:断开连接! 原因:“(201) 未找到 AP”已连接 2861 毫秒
3604:WIFI:连接IOTAP1尝试#1
6466:WIFI:断开连接! 原因:“(201) 未找到 AP”已连接 2862 毫秒
6604:WIFI:连接IOTAP2尝试#2
9467:WIFI:断开连接! 原因:“(201) 未找到 AP”已连接 2862 毫秒
9604:WIFI:连接IOTAP2尝试#3
12467:WIFI:断开连接! 原因:“(201) 未找到 AP”已连接 2862 毫秒
12604:WIFI:连接 IOTAP1 尝试 #4
15466:WIFI:断开连接! 原因:“(201) 未找到 AP”已连接 2862 毫秒
15604:WIFI:连接 IOTAP1 尝试 #5
18466:WIFI:断开连接! 原因:“(201) 未找到 AP”已连接 2862 毫秒
18604 : WIFI : 将 WiFi 设置为 AP+STA
19524 : WIFI : AP 模式 ssid 将为 ESP_Easy_0,地址为 192.168.4.1
19524:WIFI:连接 IOTAP2 尝试 #6
22388:WIFI:断开连接! 原因:“(201) 未找到 AP”已连接 2863 毫秒
22603 : WIFI : AP 模式 ssid 将为 ESP_Easy_0,地址为 192.168.4.1
22603:WIFI:连接 IOTAP2 尝试 #7
25463:WIFI:断开连接! 原因:“(201) 未找到 AP”已连接 2860 毫秒
25602 : WIFI : AP 模式 ssid 将为 ESP_Easy_0,地址为 192.168.4.1
25603:WIFI:连接 IOTAP1 尝试 #8
28464:WIFI:断开连接! 原因:“(201) 未找到 AP”已连接 2860 毫秒
28602 : WIFI : AP 模式 ssid 将为 ESP_Easy_0,地址为 192.168.4.1
28603:WIFI:连接 IOTAP1 尝试 #9
30606:WD:正常运行时间 1 ConnectFailures 0 FreeMem 18176
...
...

我昨天也看到了“未找到 AP”错误。
它似乎与某些不正确或损坏的设置有关。 不仅是我们存储的设置,还有可能是由核心库存储在闪存另一部分的设置。

@Oxyandy NTP 更新应仅在一小时后或未设置时完成。

@susisstrolch您能否测试编写一个包含 > 1800 字节的规则文件?
当 HTTP POST 请求的大小超过 1 MTU 时,LWIP2 高带宽版本会破坏它们。

嗨,吉斯,
ESP_Easy_mega-20180504_normal_ESP8266_1024.bin
如果你看到日志,这是一个模式,总是连接,MQTT连接,更新时间

bcn_timout,ap_probe_send_start
ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
pm close 7
2515788 : EVENT: WiFi#DisconnectedDisconnected! Reason: '(200) Beacon timeout' Connected for 8919 ms

每 10 到 12 秒,像这样循环几个小时,哎呀

我的pondctrl 设备的规则大小:当前大小:1859 个字符(最多 2048 个)
MTU:534(低内存 lwip 2.x)
没有问题 - 本周更改了多次。

我们目前使用的是 LwIP 2.x 低内存,因为高带宽版本会出现这些问题。
@Oxyandy我将查看有关时间更新的代码,当然还有重新连接循环。
这个话题越来越热门了:(

我不明白,我根据您的要求编译自制软件(今天早上)的那个效果很好..
然后当正式版本可用时,我认为我最好使用它,我对差异感到震惊..
现在,关于你最后的回复.. 时间更新很好..
从今天正式发布连接到wifi没问题,连接MQTT,获取时间,然后以“(200)Beacon timeout”断开连接,然后每11秒循环一次
连接 - wifi、MQTT、时间、断开连接、重复
所以不要看“时间更新”,如果它保持连接就好了......

真奇怪。 PlatformIO 的构建过程确实有些古怪。
我自己也有几次注意到,第二次构建它实际上会有所不同。
就像 PlatformIO 中的链接器级别有问题一样。
这里发生的事情真的很奇怪。

它可能在编译器或链接器标志中。 优化可能是个婊子。
Arduino IDE 有这个配置文件 (platform.txt)

# ESP8266 platform
# ------------------------------

# For more info:
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification

name=ESP8266 Modules
version=2.5.0-dev

runtime.tools.xtensa-lx106-elf-gcc.path={runtime.platform.path}/tools/xtensa-lx106-elf
runtime.tools.esptool.path={runtime.platform.path}/tools/esptool

compiler.warning_flags=-w
compiler.warning_flags.none=-w
compiler.warning_flags.default=
compiler.warning_flags.more=-Wall
compiler.warning_flags.all=-Wall -Wextra

build.lwip_lib=-llwip_gcc
build.lwip_include=lwip/include
build.lwip_flags=-DLWIP_OPEN_SRC

build.vtable_flags=-DVTABLES_IN_FLASH

build.float=-u _printf_float -u _scanf_float
build.led=

compiler.path={runtime.tools.xtensa-lx106-elf-gcc.path}/bin/
compiler.sdk.path={runtime.platform.path}/tools/sdk
compiler.libc.path={runtime.platform.path}/tools/sdk/libc/xtensa-lx106-elf
compiler.cpreprocessor.flags=-D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I{compiler.sdk.path}/include" "-I{compiler.sdk.path}/{build.lwip_include}" "-I{compiler.libc.path}/include" "-I{build.path}/core"

compiler.c.cmd=xtensa-lx106-elf-gcc
compiler.c.flags=-c {compiler.warning_flags} -Os -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -std=gnu99 -ffunction-sections -fdata-sections

compiler.S.cmd=xtensa-lx106-elf-gcc
compiler.S.flags=-c -g -x assembler-with-cpp -MMD -mlongcalls

compiler.c.elf.flags=-g {compiler.warning_flags} -Os -nostdlib -Wl,--no-check-sections -u app_entry {build.float} -Wl,-static "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" "-L{compiler.libc.path}/lib" "-T{build.flash_ld}" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read

compiler.c.elf.cmd=xtensa-lx106-elf-gcc
compiler.c.elf.libs=-lhal -lphy -lpp -lnet80211 {build.lwip_lib} -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc

compiler.cpp.cmd=xtensa-lx106-elf-g++
compiler.cpp.flags=-c {compiler.warning_flags} -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections

compiler.as.cmd=xtensa-lx106-elf-as

compiler.ar.cmd=xtensa-lx106-elf-ar
compiler.ar.flags=cru

compiler.elf2hex.cmd=esptool
compiler.elf2hex.flags=

compiler.size.cmd=xtensa-lx106-elf-size

compiler.esptool.cmd=esptool
compiler.esptool.cmd.windows=esptool.exe

# This can be overriden in boards.txt
build.extra_flags=-DESP8266

# These can be overridden in platform.local.txt
compiler.c.extra_flags=
compiler.c.elf.extra_flags=
compiler.S.extra_flags=
compiler.cpp.extra_flags=
compiler.ar.extra_flags=
compiler.objcopy.eep.extra_flags=
compiler.elf2hex.extra_flags=

## generate file with git version number
## needs bash, git, and echo
recipe.hooks.core.prebuild.1.pattern=bash -c "mkdir -p {build.path}/core && echo \#define ARDUINO_ESP8266_GIT_VER 0x`git --git-dir {runtime.platform.path}/.git rev-parse --short=8 HEAD 2>/dev/null || echo ffffffff` >{build.path}/core/core_version.h"
recipe.hooks.core.prebuild.2.pattern=bash -c "mkdir -p {build.path}/core && echo \#define ARDUINO_ESP8266_GIT_DESC `cd {runtime.platform.path}; git describe --tags 2>/dev/null || echo unix-{version}` >>{build.path}/core/core_version.h"
## windows-compatible version without git
recipe.hooks.core.prebuild.1.pattern.windows=cmd.exe /c mkdir {build.path}\core & (echo #define ARDUINO_ESP8266_GIT_VER 0x00000000 & echo #define ARDUINO_ESP8266_GIT_DESC win-{version} ) > {build.path}\core\core_version.h
recipe.hooks.core.prebuild.2.pattern.windows=

## Build the app.ld linker file
recipe.hooks.linking.prelink.1.pattern="{compiler.path}{compiler.c.cmd}" -CC -E -P {build.vtable_flags} "{runtime.platform.path}/tools/sdk/ld/eagle.app.v6.common.ld.h" -o "{runtime.platform.path}/tools/sdk/ld/eagle.app.v6.common.ld"

## Compile c files
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"

## Compile c++ files
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpreprocessor.flags} {compiler.cpp.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"

## Compile S files
recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.S.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"

## Create archives
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/arduino.ar" "{object_file}"

## Combine gc-sections, archives, and objects
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" -Wl,-Map "-Wl,{build.path}/{build.project_name}.map" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" -Wl,--start-group {object_files} "{build.path}/arduino.ar" {compiler.c.elf.libs} -Wl,--end-group  "-L{build.path}"

## Create eeprom
recipe.objcopy.eep.pattern=

## Create hex
#recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex"

recipe.objcopy.hex.pattern="{runtime.tools.esptool.path}/{compiler.esptool.cmd}" -eo "{runtime.platform.path}/bootloaders/eboot/eboot.elf" -bo "{build.path}/{build.project_name}.bin" -bm {build.flash_mode} -bf {build.flash_freq} -bz {build.flash_size} -bs .text -bp 4096 -ec -eo "{build.path}/{build.project_name}.elf" -bs .irom0.text -bs .text -bs .data -bs .rodata -bc -ec

## Save hex
recipe.output.tmp_file={build.project_name}.bin
recipe.output.save_file={build.project_name}.{build.variant}.bin

## Compute size
recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf"
recipe.size.regex=^(?:\.irom0\.text|\.text|\.data|\.rodata|)\s+([0-9]+).*
recipe.size.regex.data=^(?:\.data|\.rodata|\.bss)\s+([0-9]+).*
#recipe.size.regex.eeprom=^(?:\.eeprom)\s+([0-9]+).*

# ------------------------------

tools.esptool.cmd=esptool
tools.esptool.cmd.windows=esptool.exe
tools.esptool.path={runtime.platform.path}/tools/esptool
tools.esptool.network_cmd=python
tools.esptool.network_cmd.windows=python.exe

tools.esptool.upload.protocol=esp
tools.esptool.upload.params.verbose=-vv
tools.esptool.upload.params.quiet=
tools.esptool.upload.pattern="{path}/{cmd}" {upload.verbose} -cd {upload.resetmethod} -cb {upload.speed} -cp "{serial.port}" {upload.erase_cmd} -ca 0x00000 -cf "{build.path}/{build.project_name}.bin"
tools.esptool.upload.network_pattern="{network_cmd}" "{runtime.platform.path}/tools/espota.py" -i "{serial.port}" -p "{network.port}" "--auth={network.password}" -f "{build.path}/{build.project_name}.bin"

tools.mkspiffs.cmd=mkspiffs
tools.mkspiffs.cmd.windows=mkspiffs.exe
tools.mkspiffs.path={runtime.platform.path}/tools/mkspiffs

为了避免 platformIO 出现问题,我删除了 .pioenvs 文件夹并运行了“Clean”
自今天早上的构建以来 - 2 个文件已更改
ESPEasy-Globals.h & Misc.ino(修复任务设置损坏)

开始这样做:我当前的文件夹结构是 GitHub/ESpeasy
我复制 Espeasy 文件夹并重命名该文件夹以在获取之前包含日期,这将帮助我在本地比较更改..

FritzBox 进行了自动固件更新。 所有 ESP 都故障转移到备用 Mesh AP,没有任何问题。

@TD-er 你说“你在任何节点上有这个带有 0504 的 Beacon 超时,还是只有几个?”
公平地说,我将获取一个新模块并刷新该模块,并在未来刷新 2 个节点的每个新固件。
我有空闲时间,因为你所在的地区只有下午 4 点

好的,一个全新的节点,擦除。
用 ESP_Easy_mega-20180504_normal_ESP8266_1024.bin 闪烁
下面的日志与另一个节点具有相同的行为..
你能看到日志中的模式吗?

INIT : Booting version: mega-20180504 (ESP82xx Core 2_4_1, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3)
104 : INIT : Cold Boot
105 : FS   : Mounting...
111 : FS   : Mount successful, used 76053 bytes of 113201
408 : CRC  : program checksum       ...OK
419 : CRC  : SecuritySettings CRC   ...OK 
420 : CRC  : binary has changed since last save of Settings
439 : INIT : Free RAM:23448
440 : INIT : I2C
440 : INIT : SPI not enabled
455 : INFO : Plugins: 47 [Normal] (ESP82xx Core 2_4_1, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3)
455 : EVENT: System#Wake
464 : WIFI : Set WiFi to STA
mode : sta(5c:cf:7f:72:97:2a)
add if0
497 : WIFI : Connecting MAD_MOB attempt #0
498 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
STUB: dhcp_stop
511 : EVENT: System#Boot
519 : SW   : Switch state 1 Output value 1
522 : EVENT: Float_SW#Switch=1.00
536 : ACT  : Publish domoticz/in,{"idx":26,"nvalue":0,"svalue":"FLOAT_SWITCH_1_00:00:00"}
547 : Command: publish
00:23:56: 1004 : WD   : Uptime 0 ConnectFailures 0 FreeMem 22752
00:23:59: scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 
00:24:01: 
connected with MAD_MOB, channel 7
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
5287 : WIFI : Connected! AP: MAD_MOB (18:90:D8:AC:0F:D8) Ch: 7 Duration: 4787 ms
5293 : EVENT: WiFi#ChangedAccesspoint
5304 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
5306 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 19 ms
5324 : EVENT: WiFi#Connected
5332 : Webserver: start
5332 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
5423 : MQTT : Intentional reconnect
5424 : LoadFromFile: config.dat index: 28672 datasize: 336
5500 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:97:2A
5501 : Subscribed to: domoticz/out
5502 : EVENT: MQTT#Connected
5512 : EVENT: MQTT#Connected Processing time:10 milliSeconds
5796 : NTP  : NTP host au.pool.ntp.org (27.124.125.251) queried
5867 : NTP  : NTP replied: 70 mSec
5869 : Current Time Zone:  DST time start: 2018-10-07 01:00:00 offset: 660 minSTD time start: 2018-08-05 01:00:00 offset: 600 min
5871 : EVENT: Time#Initialized
5879 : EVENT: Time#Initialized Processing time:8 milliSeconds
5881 : EVENT: Clock#Time=Sat,01:24
5887 : EVENT: Clock#Time=Sat,01:24 Processing time:6 milliSeconds
00:24:02: ping 1, timeout 0, total payload 32 bytes, 1023 ms
00:24:07: bcn_timout,ap_probe_send_start
00:24:09: pm open,type:2 0
ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
pm close 7
14289 : EVENT: WiFi#Disconnected
14296 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 9002 ms
14311 : MQTT : Connection lost
14311 : EVENT: MQTT#Disconnected
14519 : WIFI : Connecting MAD_MOB attempt #0
14520 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
00:24:11: scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 

connected with MAD_MOB, channel 7
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
16497 : WIFI : Connected! AP: MAD_MOB (18:90:D8:AC:0F:D8) Ch: 7 Duration: 1972 ms
16499 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
16507 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 10 ms
16527 : EVENT: WiFi#Connected
16533 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
16608 : NTP  : NTP host au.pool.ntp.org (27.124.125.251) queried
00:24:12: 16679 : NTP  : NTP replied: 70 mSec
16680 : EVENT: Time#Set
16686 : EVENT: Time#Set Processing time:6 milliSeconds
16688 : LoadFromFile: config.dat index: 28672 datasize: 336
16713 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:97:2A
16714 : Subscribed to: domoticz/out
16715 : EVENT: MQTT#Connected
16724 : EVENT: MQTT#Connected Processing time:9 milliSeconds
00:24:14: ping 1, timeout 0, total payload 32 bytes, 2070 ms
00:24:18: bcn_timout,ap_probe_send_start
00:24:21: ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
25349 : EVENT: WiFi#Disconnected
25356 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 8852 ms
25371 : MQTT : Connection lost
25371 : EVENT: MQTT#Disconnected
25519 : WIFI : Connecting MAD_MOB attempt #0
25520 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 

connected with MAD_MOB, channel 7
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
25683 : WIFI : Connected! AP: MAD_MOB (18:90:D8:AC:0F:D8) Ch: 7 Duration: 158 ms
25686 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
25694 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 11 ms
25714 : EVENT: WiFi#Connected
25721 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
25815 : LoadFromFile: config.dat index: 28672 datasize: 336
25836 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:97:2A
25838 : Subscribed to: domoticz/out
25838 : EVENT: MQTT#Connected
25845 : EVENT: MQTT#Connected Processing time:7 milliSeconds
00:24:22: 26585 : NTP  : NTP host au.pool.ntp.org (27.124.125.251) queried
26656 : NTP  : NTP replied: 70 mSec
26657 : EVENT: Time#Set
26663 : EVENT: Time#Set Processing time:6 milliSeconds
ping 1, timeout 0, total payload 32 bytes, 1010 ms
00:24:26: 31005 : WD   : Uptime 1 ConnectFailures 4 FreeMem 19304
00:24:28: bcn_timout,ap_probe_send_start
00:24:30: ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
35077 : EVENT: WiFi#Disconnected
35083 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 9394 ms
35094 : MQTT : Connection lost
35095 : EVENT: MQTT#Disconnected
35519 : WIFI : Connecting MAD_MOB attempt #0
35520 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 

connected with MAD_MOB, channel 7
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
35685 : WIFI : Connected! AP: MAD_MOB (18:90:D8:AC:0F:D8) Ch: 7 Duration: 160 ms
35687 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
35696 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 11 ms
35715 : EVENT: WiFi#Connected
35721 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
35816 : LoadFromFile: config.dat index: 28672 datasize: 336
35844 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:97:2A
35845 : Subscribed to: domoticz/out
35846 : EVENT: MQTT#Connected
35855 : EVENT: MQTT#Connected Processing time:9 milliSeconds
00:24:32: 36735 : NTP  : NTP host au.pool.ntp.org (144.48.166.166) queried
ping 1, timeout 0, total payload 32 bytes, 1016 ms
37739 : NTP  : No reply
00:24:39: bcn_timout,ap_probe_send_start
00:24:41: pm open,type:2 0
ap_probe_send over, rest wifi status to disassoc
state: 5 -> 0 (1)
rm 0
pm close 7
46238 : EVENT: WiFi#Disconnected
46244 : WIFI : Disconnected! Reason: '(200) Beacon timeout' Connected for 10 s
46260 : MQTT : Connection lost
46261 : EVENT: MQTT#Disconnected
46519 : WIFI : Connecting MAD_MOB attempt #0
46520 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt 
00:24:42: 
connected with MAD_MOB, channel 7
ip:192.168.0.225,mask:255.255.255.0,gw:192.168.0.254
46679 : WIFI : Connected! AP: MAD_MOB (18:90:D8:AC:0F:D8) Ch: 7 Duration: 154 ms
46681 : IP   : Static IP : 192.168.0.225 GW: 192.168.0.254 SN: 255.255.255.0 DNS: 8.8.8.8
46689 : WIFI : Static IP: 192.168.0.225 (ESP-Easy-0) GW: 192.168.0.254 SN: 255.255.255.0   duration: 10 ms
46709 : EVENT: WiFi#Connected
46715 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
46809 : LoadFromFile: config.dat index: 28672 datasize: 336
46843 : MQTT : Connected to broker with client ID: ESPClient_5C:CF:7F:72:97:2A
46844 : Subscribed to: domoticz/out
46845 : EVENT: MQTT#Connected
46851 : EVENT: MQTT#Connected Processing time:6 milliSeconds

啊,我想是时候设置一个运行wireshark的特殊接入点了

使用 GitHub Desktop,我从https://github.com/letscontrolit/ESPEasy/commit/92680c5542b76a15db16af198a3a07ed17618c4e获取了最新的“实时”源,其中仅包含 2 个更改的文件,因为我从今天早上开始工作编译,做了一个晚间版本,效果很好..
如果源相同,为什么每晚构建不同,GitHub 上发生了什么不同?

有人使用 Arduino IDE 吗?
你能从当前的 src 构建一个“ESP8266 normal 1024”并将其转储到这里吗?
谢谢

不确定这是否与我们看到的一些随机问题有关,但我注意到,一段时间后,我的设备停止向控制器发送数据。 然而,网络界面仍在运行,但 t 显示的 IP 地址为 0.0.0.0。 (见截图)。 还有人看到这个吗?

untitled

image

这是什么构建版本?

@Oxyandy

如果源相同,为什么每晚构建不同,GitHub 上发生了什么不同?

这也是我想知道的。
我想这与我们有时在自己构建它时还必须构建它两次的事实有关。
我们编译东西的方式或编译器似乎有问题。
这或许也可以解释为什么我们看到了如此多的事情,即使不是不可能,也很难重现过去几周。

@arendst从Tasmota讨论这也和他证实,他也有重建每一个现在,然后得到一个良好的工作版本。
我会问@psy0rz是否可以将每晚构建两次作为测试。

自编译自mega-20180503
构建 | 20102 - 兆丰
图书馆 | ESP82xx 核心 76a14b1f,NONOS SDK 2.2.1(cfd48f3),LWIP:2.0.3

在将它写入节点之前,您可以尝试构建它两次吗?
构建之间没有清理,只需构建它并再次构建。

当然,但我在 Mac 上使用 Arduino SDK,而不是 platformIO ......仍然值得一试吗?

是的,请这样做,因为我们还不知道是什么导致了它。
只需确保您使用与我们相同的核心库,因为 Arduino IDE 不会查看 PlatformIO 中设置的固定版本。
我们使用的当前版本是:
ESP82xx 核心 2_4_1,NONOS SDK 2.2.1(cfd48f3),LWIP:2.0.3

好的,我现在就试试看,然后闪烁一些单位。 一旦有事情发生,我会立即报告……或者什么都不做;)

顺便提一句。 通过在 Web 浏览器中至少在“设备”或“通知”页面(可能在任何 ESP 网页上)按住 F5 几秒钟,当前构建可以随时崩溃。 我可以在 Win10 上的 Firefox 中随时重复:
...
...
39543696:Ram 使用情况:仅 Web 服务器:0 包括核心:0
39551825:LoadFromFile:config.dat 索引:27648 数据大小:320
39557599:Ram 使用:仅 Web 服务器:0 包括核心:0
39566681:Ram 使用:仅 Web 服务器:0 包括核心:0
39566879:Ram 使用:仅 Web 服务器:0 包括核心:0
39567105:Ram 使用:仅 Web 服务器:0 包括核心:0
39567490:Ram 使用:仅 Web 服务器:0 包括核心:0
39567690:Ram 使用:仅 Web 服务器:0 包括核心:0
39567883:Ram 使用:仅 Web 服务器:0 包括核心:0
39568086:Ram 使用:仅 Web 服务器:0 包括核心:0
39568287:Ram 使用:仅 Web 服务器:0 包括核心:0
39568495:Ram 使用:仅 Web 服务器:0 包括核心:0
39568701:Ram 使用:仅 Web 服务器:0 包括核心:0
39568910:Ram 使用:仅 Web 服务器:0 包括核心:0
39569112:Ram 使用:仅 Web 服务器:0 包括核心:0
39569324:Ram 使用:仅 Web 服务器:0 包括核心:0
39569530:Ram 使用:仅 Web 服务器:0 包括核心:0
39569739:Ram 使用:仅 Web 服务器:0 包括核心:0
39569948:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
39570158:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
39570366:Ram 使用:仅 Web 服务器:0 包括核心:0
39570582:Ram 使用:仅 Web 服务器:0 包括核心:0
39570742:跳过的网页:低内存:1784
39570832:跳过的网页:低内存:1784
39570906:跳过的网页:低内存:1784
39570992:跳过的网页:低内存:1784
39571074:跳过的网页:低内存:1784
39571161:跳过的网页:低内存:1784
39571240:跳过的网页:低内存:1784
39571322:跳过的网页:低内存:1784
39571401:跳过的网页:低内存:1784

例外 (28):
epc1=0x4025cb66 epc2=0x00000000 epc3=0x401003f2 excvaddr=0x00000000 depc=0x00000000

ctx:续
sp: 3fff4690 结束: 3fff4b20 偏移量: 01a0

堆栈>>>
3fff4830:00000000 3ffe90c0 3fff48a4 40253308
3fff4840:00000000 3ffe90c0 3fff48d4 40257c32
3fff4850:00000000 3ffe90c0 00000043 4021ada8
3fff4860:00000000 00000000 00000000 000006c0
3fff4870:000006f8 00000000 00000000 00000000
3fff4880:00000000 00000000 00000000 40107b18
3fff4890:00000000 000003e8 3fff48f0 00000000
3fff48a0:00000000 00000000 00000000 00000000
3fff48b0:4029cdfc 00000007 3fff48f0 3fffbfdc
3fff48c0:0000000f 0000000b 3fff815c 0000000f
3fff48d0:00000000 3fffb8a4 0000025f 0000025c
3fff48e0:00000001 3fff16d4 3fff6294 40227cb4
3fff48f0:3fffb414 0000000f 00000007 4010053d
3fff4900:3fff4d6c 00000855 00000855 3fff4d6c
3fff4910:00000010 00000010 00000000 3fff36d4
3fff4920:00000010 3fff5d14 3fff5d14 40257a6f
3fff4930:3ffe8ea1 00000000 3fff5d14 40257abb
3fff4940:00000000 00000010 3fff5d14 3fff4d6c
3fff4950:40107b70 ffffffff 00000000 40253308
3fff4960:3fff3a14 00000001 3fff6294 4022fc8d
3fff4970:00000010 3fff49e0 3ffe8ea1 40207ae8
3fff4980:00000000 3fff49e0 3fff1868 4028577b
3fff4990:4025653c 00000001 3fff1868 40253308
3fff49a0:3fff4d6c 00000c35 00000c35 4010020c
3fff49b0:00000001 00000001 3fff49e0 40107b70
3fff49c0:ffffffff 40107b70 00000000 40257a14
3fff49d0:4020a8ca 00000001 3fff6294 4022fd96
3fff49e0:00000000 00000000 00000000 40253308
3fff49f0:00000001 00000001 3fff6294 4022fe80
3fff4a00:00000001 00000001 3fff4a30 40259cfa
3fff4a10:3fff4d6c 00000112 3fff6294 402532fe
3fff4a20:3fff6294 3fff366c 3fff6294 4025333a
3fff4a30:00000000 00000000 00000000 40257c18
3fff4a40:3fff6294 3fff366c 3fff3628 402533c1
3fff4a50: 3fff5afc 0000000f 00000008 00000000
3fff4a60:00000000 3fff4ab0 3fff362c 4024ca28
3fff4a70:3fff366c 00000001 00000000 4024d200
3fff4a80:00000001 00000000 40251b18 0000000d
3fff4a90:00000000 3fff7b4c 3fff3628 3fff3af4
3fff4aa0:00000001 3fff3650 3fff3628 40253618
3fff4ab0:40107910 00000000 00001388 3fff3b00
3fff4ac0:00000000 3fff7b4c 00000000 40256abd
3fff4ad0:3ffffdad0 00000000 3fff1944 4023742a
3fff4ae0:3ffffdad0 00000000 3fff19c4 40240380
3fff4af0:00000000 00000000 00000001 40258a31
3fff4b00:3ffffdad0 00000000 3fff3aee 40258a5c
3fff4b10:菲菲菲菲菲菲 3fff3b00 40100700
<<

ets Jan 8 2013,第一个原因:2 ,启动模式:(3,7)

加载 0x4010f000,len 1384,房间 16
尾8
校验和 0x2d
总和 0x2d
v614f7c32
~ld
▒U88 :

初始化:启动版本:mega-20180504(ESP82xx Core 2_4_1,NONOS SDK 2.2.1(cfd48f3),LWIP:2.0.3)
89:初始化:热启动#3
90 : FS : 安装...
115 : FS : 挂载成功,使用了 957314 的 75802 字节
437:CRC:程序校验和...OK
469:CRC:安全设置CRC ...OK
575:初始化:可用内存:21464
575:初始化:I2C
575 : INIT : SPI 未启用
1677 : INFO : 插件: 72 [正常] [测试] [开发] (ESP82xx Core 2_4_1, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3)
1678:事件:系统#Wake
1682 : WIFI : 将 WiFi 设置为 STA
...
...

设备然后成功连接到AP。 另一个崩溃:

973:Ram 使用情况:仅 Web 服务器:0 包括核心:0
279178:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
279387:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
279590:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
279798 :Ram 使用:仅 Web 服务器:0 包括核心:0
280321:Ram 使用:仅 Web 服务器:0 包括核心:0
280558 :Ram 使用:仅 Web 服务器:0 包括核心:0
280785:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
致命异常 28(LoadProhibitedCause):
epc1=0x4025cb66,epc2=0x00000000,epc3=0x40100408,excvaddr=0x00000000,depc=0x00000000

例外 (28):
epc1=0x4025cb66 epc2=0x00000000 epc3=0x40100408 excvaddr=0x00000000 depc=0x00000000

ctx:续
sp: 3fff4690 结束: 3fff4b20 偏移量: 01a0

堆栈>>>
3fff4830:00000000 3ffe90c0 3fff48a4 40253308
3fff4840:00000000 3ffe90c0 3fff48d4 40257c32
3fff4850:00000000 3ffe90c0 0000002f 4021ada8
3fff4860:00000000 00000000 00000000 000007e8
3fff4870:00000820 00000000 00000000 00000000
3fff4880:00000000 00000000 00000000 40107b18
3fff4890:00000000 000003e8 3fff48f0 00000000
3fff48a0:00000000 00000000 00000000 00000000
3fff48b0:4029cdfc 00000007 3fff48f0 3fff9af4
3fff48c0:0000000f 0000000b 3fff9adc 0000000f
3fff48d0:00000004 3fffb7bc 0000025f 00000130
3fff48e0:00000001 3fff16d4 3fff773c 40227cb4
3fff48f0:3fff83ac 0000000f 00000007 4010053d
3fff4900:3fff4d6c 00000a67 00000a67 3fff4d6c
3fff4910:00000010 00000010 00000000 3fff36d4
3fff4920:00000010 3fff9014 3fff9014 40257a6f
3fff4930:3ffe8ea1 00000000 3fff9014 40257abb
3fff4940:00000000 00000010 3fff9014 3fff4d6c
3fff4950:40107b70 ffffffff 00000000 40253308
3fff4960:3fff3a14 00000001 3fff773c 4022fc8d
3fff4970:00000010 3fff49e0 3ffe8ea1 40207ae8
3fff4980:00000000 3fff49e0 3fff185c 4028577b
3fff4990:4025653c 00000001 3fff185c 40253308
3fff49a0:3fff4d6c 00000628 00000628 4010020c
3fff49b0:00000001 00000001 3fff49e0 40107b70
3fff49c0:ffffffff 40107b70 00000000 40257a14
3fff49d0:4020a8ca 00000001 3fff773c 4022fd96
3fff49e0:00000000 00000000 00000000 40253308
3fff49f0:00000001 00000001 3fff773c 4022fe80
3fff4a00:00000001 00000001 3fff4a30 40259cfa
3fff4a10:00000000 00000000 3fff773c 402532fe
3fff4a20: 3fff773c 3fff366c 3fff773c 4025333a
3fff4a30:00000000 00000000 00000000 40257c18
3fff4a40:3fff773c 3fff366c 3fff3628 402533c1
3fff4a50:3fff9594 0000000f 00000008 00000000
3fff4a60:00000000 00000000 3fff362c 4024ca28
3fff4a70:3fff366c 00000001 00000000 4024d200
3fff4a80:00000001 00000000 40251b18 0000000d
3fff4a90:00000000 3fff9b0c 3fff3628 3fff3af4
3fff4aa0:00000001 3fff3650 3fff3628 40253618
3fff4ab0:40107910 00000000 00001388 3fff3b00
3fff4ac0:00000000 3fff9b0c 00000000 40256abd
3fff4ad0:3ffffdad0 00000000 3fff1944 4023742a
3fff4ae0:3ffffdad0 00000000 3fff19c4 40240380
3fff4af0:00000000 00000000 00000001 40258a31
3fff4b00:3ffffdad0 00000000 3fff3aee 40258a5c
3fff4b10:菲菲菲菲菲菲 3fff3b00 40100700
<<

ets Jan 8 2013,第一个原因:2 ,启动模式:(3,7)

加载 0x4010f000,len 1384,房间 16
尾8
校验和 0x2d
总和 0x2d
v614f7c32
~ld
▒U89 :

初始化:启动版本:mega-20180504(ESP82xx Core 2_4_1,NONOS SDK 2.2.1(cfd48f3),LWIP:2.0.3)
89:初始化:热启动#8
91 : FS : 安装...
116 : FS : 挂载成功,使用了 957314 的 75802 字节
438:CRC:程序校验和...OK
469:CRC:安全设置CRC ...OK
575:初始化:可用内存:21464
576:初始化:I2C
576 : INIT : SPI 未启用
1678 : INFO : Plugins: 72 [Normal] [Testing] [Development] (ESP82xx Core 2_4_1, NONOS SDK 2.2.1(cfd48f3), LWIP: 2.0.3)
1678:事件:系统#Wake
1683 : WIFI : 将 WiFi 设置为 STA
...

好吧,这有 72 个插件,正常情况下表现如何;)

如果您用请求淹没 IP 堆栈,这是正常的。 唯一有帮助的是更频繁地为 Web 服务器提供服务,以便再次释放入站缓冲区。

至少可以恢复是好的 - 完全挂起会比重启更糟糕......但奇怪的是每次启动原因都不一样 - 我也看到了原因 4。

ESP_Easy_mega-20180504_test_ESP8266_1024.bin
我可以让 wifi 连接(第一次尝试)并保持连接
F5(设备页面)不会导致错误或崩溃
ESP_Easy_mega-20180504_normal_ESP8266_1024.bin
在 11 秒的周期内连接并失败 - (200) Beacon timeout
ESP_Easy_mega-20180504_normal_ESP8266_1024_(Self_Compiled).bin
完美的

@Oxyandy慢键盘自动重复? ;-)
我在我尝试过的每个网页上都崩溃了。

@ghtester我将在我的 PC 上使用所有当前代码构建一个集合。 大约需要 30 分钟来构建。

@TD-er 非常感谢您的努力,我会在新版本准备就绪时对其进行测试。

@TD-er 现在用 ESP82xx Core 2_4_1、NONOS SDK 2.2.1(cfd48f3)、LWIP: 2.0.3 在闪烁前构建了两次......我明天看看他们是否还活着并发送数据...我不得不采用 lwIP2 高带宽,否则通过 FHEM 控制器发送的数据将被截断!
但现在需要睡觉.... n8

请注意高带宽版本的 HTTP POST 问题。

我的构建现在第三次运行(有一些 ESP32 问题需要修复,并希望确保在上次构建中只完成了链接)
所以几分钟后就会有一个zip文件。
那我也去睡觉了。

查看构建: https :

TD-er,你的构建,我的硬件,没有问题(正常 1024 8266)
等待每日构建显示将尝试下一个 ;)

@TD-er 非常感谢,快速测试了 4096 开发版本(待续),“F5”重启问题仍然存在(第一次尝试将设备完全挂起)并且固件信息显示 MD5 检查失败(我想这是由于测试构建)。 尽管如此,到目前为止一切都很好,并且它可以完美快速地连接到 AP。


构建 20102 - 超级
库 ESP82xx 核心 2_4_1,NONOS SDK 2.2.1(cfd48f3),LWIP:2.0.3
git版本
插件 72 [正常] [测试] [开发]
构建 Md5 4d44355f4d44355f4d44355f4d44355f
Md5检查失败!
构建时间 2018 年 5 月 5 日 00:33:21
二进制文件名 ThisIsTheDummyPlaceHolderForTheBinaryFilename...

在 GitHub 上构建和发布这两个 BIN,相隔 1 天(1 个构建)。
ESP_Easy_mega-20180504_normal_ESP8266_1024.bin
许多不同的方式,重置,不同的节点等确认“错误”
问题在 11 秒循环中一致(201 Beacon Timeout)
Homebrew 可以从同一来源完美运行。

ESP_Easy_mega-20180505_normal_ESP8266_1024.bin
完美运行,源代码变化最小
告诉我,GitHub 版本在“某处”编译失败。
连接Wifi第一次尝试,即时更新,一次不掉Wifi,
MQTT 维护连接
等等等等 -
没什么可挑剔的;)

所以这意味着过去几周花费的大量时间 (???) 可能是由于编译问题?
这很不幸,但至少给了我信心,我没有失去理智,看到报告的各种问题,我无法重现或解释。

至于 f5 问题:尝试 lwip 高带宽,因为它有更大的缓冲区。 它可能会在稍后崩溃。

编译问题:您以 80 MHz 运行,对吗?

80 MHz 是我猜的默认值。

我知道。 但是将其设置为 160 可能会导致奇怪的行为。

是的,“F5”问题是我目前在这个特殊版本中看到的唯一严重问题。 事实上,如果我只是快速按下它多次刷新ESP网页,它会带来麻烦:

18084332:事件:Clock#Time=Sat,08:47 处理时间:2毫秒
18091174:WD:正常运行时间 302 ConnectFailures 0 FreeMem 14504
bcn_timout,ap_probe_send_start
18112119:Ram 使用:仅 Web 服务器:0 包括核心:0
18115167:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
18116976:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
18119084:LoadFromFile:notification.dat 索引:0 数据大小:996
18119089:LoadFromFile:notification.dat 索引:1024 数据大小:996
18119092:LoadFromFile:notification.dat 索引:2048 数据大小:996
18119129:Ram 使用:仅 Web 服务器:0 包括核心:0
18121330:Ram 使用:仅 Web 服务器:0 包括核心:0
18121337:WD:正常运行时间 302 ConnectFailures 0 FreeMem 13584
18128862:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
18130833:Ram 使用:仅 Web 服务器:0 包括核心:0
18135120:Ram 使用:仅 Web 服务器:0 包括核心:0
18136605:Ram 使用:仅 Web 服务器:0 包括核心:0
18138356:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
18140067:LoadFromFile:notification.dat 索引:0 数据大小:996
18140076:LoadFromFile:notification.dat 索引:1024 数据大小:996
18140078:LoadFromFile:notification.dat 索引:2048 数据大小:996
18140152:Ram 使用情况:仅 Web 服务器:0 包括核心:0
18144694:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
18144700:事件:时钟#时间=周六,08:48
18144702:事件:Clock#Time=Sat,08:48 处理时间:2毫秒
18148558:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
18151336:WD:正常运行时间 303 ConnectFailures 0 FreeMem 12568
18153230:Ram 使用:仅 Web 服务器:0 包括核心:0
18153763:Ram 使用:仅 Web 服务器:0 包括核心:0
18155000:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
18155592:Ram 使用:仅 Web 服务器:0 包括核心:0
18156416:Ram 使用:仅 Web 服务器:0 包括核心:0
18156838:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
18164949:Ram 使用:仅 Web 服务器:0 包括核心:0
18165234:Ram 使用:仅 Web 服务器:0 包括核心:0
18165587:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
18170770:Ram 使用:仅 Web 服务器:0 包括核心:0
18170947:Ram 使用:仅 Web 服务器:0 包括核心:0
18171120:Ram 使用:仅 Web 服务器:0 包括核心:0
18171300:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
18171733:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
18177686:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
bcn_timout,ap_probe_send_start
18181336:WD:正常运行时间 303 ConnectFailures 0 FreeMem 10832
18182865:Ram 使用:仅 Web 服务器:0 包括核心:0
18183367:Ram 使用:仅 Web 服务器:0 包括核心:0
18188878:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
18190025:Ram 使用:仅 Web 服务器:0 包括核心:0
18203237:Ram 使用:仅 Web 服务器:0 包括核心:0
18203809:Ram 使用:仅 Web 服务器:0 包括核心:0
18203817:事件:时钟#时间=周六,08:49
18203819:事件:Clock#Time=Sat,08:49 处理时间:2毫秒
bcn_timout,ap_probe_send_start
bcn_timout,ap_probe_send_start
bcn_timout,ap_probe_send_start
18496844:Ram 使用情况:仅限 Web 服务器:0 包括核心:0
18496850:WD:正常运行时间 304 ConnectFailures 0 FreeMem 8736
18496856:事件:时钟#时间=周六,08:53
18496858:事件:Clock#Time=Sat,08:53 处理时间:2毫秒

在最后三个bcn_timout,ap_probe_send_start消息之后

是的,它以 80 MHz 运行 - 系统信息说:ESP 芯片频率:80 MHz

ESP 网络响应非常快,直到我尝试过快刷新...

早上好……我的设备现在可以稳定运行大约 10 个小时。 然而问题有时会在一两天后出现,所以我让它们像这样运行。 一个单元在夜间重新启动两次(在 16 个 D1 中),这可能与插件有关,等等……sonoff 基础也运行顺利。

我知道您无法看到或解释 TD-er,但是您是否使用 GitHub 构建作为测试?
我可能会回顾过去一个月发布的源代码并比较与自制软件
我有很多我认为没用的东西,我在 Notepad++ 中的一个标签有列表

关于 F5,不是真正的问题 - 我将它用作基准,我没有 F5 键的自动刷新,
所以我手动点击它,同时观察 RAM 使用情况和串行日志输出..
内存中的“lwip 高带宽”几乎是即时的
LmacRxBlk:1错误并且它们无法恢复..
这让我想起我的意思是写一些关于……在待办事项清单上的东西……
我会再次尝试不同的编译设置作为衡量标准

嗯,我不知道是不是我在位置 12 配置了 LCD 显示器的原因,但不久之后我失去了与 AP 的连接并且无法重新连接(尽管 wifiscan 可见,但没有找到 AP)。 重启后同样的问题。 然后设备进入 AP 模式,但可能是由于 SSID 名称中的下划线,它说:

1127917:WIFI:使用 SSID 启动 AP 模式时出错:ESP_01_1 IP:192.168.4.1

但是该设备显示为 AI-THINKER_XXXXXXX,我能够连接它,但是当我尝试更改设备名称等时。我遇到了与设备的连接丢失、崩溃和重新启动等情况... :-(

更新 - 经过几次尝试后,我重命名了设备以删除下划线,但设备号之前仍然存在:
599417:WIFI:使用 SSID 启动 AP 模式时出错:ESP-001_1 IP:192.168.4.1
并且设备仍然可见为 AI-THINKER_XXXXXXX
无法再以客户端身份连接到我的 AP...我会尝试重置出厂设置...

Update2 OK...恢复出厂设置,设备可见为ESP_Easy_0 AP...通过串口控制台设置WifiSSID和WifiKey,设备立即连接到AP...

我的大部分单元仍然运行良好......但是我真的不认为这是编译两次的问题......唯一的区别是,一些库只在第一次编译,然后,当 SDK 看到它们没有改变它不会重新编译...

我现在要尝试的另一件事是,我没有在 arduino 中指定“D1 Mini”板,而是自己设置所有参数并使用“通用 8266”模块……我们将看看这是否有所作为……

目前我唯一看到的是某些单位的一些自发重启......但这可能与其他事情有关......

我的一个问题:sonoff 基本只有 1M 内存......有机会通过 OTA 更新这些东西吗? 它显然总是声称“内存不足”……有什么想法吗?

PS:关于编译问题,我从一开始就一直使用自编译的二进制文件(其他插件),并且有“相同”的稳定性问题……所以其中一些可能真的与平台 IO 相关,其他我认为是“真正的”问题。 ..

编译时可以使用较少的插件。 看看https://github.com/letscontrolit/ESPEasy/blob/mega/src/define_plugin_sets.h

您永远无法直接 OTA,但这样一来,它至少小到可以分两个阶段进行 OTA。 看看那个 wiki :)

这正是我所做的......这就是为什么我总是自我编译......但即使只启用了2个插件,草图也使用了500k......
这就是为什么我正在寻找不同的解决方案(例如,没有网络界面......等等)。

500k够小了。 就像我说的,两部分 OTA。 不能直接更新。 看看维基:)

谢谢.. 搜索.. ;)

添加:不知何故我错过了两步部分....

使用 1M Sonoffs,您将需要使用在标头中有 DOUT 标志的 Initial Uploader,
根据记忆,维基上的那个不是,但最近可能已经更新了..

我记得类似的事情,刚刚搜索了一个我正在使用它的 OTA: https :

是的,检查是 DOUT
这是我放在一起的,它更小
Initial_Firmware_Uploader_Sonoff_1M_DOUT.zip

我说我会做因为我很好奇......
作为与 Self_Compiled mega-20180422 与 GitHub 发布的比较,到目前为止 - 我只尝试了一个
ESP_Easy_mega-20180422_normal_ESP8266_1024.bin
我在这里发表评论并登录它的行为https://github.com/letscontrolit/ESPEasy/issues/1301#issuecomment -383433822(GitHub 发布)
相同的源代码自编译,毫不奇怪,我看到了与 Nightly 不同的行为。
它保持连接,震惊恐怖!
GitHub 发布了mega-20180422,一闪而过,与我第一次尝试时报告的行为完全相同。
不会保持联系, WIFI : Disconnected! Reason: '(200) Beacon timeout'循环往复
原因需要调查......叹息
GitHub 发布 = 不可信?

我昨天左右发布了 Arduino 编译器标志。 Travis 使用什么标志?

我有 16 个 D1 和 3 个基本在 f69e476 自编译、Core 2.4.1、lwIP2 高带宽上运行。
几乎所有这些设备的正常运行时间都超过 900 分钟。 现在仍然工作正常。 其中 2 个在大约一个小时前切换到 AP 模式,直到现在才重新连接。 我会等到今晚,看看他们是否康复。

不幸的是,这种行为并不能真正重现,而且我无法真正提供任何问题出现的证据,但我会继续寻找任何缺陷并在发现任何问题时报告......

@Oxyandy :我还为我的基本作品重新编译了上传! 再次感谢您为我指出正确的方向.. ;)

@s0170071
它们存储在 .travis.yml 和 platformio.ini 中
我快速通读,多田,看看我发现了什么
skip_cleanup: true
编辑:进一步阅读我不确定这是否是指进行干净的构建
我承认这对我来说是全新的……??? 禁用缓存?

Travis 每次都会进行干净的构建,因为它甚至会下载 python 环境等。

每晚构建由@psy0rz完成,而不是由 Travis 完成

Okee dokee,那么它们是干净的构建吗?
试图理解为什么他们的行为不同?

比较 bin1 和 bin2 的 MD5 怎么样?
它将指示它是编译时还是运行时问题...

@susisstrolch你是说自己编译的时候吗? 因为MD5是编译后计算的。 有一个脚本可以为您执行此操作。
https://github.com/s0170071/CRC4ESP

-编辑: @susisstrolch我可能
是的,您可以比较 md5,它们应该是相同的。 如果您离线进行,您也可以按位比较二进制文件。 这样你甚至可以知道偏差在哪里。 如果您很先进,您甚至可以将其回溯到代码。 .elf 文件应该包含所有信息。

无论如何,我不太关心到底有什么不同。 我认为更重要的是确保它们都在同一个二进制文件上——无论是谁编译的。

那么,Arduino、platformio、nightly 和 travis 的编译标志是什么? 赢/Linux,。

不 - 我的意思是不要推测自动构建中编译器输出的差异,只需比较两个构建的 MD5。 因此,您可以准确判断它们是否不同。

Linux 上 Arduino IDE 的标志是:

build.lwip_lib=-llwip_gcc
build.lwip_include=lwip/include
build.lwip_flags=-DLWIP_OPEN_SRC
build.vtable_flags=-DVTABLES_IN_FLASH
build.float=-u _printf_float -u _scanf_float


compiler.cpreprocessor.flags=-D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I{compiler.sdk.path}/include" "-I{compiler.sdk.path}/{build.lwip_include}" "-I{compiler.libc.path}/include" "-I{build.path}/core"

compiler.c.cmd=xtensa-lx106-elf-gcc
compiler.c.flags=-c {compiler.warning_flags} -Os -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -std=gnu99 -ffunction-sections -fdata-sections

compiler.S.cmd=xtensa-lx106-elf-gcc
compiler.S.flags=-c -g -x assembler-with-cpp -MMD -mlongcalls

compiler.c.elf.flags=-g {compiler.warning_flags} -Os -nostdlib -Wl,--no-check-sections -u app_entry {build.float} -Wl,-static "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" "-L{compiler.libc.path}/lib" "-T{build.flash_ld}" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read

compiler.c.elf.cmd=xtensa-lx106-elf-gcc
compiler.c.elf.libs=-lhal -lphy -lpp -lnet80211 {build.lwip_lib} -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc

compiler.cpp.cmd=xtensa-lx106-elf-g++
compiler.cpp.flags=-c {compiler.warning_flags} -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections

@s0170071我试着问埃德温,但他还没有回复。
所以现在,我们并不确切知道每晚构建正在做什么。
并且仍然存在奇怪的行为(我在我的设置中也经历过),编译它两次会产生不同的结果。
构建之间的二进制文件不能通过校验和进行比较。 包含一个构建时间戳,对于任何构建都会有所不同。 因此,编译相同的源 100 次将给出 100 个不同的校验和。
但至少它应该提供相同的功能,并且在第一次和第二次构建之间似乎不会(有时)发生。 而_那_不应该是这样。

因此,为了测试目的并确定它,我将跳过设置这些连续编译之间的所有预编译更改以获得可比较的 src。

@s0170071,因此在使用 Arduino IDE 构建时,由于 -g 选项,我们获得了大量调试信息。
也许是减少尺寸的一点......

缩小尺寸是我们将来必须考虑的事情,但是在切换优化标志时必须小心。 有些可能导致更难重现问题。

这两个单位在白天几个小时后恢复,但其他单位随机失败......直到现在我发现两件事:
我在日志中看到条目说:
96493069:IP 被阻止:0.0.0.0 允许:10.0.0.0 - 10.0.255.255
96517068:WD:正常运行时间 1608 ConnectFailures 0 FreeMem 11544
第一行对我来说似乎很奇怪,什么试图连接 IP 0.0.0.0? 这可能与我几天前看到的问题有关,即设备可以访问,但它告诉我它有 IP 0.0.0.0。

第二件事,即使在过去的 24 小时内什么也没做,我看到 CPU 负载突然增加,即使是在“小”单元中,它们只是使用开关功能(例如所附图表中的第 7 号)。

有机会找出为什么 CPU 负载会发生这种突然变化? 日志没有说明任何具体内容..(今天和昨天的 CPU 负载)...
image
image

重启时 CPU 负载是否跳跃?
CPU 负载的计算方式有点奇怪。
它需要在 30 秒内执行主循环函数的次数。
这与观察到的最大计数进行比较。
这意味着在操作期间观察到的最大计数可能会增加,但也可能会在重新启动后突然减少。

不,不是在重新启动时......只是在某个时候“随机”......有趣的是它同时发生在多个单位......我不知道那里发生了什么(当时不在家)......尤其是单位12- 14 是非常普通的板,除了 rssi、加载、正常运行时间和内存之外没有其他任务......而且内存图也没有显示出显着变化的迹象......
现在,某些设备的负载显示约 50%,但 Web 界面速度很快..

我还有一个装置上有一个 nfx 驱动的手表,它每秒都会改变指针的位置。 有趣的是,时钟在某个时间点停止了,但是该单元继续工作而没有问题......就像这个任务不再运行......但这可能与插件相关(因为它是游乐场之一......但它可以可能指向问题...

但就像我说的,我目前完全不知道所有这些问题可能来自哪里......真的只是四处寻找一些东西......并为每个人提供反馈以进行头脑风暴......

无论如何,非常感谢您的努力和帮助……如果我确实找到了合理的东西,我会报告……

这也可能意味着所有某些服务都在某个时刻改变了可用性。
要么它变得可用,导致节点实际上做更多的工作。
或者它不再可用。 ESPeasy 尝试对主机执行一些 ping 操作以检测其可用性。 如果该 ping 失败,它将在超时期间暂停节点。

这个“ping”是怎么做的? 因为我不时看到一些“主机未知”......会不会,这个超时相当大? 或 ping ord DNS 查找必须缩短超时时间? 实际上我不再使用 FQDN,只使用 IP,所以 DNS 不太可能成为问题......

我只是用最新的提交来更新……有些单元很容易更新,而且速度很快,有些则很慢……

我有 4 个 AP 运行在同一个 SSID 上,您是否也会选择一个更糟糕的 AP,然后出现速度问题?

我计划将 ping 的方式更改为异步 ping。
尝试建立连接时,会检查主机是否可用。 这是通过 ping 完成的。

这是一个阻塞调用?

确实如此,这就是我想将其更改为某种异步变体的原因。

嗯..这可以解释,当网络连接很弱时,事情并不是真的“流畅”......尤其是在尝试上传新草图时......如果网络有很多,是否可以增加ping超时的延迟?

它仅在建立连接时完成。
MQTT 连接重试失败的经验负载要明显得多。
我们连接的主机实际上并不多,所以也许应该在后台运行一些异步可用性检查来帮助决定是否重新连接。
注意,当 DNS 查找最终失败时,它也可能会非常阻塞。

难道 0.0.0.0 是辅助 DNS 吗?

我用 DNS 意识到了这一点,这就是为什么我现在只使用 IP 地址......我根本不使用 MQTT,只使用 fhme 控制器插件以及常规的 json 查询(来自带有 HTTPMOD 插件的 fhem)。

我可能要尝试的一件事是禁用 UDP inter-ESPEasy 网络......我无法摆脱这种感觉,这对单元有一些影响,尤其是在运行 15 个以上的单元时发送定期更新。 ..

将所有单元更新到最新的大型提交后,所有 CPU 负载都恢复到“正常”状态……今天早上 8 点左右我重新启动了 Nr。 4 和 9,看看 CPU 负载发生了什么,几乎所有单元都有大约 30 分钟的峰值。 然后就恢复正常了......

只是一个简单的想法:是否有可能将接收到的 ESPEasy UDP 事件“重新分配”到其他单元,从而生成一个循环并填充网络堆栈?
image

我从来没有研究过这个“inter ESPeasy 通信”的代码,因此我对此无话可说。
我希望这个协议只发送它自己的数据,而不是响应其余的数据。
该协议由两部分组成:

  1. 表明自己的存在。
  2. 通过以前的“全局同步”发送插件的参数值。

最后一个现在被“控制器c_013”取代。

但不确定是否可能没有循环。 例如使用虚拟设备、MQTT 导入等。
使用“控制器 13”的旧版本和新版本之间的行为也可能不同。

好的,感谢您的快速回复...我现在要关掉它,resp。 将UDP端口设置为0,看看是否有任何变化......

添加:更改后,我看到大约 50% 的设备重新启动(没有被告知这样做)......日志中还有一些“HTTP:连接失败”......

我注意到 CPU 负载存在类似问题。 wemos 正在运行带有 13 个插件的自编译固件。 我正在使用带有 Pimatic 的 Rest API。 正如您所看到的,由于某种原因,负载高达 90% 及以上。
image

信息:由于我通过在高级设置中将端口设置为 0 来关闭 Inter-ESPEasy 网络,似乎(大部分)我的问题都消失了! 所有 20 台设备的正常运行时间均 >20 分钟。 并且仍在定期报告价值。 web-if 启动并运行。 CPU-graph 也不再显示这些突然的跳跃。 只有一个单位改成AP模式,我看看能不能恢复。。
可能这需要调查(在源代码中)......有很多单元,UDP 的东西可能会使网络堆栈过载......
希望这可以帮助面临类似问题的其他人......

这是我的经验:
6 个单元均具有静态 IP 和 Inter-ESPeasy 网络活动。
加载的最新固件是“Mega 20180505 手册构建两次”。 (但以前的固件也运行良好)。
他们已经运行了将近 3 天,没有任何问题。

immagine

这就是我想在修复 wifi/网络之前等待几天的原因之一。 让它运行一段时间,看看到底出了什么问题,然后尝试阅读 Arduino 问题列表中的一些问题。
我已经注意到许多问题建议禁用某些 wifi 配置的电源管理。 显然,ESP8266 + 接入点的某些组合在启用电源管理功能(默认启用)的情况下效果不佳
所以这是添加到 ESPeasy 的一个选项。

我在接下来的几天里寻找更多的想法,周五/周六我有更多的时间来编码。

作为参考,我的接入点是带有 Merlin 固件的 ASUS RT-AC68U

我想大多数问题都出在更便宜的型号的出厂默认固件上,也许有些旧的接入点不知道现代 wifi 设备的省电选项。
问题仍然存在,是否可以协商此类功能以自动检测这些功能。

默认情况下禁用并仅在设置页面中请求时启用怎么办?
我想,省电选项仅对电池供电的设备有意义。

它们对于其他目的也有意义。
更多的功率意味着更多的热量,有些还带有传感器......;)

除了高处理器负载。 我回到 2.3.0 Core 的日期为 16/03 的固件,一切又恢复正常。 现在负载最大。 25%。 此外,wemos 的响应时间再次要好得多。 对于 08/05 和 16/03,我根本没有 WiFi 断开连接。 仍然不知道是什么导致了高负载。 同样在这两种情况下,我都没有使用 udp。

自从禁用 UDP 后,除了那些连接了 LCD 的设备外,这些设备都可以正常运行。 我认为如果你有很多单元在说话(> 20),他们要么忙于解码所有 UDP 消息,要么有一些内存泄漏或类似的问题。 这也可以解释在另一个单元启动后单元的突然重启。 只是 MHO ......需要调试更多以确保......

这也可能与一些对yield()调用没有时间做更长的任务有关,这在调用delay()时也会完成。
我可以想象 LCD 插件(也许还有其他一些插件)执行一些需要 10 毫秒以上的任务。

随着时间的推移,带有 LCD 的设备似乎变得越来越忙......当我尝试重新刷新时,我需要先重新启动它们,因为几个小时后上传不再工作(或需要很长时间......)

所有其他单元现在都运行良好,但如前所述,必须禁用 inter ESP 宣布...

至少 WiFi 像这样稳定,到目前为止连接没有其他问题......(现在运行 20 多个单元)

您是否在串行端口上启用了日志记录?
您可以将其设置为“无”吗?

嗯..有趣的观点,我对串行端口日志默认的“信息”,但禁用一个串口完全forther下来...这可能导致问题?

我将其更改为在单位“无”,我会看看是否有差别..

我以前听过介绍,有关不从串行缓冲器取出积攒的数据。
我只是注意到自己在一个正在运行的节点上,当我连接串行监视器时,我收到数据回到它启动的那一刻,就像一分钟前一样。

因此核心 2.3.0 和 2.4.1 之间的差异 5 月 10 日我将 FW 从 2.4 改回 2.3。 两者的设置和规则完全相同。
image

@jopiekr :您用来打印 CPU 负载的软件是什么?

@gii1967g它是pimatic。 让它在 OrangePi One 上运行一年多没有任何问题。 作为 Raspberry Pi 的备份。 pimatic.org

现在将所有串行日志更改为无...我会看看会发生什么...

同样值得注意的是 wifi RSSI ..如果这些设备的信号很弱,它们可能会非常无响应......因为我有 4AP 正在运行,它们似乎有点“随机”,它们连接并且并不总是采用最强的一....

我注意到高于 -77dB 时,它们可能会变得无响应。 此外,当它们不是电池供电时,请检查路由器的租用时间更新。 我制定了在 12000 分钟后重新启动它们的规则。
image

他们应该重新连接到最后一个。 第一次重新连接尝试是到最后一个活动连接的 BSSID。
但我想我们应该将 BSSID 添加到设置中。

前几天我一直在思考 wifi 问题,我想出了一些解决核心库中可能存在的错误的方法,或者与周围的 AP 固件版本相结合
当前,在尝试仅使用 SSID + pwd 进行连接时,核心库会进行扫描。
这样,当您在连接时提供 BSSID + 通道时,速度会快得多。
因为那样它就不必扫描了。
那么为什么不自己进行扫描,找到已知的 SSID,存储匹配网络的所有 BSSID + 频道,然后尝试仅使用 BSSID + 频道进行连接。
然后,您还可以进行自动故障转移,并完全控制何时考虑更新连接。 (从而重新启动服务)

您也知道最强的 RSSI,因此首先连接到最强的,并始终尝试重用最后使用的第一个
并且当连接不稳定时,请尝试禁用 2.4.x 内核中默认启用的省电功能。
此省电功能可能会导致 wifi 重新连接、浏览网页时停顿,甚至在连接时拒绝。

启用省电功能后,wifi 会关闭一段时间,然后再次启用以及时接收接入点的信标信号。
如果这些不同步,一些数据包可能不会到达 ESP,并且只会在接收到下一个信标信号时重新传输。 (这可能需要一段时间)

我不太了解这些节能问题的具体细节,但我对固件开发有足够的了解,知道供应商之间可能实施的标准可能不同。 因此,很可能有一些硬件组合在启用节能功能的情况下运行不太理想。 甚至可能是其他一些 WiFi 设备延迟了接入点的 wifi 信标间隔。 变量太多了。

这种临时断开连接也可能影响 DNS 查找和其他连接中断,这可能会使 ESP 暂停一段时间。 这也可能影响 CPU 负载,因为该(定义不明确的)值基于 loop() 函数在 30 秒内运行的次数。 如果对某个 DNS 解析请求的调用使 ESP 停顿,则循环计数将非常低,因此报告的 CPU 负载很高。

@jopiekr你也可以根据规则重新启动。
我将首先研究禁用省电选项(并使其可选)

@TD-er 关于 WiFi 处理:我完全同意电源管理功能。 人们应该能够将其关闭,因为它会导致非常奇怪的问题和滞后的设备......

对于与 AP 的重新连接,我认为它有所不同,我总是尝试连接到最强的 AP 以确保良好的连接。 在那之后我可能会选择最后一个。 仅仅是因为如果“主”AP 崩溃/重新启动/不应答等,该单元将连接到另一个。 从那时起,它将始终采用那个(更糟糕的)一个,直到这个也失败……它永远不会回到强大的那个,即使这个又回来了……即使你移动设备,可能是它选择了前一个 AP,即使那个 AP 离得更远/信号更弱...

我同意扫描你的代码,然后根据 RSSI 和已知的 BSSID 决定采用哪一个......

这只是重新连接到最后一个已知 BSSID 的第一次尝试。
这将在使用中继器时产生更稳定的连接。
这些中继器有时会在它们忙于处理其他任务时断开连接,并且在扫描时它们可能看起来不那么强大。 便宜的只有一个无线电用于接收和发送,因此当它们接收数据时,可能在执行扫描的那一刻它们没有广播它们的信标信号。 那么此时另一个 AP 的 RSSI 可能会显得更强。

好的,跟踪强度的“常规”扫描怎么样? 或者至少在重新启动后它应该重新评估它选择的接入点......

在重新启动时,如果第一次尝试重新连接失败,它将执行扫描并为设置的 SSID 选择最强的匹配项。

我会将其更改为在设置中存储首选 AP 的 BSSID,以使该 BSSID 始终为首选。
如果通道也是已知的,则重新连接非常快。 (低于 200 毫秒是可能的,具体取决于所使用的 AP)
此外,设置静态 IP 需要大约 20 - 25 毫秒,而 DHCP 需要 2.5 - 10 秒。
这将是电池供电设备的理想选择。

所以还有改进的空间:)

听起来很有希望。 到目前为止,我有 2 个月的电池寿命,2AA 电池升至 3.3V,每 900 秒发送一个 DHT 传感器。 这是在移除了稳压器的 RobotDyn ESP Pro 板上。

@TD-er 刚刚尝试了昨天的构建。 如果我使用静态 IP 或 dhcp,我看不到连接时间的任何差异。 重置后,两个连接都需要大约 3 秒。

然后你就有了一个快速的 DHCP 服务器。
在 2.5 秒连接到 wifi 后,我的 Fritzbox 需要大约 2.5 秒的 DHCP 时间。
因此 MQTT 连接 + NTP 时间设置从启动开始大约需要 6 - 6.5 秒。

弗里茨盒 7490。

快速更新:在禁用 InterESP UDP(并从 1M 设备中删除 C13)并将串行日志设置为“非”(同时禁用串行端口)后,几乎所有我的设备在过去 30 多个小时内都稳定运行......两者之间的混合D1 Mini、D1 pro、Sonoff Basic、Dual 和 4ch... 20 多个单元...从 mega-20180511 提交运行,使用 Arduino IDE 自编译...

我有 7581 作为调制解调器和 3* 1750E 作为接入点。

顺便说一句:我正在使用 Mikrotik AP(和一个非常古老的 USR)。 现在要使用今晚的最新提交来更新单元......

最新的提交目前只处理与 JSON 相关的代码(日志查看器 + 更新传感器值)。
还没有wifi代码。

当然,但 wifi 似乎在最新的提交中“足够稳定”,所以我想与我的单位保持同步;)

很抱歉再次提出这个问题,但我仍然遇到问题,即 ESP 认为它的 IP 为 0.0.0.0 并停止与服务器通信,在网络和 Web 级别上一切都很好! 见附件截图,尝试使用不同版本的 ESPEasy 和 esp8266 组合...
是否有人 eslse expierience ?
untitled

确实很奇怪,因为我想知道如何使用这样的 IP 配置来查看网页。
或者您是否通过其接入点功能连接到 ESP?

不,直接通过网络连接。 ping 和 http 工作没有问题,速度很快,(请参阅客户端 IP 是 10.0.0.10,这是我的笔记本电脑,内部网络是 10.0.0.0/16)......是的,虽然很奇怪......
cuold 与 DHCP 相关左右.. 重新启动后一切又好..

这可能与我只启用了一个控制器 (FHEM) 而没有启用 MQTT 的控制器有关吗? 我在控制器插件之外的源代码中看到了很多 mqtt 代码......只是一个猜测......但我认为它并没有真正相关......

也许 dhcp 已过期且未更新?

很可能......网络堆栈可能仍然有一个活动的IP,但如果更新失败,相应的配置将归零......虽然不确定DHCP代码如何工作,但它可以解释I0m看到的状态。

我还发现,当服务器(在我的情况下是 fhem)多次响应速度不够快时,设备会在一段时间后开始重新启动。 可能是插件代码或底层 tcp 堆栈中的问题......我在服务器上做了一些性能调整,从那时起,这些单元运行更加稳定(现在有些正常运行时间超过 48 小时)。

我已经看到最新版本的连接正常运行时间超过 10 天(正常运行时间没有任何重新连接)。
有可能让单位用大量的请求填满他们的 ram。
我看到 LWIP 在处理大量请求时会做一些奇怪的事情。 (从不包含与该请求相关的数据的内存中读取。)

今天一个节点又停止响应了。 他断开了wifi。 我无法连接到“esp”网络。 他停止向控制器发送数据。 我不得不重启他。 也许看门狗会是一个很好的解决方案。 例如,如果从 wifi 断开一个小时,它会重新启动。 或者也许可以通过规则来完成,但我不知道如何:)

今天在调试一个插件的时候,经历了很多看门狗动作。
而且我现在知道,有时当看门狗介入时,节点可以保持停止状态。
所以看门狗不是完美的解决方案。

有没有可能你的挂节点刷机后就没有重启过? (按重置或电源循环)

可能是刷机后没有重启。 但它是通过 www 闪烁的,而不是连续的。

好的,那没关系,如果你刷了OTA。
只要在串行闪存后进行了正确的重置/重启。

好吧,在最新固件版本中挣扎了许多稳定性问题和奇怪的 wifi 问题之后,我最终不得不回到早期版本。 例如,直到最近停电,一个带有 mega-20180311dev 的旧 ESP12E 节点工作了 70 天,将温度数据发送到 ThingSpeak。
在升级到 mega-20180522dev 后的另一个节点上,尽管重置为默认值,但由于大约每 24 小时一次异常,我遇到了重新启动,只是在没有配置任何设备、没有配置 NTP、没有控制器的情况下运行......从未存活过 48 小时。 两天半前降级到mega-20180324后,保留配置,再次启用NTP,到目前为止它正在运行。 尽管这些旧版本中存在一些错误和缺失的功能,但对我来说它目前是最好的选择。

如果问题不能可靠地重现,那么任何人都无能为力。
有什么帮助是安排每晚重新启动。 你可以使用这些规则。

我知道,但我更喜欢没有预定重启的稳定节点。 我不知道稳定性是否由于切换到核心 2.4.1(可能还不够成熟)而显着降低,或者是否与 ESP Easy 重新设计有关,但尽管所有 ESP Easy 贡献者都付出了最大努力,但它还是发生了。 我真的很感谢你们所有人的辛勤工作,但目前我不能再使用最新的 ESP Easy 版本了。

我认为这也与使用的插件或插件的组合有关。

上周我研究了时间的影响,我相信它会对时间紧迫的任务产生重大影响。

我只是查看了我的一些节点,所有节点都在运行官方版本:

二进制文件名 ESP_Easy_mega-20180513_normal_ESP8266_4096.bin

第 3 单元

  • 正常运行时间 16 天 18 小时 26 分钟
  • 已连接 5d23h07m
  • 上次断开连接原因 (201) 未找到 AP
  • 号码重新连接 2

第 5 单元

  • 正常运行时间 11 天 5 小时 22 分钟
  • 已连接 5d22h57m
  • 上次断开连接原因 (201) 未找到 AP
  • 号码重新连接 4

单元 6

  • 正常运行时间 11 天 5 小时 23 分钟
  • 已连接 45 m 1 s
  • 上次断开连接原因 (201) 未找到 AP
  • 号码重连 58

二进制文件名 ESP_Easy_mega-20180619_test_ESP8266_4096.bin

第七单元

  • 正常运行时间 13 天 20 小时 51 分钟
  • 已连接 5d23h05m
  • 上次断开连接原因 (202) 身份验证失败
  • 号码重新连接 2

大约 6 天前,我的一个 WiFi 接入点出现了一些问题,我不得不重新启动。

单元 6 连接到与单元 3 和 7 相同的单元,但它有更多的重新连接。
这 3 个单元紧挨着,彼此相距不到一米,以比较不同的 CO2 传感器(MH-Z19 A、B 和 SenseAir S8),并且都由相同的电源供电(宜家 3 端口 USB 充电器)。

它们之间的唯一区别是重新连接次数较多的那个具有 Senseair 传感器。
因此,该传感器的实施可能会给 WiFi 例程带来更多压力(更少的延迟调用),这可能会导致 WiFi 不稳定。

你能提供一个使用的插件列表吗?
我昨天也提出了一个拉取请求,它确实记录了很多时间统计信息。 也许你可以基于那个构建一个构建并运行它几分钟来获得一些关于使用太多时间的插件的想法。

我总是使用官方版本,因为我无法为这些设备准备和维护开发环境。
提到的版本 mega-20180522dev,正如我上面描述的,是完全空的配置,所以绝对没有使用插件,没有规则,我什至最后删除了默认的控制器 Nr1。 由于异常每隔大约 24 - 40 小时,没有什么可以阻止节点重新启动。

不知道这是不是 wifi 问题 - 它看起来不像,我已经设法为 wifi 设置了静态 IP 地址,但 espeasy 仍然通过 dhcp 获取它并设置不同。

1104 : WD   : Uptime 0 ConnectFailures 0 FreeMem 21800
1105 : S
W   : State 1.00
1106 : EVENT: x#w=1.00

scandone

state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 2
c
nt 

connected with BJ3, channel 12
dhcp client start...
4350 : WIFI : Connected! AP: BJ3 (E8:DE:27:4F:66:86) Ch: 12 Duration: 3760 ms
4351 : EVENT: WiFi#ChangedAccesspoint
4355 : IP   : Static IP : 192.168.2.184 GW: 192.168.2.1 SN: 192.168.2.0 DNS: 8.8.8.8
4360 : WIFI : Static IP: 0.0.0.0 (ESP5-5) GW: 0.0.0.0 SN: 0.0.0.0   duration: 11 ms
4367 : EVENT: WiFi#Connected
4374 : Webserver: start
4374 : WIFI  : Arduino wifi status: WL_DISCONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
ip:192.168.2.123,mask:255.255.255.0,gw:192.168.2.1
4400 : WIFI : Static IP: 192.168.2.123 (ESP5-5) GW: 192.168.2.1 SN: 255.255.255.0   duration: 50 ms
4401 : EVENT: WiFi#Connected
4406 : WIFI  : Arduino wifi status: WL_CONNECTED ESPeasy internal wifi status: ESPEASY_WIFI_SERVICES_INITIALIZED
4500 : MQTT : Intentional reconnect
4501 : LoadFromFile: config.dat index: 28672 datasize: 724


@uzi18您是否为静态 IP 配置设置了所有字段?

如果是这样,那么我恐怕这是一个已知问题(对我而言),其中有一些先前的会话存储在我们(尚未)在恢复出厂设置时擦除数据的区域中。
这意味着此时除了擦除所有闪存并使用最新版本的 ESPeasy 重新开始之外别无他法。
更高版本确实设置了一个值,以使 wifi 设置不持久。

@TD-er 是的,所有数据都已填写 - 正如您在日志中看到的那样。
我已经刷新了新模块,
信息:插件:71 [正常] [测试](ESP82xx Core 2_4_1,NONOS SDK 2.2.1(cfd48f3),LWIP:2.0.3)
它是这样工作的。
模块仅从原包中取出并闪现,espeasy 从未出现在这里。

@TD-er:对此有两个想法:

  1. 我的非 ESPEasy 加热到 MQTT 广播器使用最新的 pubsub 客户端完美运行。 是否重新连接等等。 也许 ESPEasy 连接监视正在干扰核心库已经完成的工作。 我们是否应该有办法禁用所有额外的 ping-reconnect-wifistate 内容? 只是为了测试?
  2. 你知道wifi自动断电吗? https://blog.creations.de/?p=149

如果 wifi 不稳定的人可以测试这个 PR,那就太好了: https :

@TD-er 偶然发现了https://github.com/esp8266/Arduino/pull/4718
处理 lwip 重新连接问题。 在此期间修复。 也许你想跳过它......

我总是使用 esp8266 的最新 GIT 版本 .. 这就是为什么我可能不再看到 0.0.0.0 问题了......

昨天路由器重启后又一个节点与网络失去联系。
规则工作正常。
这是我自己的墙壁开关,很难拆卸重置。

为了以后方便,我修改了规则:

on S1#Switch do
timerSet,1,5 
if [R1#Relay]=1
gpio,12,0
else
gpio,12,1
endif
endon

on S2#Switch do
if [R2#Relay]=1
gpio,13,0
else
gpio,13,1
endif
endon

On Rules#Timer=1 do
if [S1#Switch]=1.00
 reboot
endif
endon

现在生活会更简单:))

我每 24 小时重启一次。 这会每周两次使用 4 周前的固件恢复一个节点。
也许这应该是一个永久的功能......

这仍然是一个问题吗? 如果是,请重新打开。

我们在问题列表中最长的线程......

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

MarceloProjetos picture MarceloProjetos  ·  4评论

ghtester picture ghtester  ·  3评论

tedenda picture tedenda  ·  6评论

wolverinevn picture wolverinevn  ·  4评论

thehijjt picture thehijjt  ·  4评论