一、参考链接
https://lastminuteengineers.com/esp32-ntp-server-date-time-tutorial/
二、献上代码
#include <WiFi.h>
#include "time.h"
const char* ssid = "Wifi24";
const char* password = "*_zheshimima_*";
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 28800;
const int daylightOffset_sec = 0;
void printLocalTime()
{
struct tm timeinfo;
if(!getLocalTime(&timeinfo)){
Serial.println("Failed to obtain time");
return;
}
Serial.println(&timeinfo, "%A, %Y-%m-%d %H:%M:%S");
}
void setup()
{
Serial.begin(115200);
//connect to WiFi
Serial.printf("Connecting to %s ", ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println(" CONNECTED");
//init and get the time
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
printLocalTime();
//disconnect WiFi as it's no longer needed
WiFi.disconnect(true);
WiFi.mode(WIFI_OFF);
}
void loop()
{
delay(1000);
printLocalTime();
}
三、刷写方式
1、打开Arduino,在文件--首选项--附加开发板管理器网址加上如下内容
https://dl.espressif.com/dl/package_esp32_index.json
2、在工具--开发板--开发板管理器,左键,搜索ESP32,选择最新的版本安装即可
3、选择开发板ESP32 Wrover Module,选择端口号
4、直接上传即可,若出现Connecting........____一直这样的话,充电口对着你的胸口,按住充电的右边那个Boot建不放(不是EN键),直至出现下一行开始刷入,再松开即可刷入
四、查看显示方式,工具--串口监视器,然后选择115200波特率你就可以看到了打印中国时间,按一下EN键就重新连接Wifi然后打印时间