สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
- ขั้นตอนที่ 2: NTP คืออะไรและทำงานอย่างไร
- ขั้นตอนที่ 3: การติดตั้งไลบรารีบน Arduino IDE
- ขั้นตอนที่ 4: ส่วนการเข้ารหัส
- ขั้นตอนที่ 5: รับ TIME
วีดีโอ: หาเวลาจากอินเทอร์เน็ตโดยใช้ ESP8266 - โครงการนาฬิกา NTP ด้วย ESP8266 Nodemcu: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
ในบทช่วยสอนนี้ เราจะมาดูวิธีหาเวลาโดยใช้ ESP8266/nodemcu กับ Arduino IDE การหาเวลามีประโยชน์อย่างยิ่งในการบันทึกข้อมูลเพื่อประทับเวลาการอ่านของคุณ หากโปรเจ็กต์ ESP8266 ของคุณมีการเข้าถึงอินเทอร์เน็ต คุณสามารถใช้เวลาโดยใช้ Network Time Protocol (NTP) ได้ คุณไม่จำเป็นต้องมีฮาร์ดแวร์เพิ่มเติม คุณสามารถเชื่อมต่อ ESP8266 กับเครือข่าย wifi ได้ และมันจะเป็นนาฬิกาที่จะซิงโครไนซ์ ด้วยเครือข่าย ดังนั้นหากคุณอัปโหลดรหัสแล้ว จะได้รับเวลาจากอินเทอร์เน็ต ดังนั้นมันจะแสดงเวลาที่ถูกต้องเสมอ
ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
สำหรับโปรเจ็กต์นี้ คุณจะต้องใช้สิ่งเล็กๆ น้อยๆ:สาย USB ESP8266/NODEMCUA เพื่อตั้งโปรแกรม
ขั้นตอนที่ 2: 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 ของคุณ ให้ไปที่ตัวจัดการ 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
หลังจากอัปโหลดรหัสไปยัง Esp8266 แล้ว คุณสามารถเปิดจอภาพแบบอนุกรม และหากทุกอย่างเรียบร้อยดี คุณจะสามารถใช้เวลาบนจอภาพแบบอนุกรมได้ เนื่องจากฉันสามารถหาเวลาในจอภาพแบบอนุกรมของฉันได้ ดังนั้นในโปรเจ็กต์นี้ คุณสามารถแนบไฟล์ใดก็ได้ แสดงและทำให้เป็นนาฬิกาเครือข่ายที่เหมาะสม ขอให้สนุกกับการสร้างนาฬิกาเครือข่ายของคุณ
แนะนำ:
วิธีการตั้งค่า OSMC ด้วย Hyperion บน Raspberry Pi ด้วย WS2812b Led Strip: 8 ขั้นตอน
วิธีการตั้งค่า OSMC ด้วย Hyperion บน Raspberry Pi ด้วย WS2812b Led Strip: บางครั้งฉันพูดภาษาอังกฤษได้ดีมาก บางครั้งก็ไม่มี… สิ่งแรกเลย นี่เป็นการสอนครั้งแรกของฉันและภาษาอังกฤษไม่ใช่ภาษาแม่ของฉัน ดังนั้นโปรดอย่ากดดันฉันมากเกินไป นี่จะไม่เกี่ยวกับวิธีการสร้างเฟรมที่ง่าย มันเกี่ยวกับการติดตั้ง
วิธีเผยแพร่ข้อมูล ESP32 ด้วย NTP Timestamp ไปยัง IoT Cloud: 5 ขั้นตอน
วิธีเผยแพร่ข้อมูล ESP32 ด้วย NTP Timestamp ไปยัง IoT Cloud: ในหลาย ๆ แอปพลิเคชัน ผู้ใช้จำเป็นต้องส่งข้อมูลพร้อมกับการประทับเวลาท้องถิ่นของค่าที่จะส่งในเพย์โหลดไปยัง AskSensors IoT cloud รูปแบบการประทับเวลาคือ UNIX Epoch time: จำนวนมิลลิวินาทีที่ผ่านไปตั้งแต่ Janu
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: 9 ขั้นตอน
วิธีสร้าง CubeSat ด้วย Arduino ด้วย Arducam: ในรูปแรก เรามี Arduino และเรียกว่า "Arduino Uno"ในรูปที่สอง เรามี Arducam และเรียกว่า "Arducam OV2640 มินิ 2MP"พร้อมกับภาพที่สอง มีวัสดุที่คุณต้อง
การควบคุม IO ด้วย Arduino + Esp8266 (NodeMCU) และ Ubidots: 5 ขั้นตอน
การควบคุม IO ด้วย Arduino + Esp8266 (NodeMCU) และ Ubidots: ฉันจะแสดงขั้นตอนง่ายๆ ในการควบคุมอุปกรณ์ใดๆ ผ่านอินเทอร์เน็ตโดยใช้แพลตฟอร์ม Ubidots IoT และโมดูล NodeMCU WiFi ด้วย Arduino IDE
คู่มือเริ่มต้นอย่างรวดเร็วสำหรับ Arduino IDE ด้วย NodeMCU ESP8266: 6 ขั้นตอน
คู่มือเริ่มต้นอย่างรวดเร็วสำหรับ Arduino IDE ด้วย NodeMCU ESP8266: การกำหนดค่า Arduino IDE สำหรับ NodeMCU ESP8266