Përmbajtje:
- Hapi 1: Demonstrim
- Hapi 2: Montimi
- Hapi 3: Kuvendi - Tabela
- Hapi 4: Biblioteka Adafruit GFX
- Hapi 5: Biblioteka Adafruit ST7735
- Hapi 6: Biblioteka NTPClient
- Hapi 7: ESP32_NTP.ino
- Hapi 8: Skedarët
Video: Mos e humbni kohën tuaj: Përdorni NTP!: 8 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:21
Bëni kohën tuaj të llogarisë! Kjo është një temë e diskutuar shpesh midis pajtimtarëve të mi, dhe për çfarë arsye? Për shkak të faktit të thjeshtë dhe të domosdoshëm që kur bëni një regjistrues të të dhënave, dhe për gjithçka që përfshin automatizimin, keni nevojë për kohën e duhur! Dhe ka disa mënyra për të matur kohën: ora me bateri, RTC (Ora në kohë reale), ndër të tjera. Por ai që dua t'ju tregoj sot (i cili informon datën, ditën e javës dhe orën) është NTP (Protokolli i Kohes së Rrjetit), i cili është online. Në këtë video, ne do të marrim informacionin e datës dhe orës në internet dhe do të tregojmë informacionin në ekran.
Hapi 1: Demonstrim
Hapi 2: Montimi
Hapi 3: Kuvendi - Tabela
Hapi 4: Biblioteka Adafruit GFX
Në Arduino IDE, shkoni te Sketch-> Include Library-> Manage Bibliotekat …
Instaloni Bibliotekën Adafruit GFX
Hapi 5: Biblioteka Adafruit ST7735
Në Arduino IDE, shkoni te Sketch-> Include Library-> Manage Bibliotekat …
Instaloni Adafruit ST7735
Hapi 6: Biblioteka NTPClient
Shkoni te https://github.com/taranais/NTPClient dhe shkarkoni bibliotekën NTPClient të modifikuar nga taranais.
Zbërtheni dhe vendoseni dosjen në bibliotekat C: / Users / Documents / Arduino
Hapi 7: ESP32_NTP.ino
Përfshin dhe përcaktojnë
#include #include // Biblioteca NTPClient modificada #include // Socket UDP #include // Display #include // Display #include // Pinos do display #define DISPLAY_DC 12 // A0 #define DISPLAY_CS 13 // CS #define DISPLAY_MOSI 14 // SDA #define DISPLAY_CLK 27 // SCK #define DISPLAY_RST 0 // Fuso Horário, nuk ka hororio de verão de Brasilia int timeZone = -2; // Struct com os dados do dia e hora struct Data {int dayOfWeek; int ditë; muaji int; viti int; orë int; int minuta; sekonda int; }; // Foleja e UDP -së që përdor një libër për rikuperimin e një sistemi të ri WiFiUDP udp; // Përgjigja e objektivit për rikuperimin e dosjeve në NTPClient ntpClient (udp, // socket udp "0.br.pool.ntp.org", // URL për shërbimin e NTP timeZone*3600, // Deslocamento do horário em relacão ao GMT 0 60000); // Intervalo entre verificações online // Nomes dos dias da semana char* dayOfWeekNames = {"E Diel", "E Hënë", "E Martë", "E Mërkurë", "E Enjte", "E Premte", "E Shtunë"}; // Objeto responsável pelo display Adafruit_ST7735 display = Adafruit_ST7735 (DISPLAY_CS, DISPLAY_DC, DISPLAY_MOSI, DISPLAY_CLK, DISPLAY_RST);
Konfigurimi
void setup () {Serial.begin (115200); setupDisplay (); connectWiFi (); setupNTP (); // Cria uma nova tarefa no core 0 xTaskCreatePinnedToCore (wifiConnectionTask, // Funksioni që do të kryejë "wifiConnectionTask", // Nome da tarefa 10000, // Tamanho da memória disponível (em WORDs) NULam parametër, N22, // 2, // prioridade NULL, // Não precisamos de referência para a tarefa 0); // Número do core}
SetupNTP
void setupNTP () {// Inicializa ose klienti NTP ntpClient.begin (); // Espera pelo Primeiro përditësim online Serial.println ("Duke pritur përditësimin e parë"); ndërsa (! ntpClient.update ()) {Serial.print ("."); ntpClient.forceUpdate (); vonesë (500); } Serial.println (); Serial.println ("Përditësimi i parë i plotë"); }
WifiConnectionTask
// Tarefa que verifica se a conexão caiu e tenta reconectarvoid wifiConnectionTask (pavlefshme* param) {ndërsa (e vërtetë) {// Shiko një WiFi që nuk ka lidhje nëse (WiFi.status ()! = WL_CONNECTED) {// Manda conectar connectWiFi (); } // Vonesa e 100 rriqrave vTaskDelay (100); }}
ConnectWiFi
void connectWiFi () {Serial.println ("Lidhja"); // Troque pelo nome e senha da sua rede WiFi WiFi.begin ("SSID", "12345678"); // Espera enquanto não estiver conectado while (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); vonesë (500); } Serial.println (); Serial.print ("I lidhur me"); Serial.println (WiFi. SSID ()); }
SetupDisplay
void setupDisplay () {display.initR (INITR_BLACKTAB); // Inicializa o display display.setRotation (3); // Rotaciona display.setTextSize (2); // Tamanho do texto display.fillScreen (ST77XX_BLACK); // Preenche com a cor preta display.setCursor (0, 0); // Coloca ose kursori pa ekran.setTextColor (ST77XX_WHITE, ST77XX_BLACK); // Texto branco com fundo preto display.setTextWrap (false); // Não pula linha automaticamente}
Lak
void loop () {// Recupera os dados sobre a data e horário Data data = getDate (); // Reseta ose shfaqja e kursorit.setCursor (0, 0); // Exibe os dados pa ekran.printf (" %s / n / n %s / n / n %02d/ %02d/ %d / n / n %02d: %02d: %02d", WiFi. SSID ().c_str (), dayOfWeekNames [date.dayOfWeek], date.day, date.month, date.year, date.hours, date.minutes, date.seconds); vonesa (100); }
GetDate
Data getDate () {// Recupera os dados de data dhe hororio usando ose klientit NTP char* strDate = (char*) ntpClient.getFormattedDate (). C_str (); // Passa os dados da string para a struct Data e datës; sscanf (strDate, "%d-%d-%dT%d:%d:%dZ", & date.year, & date.month, & date.day, & date.hours, & date.minutes, & date.seconds); // Dia da semana nga 0 në 6, dërgo 0 në datën.dayOfWeek = ntpClient.getDay (); data e kthimit; }
Hapi 8: Skedarët
Shkarkoni skedarët
INO
Recommended:
Ora e Internetit: Shfaqni datën dhe kohën me një OLED duke përdorur ESP8266 NodeMCU me NTP Protokoll: 6 hapa
Ora e Internetit: Shfaqni datën dhe orën me një OLED duke përdorur ESP8266 NodeMCU Me NTP Protocol: Përshëndetje djema në këtë udhëzues ne do të ndërtojmë një orë interneti e cila do të marrë kohë nga interneti kështu që këtij projekti nuk do t'i duhet ndonjë RTC për tu ekzekutuar, do të ketë nevojë vetëm për një lidhje interneti që funksionon Dhe për këtë projekt ju nevojitet një esp8266 i cili do të ketë një
Mos blini një modul GSM, përdorni telefonin tuaj të vjetër !: 6 hapa
Mos blini një modul GSM, përdorni telefonin tuaj të vjetër !: Kështu kohët e fundit kam bërë shumë projekte pa tel, kryesisht të bazuara në një modul Bluetooth, por që atëherë kam dashur të vazhdoj dhe të filloj të bëj projektet e mia SMS ose Telefonata e kontrolluar e cila është pothuajse po aq e lehtë me ndihmën e një moduli GSM
Keyminder! pajisja që ju bën të mos i humbni çelësat!: 3 hapa (me fotografi)
Keyminder! pajisja që ju bën të mos i humbni çelësat !: Kjo pajisje ju ndihmon të mos i humbni çelësat! Nëse jeni si unë, atëherë kur ktheheni në shtëpi nga puna, menjëherë i humbni çelësat pasi keni zhbllokuar derën tuaj dhe prisni ditën tjetër menjëherë para se të largoheni për t'i kërkuar. Po ju mund të keni
Si ta mbani qenin tuaj të mos përtypë telekomandën tuaj: 4 hapa
Si ta mbani qenin tuaj nga përtypja e telekomandës: jeni të lodhur nga kafshët shtëpiake që vjedhin burimin tuaj të vetëm të R & R për ta gjetur atë të thërrmuar në copa në oborrin e shtëpisë tuaj ose nën batanije në shtratin tuaj? jeni të lodhur nga humbja e atij telekomandimi në divan? i lodhur nga debati me bashkëshortin tuaj se kush e la atë
Fikni, Rinisni ose Humbni në Dimër kompjuterin tuaj në një Program: 6 hapa
Mbyllja, Rinisja ose Humbni në Dimër Kompjuterin tuaj në një Orar: Në këtë udhëzues, unë do t'ju tregoj se si të fikni, rindizni ose flini kompjuterin tuaj në një orar. Shihni njoftimin në fund të nëse përdorni një sistem operativ më të vjetër sesa Windows XP