0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何通过ESP8266/nodemcu和Arduino IDE来获取时间

454398 来源:wv 2019-10-09 14:28 次阅读

步骤1:您需要做的事情

对于此项目,您需要做的事情很少:

ESP8266/NODEMCU

使用USB电缆对其进行编程

步骤2:什么是NTP及其工作原理

什么是NTP:NTP代表网络时间协议。这是一个标准的Internet协议(IP),用于通过网络将计算机时钟同步到某些参考。

该协议可用于将所有联网设备同步到协调世界时(UTC)。

NTP设置计算机时钟。对于UTC,客户端可以应用任何本地时区偏移量或夏令时偏移量。这样,无论位置和时区如何,客户端都可以同步到服务器。

它将如何工作:

客户端设备(例如ESP8266)使用端口123上的用户数据报协议(UDP)连接到服务器。然后,客户端将请求包发送到NTP服务器。

响应此请求,NTP服务器发送时间戳包。

时间戳包包含多个信息,例如UNIX时间戳,准确性,延迟

然后客户端可以解析出当前日期和时间值。

步骤3:在Arduino IDE上安装库

在您的Arduino IDE中,转到库管理器并搜索NTP,然后按照我下载的方式下载NTP客户端库,请参考图像以获取更多帮助。

步骤4:编码部分

请复制以下代码并将网络凭据放入代码中,然后

您需要为我设置偏移时间为19800

因为我的时区是utc + 5: 30这样

UTC +5:30 = 5.5 * 60 * 60 = 19800 UTC + 1 = 1 * 60 * 60 = 3600

计算时区并进行编辑,然后上传代码。

#include“ NTPClient.h”

#include“ ESP8266WiFi.h”

#include“ WiFiUdp.h”

const char * ssid =“ ***********”;

const char * password =“ ***********”;

const long utcOffsetInSeconds = 19800;

char daysOfTheWeek [7] [12] = {“ Sunday”,“ Monday” ,“星期二”,“星期三”,“星期四”,“星期五”,“星期六”}};

//定义NTP客户端以获取时间

WiFiUDP ntpUDP;

NTPClient timeClient(ntpUDP,“池。 ntp.org”,utcOffsetInSeconds);

void setup(){ WiFi.begin(ssid,password);

while(WiFi.status()!= WL_CONNECTED){

延迟(500);

Serial.print(“。”);

}

timeClient.begin();

}

