配置UART WiFi模块

配置UART WiFi模块

我最近买了一个UART WiFi模块(这个) 并使用正确的 SSID 和错误的密码配置它(我不知道它是什么)。问题是我无法将此模块重置为其制造设置,也无法通过串行端口连接到此模块以使用某些电线或电缆对其进行配置。但我确定我的模块正在尝试连接我的接入点,但使用错误的网络密钥(因为在我的接入点日志中我可以看到我的模块正在尝试连接但无法连接)

因此,我想知道是否有任何方法可以创建或配置基于 WPA2 个人安全的网络(使用某些接入点或其他东西),该网络可以接受任何 WPA2-PSK 密码?或者是否有其他解决方案可以解决此问题?如果没有,是否有办法查看此模块用于连接该网络的密码?(如果是,那么我可以将我的网络密码更改为该密码并访问此模块的管理面板)

我尝试创建一个开放网络(没有任何安全密钥),但我的模块只是搜索基于 WPA2 的网络(我认为)。

答案1

在我看来,您标题中提出的问题不值得回答,因为我怀疑这是一种绕过根本问题的尝试,只会引发更多未解决的问题。

我无法通过串行端口连接到该模块进行配置...

您可以通过 PC 的串行端口连接到该模块吗?

如果您无法通过串行端口与该模块通信,那么这是否违背了该模块的目的并使其变得毫无用处?

该模块的用户手册指出

2.3.3 串口命令模式

模块还提供命令模式基于串口控制,不同于自动工作模式,该模式为用户提供了足够的灵活性,满足用户不同应用场合的特定需求。该模式下,模块根据用户通过串口发出的命令进行工作,用户可以控制模块完全使用命令,包括修改参数、控制联网、控制TCP/IP连接和数据传输。

似乎是解决根源问题需要弄清楚(即阅读手册)如何激活这个命令模式通过模块的串行端口。熟悉 AT 命令格式的结构(基于旧的 Hayes 拨号调制解调器命令集)将有助于理解这份简略的手册。也许供应商可以为串行端口提供 GUI 或命令行界面(有许多屏幕截图UART-WIFI配置程序看起来与 Web 界面截然不同);否则,您可以编写自己的界面程序,或者(作为最后的手段)使用终端仿真器(例如油灰或者特拉特姆或者超级终端(yuck)或用于 linux 的 minicom)来手动输入 AT 命令。

或者还有其他方法可以解决这个问题?

浏览用户手册后,答案很简单,你需要下载并安装“Wifi 软件”,也就是UART-WIFI配置程序。这似乎是一个 Windows GUI 程序,它通过串行端口连接到模块(参考5.1.2.1 通过串口连接管理),并允许更改模块配置,包括恢复出厂设置。

附录

进一步查看用户手册表明,该模块对 Hayes AT 命令集有特殊的实现。特别是:

  • 它不是“AT”命令,而是“AT+”命令。空命令确实需要加号。所有命令都以三个字符“AT+”开头。

  • 默认退出时间为 2 秒,而不是更常见的 1 秒。为了退出(数据)传输模式,2 秒内不能向串行端口发送任何数据或文本,然后必须发送三个“+”(加号)字符,然后 2 秒内不能发送任何数据或文本。然后模块应使用“+OK”命令提示符进行响应。

答案2

不幸的是,WPA2-PSK 身份验证是双向的,这意味着客户端和 AP 都必须知道相同的密钥,否则身份验证会失败。如果 AP 不知道与客户端相同的密钥,则计算就无法进行,无法进行通信。因此,没有办法实现您的要求。

为清晰起见,更新:AP 没有选择接受或不接受客户端的 WPA2-PSK。AP必须已经知道与客户端完全相同的 PSK,因为如果不知道,AP 就无法传输客户端能够理解的数据包。客户端将期望使用从 PSK 和身份验证握手派生的密钥对帧进行加密,并忽略所有未加密的帧。如果 AP 不知道客户端期望的密钥,它将无法派生客户端将接受的加密密钥。

答案3

以防它对使用这些板的任何其他人有用...

我最初遇到了一些 UART Wifi 板(市场上的型号为 TLG10UA03)的问题,因为它们根本无法通过 RS232 通信,我怀疑是我施加了错误的 RS232 电压而损坏了它们,或者它们有故障。

然而,我发现我能够使用用户名 admin 和密码 000000 登录 wifi,这表明模块正在运行,但数据速率已设置为 9600,尽管我之前看到的所有文档都指定数据速率为 115200。

然而最初在 9600 时,开发板无法与 PC“UART-WIFI 配置”程序 (UART-WIFI.exe) 通信

但是使用“HW-group.com 的 Hercules SETUP 实用程序”,这是在众多 UART-Wifi 网站之一上下载的,我使用了“串行”(选项卡)并选择了我的 USB 到 RS232 TTL 板(加密狗),并将数据速率设置为 9600N81。然后使用串行屏幕底部的“发送”功能(选项卡)发送 +++

董事会回应说“OK”

然后我可以使用 UART-WIFI.exe,确保将数据速率设置为 9600N81,因为该程序的默认值似乎是 115200。我推测模块一定处于不同的模式,因为 +++ 将其切换到可以与 UART-WIFI.exe 通信的模式。也可能有一种方法可以使用电路板上的硬件引脚进入此模式,但是我还没有调查过这一点。

但是,我确实收到一条“命令不支持”的错误消息,但这似乎并没有阻止任何 UART-WIFI.exe 功能运行。

注意:我尚未分析 UART-WIFI.exe 发送的哪个命令不受我的主板支持。

我希望有机会时编写自己的 exe 来与主板通信,这样就无需使用单独的终端程序将模块置于正确的模式。

答案4

根据我的经验,可以通过执行以下操作将模块恢复到其原始出厂状态:

  • 确保模块通过发送+++和接收接受 AT+ 命令+OK。如果没有,请在重启模块时继续短接引脚 2 和 5,以强制命令模式。
  • 在模块处于命令模式时,发送AT+RSTF将模块重置为出厂设置。模块应回复+OK

现在您可以更改配置,然后将更改保存在内部闪存中 ( AT+PMTF),然后再次重置模块 ( AT+Z)。

相关内容