【发布时间】:2017-05-25 13:28:00
【问题描述】:
首先我就不细说了,因为太多了,我不想写(太长的)文章。最后有 TL;DR 部分,因为我有一个具体的问题,但也许一些额外的信息会有所帮助。
我有一个由 GRU(玻璃房单元)和 espressif (esp8266) 制成的设备。
GRU 和 esp8266 通过串行通信,以 GRU 作为主机。 GRU 是用一个内部工具编程的,我可以监控它上面的一切,包括它从 esp8266 获得的信息。 有一个测试/开发设备,在 GRU 顶部有 espressif,因此我可以轻松将其取下、重新编程/重新配置,然后再戴上。
Espressif 位于 GRU 内部,将内容下载到闪存是一件非常痛苦的事情。整个过程包括操作系统切换(从 Win7 到 Linux 并返回)。 espressif 上的控制台输出无法完成,或者至少不能在我拥有的时间范围内完成。
对于 esp8266,我使用非操作系统 SDK V2.0.0_16_08_10。
Espressif 可以配置下载配置到闪存,或通过 UDP(如果已连接则通过网络,如果未连接则通过其 AP)。
Wifi 算法:
1. Try to connect to a network from configuration
2. If it succeeds, raise a flag for that
3. If it fails, enter dual (STATION+AP) mode and raise a flag for that
espressif 并不总是处于双重模式的原因是它会影响多播操作。
网络配置是由我编写的 Java 应用程序完成的。
场景 1
我已经配置了一个 wifi 路由器,将所有 (x19) 设备(即设备中的 espressif)配置为连接到它的网络。当我打开它们时,它们会一一连接。没有进入双模的,可以通过app配置的。
一切顺利。
场景 2 我想在现实世界中测试系统,所以我重新配置了它们以连接到我们公司的网络。此外,当我已经完成整个过程时,我已经下载了最新的固件到闪存。
我预计他们会连接或进入双模式并创建自己的 AP。但他们没有。
然后我在 espressif 上测试了我可以监控其控制台输出的代码和配置,并且一切正常。
然后我在测试设备上测试了代码和配置,它又可以工作了。
然后,我将代码和配置重新下载到一台设备上,但没有成功。
TL;DR 我有两个设备,GRU 上的 espressif 和 GRU 内的 espressif。两者都连接到一个网络。 GRU 上的 Esp 为另一个网络工作,GRU 内的 Esp 不适用于另一个网络。 它们具有相同的代码和配置,因此不应该是软件问题。
在设备内部安装 espressif 是否会干扰其信号以至于无法通过?设备不大(5x5x2cm)。
更新 1: 在我写作时,GRU 内部的 espressif 设法连接到网络。然后我重新启动它,以便我可以检查它是否可以再次执行此操作,并且无法再次连接。 我花了大约 10 分钟来写下整个问题。
【问题讨论】:
-
您确定AP名称和密码正确吗?没有代码或文件就很难提出建议。 esp8266 连接到 PC 时是否尝试连接(手动方法)?我的意思是,通过 PC 的 COM 端口。那么它显示了什么?
-
是的,一切都很好。我发现了问题,只是忘了回答问题。现在会做[:
标签: networking wifi esp8266