Inhoudsopgave:
- Stap 1: Demonstratie
- Stap 2: Montage
- Stap 3: Montage - Tafel
- Stap 4: Adafruit GFX-bibliotheek
- Stap 5: Adafruit ST7735-bibliotheek
- Stap 6: NTPClient-bibliotheek
- Stap 7: ESP32_NTP.ino
- Stap 8: Bestanden
Video: Verspil geen tijd: gebruik NTP!: 8 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Laat je tijd tellen! Dit is een veelbesproken onderwerp onder mijn abonnees, en om welke reden? Vanwege het simpele en onmisbare feit dat wanneer je een datalogger maakt, en voor alles wat met automatisering te maken heeft, je de juiste tijd nodig hebt! En er zijn verschillende manieren om tijd te meten: klok met batterij, RTC (Real Time Clock), onder andere. Maar degene die ik je vandaag wil laten zien (die datum, dag van de week en tijd aangeeft) is het NTP (Network Time Protocol), dat online is. In deze video halen we de datum- en tijdinformatie online op en tonen de informatie op het display.
Stap 1: Demonstratie
Stap 2: Montage
Stap 3: Montage - Tafel
Stap 4: Adafruit GFX-bibliotheek
Ga in de Arduino IDE naar Sketch->Bibliotheek opnemen->Bibliotheken beheren …
Installeer de Adafruit GFX-bibliotheek
Stap 5: Adafruit ST7735-bibliotheek
Ga in de Arduino IDE naar Sketch->Bibliotheek opnemen->Bibliotheken beheren …
Installeer Adafruit ST7735
Stap 6: NTPClient-bibliotheek
Ga naar https://github.com/taranais/NTPClient en download de taranais-gemodificeerde NTPClient-bibliotheek.
Unzip en plaats de map in C:\Users\Documents\Arduino\libraries
Stap 7: ESP32_NTP.ino
Omvat en definieer
#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 maand; int jaar; int. uren; int minuten; int seconden; }; //Socket UDP kan worden gebruikt om te herstellen van de laatste tijd WiFiUDP udp; //Objeto responsável por recuperar dados sobre horário NTPClient ntpClient(udp, //socket udp "0.br.pool.ntp.org", //URL do 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 = {"zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"}; //Objeto responsavel pelo display Adafruit_ST7735 display = Adafruit_ST7735 (DISPLAY_CS, DISPLAY_DC, DISPLAY_MOSI, DISPLAY_CLK, DISPLAY_RST);
Opstelling
void setup(){ Serial.begin(115200); setupDisplay(); verbindWiFi(); 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, //No neen hum va mos, //prioridade NULL, //No precisamos de referência para a tarefa 0); //Numero do core}
NTP instellen
void setupNTP(){ //Inicializa o client NTP ntpClient.begin(); // Espera pelo primeiro update online Serial.println ("Wachten op eerste update"); while(!ntpClient.update()) { Serial.print("."); ntpClient.forceUpdate(); vertraging (500); } Serieel.println(); Serial.println("Eerste update voltooid"); }
WifiVerbindingTaak
// Verificatie van een verbinding met wifiConnectionTask (void * param) { while (true) { // Zoek een wifi-verbinding als (WiFi.status ()! = WL_CONNECTED) { // Manda sluit wifi (); } //Delay de 100 ticks vTaskDelay(100); } }
VerbindWiFi
void connectWiFi(){ Serial.println("Verbinden"); //Troque pelo nome en senha da sua rede WiFi WiFi.begin ("SSID", "12345678"); //Espera enquanto não estiver conectado while(WiFi.status()!= WL_CONNECTED) {Serial.print("."); vertraging (500); } Serieel.println(); Serial.print("Verbonden met "); Seriële.println(WiFi. SSID()); }
InstellingenDisplay
void setupDisplay(){ display.initR(INITR_BLACKTAB); // Beginnen om display.setRotation (3) weer te geven; // Rotaciona display.setTextSize (2); //Tamanho do texto display.fillScreen (ST77XX_BLACK); //Preenche com a cor preta display.setCursor (0, 0); // Coloca of cursor geen começo display.setTextColor (ST77XX_WHITE, ST77XX_BLACK); //Texto branco com fundo preto display.setTextWrap (false); //No pula linha automaticamente}
Lus
void loop () { // Recupera os dados sobre a data e horário Date date = getDate (); // Reset de cursorweergave.setCursor (0, 0); //Exibe os dados no 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); vertraging (100); }
Krijg datum
Datum getDate(){ //Recuperatie van data en gebruik van de client NTP char* strDate = (char*)ntpClient.getFormattedDate().c_str(); // Passa os dados da string para a struct Datum datum; sscanf(strDate, "%d-%d-%dT%d:%d:%dZ", &datum.jaar, &datum.maand, &datum.dag, &datum.uren, &datum.minuten, &datum.seconden); //Dia da semana de 0 a 6, sendo 0 of domingo date.dayOfWeek = ntpClient.getDay(); retourdatum; }
Stap 8: Bestanden
Download de bestanden
INO
Aanbevolen:
Maak een EENVOUDIGE Infinity Mirror Cube - GEEN 3D-printen en GEEN programmering: 15 stappen (met afbeeldingen)
Maak een EENVOUDIGE Infinity Mirror Cube | GEEN 3D-printen en GEEN programmering: iedereen houdt van een goede infinity-kubus, maar ze zien eruit alsof ze moeilijk te maken zijn. Mijn doel voor deze Instructable is om je stap voor stap te laten zien hoe je er een kunt maken. Niet alleen dat, maar met de instructies die ik je geef, kun je er een maken o
Internetklok: datum en tijd weergeven met een OLED met ESP8266 NodeMCU met NTP-protocol - Ajarnpa
Internetklok: datum en tijd weergeven met een OLED met behulp van ESP8266 NodeMCU met NTP-protocol: Hallo allemaal, in deze instructables zullen we een internetklok bouwen die tijd van internet haalt, zodat dit project geen RTC nodig heeft om te draaien, het heeft alleen een werkende internetverbinding En voor dit project heb je een esp8266 nodig die een
Tijd krijgen van internet met ESP8266 - NTP-klokproject met ESP8266 Nodemcu - Ajarnpa
Tijd krijgen van internet met ESP8266 | NTP Clock Project met ESP8266 Nodemcu: In deze tutorial zullen we zien hoe we tijd kunnen krijgen met de ESP8266/nodemcu met Arduino IDE. Tijd krijgen is vooral handig bij het loggen van gegevens om uw metingen van een tijdstempel te voorzien. Als uw ESP8266-project toegang heeft tot internet, kunt u tijd krijgen met Network T
ESP8266 netwerkklok zonder enige RTC - Nodemcu NTP-klok Geen RTC - INTERNET KLOKPROJECT: 4 stappen
ESP8266 netwerkklok zonder enige RTC | Nodemcu NTP-klok Geen RTC | INTERNET KLOKPROJECT: In het project zal een klokproject worden gemaakt zonder RTC, het kost tijd van internet met wifi en het zal het weergeven op het st7735-display
Nul-kosten laptopkoeler / standaard (geen lijm, niet boren, geen moeren en bouten, geen schroeven) - Ajarnpa
Nul-kosten laptopkoeler / standaard (geen lijm, niet boren, geen moeren en bouten, geen schroeven): UPDATE: GELIEVE TE STEMMEN VOOR MIJN INSTRUCTIEBAAR, BEDANKT ^_^ JE KAN OOK ANDER STEMMEN OP FOREST INSCHRIJVEN OP www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ OF MISSCHIEN STEMMEN OP MIJN BESTE VRIENDEN