สารบัญ:

หาเวลาจากอินเทอร์เน็ตโดยใช้ ESP8266 - โครงการนาฬิกา NTP ด้วย ESP8266 Nodemcu: 5 ขั้นตอน
หาเวลาจากอินเทอร์เน็ตโดยใช้ ESP8266 - โครงการนาฬิกา NTP ด้วย ESP8266 Nodemcu: 5 ขั้นตอน

วีดีโอ: หาเวลาจากอินเทอร์เน็ตโดยใช้ ESP8266 - โครงการนาฬิกา NTP ด้วย ESP8266 Nodemcu: 5 ขั้นตอน

วีดีโอ: หาเวลาจากอินเทอร์เน็ตโดยใช้ ESP8266 - โครงการนาฬิกา NTP ด้วย ESP8266 Nodemcu: 5 ขั้นตอน
วีดีโอ: การดึงค่าวันเวลาปัจจุบันจากอินเตอร์เน็ตด้วย NodeMCU ESP8266 2024, พฤศจิกายน
Anonim
หาเวลาจากอินเทอร์เน็ตโดยใช้ ESP8266 | โครงการนาฬิกา NTP ด้วย ESP8266 Nodemcu
หาเวลาจากอินเทอร์เน็ตโดยใช้ ESP8266 | โครงการนาฬิกา NTP ด้วย ESP8266 Nodemcu

ในบทช่วยสอนนี้ เราจะมาดูวิธีหาเวลาโดยใช้ ESP8266/nodemcu กับ Arduino IDE การหาเวลามีประโยชน์อย่างยิ่งในการบันทึกข้อมูลเพื่อประทับเวลาการอ่านของคุณ หากโปรเจ็กต์ ESP8266 ของคุณมีการเข้าถึงอินเทอร์เน็ต คุณสามารถใช้เวลาโดยใช้ Network Time Protocol (NTP) ได้ คุณไม่จำเป็นต้องมีฮาร์ดแวร์เพิ่มเติม คุณสามารถเชื่อมต่อ ESP8266 กับเครือข่าย wifi ได้ และมันจะเป็นนาฬิกาที่จะซิงโครไนซ์ ด้วยเครือข่าย ดังนั้นหากคุณอัปโหลดรหัสแล้ว จะได้รับเวลาจากอินเทอร์เน็ต ดังนั้นมันจะแสดงเวลาที่ถูกต้องเสมอ

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ

สำหรับโปรเจ็กต์นี้ คุณจะต้องใช้สิ่งเล็กๆ น้อยๆ:สาย USB ESP8266/NODEMCUA เพื่อตั้งโปรแกรม

ขั้นตอนที่ 2: NTP คืออะไรและทำงานอย่างไร

NTP คืออะไรและทำงานอย่างไร?
NTP คืออะไรและทำงานอย่างไร?
NTP คืออะไรและทำงานอย่างไร?
NTP คืออะไรและทำงานอย่างไร?

NTP คืออะไร: NTP ย่อมาจาก Network Time Protocol เป็น Internet Protocol (IP) มาตรฐานสำหรับการซิงโครไนซ์นาฬิกาคอมพิวเตอร์กับการอ้างอิงผ่านเครือข่าย โปรโตคอลนี้สามารถใช้เพื่อซิงโครไนซ์อุปกรณ์เครือข่ายทั้งหมดไปยัง Coordinated Universal Time (UTC) NTP ตั้งค่านาฬิกาของคอมพิวเตอร์เป็น UTC ทุกเวลาท้องถิ่น ออฟเซ็ตโซนหรือออฟเซ็ตเวลาออมแสงกลางวันถูกนำไปใช้โดยไคลเอนต์ ในลักษณะนี้ ไคลเอนต์สามารถซิงโครไนซ์กับเซิร์ฟเวอร์โดยไม่คำนึงถึงความแตกต่างของสถานที่และโซนเวลา มันจะทำงานอย่างไรสำหรับเรา:อุปกรณ์ไคลเอนต์เช่น ESP8266 เชื่อมต่อกับเซิร์ฟเวอร์โดยใช้ User Datagram Protocol (UDP) บนไคลเอนต์พอร์ต 123. A แล้วส่ง ขอแพ็กเก็ตไปยังเซิร์ฟเวอร์ NTP เพื่อตอบสนองต่อคำขอนี้ เซิร์ฟเวอร์ NTP จะส่งแพ็กเก็ตประทับเวลา แพ็กเก็ตประทับเวลาประกอบด้วยข้อมูลหลายอย่าง เช่น การประทับเวลา UNIX ความแม่นยำ ความล่าช้า หรือเขตเวลา จากนั้นไคลเอ็นต์สามารถแยกวิเคราะห์ค่าวันที่และเวลาปัจจุบันได้

