Spisu treści:
- Krok 1: Rzeczy, których potrzebujesz
- Krok 2: Co to jest NTP i jak będzie działać?
- Krok 3: Instalowanie biblioteki na Arduino IDE
- Krok 4: Część kodowania
- Krok 5: Uzyskiwanie CZASU
Wideo: Pobieranie czasu z Internetu za pomocą ESP8266 - Projekt zegara NTP z ESP8266 Nodemcu: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
W tym samouczku zobaczymy, jak uzyskać czas za pomocą ESP8266/nodemcu z Arduino IDE. Uzyskanie czasu jest szczególnie przydatne w rejestrowaniu danych w celu oznaczenia czasu odczytów. Jeśli Twój projekt ESP8266 ma dostęp do Internetu, możesz uzyskać czas za pomocą Network Time Protocol (NTP) – nie potrzebujesz żadnego dodatkowego sprzętu. Możesz podłączyć swój ESP8266 do sieci Wi-Fi i będzie to zegar, który zostanie zsynchronizowany z siecią, więc jeśli raz prześlesz kod, otrzyma on czas z Internetu, więc zawsze będzie wyświetlał poprawny czas.
Krok 1: Rzeczy, których potrzebujesz
Do tego projektu będziesz potrzebować bardzo mało rzeczy: kabel USB ESP8266/NODEMCUA do zaprogramowania.
Krok 2: Co to jest NTP i jak będzie działać?
Co to jest NTP: NTP to skrót od Network Time Protocol. Jest to standardowy protokół internetowy (IP) do synchronizacji zegarów komputerów z pewnymi odniesieniami w sieci. Protokół może być używany do synchronizacji wszystkich urządzeń sieciowych z uniwersalnym czasem koordynowanym (UTC). NTP ustawia zegary komputerów na UTC, dowolny czas lokalny przesunięcie strefy lub przesunięcie czasu letniego jest stosowane przez klienta. W ten sposób klienci mogą synchronizować się z serwerami bez względu na lokalizację i różnice w strefach czasowych. Jak to będzie działać dla nas:Urządzenie klienckie, takie jak ESP8266, łączy się z serwerem za pomocą protokołu User Datagram Protocol (UDP) na porcie 123. Następnie klient przesyła pakiet żądania do serwera NTP. W odpowiedzi na to żądanie serwer NTP wysyła pakiet znacznika czasu. Pakiet znacznika czasu zawiera wiele informacji, takich jak znacznik czasu UNIX, dokładność, opóźnienie lub strefa czasowa. Klient może następnie przeanalizować bieżące wartości daty i czasu.
Krok 3: Instalowanie biblioteki na Arduino IDE
W swoim Arduino IDE przejdź do menedżera bibliotek i wyszukaj NTP i po prostu pobierz bibliotekę klienta NTP po pobraniu, zapoznaj się z obrazem, aby uzyskać dalszą pomoc.
Krok 4: Część kodowania
Skopiuj poniższy kod i umieść swoje dane uwierzytelniające sieciowe w kodzie, a następnie musisz ustawić przesunięcie czasu dla mnie jest to 19800 Ponieważ moja strefa czasowa to utc+5:30, więc UTC +5:30=5.5*60*60=19800UTC+1= 1*60*60=3600 OBLICZ strefę czasową i edytuj ją, a następnie prześlij kod.#include "NTPClient.h"#include "ESP8266WiFi.h"#include "WiFiUdp.h"const char *ssid = "***** ******";const char *password = "***********";const long utcOffsetInSeconds = 19800;char daysOfTheWeek[7][12] = {"Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Saturday"};// Zdefiniuj klienta NTP, aby uzyskać timeWiFiUDP ntpUDP;NTPClient timeClient(ntpUDP, "pool.ntp.org", utcOffsetInSeconds);unieważnij konfigurację (){Serial.początek(115200); WiFi.begin(SSid, hasło); while (WiFi.status() != WL_CONNECTED) { opóźnienie (500); Serial.print ("."); } timeClient.begin();}void loop() { timeClient.update(); Serial.print(daysOfTheWeek[timeClient.getDay()]); Serial.print(", "); Serial.print(klient czasu.getGodziny()); Serial.print(":"); Serial.print(timeClient.getMinutes()); Serial.print(":"); Serial.println(klient czasu.getSeconds()); //Serial.println(timeClient.getFormattedTime()); opóźnienie(1000);}
Krok 5: Uzyskiwanie CZASU
Po przesłaniu kodu do Esp8266 możesz otworzyć monitor szeregowy i jeśli wszystko jest w porządku, będziesz mógł uzyskać czas na monitorze szeregowym, ponieważ jestem w stanie uzyskać czas na moim monitorze szeregowym. Więc z tym projektem możesz dołączyć dowolny wyświetlacz i ustawić go jako właściwy zegar sieciowy. Więc baw się dobrze, tworząc zegar sieciowy.
Zalecana:
Jak korzystać z modułu zegara czasu rzeczywistego (DS3231): 5 kroków
Jak korzystać z modułu zegara czasu rzeczywistego (DS3231): DS3231 to tani, niezwykle dokładny zegar czasu rzeczywistego (RTC) I2C ze zintegrowanym oscylatorem kwarcowym z kompensacją temperatury (TCXO) i kryształem. Urządzenie zawiera wejście baterii i utrzymuje dokładny pomiar czasu, gdy główne zasilanie
Zegar oparty na Arduino wykorzystujący moduł zegara czasu rzeczywistego DS1307 (RTC) i 0,96: 5 kroków
Zegar oparty na Arduino wykorzystujący moduł zegara czasu rzeczywistego DS1307 (RTC) i 0,96: Cześć, w tym samouczku zobaczymy, jak zrobić działający zegar za pomocą modułu zegara czasu rzeczywistego DS1307 i amp; Wyświetlacze OLED. Czyli odczytamy czas z modułu zegara DS1307. I wydrukuj to na ekranie OLED
Tworzenie zegara za pomocą M5stick C przy użyciu Arduino IDE - Zegar czasu rzeczywistego RTC z M5stack M5stick-C: 4 kroki
Tworzenie zegara za pomocą M5stick C przy użyciu Arduino IDE | Zegar czasu rzeczywistego RTC z M5stack M5stick-C: Cześć chłopaki, w tej instrukcji dowiemy się, jak zrobić zegar za pomocą płytki rozwojowej m5stick-C m5stack przy użyciu Arduino IDE. Tak więc m5stick wyświetli datę, godzinę i amp; tydzień miesiąca na wyświetlaczu
Zegar cyfrowy za pomocą wewnętrznego zegara czasu rzeczywistego STM32L476: 5 kroków
Zegar cyfrowy wykorzystujący wewnętrzny zegar RTC STM32L476: Ten samouczek prowadzi do tworzenia zegara cyfrowego w domu i może działać tak długo, jak jest zasilany ze źródła zasilania. Wykorzystuje wewnętrzne rejestry mikrokontrolera i nie wymaga zewnętrznego zegara RTC
Tworzenie zegara z zegara: 11 kroków (ze zdjęciami)
Tworzenie zegara z zegara: W tym Instruktażu biorę istniejący zegar i tworzę to, co uważam za lepszy zegar. Przejdziemy od obrazka po lewej do obrazka po prawej. Przed rozpoczęciem pracy na własnym zegarze pamiętaj, że ponowne złożenie może być trudne, ponieważ piv