
Агуулгын хүснэгт:
2025 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2025-01-23 15:00

Энэхүү гарын авлагад бид 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 дээр 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 руу кодыг байршуулсны дараа та цуваа дэлгэцийг нээж болно, хэрэв бүх зүйл сайн бол та миний цуваа дэлгэц дээрх цагийг авах боломжтой байгаа тул цуваа дэлгэц дээрх цагийг авах боломжтой болно. харуулах, үүнийг зөв сүлжээний цаг болгох. Тиймээс сүлжээнийхээ цагийг хөгжилтэй өнгөрүүлээрэй.
Зөвлөмж болгож буй:
NTP синхрончлол бүхий жинхэнэ хоёртын цаг: 4 алхам

NTP синхрончлогдсон жинхэнэ хоёртын цаг: Жинхэнэ хоёртын цаг нь өдрийн цагийг бүтэн өдрийн хоёртын бутархай хэсгүүдийн нийлбэр хэлбэрээр харуулдаг бөгөөд уламжлалт "хоёртын цаг" -аас ялгаатай. цагийг цаг/минут/секундэд харгалзах хоёртын кодчилсон аравтын орон болгон харуулдаг. Уламжлал
Цаг, огноог интернетээс авах - Хичээл: 9 алхам

Интернетээс цаг, огноог олж авах - Хичээл: Энэхүү гарын авлагад бид NIST TIME серверээс M5Stack StickC болон Visuino ашиглан огноо, цагийг хэрхэн олж авах талаар сурах болно
Visuino - NODMCU ашиглан Интернет NIST серверээс яг цаг авах: 8 алхам

Visuino - Интернет NIST серверээс NodeMCU ашиглан үнэн зөв цаг авах: Энэхүү гарын авлагад бид NodeMCU Mini, OLED Lcd, Visuino ашиглан NIST серверээс Lcd дээрх шууд интернэт цагийг харуулах болно. Үзүүлэх видео үзэх. Сүнслэг нөлөө нь youtube хэрэглэгч " Ciprian Balalau "
Arduino IDE ашиглан M5stick C ашиглан цаг хийх - M5stack M5stick-C-тэй RTC бодит цагийн цаг: 4 алхам

Arduino IDE ашиглан M5stick C ашиглан цаг хийх | M5stack M5stick-C-тэй RTC бодит цагийн цаг: Сайн байна уу залуусаа, энэ зааварчилгаанд бид Arduino IDE ашиглан m5stack-ийн m5stick-C хөгжүүлэлтийн самбар ашиглан хэрхэн цаг хийхийг сурах болно. Тиймээс m5stick нь огноо, цаг, цагийг харуулах болно. дэлгэц дээр сарын долоо хоног
Интернетээс IPod руу видео авах, хурдан, хялбар, үнэгүй !: 5 алхам

Видео бичлэгийг интернетээс өөрийн IPod руу хурдан, хялбар, ҮНЭГҮЙ авах !: Заримдаа та YouTube дээр видеог үзээд iPod дээрээ ашиглахыг хүсдэг. Би үүнийг хийсэн, ойлгож чадаагүй ч дараа нь ойлгосон болохоор интернетээр хуваалцахаар шийдлээ. Энэхүү гарын авлага нь зөвхөн татаж авах програмыг ашигласан тохиолдолд л YouTube -д хамаарна