esp32 arduino wifi获取时间
时间: 2025-02-12 22:14:25 浏览: 79
### 使用ESP32和Arduino通过WiFi获取NTP时间
为了使ESP32能够连接到Wi-Fi并从互联网上的NTP服务器同步时间,需先配置好Wi-Fi设置。一旦设备成功接入网络,则可以通过调用特定库函数来实现时间和日期数据的更新。
#### 连接至Wi-Fi网络
在开始之前,确保已安装适用于ESP32板子的支持包以及必要的库文件。接下来,在代码中定义SSID(服务集标识符)和密码以便于建立无线连接[^1]:
```cpp
#include <WiFi.h>
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFI");
}
```
#### 初始化NTP客户端并与服务器通信
引入`<NTPClient>`库用于处理与NTP服务器之间的交互操作,并指定目标地址为pool.ntp.org或其他公共可用的时间源站点之一。此外还需设定UTC偏移量以匹配本地标准时区的要求[^2]。
```cpp
#include <NTPClient.h>
#include <WiFiUdp.h>
// Initialize UDP and NTP client objects
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org", 7 * 3600); // Set timezone offset here (+7 hours)
void setup(){
...
timeClient.begin();
}
void loop(){
if(WiFi.status()==WL_CONNECTED){
timeClient.update();
String formattedTime = timeClient.getFormattedTime();
Serial.print("Current Time: ");
Serial.println(formattedTime);
}
delay(1000);
}
```
上述代码展示了如何利用ESP32配合Arduino IDE完成基本功能——即自动调整内部RTC寄存器中的当前时刻值使之同全球统一协调世界时保持一致;同时允许开发者自定义所需显示格式或进一步解析提取年份、月份等具体组成部分的信息[^3]。
阅读全文
相关推荐


















