Съдържание:
- Стъпка 1: Неща, от които се нуждаете
- Стъпка 2: Какво е NTP и как ще работи?
- Стъпка 3: Инсталиране на библиотека на Arduino IDE
- Стъпка 4: Кодираща част
- Стъпка 5: Получаване на ВРЕМЕ
Видео: Получаване на време от интернет с помощта на ESP8266 - Проект за NTP часовник с ESP8266 Nodemcu: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
В този урок ще видим как да спечелим време, използвайки ESP8266/nodemcu с Arduino IDE. Получаването на време е особено полезно при регистриране на данни за отбелязване на вашите показания. Ако вашият проект ESP8266 има достъп до интернет, можете да получите време, използвайки Network Time Protocol (NTP) - нямате нужда от допълнителен хардуер. Можете да свържете вашия ESP8266 към вашата wifi мрежа и той ще бъде часовник, който ще бъде синхронизиран с мрежа, така че ако веднъж качите кода, той ще получава време от интернет, така че винаги ще показва правилно време.
Стъпка 1: Неща, от които се нуждаете
За този проект ще ви трябват много малко неща: ESP8266/NODEMCUA USB кабел, за да го програмирате.
Стъпка 2: Какво е NTP и как ще работи?
Какво е NTP: NTP означава Network Time Protocol. Това е стандартен интернет протокол (IP) за синхронизиране на компютърните часовници с някаква справка по мрежата. Протоколът може да се използва за синхронизиране на всички мрежови устройства с координирано универсално време (UTC). NTP настройва часовниците на компютрите на UTC, всяко местно време изместване на зоната или сместване на лятното часово време се прилага от клиента. По този начин клиентите могат да се синхронизират със сървъри, независимо от разликите в местоположението и часовата зона. Как ще работи за нас: Клиентското устройство, като ESP8266, се свързва със сървъра, използвайки Протокола на потребителската датаграма (UDP) на порт 123. След това клиентът предава заявка за пакет към NTP сървър. В отговор на това искане NTP сървърът изпраща пакет с времеви печат. Пакет с времеви печат съдържа множество информация като UNIX времева марка, точност, забавяне или часова зона. Клиентът може след това да анализира текущите стойности на дата и час.
Стъпка 3: Инсталиране на библиотека на Arduino IDE
Във вашия Arduino IDE отидете на мениджъра на библиотеки и потърсете NTP и просто изтеглете клиентската библиотека на NTP, докато изтегля, вижте изображението за допълнителна помощ.
Стъпка 4: Кодираща част
Моля, копирайте следния код и поставете вашите мрежови идентификационни данни в кода си, след което трябва да зададете offsettime за мен, той е 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] = {" Неделя "," понеделник ", "Вторник", "сряда", "четвъртък", "петък", "събота"}; // Дефинирайте NTP клиент, за да получите timeWiFiUDP ntpUDP; 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, можете да отворите серийния монитор и ако всичко е наред, ще можете да получите времето на серийния монитор, тъй като аз мога да получа времето в моя сериен монитор. Така че с този проект можете да прикачите всеки дисплей и го направете подходящ мрежов часовник. Затова се забавлявайте, като си направите мрежовия часовник.
Препоръчано:
Получаване на имейл с известие, когато канал на ThingSpeak не се актуализира за известно време: 16 стъпки
Получаване на имейл с известие, когато канал на ThingSpeak не е бил актуализиран за известно време: История на фона Имам шест автоматизирани оранжерии, които са разпространени в Дъблин, Ирландия. С помощта на персонализирано приложение за мобилен телефон мога да наблюдавам дистанционно и да взаимодействам с автоматизираните функции във всяка оранжерия. Мога ръчно да отворя / затворя печалбата
Интернет часовник: Показване на дата и час с OLED с използване на ESP8266 NodeMCU с NTP протокол: 6 стъпки
Интернет часовник: Показване на дата и час с OLED с помощта на ESP8266 NodeMCU с NTP протокол: Здравейте момчета в тази инструкция, ние ще изградим интернет часовник, който ще получава време от интернет, така че този проект няма да се нуждае от никакъв RTC, за да работи, ще му трябва само работеща интернет връзка И за този проект се нуждаете от esp8266, който ще има
Часовник, базиран на Arduino, използващ модул за часовник в реално време (RTC) DS1307 и 0,96: 5 стъпки
Часовник, базиран на Arduino, използващ модул DS1307 Часовник в реално време (RTC) & 0.96: Здравейте момчета, в този урок ще видим как да направим работещ часовник с помощта на модул за часовник в реално време DS1307 & OLED дисплеи. Така че ще четем времето от часовника DS1307. И го отпечатайте на OLED екрана
Създаване на часовник с M5stick C с помощта на Arduino IDE - RTC часовник в реално време с M5stack M5stick-C: 4 стъпки
Създаване на часовник с M5stick C с помощта на Arduino IDE | RTC часовник в реално време с M5stack M5stick-C: Здравейте, момчета, в тази инструкция ще се научим как да правим часовник с m5stick-C платка за разработка на m5stack, използвайки Arduino IDE. Така че m5stick ще показва дата, час & седмица на месеца на дисплея
Думов часовник Ribba с Wemos D1 Mini (Интернет сървър за време): 8 стъпки (със снимки)
Думов часовник Ribba с Wemos D1 Mini (Интернет времеви сървър): Предполагам, че всеки стига до точката, в която това гъделичка в пръстите му и той иска да изгради Word Clock. Е, това е моят опит и цялостното ми заключение да го изградя възможно най -ефективно. Първо, аз притежавам 3D принтер и имам достъп