完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在使用ESP8266_RTOS_SDK的 3.1 版(发布分支中的最新版本)。对于我的项目,我通过将ESP8266设置为 AP 模式来启动应用程序,以便我可以用手机连接到它。然后,一旦我获得了网络凭据,我想关闭 AP 模式并使用这些凭据进入 STA 模式。问题是它不起作用。凭据很受欢迎,但是在 AP 到 STA 模式之间的切换不起作用......
我以前使用的是该 SDK 的 2.x.x 版本,在那里我能够让它正常工作。但出于安全原因,我刚刚更新到与 FreeRTOS 相关的 3.1 版,WiFi API 发生了很大变化。因此,按照乐鑫的几个示例,我尝试为我的应用程序编写代码以在 AP 和 STA 之间进行切换,但它不起作用。 我尝试了一切:停止 wifi 并在两种模式之间重新启动它;停止交换机之间的反初始化;只需在不停止 WiFi 的情况下更改操作模式......无论如何,似乎没有任何效果。我的 AP 模式工作正常,但问题发生在 STA 模式下,它只是不断进入事件SYSTEM_EVENT_STA_DISCONNECTED......在那里我调用 esp_wifi_connect()(如 SDK 示例中所示),但它不起作用。一次又一次地重新进入SYSTEM_EVENT_STA_DISCONNECTED事件。我的模式设置为 STA,我获得了正确的网络凭据,并且我的本地网络正在工作。所以我不知道问题出在哪里,而且很难找到新的东西来尝试解决这个问题。 注意:我真的不想将我的ESP8266设置为双 AP STA 模式,我只想在需要时将其设置为 AP,然后关闭 AP 模式并进入全 STA 模式。 如果有人有什么我可以尝试的,请告诉我 |
|
相关推荐
1个回答
|
|
以下是一些可能的原因和解决方案:
1. **确保正确初始化 WiFi**:在切换模式之前,请确保您正确初始化了 WiFi。使用 `esp_wifi_init()` 函数进行初始化。 2. **检查 WiFi 配置**:确保您使用的 WiFi 配置是正确的。在切换模式之前,您需要将 STA 模式的配置设置为所需的网络凭据。 3. **关闭 AP 模式**:在切换到 STA 模式之前,确保您已经关闭了 AP 模式。使用 `esp_wifi_set_mode(WIFI_MODE_NULL)` 函数关闭 AP 模式。 4. **设置 STA 模式**:在关闭 AP 模式之后,使用 `esp_wifi_set_mode(WIFI_MODE_STA)` 函数设置 STA 模式。 5. **连接到 WiFi 网络**:在设置 STA 模式之后,使用 `esp_wifi_connect()` 函数尝试连接到 WiFi 网络。 6. **检查错误和状态**:在执行上述步骤时,检查是否有任何错误或问题。您可以使用 `esp_err_t` 类型的错误代码来确定问题所在。 7. **检查示例代码**:参考乐鑫提供的示例代码,确保您的代码与示例代码相似。这有助于您找到可能存在的问题。 8. **检查 SDK 版本**:虽然您已经更新到 3.1 版本,但请确保您使用的是与您的硬件兼容的版本。如果可能,请尝试使用其他版本的 SDK 进行测试。 9. **检查硬件问题**:确保您的 ESP8266 模块没有硬件问题,例如损坏的天线或其他组件。 |
|
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
437浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:53 , Processed in 0.949745 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号