一、环境:
arduino IDE或VS Code PlatformIO (我是后者)
二、硬件准备:
一个esp32
一台电脑
一根数据线
三、背景介绍
ESP32 的默认主机名是 expressif。如果使用多个ESP32 设备,并且在sta模式下通过主机名称来区分设备。 例如,在基于物联网的项目中有多个节点,例如温度、湿度、压力、设备控制等。这时,就需要更改这些节点的主机名。在本文中,我们将介绍为 ESP32 开发板设置自定义主机名。
四、代码功能:
esp32设备WiFi连接路由器(即sta模式)时,自定义主机名。
五、最简代码
#include <Arduino.h>
#include <WiFi.h>
// Replace with your network credentials (STATION)
const char* wifi_ssid = "a";
const char* WiFi_pwd = "12345678";
String hostname = "ESP32 Temperature Node";
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.config(INADDR_NONE, INADDR_NONE, INADDR_NONE, INADDR_NONE);
// 自己设置主机名
WiFi.setHostname(hostname.c_str());
WiFi.begin(wifi_ssid, WiFi_pwd);
Serial.print("Connecting to WiFi ..");
while (WiFi.status() != WL_CONNECTED) {
Serial.print('.');
delay(1000);
}
// 连接成功后,打印本机IP地址
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
// 打印信号强度
Serial.print("RRSI: ");
Serial.println(WiFi.RSSI());
}
void loop() {
// put your main code here, to run repeatedly:
}
主要函数:
1、就是这个函数,设置了主机名
// 自己设置主机名
WiFi.setHostname(hostname.c_str());
最后,我有话说:
如果文章对你有帮助,我很开心。有疑问请留言,看到后,我会回复。