0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何通過ESP8266/nodemcu和Arduino IDE來獲取時間

454398 ? 來源:wv ? 2019-10-09 14:28 ? 次閱讀

步驟1:您需要做的事情

對于此項目,您需要做的事情很少:

ESP8266/NODEMCU

使用USB電纜對其進行編程

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

什么是NTP:NTP代表網(wǎng)絡(luò)時間協(xié)議。這是一個標準的Internet協(xié)議(IP),用于通過網(wǎng)絡(luò)將計算機時鐘同步到某些參考。

該協(xié)議可用于將所有聯(lián)網(wǎng)設(shè)備同步到協(xié)調(diào)世界時(UTC)。

NTP設(shè)置計算機時鐘。對于UTC,客戶端可以應(yīng)用任何本地時區(qū)偏移量或夏令時偏移量。這樣,無論位置和時區(qū)如何,客戶端都可以同步到服務(wù)器。

它將如何工作:

客戶端設(shè)備(例如ESP8266)使用端口123上的用戶數(shù)據(jù)報協(xié)議(UDP)連接到服務(wù)器。然后,客戶端將請求包發(fā)送到NTP服務(wù)器。

響應(yīng)此請求,NTP服務(wù)器發(fā)送時間戳包。

時間戳包包含多個信息,例如UNIX時間戳,準確性,延遲

然后客戶端可以解析出當前日期和時間值。

步驟3:在Arduino IDE上安裝庫

在您的Arduino IDE中,轉(zhuǎn)到庫管理器并搜索NTP,然后按照我下載的方式下載NTP客戶端庫,請參考圖像以獲取更多幫助。

步驟4:編碼部分

請復制以下代碼并將網(wǎng)絡(luò)憑據(jù)放入代碼中,然后

您需要為我設(shè)置偏移時間為19800

因為我的時區(qū)是utc + 5: 30這樣

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

計算時區(qū)并進行編輯,然后上傳代碼。

#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循環(huán)(){

timeClient.update();

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

Serial.print(“,”);

Serial.print(timeClient.getHours());結(jié)果Serial.print( “:”);結(jié)果,Serial.print(timeClient.getMinutes());結(jié)果,Serial.print( “:”);結(jié)果,斯里al.println(timeClient.getSeconds());結(jié)果,//Serial.println(timeClient.getFormattedTime());結(jié)果,延遲(1000);結(jié)果,},點擊

第5步:獲取時間

將代碼上傳到Esp8266之后,您可以打開串行監(jiān)視器,如果一切正常,則可以開始計時串行監(jiān)視器,因為我可以在串行監(jiān)視器中獲取時間。

因此,通過此項目,您可以連接任何顯示器,并使其成為適當?shù)木W(wǎng)絡(luò)時鐘。因此,盡享網(wǎng)絡(luò)時鐘的樂趣。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6469

    瀏覽量

    187054
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    962

    瀏覽量

    45000
  • NODEMCU
    +關(guān)注

    關(guān)注

    13

    文章

    289

    瀏覽量

    21403