void循环(){

timeClient.update();

Serial.print(daysOfTheWeek [timeClient.getDay()]);

Serial.print(“,”);

Serial.print(timeClient.getHours());结果Serial.print( “:”);结果,Serial.print(timeClient.getMinutes());结果,Serial.print( “:”);结果,斯里al.println(timeClient.getSeconds());结果,//Serial.println(timeClient.getFormattedTime());结果,延迟(1000);结果,},点击

第5步:获取时间

将代码上传到Esp8266之后,您可以打开串行监视器,如果一切正常,则可以开始计时串行监视器,因为我可以在串行监视器中获取时间。

因此,通过此项目,您可以连接任何显示器,并使其成为适当的网络时钟。因此,尽享网络时钟的乐趣。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Arduino
    +关注

    关注

    188

    文章

    6479

    浏览量

    188666
  • ESP8266
    +关注

    关注

    50

    文章

    963

    浏览量

    45831
  • NODEMCU
    +关注

    关注

    13

    文章

    289

    浏览量

    21773
收藏 人收藏

    评论

    相关推荐

    esp8266连接阿里云平台时mqtt连接超时

    esp8266nodemcu在使用arduino.ide连接阿里云平台的时候,wifi配置正常但连接不上mqtt,显示报错如下: Attempting MQTT connection...失败, rc=-4 5秒! 这是我所写的代码,请问有大佬知道如何改吗?
    发表于 10-26 21:39

    ESP8266 通过 MQTT 协议实现 LED 的远程控制

    本文简要介绍了搭建 EMQX 服务器实现基于 MQTT 协议远程控制 NodeMCU ESP8266 板载 LED 的解决方案。
    的头像 发表于 09-25 09:11 2370次阅读
    <b class='flag-5'>ESP8266</b> <b class='flag-5'>通过</b> MQTT 协议实现 LED 的远程控制

    arduino(1)--ESP8266配置

    硬件准备 首先需要准备一个开发板,这里我准备的是淘宝购买的兼容arduinoESP8266模块。 arduino配置 我使用的是arduino
    发表于 09-06 11:00

    esp8266esp32区别是什么

    以下是关于ESP8266ESP32的主要区别: 处理器和架构 : ESP8266 :使用一个Tensilica L106 80MHz的处理器,属于Xtensa架构。 ESP32 :使
    的头像 发表于 08-19 18:16 6320次阅读

    esp8266不烧录可以使用吗

    ESP8266是一款非常流行的Wi-Fi模块,广泛应用于物联网项目中。然而,如果不进行烧录,ESP8266将无法正常工作。 1. ESP8266简介 ESP8266是一款由Espres
    的头像 发表于 08-19 17:28 1157次阅读

    Arduino Nano 和 NodeMCU ESP8266 读取 DHT11 环境温湿度数据及 OLED显示

    Arduino Nano 和 NodeMCU ESP8266 读取 DHT11 环境温湿度数据及 OLED显示
    的头像 发表于 08-13 18:04 1442次阅读
    <b class='flag-5'>Arduino</b> Nano 和 <b class='flag-5'>NodeMCU</b> <b class='flag-5'>ESP8266</b> 读取 DHT11 环境温湿度数据及 OLED显示

    ESP8266为什么不响应Arduino

    我是这个 wifi 芯片的新手。我的问题是,当我将其与 arduino mega 连接时,我无法从 esp8266 获得响应。 像许多在线教程一样,我按照说明进行操作,但仍然无法得到任何回应
    发表于 07-16 06:39

    如何让两个ESP8266可以连续地相互通信?

    大家好,我是ESP8266的新手,不懂其他语言,所以我在 Arduino IDE 中使用 Nodemcu1.0 进行工作。从那时起,我首先将ESP8
    发表于 07-12 10:12

    通过Arduino IDEESP8266进行编程,ESP8266崩溃的原因?

    我正在通过Arduino IDENodeMCUESP8266)进行编程,一切正常......我可以在串行监视器上看到传感器读数。 但是:
    发表于 07-12 08:28

    能将ESP8266连接到arduino UNO上,使用mesh组网吗?

    现在已将ESP8266连接到了arduino,并且成功驱动,但是有个问题就是组网的问题,想使用mesh,但是还有有些疑问。1、将带有mesh的固件烧录到ESP8266中,就能自动寻找节点了吗?或者是下载mesh的库函数,从
    发表于 07-11 06:46

    求助,请问如何在RTOS SDK 1.5的PlatformIO IDE ESP8266实现MQTT?

    在这里,我使用的开发板是 NodeMcu ESP8266 V3 Lua CH340 Wifi 开发板 Development Environment -> Platform IO
    发表于 07-08 06:22

    开源项目!用ESP8266 DIY会爬墙的无人机

    Arduino IDE 安装ESP8266板 安装<span>ESP8266WiFi.h</span>库 复制代码并在代码中修改自己的WIFI
    发表于 07-04 09:22

    ESP8266网络天气时钟OLED显示

    基于ESP8266实现网络获取天气和时钟并OLED显示
    的头像 发表于 06-28 04:46 1590次阅读
    <b class='flag-5'>ESP8266</b>网络天气时钟OLED显示

    通过git命令获取ESP8266_RTOS_SDK失败如何解决?

    本人使用的硬件平台为esp8266,开发环境为ubuntu22.04。在通过git命令获取ESP8266_RTOS_SDK失败,通过上网搜索
    发表于 06-07 07:26

    ESP8266休眠时间不准怎么解决?

    使用arduino开发esp8266,使用ESP.deepSleep(SleepTime * 1000000)进行休眠,休眠的时间较长,需要几十小时,测试了几次休眠3~4小时左右,每次
    发表于 06-07 07:12