当前位置:   article > 正文

esp32获取网络时间_esp32获取时间

esp32获取时间

ESP32连接WiFi后获取网络时间

ESP32连接到WiFi并获得Internet访问权限,可以通过向NTP服务器发送请求来获取当前时间。ESP32可以使用内置的NTP客户端库或第三方库来实现此功能。一旦获取了时间信息,ESP32可以使用其内置的Real-Time Clock(RTC)模块或外部RTC芯片来跟踪时间。

目的

ESP32通过连接WiFi后得到当前时间,并且转换为unix时间戳类型,目的是使用mqtt时可以将发送信息时间上传等。

如何实现

此代码需要包含以下库:WiFi、HTTPClient和time。
在开始使用代码之前,请确保已将WiFi的SSID和密码替换为您自己的网络。

#include <WiFi.h>
#include <HTTPClient.h>
#include <time.h>

const char* ssid = "esp32";
const char* password = "guanzhuyixia!";
const char* ntpServer = "pool.ntp.org";
const long utcOffsetInSeconds = 28800; // Beijing: UTC +8  -- 获取东八区时间(默认以英国格林威治天文台所在地的本初子午线为基准线的)

void setup() {
  Serial.begin(115200);
  while (!Serial);
  //连接wifi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi");
  //获取时间
  configTime(utcOffsetInSeconds, 0, ntpServer);
  while (!time(nullptr)) {
    delay(1000);
    Serial.println("Waiting for time sync...");
  }
  Serial.println("Time synced successfully");
}

void loop() {
  time_t now = time(nullptr);
  Serial.print("Current time is: ");
  Serial.println(ctime(&now));  //打印时间
  // Convert current time to Unix timestamp
  long unixTimestamp = static_cast<long>(now);  //获取unix时间戳 
  Serial.print("Unix timestamp is: ");
  Serial.println(unixTimestamp);
  delay(1000);
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

此示例中,我们使用static_cast将time_t类型的当前时间转换为long类型的Unix时间戳。然后,我们将Unix时间戳打印到串行监视器中。

在Unix操作系统中,时间戳表示从1970年1月1日00:00:00 UTC(协调世界时)开始经过的秒数。因此,将当前时间转换为时间戳可以帮助我们进行日期和时间计算。
状态
在ESP32的Arduino环境中,time_t数据类型是一个整数,表示自1970年1月1日00:00:00 UTC以来经过的秒数。但是,由于long比time_t更具通用性,因此在转换时使用了static_cast将time_t强制转换为long。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/471983
推荐阅读
相关标签
  

闽ICP备14008679号