ESP8266更改hostname
SDK版本:ESP8266_RTOS_SDK(V3.3)
接口:esp_err_t tcpip_adapter_set_hostname(tcpip_adapter_if_t tcpip_if, const char *hostname);
参数说明:
/* TODO: add Ethernet interface */
typedef enum {
TCPIP_ADAPTER_IF_STA = 0, /**< TCP-IP adatpter station interface */
TCPIP_ADAPTER_IF_AP, /**< TCP-IP adatpter soft-AP interface */
TCPIP_ADAPTER_IF_ETH, /**< TCP-IP adatpter ethernet interface */
TCPIP_ADAPTER_IF_MAX
} tcpip_adapter_if_t;
AP模式使用TCPIP_ADAPTER_IF_AP, STA模式使用TCPIP_ADAPTER_IF_STA;
hostname是常量字符串;
调用位置:
在自定义的系统回调函数里的case SYSTEM_EVENT_STA_START之后增加;
如:
case SYSTEM_EVENT_STA_START:
tcpip_adapter_set_hostname(TCPIP_ADAPTER_IF_STA, HOSTNAME);
ESP_LOGI(TAG, "Changed hostname to %s.", HOSTNAME);
默认的“LWIP”是在ethernetif_init函数中设置的。具体细节可以自行阅读源码。