乐鑫技术交流
直播中

感谢相遇

9年用户 962经验值
擅长:嵌入式技术 制造/封装 控制/MCU
私信 关注
[问答]

ESP8266以Station模式启动,启动时SSID不正确为什么?

我有ESP8266以 Station 模式启动。有时我需要停止 station 模式并启动 SoftAP。
我将 SoftAP SSID 设置为 Zentri_xxx。然而,每 3 次到 5 次中有 1 次,softap 以 ssid 启动 ESP_xxxxxxx
不仅如此,我还指定了 IP 地址 10.10.10.1 和 DHCP 服务 10.10.10.x
但是,这将更改为 192.168.4.x。这对我们的产品来说是不行的,因为连接服务器和网页
与设备一起提供服务的预计使用 10.10.10.1。

我们使用:
wifi_softap_set_config_current ()
wifi_softap_dhcps_stop ()
wifi_set_opmode (SOFTAP_MODE)
/* 如果我这样做两次,我的运气会更好 */
wifi_softap_set_config_current ()
wifi_softap_dhcps_stop ()
wifi_softap_set_dhcps_lease ()
wifi_softap_dhcps_start ()

这是一个严重的错误,请帮忙。
                                                                                                                                                        

回帖(1)

李桂英

2024-7-12 17:25:39
从您的描述来看,您在使用ESP8266时遇到了两个问题:1) 有时SoftAP的SSID不正确;2) 指定的IP地址和DHCP服务范围被更改。以下是一些建议来解决这些问题:

1. 确保SSID设置正确:
在设置SoftAP的SSID时,请确保您使用的是正确的SSID。例如,如果您想设置SSID为"Zentri_xxx",请确保在代码中使用以下命令:

```c
wifi_softap_ssid_set("Zentri_xxx");
```

2. 确保保存配置:
在设置SoftAP参数后,您需要保存配置,以便在下次启动时仍然使用这些设置。使用以下命令保存配置:

```c
wifi_softap_set_config_current();
```

3. 检查DHCP服务设置:
确保您正确设置了DHCP服务的IP地址范围。使用以下命令设置DHCP服务:

```c
struct ip_info ip_config;
ip_config.ip.addr = IPADDR4(10, 10, 10, 1);
ip_config.gw.addr = IPADDR4(10, 10, 10, 1);
ip_config.netmask.addr = IPADDR4(255, 255, 255, 0);

wifi_softap_dhcps_start();
wifi_set_ip_info(SOFTAP_IF, &ip_config);
```

4. 检查操作模式设置:
确保您在设置SoftAP参数后正确设置了操作模式。使用以下命令设置操作模式:

```c
wifi_set_opmode(STATIONAP_MODE);
```

5. 检查代码逻辑:
确保您的代码逻辑正确,没有在设置SoftAP参数之前调用`wifi_set_opmode(SOFTAP_MODE)`。这可能会导致ESP8266使用默认的SoftAP设置。

6. 软件版本和库:
检查您使用的ESP8266软件版本和库是否是最新的,以确保没有已知的错误或问题。

7. 硬件问题:
如果以上方法都不能解决问题,可能是ESP8266硬件本身存在问题。您可以尝试更换一个ESP8266模块,看看问题是否仍然存在。

希望这些建议能帮助您解决遇到的问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分