esp8266获取NTP网络时间
时间: 2023-07-07 18:32:43 浏览: 233
要获取NTP网络时间,可以使用ESP8266的内置函数`NTPClient`和`WiFiUDP`。下面是一个简单的示例代码:
```c++
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include <NTPClient.h>
// Replace with your network credentials
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
// Define NTP Client to get time
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org");
void setup(){
Serial.begin(115200);
// Connect to Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// Initialize NTP client
timeClient.begin();
}
void loop() {
// Update NTP time
timeClient.update();
// Print current time
Serial.println(timeClient.getFormattedTime());
// Wait for 1 second
delay(1000);
}
```
在这个示例中,我们首先连接到Wi-Fi网络,然后初始化NTP客户端。在`loop()`函数中,我们使用`timeClient.update()`更新NTP时间,并使用`timeClient.getFormattedTime()`获取格式化的时间字符串。最后,我们使用`delay()`函数等待1秒钟。
注意:在使用NTP客户端之前,确保您的ESP8266设备已连接到互联网,并且您的防火墙允许NTP协议通过。
阅读全文