Talaan ng mga Nilalaman:

Pagkuha ng Oras Mula sa Internet Gamit ang ESP8266 - Proyekto ng NTP Clock Na May ESP8266 Nodemcu: 5 Hakbang
Pagkuha ng Oras Mula sa Internet Gamit ang ESP8266 - Proyekto ng NTP Clock Na May ESP8266 Nodemcu: 5 Hakbang

Video: Pagkuha ng Oras Mula sa Internet Gamit ang ESP8266 - Proyekto ng NTP Clock Na May ESP8266 Nodemcu: 5 Hakbang

Video: Pagkuha ng Oras Mula sa Internet Gamit ang ESP8266 - Proyekto ng NTP Clock Na May ESP8266 Nodemcu: 5 Hakbang
Video: ESP8266 Project: How to control 4 AC bulb or load using 4 Relay with NodeMCU and D1 Mini over WiFi 2024, Nobyembre
Anonim
Pagkuha ng Oras Mula sa Internet Gamit ang ESP8266 | Proyekto ng NTP Clock Na May ESP8266 Nodemcu
Pagkuha ng Oras Mula sa Internet Gamit ang ESP8266 | Proyekto ng NTP Clock Na May ESP8266 Nodemcu

Sa tutorial na ito makikita natin kung paano makakuha ng oras gamit ang ESP8266 / nodemcu sa Arduino IDE. Lalo na kapaki-pakinabang ang pagkuha ng oras sa pag-log ng data upang timestamp ang iyong mga pagbasa. Kung ang iyong proyekto sa ESP8266 ay may access sa Internet, maaari kang makakuha ng oras gamit ang Network Time Protocol (NTP) - hindi mo kailangan ng anumang karagdagang hardware. Maaari mong ikonekta ang iyong ESP8266 sa iyong wifi network at ito ay isang orasan na mai-synchronize sa network, kaya kung sa sandaling na-upload mo ang code magkakaroon ito ng oras mula sa internet kaya't palaging magpapakita ng wastong oras.

Hakbang 1: Mga Bagay na Kailangan mo

Mga Bagay na Kailangan Mo
Mga Bagay na Kailangan Mo

Para sa proyektong ito kakailanganin mo ng kaunting mga bagay: ESP8266 / NODEMCUA USB cable upang i-program ito.

Hakbang 2: Ano ang Isang NTP at Paano Ito gagana?

Ano ang isang NTP at Paano Ito gagana?
Ano ang isang NTP at Paano Ito gagana?
Ano ang isang NTP at Paano Ito gagana?
Ano ang isang NTP at Paano Ito gagana?

Ano ang isang NTP: Ang isang NTP ay nangangahulugang Network Time Protocol. Ito ay isang pamantayang Internet Protocol (IP) para sa pag-syncing ng mga orasan ng computer sa ilang sanggunian sa isang network. Maaaring gamitin ang protokol upang mai-synchronize ang lahat ng mga naka-network na aparato sa Coordinated Universal Time (UTC). Itinakda ng NTP ang mga orasan ng mga computer sa UTC, anumang lokal na oras ang zone offset o day light save time offset ay inilapat ng client. Sa ganitong paraan ang mga kliyente ay maaaring magsabay sa mga server anuman ang pagkakaiba ng lokasyon at time zone. Paano ito gagana para sa amin: Ang aparato ng kliyente tulad ng ESP8266 ay kumokonekta sa server gamit ang User Datagram Protocol (UDP) sa port 123. Pagkatapos ay nagpapadala ang isang client ng isang humiling ng packet sa isang NTP server. Bilang tugon sa kahilingang ito, ang NTP server ay nagpapadala ng isang time stamp packet. Ang isang time stamp packet ay naglalaman ng maraming impormasyon tulad ng UNIX timestamp, kawastuhan, pagkaantala o timezone. Ang isang kliyente ay maaaring mag-parse ng kasalukuyang mga halaga ng petsa at oras.

Hakbang 3: Pag-install ng Library sa Arduino IDE

Pag-install ng Library sa Arduino IDE
Pag-install ng Library sa Arduino IDE

Sa iyong Arduino IDE pumunta sa manager ng Mga Aklatan at maghanap para sa NTP at i-download lamang ang library ng client ng NTP habang na-download ko, mag-refer ng imahe para sa karagdagang tulong.

Hakbang 4: Bahagi ng Coding

Coding Part
Coding Part
Coding Part
Coding Part

Mangyaring kopyahin ang sumusunod na code at ilagay ang iyong mga kredensyal sa network sa iyong code pagkatapos Kailangan mong itakda ang offsettime para sa akin ito ay 19800 Dahil ang aking timezone ay utc + 5: 30 kaya UTC +5: 30 = 5.5 * 60 * 60 = 19800UTC + 1 = 1 * 60 * 60 = 3600CALCULATE ang iyong timezone at i-edit ito at pagkatapos ay i-upload ang code. # Isama ang "NTPClient.h" # isama ang "ESP8266WiFi.h" # isama ang "WiFiUdp.h" const char * ssid = "***** **** "; const char * password =" ********* "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" Sunday "," Monday ", "Martes", "Miyerkules", "Huwebes", "Biyernes", "Sabado"}; // Tukuyin ang NTP Client upang makakuha ng timeWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); void setup () {Serial.begin (115200); WiFi.begin (ssid, password); habang (WiFi.status ()! = WL_CONNected) {pagkaantala (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 ()); antala (1000);}

Hakbang 5: Pagkuha ng PANAHON

Pagkuha ng TIME
Pagkuha ng TIME

Matapos ang Pag-upload ng code sa Esp8266 maaari mong buksan ang serial monitor at kung ang lahat ay mabuti pagkatapos ay makakakuha ka ng oras sa serial monitor dahil nakakakuha ako ng oras sa aking serial monitor. Kaya sa proyektong ito maaari mong ikabit ang anumang ipakita at gawin itong isang tamang orasan sa network. Kaya't magsaya sa paggawa ng iyong orasan sa network.

Inirerekumendang: