Indholdsfortegnelse:
- Trin 1: Demonstration
- Trin 2: Montering
- Trin 3: Montering - tabel
- Trin 4: Adafruit GFX -bibliotek
- Trin 5: Adafruit ST7735 bibliotek
- Trin 6: NTPClient -bibliotek
- Trin 7: ESP32_NTP.ino
- Trin 8: Filer
Video: Spild ikke din tid: Brug NTP !: 8 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Få din tid til at tælle! Dette er et ofte diskuteret emne blandt mine abonnenter, og af hvilken grund? På grund af den enkle og uundværlige kendsgerning, at når du laver en datalogger og for alt, der involverer automatisering, har du brug for det korrekte tidspunkt! Og der er flere måder at måle tid på: ur med batteri, RTC (Real Time Clock), blandt andre. Men den, jeg vil vise dig i dag (som oplyser dato, ugedag og tid) er NTP (Network Time Protocol), som er online. I denne video henter vi oplysninger om dato og klokkeslæt online og viser oplysningerne på displayet.
Trin 1: Demonstration
Trin 2: Montering
Trin 3: Montering - tabel
Trin 4: Adafruit GFX -bibliotek
I Arduino IDE skal du gå til Skitse-> Inkluder bibliotek-> Administrer biblioteker …
Installer Adafruit GFX -bibliotek
Trin 5: Adafruit ST7735 bibliotek
I Arduino IDE skal du gå til Skitse-> Inkluder bibliotek-> Administrer biblioteker …
Installer Adafruit ST7735
Trin 6: NTPClient -bibliotek
Gå til https://github.com/taranais/NTPClient, og download det taranais-modificerede NTPClient-bibliotek.
Pak den ud, og læg den i C: / Users / Documents / Arduino / biblioteker
Trin 7: ESP32_NTP.ino
Inkluderer og definerer
#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; // Struct com os dados do dia e hora struct Date {int dayOfWeek; int dag; int måned; int år; int timer; int minutter; int sekunder; }; // Socket UDP kan bruges til at genoprette en ny version af WiFiUDP udp; // Ansvarlig for genoprettelse af en ny NTPClient ntpClient (udp, // socket udp "0.br.pool.ntp.org", // URL til server 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 = {"søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag"}; // Objeto responsável pelo display Adafruit_ST7735 display = Adafruit_ST7735 (DISPLAY_CS, DISPLAY_DC, DISPLAY_MOSI, DISPLAY_CLK, DISPLAY_RST);
Opsætning
ugyldig opsætning () {Serial.begin (115200); setupDisplay (); connectWiFi (); setupNTP (); // Cria uma nova tarefa no core 0 xTaskCreatePinnedToCore (wifiConnectionTask, // Função que será executada "wifiConnectionTask", // Nome da tarefa 10000, // Tamanho da memória disponível (em WORDs) NULL, // Não vamos passer nenhum param, // prioridade NULL, // Não precisamos de referência para a tarefa 0); // Número do core}
OpsætningNTP
void setupNTP () {// Initiativ til klient NTP ntpClient.begin (); // Espera pelo primeiro opdatering online Serial.println ("Venter på første opdatering"); mens (! ntpClient.update ()) {Serial.print ("."); ntpClient.forceUpdate (); forsinkelse (500); } Serial.println (); Serial.println ("Første opdatering fuldført"); }
WifiConnectionTask
// Tarefa que verifica se a conexão caiu e tenta reconectarvoid wifiConnectionTask (void* param) {while (true) {// Se en WiFi não está conectada if (WiFi.status ()! = WL_CONNECTED) {// Manda conectar connectWiFi (); } // Delay de 100 ticks vTaskDelay (100); }}
ConnectWiFi
void connectWiFi () {Serial.println ("Connecting"); // 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 ("."); forsinkelse (500); } Serial.println (); Serial.print ("Tilsluttet"); Serial.println (WiFi. SSID ()); }
SetupDisplay
void setupDisplay () {display.initR (INITR_BLACKTAB); // Inicializa o display display.setRotation (3); // Rotaciona display.setTextSize (2); // Tamanho gør teksto display.fillScreen (ST77XX_BLACK); // Preenche com a cor preta display.setCursor (0, 0); // Coloca o cursor no começo display.setTextColor (ST77XX_WHITE, ST77XX_BLACK); // Texto branco com fundo preto display.setTextWrap (false); // Não pula linha automaticamente}
Sløjfe
void loop () {// Recupera os dados sobre a data e horário Date date = getDate (); // Nulstil o markør display.setCursor (0, 0); // Vis os ikke noget display display.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); forsinkelse (100); }
GetDate
Dato getDate () {// Recupera os dados de data e horário usando o client NTP char* strDate = (char*) ntpClient.getFormattedDate (). C_str (); // Passas os dados da string para a struct Dato dato; 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 (); Retur dato; }
Trin 8: Filer
Download filerne
INO
Anbefalede:
Modtag en notifikations -e -mail, når en kanal på ThingSpeak ikke blev opdateret et stykke tid: 16 trin
Modtag en meddelelses -e -mail, når en kanal på ThingSpeak ikke blev opdateret et stykke tid: Baggrundshistorie Jeg har seks automatiserede drivhuse, der er spredt ud over Dublin, Irland. Ved at bruge en specialfremstillet mobiltelefon -app kan jeg eksternt overvåge og interagere med de automatiserede funktioner i hvert drivhus. Jeg kan manuelt åbne / lukke gevinsten
Hat ikke hat - en hat til folk, der ikke virkelig har hatte på, men gerne vil have en hatoplevelse: 8 trin
Hat ikke hat - en hat til folk, der ikke virkelig bærer hatte, men gerne vil have en hatoplevelse: Jeg har altid ønsket, at jeg kunne være en hatperson, men har aldrig nogensinde fundet en hat, der fungerer for mig. Denne " Hat Not Hat, " eller fascinator, som det kaldes, er en øvre crusty løsning på mit hatproblem, hvor jeg måske deltager i Kentucky Derby, vakuum
Få tid fra internettet ved hjælp af ESP8266 - NTP -urprojekt med ESP8266 Nodemcu: 5 trin
Få tid fra internettet ved hjælp af ESP8266 | NTP -urprojekt med ESP8266 Nodemcu: I denne vejledning ser vi, hvordan du får tid til at bruge ESP8266/nodemcu med Arduino IDE. At få tid er især nyttigt i datalogning til at stemple dine aflæsninger. Hvis dit ESP8266 -projekt har adgang til internettet, kan du få tid ved hjælp af netværk T
Køb ikke et GSM -modul, brug din gamle telefon !: 6 trin
Køb ikke et GSM -modul, brug din gamle telefon !: Så for nylig har jeg lavet mange trådløse projekter, mest baseret på et Bluetooth -modul, men siden da har jeg ønsket at gå videre og begynde at lave mine projekter SMS eller Telefonopkaldsstyret, hvilket er næsten lige så let ved hjælp af et GSM -modul
Bærbart spild af energi: 8 trin (med billeder)
Bærbart spild af energi: Sy forskellige bløde elektroniske komponenter sammen for at gøre dit yndlingsbeklædningsgenstand til et slidstærkt spild af energi! Disse trin-for-trin-instruktioner viser dig, hvordan du kombinerer stofknapper, stoftrykssensorer og ledende stofspor som