esp-mesh-lite icon indicating copy to clipboard operation
esp-mesh-lite copied to clipboard

怎么为根节点设置静态IP (AEGHB-652)

Open liuquanli1970 opened this issue 1 year ago • 3 comments

我想根节点设置静态IP,便于TCP服务端连接。 试了几次,都会造成设备重启。 请高手指点一下。谢谢!

liuquanli1970 avatar May 14 '24 06:05 liuquanli1970

可以使用 esp_bridge_netif_set_ip_info 接口来给根节点的 station 的 netif 设置静态 ip

tswen avatar May 27 '24 07:05 tswen

是的,是使用 esp_netif_set_ip_info 接口来给根节点的 station 的 netif 设置静态 ip,单独设置,会造成mesh-lite重启。 esp_netif_create_default_wifi_sta(); esp_netif_create_default_wifi_ap(); wifi_config_t wifi_sta_cfg = { .sta = { .ssid = "YourSTASSID", // 替换为你要连接的WiFi名称 .password = "YourSTAPassword", // 替换为密码 }, };

wifi_config_t wifi_ap_cfg = { .ap = { .ssid = "YourAPSSID", // 设置你的AP热点名称 .password = "YourAPPASSWORD", // 设置AP热点密码 .authmode = WIFI_AUTH_WPA2_PSK, // 可选,设置认证方式 }, };

esp_netif_t *wifi_netif = esp_netif_create_default_wifi_sta(); esp_netif_ip_info_t ip_info; memset(&ip_info, 0, sizeof(esp_netif_ip_info_t)); ip_info.ip.addr = esp_ip4addr_aton("192.168.1.250"); // 设置静态IP ip_info.netmask.addr = esp_ip4addr_aton("255.255.255.0"); // 设置子网掩码 ip_info.gw.addr = esp_ip4addr_aton("192.168.1.1"); // 设置默认网关 // 应用配置的IP信息到网络接口 ESP_ERROR_CHECK(esp_netif_set_ip_info(wifi_netif, &ip_info));

esp_bridge_wifi_set_config(WIFI_IF_STA, &wifi_sta_cfg); esp_bridge_wifi_set_config(WIFI_IF_AP, &wifi_ap_cfg);

liuquanli1970 avatar May 28 '24 05:05 liuquanli1970

不好意思,上面说错了,可以使用 iot_bridge 组件里面提供的接口 esp_bridge_netif_set_ip_info

tswen avatar May 28 '24 07:05 tswen