Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Trong hướng dẫn này, chúng ta sẽ thấy cách sử dụng ESP8266 / gật gù với Arduino IDE. Dành thời gian đặc biệt hữu ích trong việc ghi dữ liệu để đánh dấu thời gian các bài đọc của bạn. Nếu dự án ESP8266 của bạn có quyền truy cập Internet, bạn có thể có thời gian bằng Giao thức thời gian mạng (NTP) - bạn không cần bất kỳ phần cứng bổ sung nào. Bạn có thể kết nối ESP8266 với mạng wifi của mình và nó sẽ là đồng hồ được đồng bộ hóa với mạng, vì vậy nếu một khi bạn Tải lên mã, nó sẽ có thời gian từ internet để nó luôn hiển thị thời gian chính xác.
Bước 1: Những thứ bạn cần
Đối với dự án này, bạn sẽ cần rất ít thứ: cáp USB ESP8266 / NODEMCUA để lập trình nó.
Bước 2: CTMTQG là gì và nó sẽ hoạt động như thế nào?
NTP là gì: NTP là viết tắt của Network Time Protocol. Đó là một giao thức Internet chuẩn (IP) để đồng bộ hóa đồng hồ máy tính với một số tham chiếu qua mạng. sự bù đắp vùng hoặc bù đắp thời gian tiết kiệm ánh sáng ban ngày được áp dụng bởi khách hàng. Theo cách này, máy khách có thể đồng bộ hóa với máy chủ bất kể sự khác biệt về vị trí và múi giờ. Yêu cầu gói đến máy chủ NTP. Để đáp ứng yêu cầu này, máy chủ NTP sẽ gửi một gói dấu thời gian. Một gói dấu thời gian chứa nhiều thông tin như dấu thời gian UNIX, độ chính xác, độ trễ hoặc múi giờ. Sau đó, máy khách có thể phân tích cú pháp các giá trị ngày và giờ hiện tại.
Bước 3: Cài đặt Thư viện trên Arduino IDE
Trong IDE Arduino của bạn, đi tới Trình quản lý thư viện và tìm kiếm NTP và chỉ cần tải xuống thư viện ứng dụng khách NTP như tôi đã tải xuống, hãy tham khảo hình ảnh để được trợ giúp thêm.
Bước 4: Phần mã hóa
Vui lòng sao chép mã sau và nhập thông tin đăng nhập mạng của bạn vào mã của bạn sau đó Bạn cần đặt thời gian bù cho tôi là 19800 Vì múi giờ của tôi là utc + 5: 30 nên UTC +5: 30 = 5.5 * 60 * 60 = 19800UTC + 1 = 1 * 60 * 60 = 3600 TÍNH múi giờ của bạn và chỉnh sửa nó rồi tải mã lên. # Include "NTPClient.h" #include "ESP8266WiFi.h" #include "WiFiUdp.h" const char * ssid = "***** ****** "; const char * password =" *********** "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" Chủ nhật "," Thứ Hai ", "Thứ Ba", "Thứ Tư", "Thứ Năm", "Thứ Sáu", "Thứ Bảy"}; // Xác định NTP Client để lấy timeWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); void setup () {Serial.begin (115200); WiFi.begin (ssid, mật khẩu); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); } timeClient.begin ();} void loop () {timeClient.update (); Serial.print (daysOfTheWeek [timeClient.getDay ()]); Serial.print (","); Serial.print (timeClient.getHours ()); Serial.print (":"); Serial.print (timeClient.getMinutes ()); Serial.print (":"); Serial.println (timeClient.getSeconds ()); //Serial.println (timeClient.getFormattedTime ()); trì hoãn (1000);}
Bước 5: Nhận TIME
Sau khi tải mã lên Esp8266, bạn có thể mở màn hình nối tiếp và nếu mọi thứ đều tốt thì bạn sẽ có thể xem thời gian trên màn hình nối tiếp vì tôi có thể xem thời gian trong màn hình nối tiếp của mình. Vì vậy, với dự án này, bạn có thể đính kèm bất kỳ hiển thị và biến nó thành đồng hồ mạng thích hợp. Vì vậy, hãy vui vẻ khi tạo đồng hồ mạng của bạn.