ขั้นตอนที่ 3: การติดตั้งไลบรารีบน Arduino IDE

การติดตั้งไลบรารีบน Arduino IDE
การติดตั้งไลบรารีบน Arduino IDE

ใน Arduino IDE ของคุณ ให้ไปที่ตัวจัดการ Libraries และค้นหา NTP และเพียงดาวน์โหลดไลบรารีไคลเอนต์ NTP เมื่อฉันดาวน์โหลด โปรดดูรูปภาพสำหรับความช่วยเหลือเพิ่มเติม

ขั้นตอนที่ 4: ส่วนการเข้ารหัส

ส่วนการเข้ารหัส
ส่วนการเข้ารหัส
ส่วนการเข้ารหัส
ส่วนการเข้ารหัส

โปรดคัดลอกรหัสต่อไปนี้ & ใส่ข้อมูลรับรองเครือข่ายของคุณในรหัสของคุณ จากนั้นคุณต้องตั้งค่าออฟเซ็ตไทม์ให้ฉันเป็น 19800 เพราะเขตเวลาของฉันคือ utc+5:30 ดังนั้น UTC +5:30=5.5*60*60=19800UTC+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] = {"วันอาทิตย์", "วันจันทร์", "วันอังคาร", "วันพุธ", "วันพฤหัสบดี", "วันศุกร์", "วันเสาร์"}; // กำหนดไคลเอ็นต์ NTP เพื่อรับ timeWiFiUDP ntpUDP;NTPClient timeClient(ntpUDP, "pool.ntp.org", utcOffsetInSeconds); ถือเป็นโมฆะการตั้งค่า (){ Serial.begin(115200); WiFi.begin(ssid, รหัสผ่าน); ในขณะที่ (WiFi.status () != WL_CONNECTED) { ล่าช้า (500); Serial.print ("."); } timeClient.begin ();} วงเป็นโมฆะ () { timeClient.update (); Serial.print(วันของสัปดาห์[timeClient.getDay()]); Serial.print(", "); Serial.print(timeClient.getHours()); Serial.print(":"); Serial.print(timeClient.getMinutes()); Serial.print(":"); Serial.println(timeClient.getSeconds()); //Serial.println(timeClient.getFormattedTime()); ล่าช้า (1000);}

ขั้นตอนที่ 5: รับ TIME

รับ TIME
รับ TIME

หลังจากอัปโหลดรหัสไปยัง Esp8266 แล้ว คุณสามารถเปิดจอภาพแบบอนุกรม และหากทุกอย่างเรียบร้อยดี คุณจะสามารถใช้เวลาบนจอภาพแบบอนุกรมได้ เนื่องจากฉันสามารถหาเวลาในจอภาพแบบอนุกรมของฉันได้ ดังนั้นในโปรเจ็กต์นี้ คุณสามารถแนบไฟล์ใดก็ได้ แสดงและทำให้เป็นนาฬิกาเครือข่ายที่เหมาะสม ขอให้สนุกกับการสร้างนาฬิกาเครือข่ายของคุณ

แนะนำ: