esp32使用esp-idf4.3 有线网络 设置静态ip
本帖最后由 我是一个大白菜 于 2022-3-19 13:39 编辑最近有个项目需要用到有线网络和485,于是想到论坛大神做了一个板子,我参考他的帖子,自己做了一个。
硬件调通后,iperf测速大概92Mbits/s,基本满足需求,内存大,udp通信够用了。
我使用的是esp-idf 4.3 配合vscode开发,安装的是esp-idf离线版,需要运气有时候安装一次就好,我换个电脑,一样的软件包安装会失败,多试几次了。
在vscode里,按f1,顶部会弹出一个对话框,选择 ESP-IDF: Show Example Projects ,在弹出的页面里,选择 ethernet->basic ,打开介绍界面,在顶部有个蓝色提示文字 Create project using example basic点击它,选择一个自己知道的文件夹,相当于复制一份这个工程。接下去都在自己的这个文件夹里修改了。
网上查找了很多资料,自己试验了他们的方法,没有成功,最后自己发现是有个结构体名称自己疏忽了,修改一下就好了。整个工程主要就一个c文件,只要配置好了开发环境,编译一下就可以验证了。
修改的关键是:
1. 先关闭工程自带的dhcpc ;
2. 设置静态ip,需要调用esp32自带的函数 esp_ip4addr_aton来做字符串ip和uint32_t的转换;
3. 配置上面两步,要在函数 esp_eth_start(eth_handle) 之前。
ESP_LOGI(TAG, "dhcpc_stop 1");
ESP_ERROR_CHECK(esp_netif_dhcpc_stop(eth_netif));
ESP_LOGI(TAG, "dhcpc_stop 2");
esp_netif_ip_info_t info_t;
memset(&info_t, 0, sizeof(esp_netif_ip_info_t));
info_t.ip.addr = esp_ip4addr_aton((const char *)"192.168.1.50");
info_t.netmask.addr = esp_ip4addr_aton((const char *)"255.255.255.0");
info_t.gw.addr = esp_ip4addr_aton((const char *)"192.168.1.1");
ESP_LOGI(TAG, "static ip 1");
ESP_ERROR_CHECK( esp_netif_set_ip_info(eth_netif, &info_t));
ESP_LOGI(TAG, "static ip 2");
/* start Ethernet driver state machine */
ESP_ERROR_CHECK(esp_eth_start(eth_handle));
大神的链接
https://www.amobbs.com/forum.php?mod=viewthread&tid=5730257&highlight=ESP32
找到的修改方法链接
https://espressif-docs.readthedocs-hosted.com/projects/espressif-esp-faq/zh_CN/latest/software-framework/ethernet.html 666,好多人玩esp32,我也在玩 duxingkei 发表于 2022-3-19 16:28
666,好多人玩esp32,我也在玩
(引用自2楼)
恩,现在stm这么贵,esp32这个时候就体现出非常高的性价比了,内存大,flash是4M的,支持wifi和有线网络,除了开发不习惯,gpio少,没啥缺点了{:smile:} 也正打算用这个做个板子,我打算用micropython来写,到时候有问题在请教你啊 用arduino写,我是另加了个用ble来做网络配置 wxws 发表于 2022-3-20 02:25
用arduino写,我是另加了个用ble来做网络配置
(引用自5楼)
这个模块好像自带蓝牙吧? youkebing 发表于 2022-3-20 08:40
这个模块好像自带蓝牙吧?
(引用自6楼)
自带蓝牙,可能不能同时使用 youkebing 发表于 2022-3-20 00:37
也正打算用这个做个板子,我打算用micropython来写,到时候有问题在请教你啊 ...
(引用自4楼)
我也是刚开始用,相互学习 只用以太网吗,有没有和wifi一起用 xmlbb 发表于 2022-3-20 10:13
只用以太网吗,有没有和wifi一起用
(引用自9楼)
我列举的获取官方例子里,好像有网络转wifi的工程,可以看看参考一下 akey3000 发表于 2022-3-20 08:46
自带蓝牙,可能不能同时使用
(引用自7楼)
蓝牙+wifi 同时使用 正常
蓝牙+以太网同时使用正常
wifi+以太网没搞过。等于是个网关了。不过应该是可行的。
我这应用是2选1,wifi或以太网。
页:
[1]