Sisukord:
- 1. samm: demonstratsioon
- 2. samm: kokkupanek
- 3. samm: kokkupanek - tabel
- Samm: Adafruit GFX raamatukogu
- Samm: raamatukogu Adafruit ST7735
- 6. samm: NTPClient Library
- Samm 7: ESP32_NTP.ino
- 8. samm: failid
Video: Ärge raisake aega: kasutage NTP -d !: 8 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Võtke oma aeg arvesse! See on minu tellijate seas sageli arutatud teema ja mis põhjusel? Tänu lihtsale ja hädavajalikule tõsiasjale, et kui teete andmekogujat ja kõike, mis hõlmab automatiseerimist, vajate õiget aega! Ja aja mõõtmiseks on mitmeid viise: muuhulgas akuga kell, RTC (reaalajas kell). Kuid see, mida ma tahan teile täna näidata (mis teavitab kuupäeva, nädalapäeva ja kellaaega), on võrgus olev NTP (Network Time Protocol). Selles videos toome veebist välja kuupäeva ja kellaaja teabe ning kuvame selle teabe ekraanil.
1. samm: demonstratsioon
2. samm: kokkupanek
3. samm: kokkupanek - tabel
Samm: Adafruit GFX raamatukogu
Avage Arduino IDE-s visand-> Kaasa raamatukogu-> Halda raamatukogusid…
Installige Adafruit GFX raamatukogu
Samm: raamatukogu Adafruit ST7735
Avage Arduino IDE-s visand-> Kaasa raamatukogu-> Halda raamatukogusid…
Installige Adafruit ST7735
6. samm: NTPClient Library
Minge aadressile https://github.com/taranais/NTPClient ja laadige alla taranais-modifitseeritud NTPClient raamatukogu.
Pakkige lahti ja pange kaust C: / Users / Documents / Arduino / teekidesse
Samm 7: ESP32_NTP.ino
Sisaldab ja määratleb
#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, no caso horário de verão de Brasília int timeZone = -2; // Struktuurikomponendid do dia e hora structure Kuupäev {int dayOfWeek; int päev; int kuu; int aasta; int tundi; int minutit; int sekundit; }; // Socket UDP que a lib utiliza para recuperar dados sobre o horário WiFiUDP udp; // Objekti vastus rekuperaatori jaoks, mis sobib horrorio NTPClient ntpClient (udp, // socket udp "0.br.pool.ntp.org", // URL to servwer 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 = {"pühapäev", "esmaspäev", "teisipäev", "kolmapäev", "neljapäev", "reede", "laupäev"}; // Objekti vastus tasapinnalisele ekraanile Adafruit_ST7735 kuva = Adafruit_ST7735 (DISPLAY_CS, DISPLAY_DC, DISPLAY_MOSI, DISPLAY_CLK, DISPLAY_RST);
Seadistamine
void setup () {Serial.begin (115200); setupDisplay (); connectWiFi (); setupNTP (); // Cria uma nova tarefa no core 0 xTaskCreatePinnedToCore (wifiConnectionTask, // Função que será executab "wifiConnectionTask", // Nome da tarefa 10000, // Tamanho da memória disponível (em WORDs) NULL, // Não vamos pass, // prioridade NULL, // Não precisamos de referência para a tarefa 0); // Número do core}
SetupNTP
void setupNTP () {// Inicializa või kliendi NTP ntpClient.begin (); // Espera pelo primeiro update online Serial.println ("Ootan esimest värskendust"); while (! ntpClient.update ()) {Serial.print ("."); ntpClient.forceUpdate (); viivitus (500); } Serial.println (); Serial.println ("Esimene värskendus on lõpule viidud"); }
WifiConnectionTask
// Tarefa que verifica se a conexão caiu e tenta reconectarvoid wifiConnectionTask (void* param) {while (true) {// Se a WiFi não está conactada if (WiFi.status ()! = WL_CONNECTED) {// Manda conectar connectWiFi (); } // viivitus 100 puugiga vTaskDelay (100); }}
Ühendage WiFi
void connectWiFi () {Serial.println ("Ühendamine"); // 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 ("."); viivitus (500); } Serial.println (); Serial.print ("Ühendatud"); Serial.println (WiFi. SSID ()); }
SetupDisplay
void setupDisplay () {display.initR (INITR_BLACKTAB); // Inicializa või kuva display.setRotation (3); // Rotaciona display.setTextSize (2); // Tamanho do texto display.fillScreen (ST77XX_BLACK); // Preenche on korrektne ekraan.setCursor (0, 0); // Coloca või kursor ei tule ekraanile.setTextColor (ST77XX_WHITE, ST77XX_BLACK); // Texto branco com fundo preto display.setTextWrap (false); // Não pula linha automaticamente}
Loop
void loop () {// Recupera os dados sobre a data e horário Date date = getDate (); // Reset või kursori kuva.setCursor (0, 0); // Exibe os dados ei kuva kuvarit.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); viivitus (100); }
GetDate
Kuupäev getDate () {// Andmete taastamine ja horisontaalne kasutamine või kliendi NTP char* strDate = (char*) ntpClient.getFormattedDate (). C_str (); // Passa os dados da string para a structure Kuupäeva kuupäev; sscanf (strDate, "%d-%d-%dT%d:%d:%dZ", & date.year, & date.month, & date.day, & date.hours, & date.minutes, & date.seconds); // Dia da semana de 0 a 6, sendo 0 o domingo date.dayOfWeek = ntpClient.getDay (); tagastamise kuupäev; }
8. samm: failid
Laadige failid alla
INO
Soovitan:
RGB -kell lastele aega õpetama: 4 sammu
RGB -kell lastele aega õpetama: eile õhtul tuli mul idee, kuidas aidata oma 5 -aastasel ajataju saada. On selge, et lapsed orienteeruvad igapäevastele sündmustele, et saada aimu järgmisest. Aga eelmised sündmused on tavaliselt natuke jama ja vaevalt kunagi korras. Kuna ütlen
DIY Kuidas kuvada aega M5StickC ESP32 -l Visuino abil - lihtne teha: 9 sammu
DIY Kuidas kuvada aega M5StickC ESP32 -l Visuino abil - lihtne teha: Selles õpetuses õpime, kuidas programmeerida ESP32 M5Stack StickC koos Arduino IDE ja Visuinoga, et kuvada kellaaeg LCD -ekraanil
Saate teavitusmeili, kui ThingSpeaki kanalit mõnda aega ei värskendatud: 16 sammu
Saate märguandemeili, kui mõnda ThingSpeaki kanalit ei värskendatud mõnda aega: taustalugu Mul on kuus automatiseeritud kasvuhoonet, mis asuvad Iirimaal Dublinis. Kasutades eritellimusel valmistatud mobiiltelefonirakendust, saan iga kasvuhoone automatiseeritud funktsioone eemalt jälgida ja nendega suhelda. Võin võidu käsitsi avada / sulgeda
Aega oma töötajale SLabs-32 abil: 6 sammu
Aega oma töötajale SLabs-32 abil: selles juhendis teeme nfc-põhise nutika töötaja sisse- ja väljajuhtimissüsteemi, mis jälgib teie töötajate tööaega. Praeguse aja teabe saame NTP (võrguaja protokoll) abil ) koos WiFi-mooduliga (Esp826
Ärge ostke GSM -moodulit, kasutage oma vana telefoni!: 6 sammu
Ärge ostke GSM -moodulit, kasutage oma vana telefoni !: Nii et hiljuti olen teinud palju traadita projekte, peamiselt Bluetooth -mooduli ümber, kuid sellest ajast alates olen tahtnud edasi liikuda ja hakata oma projekte saatma SMS -ide või Telefonikõnede juhtimine, mis on peaaegu sama lihtne GSM -mooduli abil