收藏 人收藏

    評論

    相關(guān)推薦

    esp8266連接阿里云平臺時mqtt連接超時

    esp8266nodemcu在使用arduino.ide連接阿里云平臺的時候,wifi配置正常但連接不上mqtt,顯示報錯如下: Attempting MQTT connection...失敗, rc=-4 5秒! 這是我所寫的代碼,請問有大佬知道如何改嗎?
    發(fā)表于 10-26 21:39

    ESP8266 通過 MQTT 協(xié)議實現(xiàn) LED 的遠程控制

    本文簡要介紹了搭建 EMQX 服務(wù)器實現(xiàn)基于 MQTT 協(xié)議遠程控制 NodeMCU ESP8266 板載 LED 的解決方案。
    的頭像 發(fā)表于 09-25 09:11 ?2008次閱讀
    <b class='flag-5'>ESP8266</b> <b class='flag-5'>通過</b> MQTT 協(xié)議實現(xiàn) LED 的遠程控制

    arduino(1)--ESP8266配置

    硬件準備 首先需要準備一個開發(fā)板,這里我準備的是淘寶購買的兼容arduinoESP8266模塊。 arduino配置 我使用的是arduino
    發(fā)表于 09-06 11:00

    esp8266esp32區(qū)別是什么

    以下是關(guān)于ESP8266ESP32的主要區(qū)別: 處理器和架構(gòu) : ESP8266 :使用一個Tensilica L106 80MHz的處理器,屬于Xtensa架構(gòu)。 ESP32 :使
    的頭像 發(fā)表于 08-19 18:16 ?5400次閱讀

    esp8266不燒錄可以使用嗎

    ESP8266是一款非常流行的Wi-Fi模塊,廣泛應(yīng)用于物聯(lián)網(wǎng)項目中。然而,如果不進行燒錄,ESP8266將無法正常工作。 1. ESP8266簡介 ESP8266是一款由Espres
    的頭像 發(fā)表于 08-19 17:28 ?806次閱讀

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示
    的頭像 發(fā)表于 08-13 18:04 ?1169次閱讀
    <b class='flag-5'>Arduino</b> Nano 和 <b class='flag-5'>NodeMCU</b> <b class='flag-5'>ESP8266</b> 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示

    ESP8266為什么不響應(yīng)Arduino?

    我是這個 wifi 芯片的新手。我的問題是,當我將其與 arduino mega 連接時,我無法從 esp8266 獲得響應(yīng)。 像許多在線教程一樣,我按照說明進行操作,但仍然無法得到任何回應(yīng)
    發(fā)表于 07-16 06:39

    如何讓兩個ESP8266可以連續(xù)地相互通信?

    大家好,我是ESP8266的新手,不懂其他語言,所以我在 Arduino IDE 中使用 Nodemcu1.0 進行工作。從那時起,我首先將ESP8
    發(fā)表于 07-12 10:12

    通過Arduino IDEESP8266進行編程,ESP8266崩潰的原因?

    我正在通過Arduino IDENodeMCUESP8266)進行編程,一切正常......我可以在串行監(jiān)視器上看到傳感器讀數(shù)。 但是:
    發(fā)表于 07-12 08:28

    能將ESP8266連接到arduino UNO上,使用mesh組網(wǎng)嗎?

    現(xiàn)在已將ESP8266連接到了arduino,并且成功驅(qū)動,但是有個問題就是組網(wǎng)的問題,想使用mesh,但是還有有些疑問。1、將帶有mesh的固件燒錄到ESP8266中,就能自動尋找節(jié)點了嗎?或者是下載mesh的庫函數(shù),從
    發(fā)表于 07-11 06:46

    求助,請問如何在RTOS SDK 1.5的PlatformIO IDE ESP8266實現(xiàn)MQTT?

    在這里,我使用的開發(fā)板是 NodeMcu ESP8266 V3 Lua CH340 Wifi 開發(fā)板 Development Environment -> Platform IO
    發(fā)表于 07-08 06:22

    開源項目!用ESP8266 DIY會爬墻的無人機

    Arduino IDE 安裝ESP8266板 安裝<span>ESP8266WiFi.h</span>庫 復制代碼并在代碼中修改自己的WIFI
    發(fā)表于 07-04 09:22

    ESP8266網(wǎng)絡(luò)天氣時鐘OLED顯示

    基于ESP8266實現(xiàn)網(wǎng)絡(luò)獲取天氣和時鐘并OLED顯示
    的頭像 發(fā)表于 06-28 04:46 ?1166次閱讀
    <b class='flag-5'>ESP8266</b>網(wǎng)絡(luò)天氣時鐘OLED顯示

    通過git命令獲取ESP8266_RTOS_SDK失敗如何解決?

    本人使用的硬件平臺為esp8266,開發(fā)環(huán)境為ubuntu22.04。在通過git命令獲取ESP8266_RTOS_SDK失敗,通過上網(wǎng)搜索
    發(fā)表于 06-07 07:26

    ESP8266休眠時間不準怎么解決?

    使用arduino開發(fā)esp8266,使用ESP.deepSleep(SleepTime * 1000000)進行休眠,休眠的時間較長,需要幾十小時,測試了幾次休眠3~4小時左右,每次
    發(fā)表于 06-07 07:12