完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
问题描述:(在ap2eth示例基础上修改, 路径 esp-idfexamplesetherneteth2ap )
1. 单独使用无线AP,关闭DHCP之后能够成功修改本地IP和网关,连接wifi设备之后分配的IP也是新网段 2. 同时启用AP+ ethernet,调用esp_netif_set_ip_info()修改本地IP和网关。通过esp_netif_get_ip_info()查看本地ip和网关修改成功。 但是PC和wifi设备分配到的IP仍然是169.254.xx.xx |
|
相关推荐
1个回答
|
|
要解决这个问题,我们需要按照以下步骤操作:
1. 首先,确保您已经正确配置了ESP32的AP和Ethernet接口。在`main.c`文件中,检查`esp_eth_init()`和`esp_wifi_init()`函数是否已被正确调用。 2. 在`app_main()`函数中,确保您已经正确设置了AP和Ethernet的配置。例如: ```c esp_netif_create_default_wifi_ap(); esp_netif_create_default_eth(); ``` 3. 在设置AP和Ethernet的IP地址之前,确保它们已经初始化。您可以使用以下代码来初始化它们: ```c esp_netif_init(); ``` 4. 接下来,使用`esp_netif_set_ip_info()`函数设置AP和Ethernet的IP地址。确保您为它们设置了正确的IP地址、子网掩码和网关。例如: ```c esp_netif_ip_info_t ip; ip.ip.addr = ipaddr_addr("192.168.4.1"); ip.ip.addr = ipaddr_addr("255.255.255.0"); ip.gw.addr = ipaddr_addr("192.168.4.1"); esp_netif_set_ip_info(esp_netif_get_handle_from_ifkey("WIFI_AP_DEF"), &ip); esp_netif_set_ip_info(esp_netif_get_handle_from_ifkey("ETH_DEF"), &ip); ``` 5. 启用DHCP服务器。在AP模式下,您可以使用`esp_netif_dhcps_start()`函数来启动DHCP服务器。例如: ```c esp_netif_dhcps_start(esp_netif_get_handle_from_ifkey("WIFI_AP_DEF")); ``` 6. 确保您的PC和WiFi设备连接到了ESP32的AP。检查它们的IP地址是否在您设置的新网段中。 7. 如果问题仍然存在,您可以尝试在ESP32上使用`esp_wifi_set_mode()`函数来设置WiFi模式。例如: ```c esp_wifi_set_mode(WIFI_MODE_APSTA); ``` 8. 最后,检查您的代码中是否有任何错误或遗漏。确保您已经按照ESP-IDF的文档正确配置了AP和Ethernet。 通过以上步骤,您应该能够解决ESP32 AP转Ethernet时修改默认169.254.xx.xx网段失败的问题。如果问题仍然存在,请检查您的硬件连接和配置,确保一切正常。 |
|
|
|
只有小组成员才能发言,加入小组>>
1132 浏览 1 评论
576浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
461浏览 5评论
462浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 01:00 , Processed in 0.845954 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号