Talaan ng mga Nilalaman:
- Hakbang 1: Pagpapakita
- Hakbang 2: Assembly
- Hakbang 3: Assembly - Talahanayan
- Hakbang 4: Adafruit GFX Library
- Hakbang 5: Adafruit ST7735 Library
- Hakbang 6: NTPClient Library
- Hakbang 7: ESP32_NTP.ino
- Hakbang 8: Mga File
Video: Huwag Sayangin ang Iyong Oras: Gumamit ng NTP !: 8 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Bilangin ang iyong oras! Ito ay isang madalas na tinalakay na paksa sa aking mga tagasuskribi, at sa anong kadahilanan? Dahil sa simple at kailangang-kailangan na katotohanan na kapag gumawa ka ng isang datalogger, at para sa lahat ng bagay na may kinalaman sa automation, kailangan mo ng tamang oras! At maraming mga paraan upang masukat ang oras: orasan gamit ang baterya, RTC (Real Time Clock), bukod sa iba pa. Ngunit ang nais kong ipakita sa iyo ngayon (na nagpapabatid ng petsa, araw ng linggo, at oras) ay ang NTP (Network Time Protocol), na online. Sa video na ito, kukunin namin ang impormasyon sa petsa at oras sa online, at ipapakita ang impormasyon sa display.
Hakbang 1: Pagpapakita
Hakbang 2: Assembly
Hakbang 3: Assembly - Talahanayan
Hakbang 4: Adafruit GFX Library
Sa Arduino IDE, pumunta sa Sketch-> Isama ang Library-> Pamahalaan ang Mga Aklatan…
I-install ang Adafruit GFX Library
Hakbang 5: Adafruit ST7735 Library
Sa Arduino IDE, pumunta sa Sketch-> Isama ang Library-> Pamahalaan ang Mga Aklatan…
I-install ang Adafruit ST7735
Hakbang 6: NTPClient Library
Pumunta sa https://github.com/taranais/NTPClient at i-download ang binago ng taranais na NTPClient library.
I-unzip at ilagay ang folder sa C: / Users / Documents / Arduino / library
Hakbang 7: ESP32_NTP.ino
May kasamang at tumutukoy
#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 araw; int buwan; int taon; int oras; int minuto; int segundo; }; // Socket UDP que a lib utiliza para sa recuperar magiging sobre o hor WiFi WiFiUDP udp; // Objeto responsável por recuperar magiging 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 = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; // Objeto responsável pelo display Adafruit_ST7735 display = Adafruit_ST7735 (DISPLAY_CS, DISPLAY_DC, DISPLAY_MOSI, DISPLAY_CLK, DISPLAY_RST);
Pag-set up
void setup () {Serial.begin (115200); setupDisplay (); kumonektaWiFi (); 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 passar nenhum parametro 2, // prioridade Null, // Não precisamos de referência para a tarefa 0); // Número do core}
Pag-setupNTP
void setupNTP () {// Inicializa o client NTP ntpClient.begin (); // Espera pelo primeiro update online Serial.println ("Naghihintay para sa unang pag-update"); habang (! ntpClient.update ()) {Serial.print ("."); ntpClient.forceUpdate (); pagkaantala (500); } Serial.println (); Serial.println ("Kumpletong Unang Pag-update"); }
WifiConnectionTask
// Tarefa que verifica se a conexão caiu e tenta reconectarvoid wifiConnectionTask (void * param) {habang (totoo) {// Se a WiFi não está conectada if (WiFi.status ()! = WL_CONNected) {// Manda conectar connectWiFi (); } // Delay de 100 ticks vTaskDelay (100); }}
ConnectWiFi
void connectWiFi () {Serial.println ("Kumokonekta"); // Troque pelo nome e senha da sua rede WiFi WiFi.begin ("SSID", "12345678"); // Espera enquanto não estiver conectado habang (WiFi.status ()! = WL_CONNected) {Serial.print ("."); pagkaantala (500); } Serial.println (); Serial.print ("Nakakonekta sa"); 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 o cursor no começo display.setTextColor (ST77XX_WHITE, ST77XX_BLACK); // Texto branco com fundo preto display.setTextWrap (false); // Não pula linha automaticamente}
Loop
void loop () {// Recupera os naging sobre a data at horário Date date = getDate (); // Reseta o cursor display.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); pagkaantala (100); }
GetDate
Petsa getDate () {// Recupera os naging de data at kasalukuyang gumagamit ng client NTP char * strDate = (char *) ntpClient.getFormattedDate (). C_str (); // Passa os magiging da string para sa isang istruktura Petsa ng petsa; 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 (); petsa ng pagbabalik; }
Hakbang 8: Mga File
I-download ang mga file
INO
Inirerekumendang:
Steam Punk Ang iyong UPS upang Kumuha ng Mga Oras ng Uptime para sa Iyong Wi-fi Router: 4 na Hakbang (na may Mga Larawan)
Steam Punk Ang iyong UPS upang Kumuha ng Mga Oras ng Uptime para sa Iyong Wi-fi Router: Mayroong isang bagay na panimulang hindi kanais-nais tungkol sa pag-convert ng iyong UPS ng 12V DC na lakas ng baterya sa 220V AC na lakas upang ang mga transformer na nagpapatakbo ng iyong router at hibla ONT ay maaaring ibalik ito sa 12V DC! Kalaban mo rin ang [karaniwang
Arduino Soil Moisture Monitoring Stick - Huwag Kalimutan na Tubig ang Iyong Mga Halaman: 4 na Hakbang (na may Mga Larawan)
Arduino Soil Moisture Monitoring Stick - Huwag Kalimutan na Tubigin ang Iyong Mga Halaman: Madalas mong kalimutan na tubig ang iyong mga panloob na halaman? O marahil ay binibigyan mo sila ng labis na pansin at higit sa tubig? Kung gagawin mo ito, dapat mong gawin ang iyong sarili na isang stick na sinusubaybayan ng kahalumigmigan sa lupa na pinagagana ng baterya. Gumagamit ang monitor na ito ng isang capacitive na kahalumigmigan sa lupa
Internet Clock: Ipakita ang Petsa at Oras Gamit ang isang OLED Gamit ang ESP8266 NodeMCU Sa NTP Protocol: 6 na Hakbang
Internet Clock: Display Date and Time With an OLED Gamit ang ESP8266 NodeMCU With NTP Protocol: Kumusta mga tao sa mga itinuturo na ito na magtatayo kami ng isang orasan sa internet na magkakaroon ng oras mula sa internet kaya't ang proyektong ito ay hindi mangangailangan ng anumang RTC upang tumakbo, kakailanganin lamang nito ang isang nagtatrabaho koneksyon sa internet At para sa proyektong ito kailangan mo ng isang esp8266 na magkakaroon ng
Huwag Itapon ang Masamang Mga Head Phones! Ayusin Ang mga Ito .: 9 Mga Hakbang
Huwag Itapon ang Masamang Mga Head Phones! Ayusin Ang mga ito .: ang aking mga headphone halos palaging masira sa parehong lugar. sa halip na chucking ang mga ito at shelling out $ 10 o $ 20 pera para sa isang bagong pares, bumili ako ng ilang maliliit na piraso at naayos ang aking lumang pares. hindi ito masyadong mahirap kung may oras ka
Huwag kailanman Ipasok ang Iyong Pin para sa Iyong Voicemail: 3 Hakbang
Huwag kailanman Ipasok ang Iyong Pin para sa Iyong Voicemail: Pagod ka na bang ipasok ang iyong voice mail pinevery oras na suriin mo ang iyong voice mail. Sa gayon ako ay nakakita ako ng isang trick para rito