【ESP8266笔记】ESP8266-RTOS-SDK(3.0) 修改IP地址

本文介绍在ESP8266RTOSSDK环境下,如何通过修改SDK或调用API来更改默认的AP热点IP地址,实现自定义IP地址段,包括关闭DHCP、设置静态IP及重新启动DHCP的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:
设备:ESP8266-12F
SDK: ESP8266-RTOS-SDK 3.0

在ESP8266 RTOS SDK中已SoftAp方式创建AP热点,默认的IP地址为192.168.4.1,如果将IP地址修改为自定义的地址段,可以通过以下两种方式设置:

  • 修改SDK
    在tcpip_adapter_init()函数中修改IP地址段
void tcpip_adapter_init(void)
{
    if (tcpip_inited == false) {
        tcpip_inited = true;
        tcpip_init(NULL, NULL);

        memset(esp_ip, 0, sizeof(tcpip_adapter_ip_info_t)*TCPIP_ADAPTER_IF_MAX);
        memset(esp_ip_old, 0, sizeof(tcpip_adapter_ip_info_t)*TCPIP_ADAPTER_IF_MAX);
	//在这里修改IP地址
        IP4_ADDR(&esp_ip[TCPIP_ADAPTER_IF_AP].ip, 192, 168 , 121, 1);
        IP4_ADDR(&esp_ip[TCPIP_ADAPTER_IF_AP].gw, 192, 168 , 121, 1);
        IP4_ADDR(&esp_ip[TCPIP_ADAPTER_IF_AP].netmask, 255, 255 , 255, 0);

        dhcp_check_timer = wifi_timer_create("check_dhcp", wifi_task_ms_to_ticks(500), true, NULL, tcpip_adapter_dhcpc_done);
        if (!dhcp_check_timer) {
            ESP_LOGI(TAG, "TCPIP adapter timer create error");
        }
    }
}

  • 调用API修改
	//关闭DHCP
	ESP_ERROR_CHECK(tcpip_adapter_dhcps_stop(TCPIP_ADAPTER_IF_AP));
	//填充结构体tcpip_adapter_ip_info_t
	IP4_ADDR(&tcpip_adapter_ip_info.ip, 192,168,121,1);
	IP4_ADDR(&tcpip_adapter_ip_info.gw, 192,168,121,1);
	IP4_ADDR(&tcpip_adapter_ip_info.netmask, 255,255,255,0);
	//设置IP地址
	ESP_ERROR_CHECK(tcpip_adapter_set_ip_info(TCPIP_ADAPTER_IF_AP,&tcpip_adapter_ip_info));
	//启动dhcp
	ESP_ERROR_CHECK(tcpip_adapter_dhcps_start(TCPIP_ADAPTER_IF_AP));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值