Мазмуну:

ESP8266 менен Интернеттен Убакыт алуу - ESP8266 Nodemcu менен NTP сааты долбоору: 5 кадам
ESP8266 менен Интернеттен Убакыт алуу - ESP8266 Nodemcu менен NTP сааты долбоору: 5 кадам

Video: ESP8266 менен Интернеттен Убакыт алуу - ESP8266 Nodemcu менен NTP сааты долбоору: 5 кадам

Video: ESP8266 менен Интернеттен Убакыт алуу - ESP8266 Nodemcu менен NTP сааты долбоору: 5 кадам
Video: Start Using Wemos D1 Mini NodeMCU WiFi ESP8266 module with Arduino 2024, Июль
Anonim
ESP8266 менен Интернеттен Убакыт алуу | ESP8266 Nodemcu менен NTP сааты долбоору
ESP8266 менен Интернеттен Убакыт алуу | ESP8266 Nodemcu менен NTP сааты долбоору

Бул окуу куралында биз Arduino IDE менен ESP8266/nodemcu аркылуу кантип убакытты алууну көрөбүз. Убакытты алуу, айрыкча, маалыматтарды окууңузга убакыт белгисин коюу үчүн пайдалуу. Эгерде сиздин ESP8266 долбооруңуз Интернетке кире турган болсо, анда Network Time Protocol (NTP) аркылуу убакытты ала аласыз - эч кандай кошумча жабдыктын кереги жок. тармак менен, эгерде сиз кодду жүктөгөндөн кийин, ал интернеттен убакыт алат, ошондуктан ал ар дайым туура убакытты көрсөтөт.

1 -кадам: Сизге керектүү нерселер

Сиз керек
Сиз керек

Бул долбоор үчүн сизге өтө аз нерселер керек: аны программалоо үчүн ESP8266/NODEMCUA USB кабели.

2 -кадам: NTP деген эмне жана ал кантип иштейт?

NTP деген эмне жана ал кантип иштейт?
NTP деген эмне жана ал кантип иштейт?
NTP деген эмне жана ал кантип иштейт?
NTP деген эмне жана ал кантип иштейт?

NTP деген эмне: An NTP Network Time Protocol дегенди билдирет. Бул стандарттык Интернет Протоколу (IP), компьютердин сааттарын бир тармак аркылуу кээ бир шилтемелерге синхрондоштуруу үчүн. Протокол бардык тармактык түзмөктөрдү Координацияланган Универсалдуу Убакытка (UTC) шайкештештирүү үчүн колдонулушу мүмкүн. зонанын офсети же күндүзгү жарыкты үнөмдөө убактысы кардар тарабынан колдонулат. Бул жол менен кардарлар серверлерге синхрондоштурулганына карабастан жайгашкан жери жана убакыт алкагынын айырмасы. Ал биз үчүн кандай иштейт: ESP8266 сыяктуу кардар түзмөгү серверге 123. A портунда Колдонуучунун Маалыматтар Протоколу (UDP) аркылуу туташат. NTP серверине пакетти сурануу

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 -кадам: Убакытты алуу

TIME алуу
TIME алуу

Кодду Esp8266га жүктөгөндөн кийин, сериялык мониторду ача аласыз жана эгерде баары жакшы болсо, анда мен сериялык монитордо убакытты ала алам, ошондо сиз сериялык монитордо убакыт ала аласыз. көрсөтүү жана аны туура тармак сааты кылуу. Ошентип, тармактык саатты жасоо менен көңүл ачыңыз.

Сунушталууда: