ESP8266 ашиглан интернетээс цаг авах - ESP8266 Nodemcu бүхий NTP цагны төсөл: 5 алхам
ESP8266 ашиглан интернетээс цаг авах - ESP8266 Nodemcu бүхий NTP цагны төсөл: 5 алхам
Anonim
ESP8266 ашиглан интернетээс цаг авах | ESP8266 Nodemcu -тэй NTP цагны төсөл
ESP8266 ашиглан интернетээс цаг авах | ESP8266 Nodemcu -тэй NTP цагны төсөл

Энэхүү гарын авлагад бид Arduino IDE -тэй ESP8266/nodemcu ашиглан хэрхэн цагийг хэрхэн яаж авахыг харах болно. Цаг авах нь өгөгдлийг бүртгэхэд уншилтынхаа цагийг тэмдэглэхэд тустай байдаг. Хэрэв таны ESP8266 төсөл интернетэд холбогдсон бол та сүлжээний цагийн протокол (NTP) ашиглан цаг авах боломжтой бөгөөд танд нэмэлт тоног төхөөрөмж хэрэггүй болно. Та ESP8266 -г wifi сүлжээнд холбож болох бөгөөд энэ нь синхрончлогдох цаг болно. сүлжээнд холбогдсон тул хэрэв та кодыг оруулсны дараа интернетээс цаг авах тул үргэлж зөв цагийг харуулах болно.

Алхам 1: Танд хэрэгтэй зүйл

Танд хэрэгтэй зүйлс
Танд хэрэгтэй зүйлс

Энэ төслийн хувьд танд маш цөөн зүйл хэрэгтэй болно: үүнийг програмчлахад ESP8266/NODEMCUA USB кабель.

Алхам 2: ГССҮТ гэж юу вэ, энэ нь хэрхэн ажиллах вэ?

ГССҮТ гэж юу вэ, энэ нь хэрхэн ажиллах вэ?
ГССҮТ гэж юу вэ, энэ нь хэрхэн ажиллах вэ?
ГССҮТ гэж юу вэ, энэ нь хэрхэн ажиллах вэ?
ГССҮТ гэж юу вэ, энэ нь хэрхэн ажиллах вэ?

NTP гэж юу вэ: NTP нь сүлжээний цагийн протокол гэсэн үг юм. Энэ нь компьютерийн цагийг сүлжээгээр дамжуулан зарим лавлагаа руу синхрончлох стандарт интернет протокол (IP) бөгөөд протоколыг ашиглан сүлжээнд холбогдсон бүх төхөөрөмжийг уялдуулан зохицуулсан бүх нийтийн цаг (UTC) болгон синхрончлоход ашиглаж болно. бүсийн офсет эсвэл өдрийн гэрлийн хэмнэлтийн цагийн хуваарийг үйлчлүүлэгч ашигладаг. Ийм байдлаар үйлчлүүлэгчид байршил, цагийн бүсийн ялгаанаас үл хамааран серверүүдтэй синхрончлох боломжтой бөгөөд энэ нь бидний хувьд хэрхэн ажиллах вэ: ESP8266 гэх мэт клиент төхөөрөмж нь 123. порт дээрх Хэрэглэгчийн мэдээллийн диаграммын протокол (UDP) ашиглан сервертэй холбогддог. Энэ хүсэлтийн хариуд 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] = {" Ням гараг "," Даваа гариг ", "Мягмар", "Лхагва", "Пүрэв", "Баасан", "Бямба гариг"}; // timeWiFiUDP ntpUDP авахын тулд NTP клиентийг тодорхойлох; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); хүчингүй тохиргоо. () {Serial.begin (115200); WiFi.begin (ssid, нууц үг); while (WiFi.status ()! = WL_CONNECTED) {саатал (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 ()); саатал (1000);}

Алхам 5: Цаг авах

ЦАГ авч байна
ЦАГ авч байна

Esp8266 руу кодыг байршуулсны дараа та цуваа дэлгэцийг нээж болно, хэрэв бүх зүйл сайн бол та миний цуваа дэлгэц дээрх цагийг авах боломжтой байгаа тул цуваа дэлгэц дээрх цагийг авах боломжтой болно. харуулах, үүнийг зөв сүлжээний цаг болгох. Тиймээс сүлжээнийхээ цагийг хөгжилтэй өнгөрүүлээрэй.

Зөвлөмж болгож буй: