写一个在arduino环境下,ESP32获取互联网时间的程序
时间: 2024-04-08 19:33:36 浏览: 145
获取网络时间的软件源码
当然可以!以下是一个在Arduino环境下使用ESP32获取互联网时间的简单程序:
```cpp
#include <WiFi.h>
#include <NTPClient.h>
#include <WiFiUdp.h>
const char* ssid = "你的WiFi网络名称";
const char* password = "你的WiFi密码";
const long utcOffsetInSeconds = 8 * 3600; // 设置时区偏移量,这里是东八区
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org", utcOffsetInSeconds);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("连接到WiFi...");
}
timeClient.begin();
timeClient.update();
}
void loop() {
timeClient.update();
Serial.print("当前时间:");
Serial.print(timeClient.getFormattedTime());
delay(1000); // 延迟1秒
}
```
这个程序使用了ESP32的WiFi库和NTPClient库,通过连接到WiFi网络并使用NTP协议从互联网获取时间。你需要将代码中的`ssid`和`password`替换为你的WiFi网络名称和密码。
在`setup()`函数中,程序连接到WiFi网络并初始化NTPClient。在`loop()`函数中,程序通过调用`timeClient.update()`来更新时间,并通过`timeClient.getFormattedTime()`获取当前时间并打印出来。
这只是一个简单的示例程序,你可以根据自己的需求进行扩展和修改。希望对你有帮助!
阅读全文