Mundarija:
- 1 -qadam: Namoyish
- 2 -qadam: yig'ish
- 3 -qadam: O'rnatish - Jadval
- 4 -qadam: Adafruit GFX kutubxonasi
- 5 -qadam: Adafruit ST7735 kutubxonasi
- 6 -qadam: NTPClient kutubxonasi
- 7 -qadam: ESP32_NTP.ino
- 8 -qadam: fayllar
Video: Vaqtni behuda sarflamang: NTPdan foydalaning !: 8 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Vaqtingizni hisoblang! Bu mening obunachilarim orasida tez -tez muhokama qilinadigan mavzu va nima uchun? Oddiy va ajralmas haqiqat tufayli, agar siz ma'lumot yozuvchini yaratganingizda va avtomatlashtirishni o'z ichiga oladigan hamma narsaga to'g'ri vaqt kerak! Vaqtni o'lchashning bir necha yo'li bor: batareyali soat, RTC (Real Time Clock) va boshqalar. Lekin men bugun sizga ko'rsatmoqchi bo'lganim (sana, haftaning kuni va vaqti haqida ma'lumot beradi) - bu Internetda joylashgan NTP (Tarmoq vaqti protokoli). Ushbu videoda biz sana va vaqt ma'lumotlarini Internetda olamiz va ma'lumotlarni displeyda ko'rsatamiz.
1 -qadam: Namoyish
2 -qadam: yig'ish
3 -qadam: O'rnatish - Jadval
4 -qadam: Adafruit GFX kutubxonasi
Arduino IDE-da Sketch-> Kutubxonani qo'shish-> Kutubxonalarni boshqarish-ga o'ting.
Adafruit GFX kutubxonasini o'rnating
5 -qadam: Adafruit ST7735 kutubxonasi
Arduino IDE-da Sketch-> Kutubxonani qo'shish-> Kutubxonalarni boshqarish-ga o'ting.
Adafruit ST7735 -ni o'rnating
6 -qadam: NTPClient kutubxonasi
Https://github.com/taranais/NTPClient-ga o'ting va taranais tomonidan o'zgartirilgan NTPClient kutubxonasini yuklab oling.
Jildni oching va C: / Users / Documents / Arduino / kutubxonalariga qo'ying
7 -qadam: ESP32_NTP.ino
O'z ichiga oladi va aniqlanadi
#include #include // Biblioteca NTPClient modificada #include // Socket UDP #include // Display #include // Display #include // Pinos do display #deine DISPLAY_DC 12 // A0 #define DISPLAY_CS 13 // CS #DISPLAY_MOSI 14 ni aniqlang // SDA #define DISPLAY_CLK 27 // SCK #define DISPLAY_RST 0 // Fuso Horário, hech qanday vaqtni ko'rmayapman, Braziliya int timeZone = -2; // Strukturaviy tizimning tuzilishi Sana {int dayOfWeek; int kuni; int oy; int yil; int soatlari; int daqiqa; int soniyalar; }; // UDP ulagichi Wi -Fi ulanishi uchun javobgardir; // NTPClient ntpClient (udp, // soket udp "0.br.pool.ntp.org", // URL manzili NTP vaqt zonasi*3600, // GMT 0 uchun javob beradi). 60000); // Intervalo entre verificações online // Nomes dos dias da semana char* dayOfWeekNames = {"Yakshanba", "Dushanba", "Seshanba", "Chorshanba", "Payshanba", "Juma", "Shanba"}}; // Aloqa javoblari Alofruit_ST7735 displeyi = Adafruit_ST7735 (DISPLAY_CS, DISPLAY_DC, DISPLAY_MOSI, DISPLAY_CLK, DISPLAY_RST);
Sozlash
void setup () {Serial.begin (115200); setupDisplay (); ulanish Wi -Fi (); o'rnatishNTP (); // 0 ta xTaskCreatePinnedToCore (wifiConnectionTask, // "wifiConnectionTask", // 10000 nomlari, // TAMANHO da xotira disponível (so'zlar bilan) NULL parametri, 2 -sonli parametrlar nol emas, balki 2 -sonli parametrlar uchun emas., // Priorityade NULL, // Ta'rif uchun hech qanday aniqlik yo'q)); // asosiy yadro}
NNT ni sozlash
void setupNTP () {// NTP mijozining ntpClient.begin () ma'lumotlari; // Espera pelo primeiro onlayn yangilanishi Serial.println ("Birinchi yangilanish kutilmoqda"); while (! ntpClient.update ()) {Serial.print ("."); ntpClient.forceUpdate (); kechikish (500); } Serial.println (); Serial.println ("Birinchi yangilash yakunlandi"); }
WifiConnectionTask
// wifiConnectionTask (void* parametri) {bir vaqtda (rost) {// Wi -Fi tarmog'iga ulanish, agar (WiFi.status ()! WL_CONNECTED) {// konvektorli aloqa Wi -Fi (); } // 100 ta Shomilni kechiktirish vTaskDelay (100); }}
Wi -Fi ulanish
void connectWiFi () {Serial.println ("Ulanish"); // Wi -Fi WiFi.begin ("SSID", "12345678") ni tanlang; // Espera enquanto não estiver conectado while (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); kechikish (500); } Serial.println (); Serial.print ("Ulangan"); Serial.println (WiFi. SSID ()); }
O'rnatish Displeyi
void setupDisplay () {display.initR (INITR_BLACKTAB); // Displeyni ko'rsatish.setRotation (3); // Rotaciona display.setTextSize (2); // Matnni ko'rsatish.fillScreen (ST77XX_BLACK); // Oldindan ko'rsatish.setCursor (0, 0); // Coloca yoki kursor kelmaydi ekran.setTextColor (ST77XX_WHITE, ST77XX_BLACK); // Texto branco com fundo preto display.setTextWrap (noto'g'ri); // Nau pula linha avtomatlashtirilgan}
Loop
void loop () {// Recupera os dados sobre a data a horário Sana sana = getDate (); // Reset yoki kursorni display.setCursor (0, 0); // Exibe os dados display display.printf (" %s / n / n %s / n / n %02d/ %02d/ %d / n / n %02d: %02d: %02d", WiFi. SSID ().c_str (), dayOfWeekNames [date.dayOfWeek], sana.day, sana.oy, sana.yil, sana.soatlar, sana.minutlar, sana.sekundlar); kechikish (100); }
GetDate
Sana getDate () {// Ma'lumotlarni qayta tiklash mijozning NTP char* strDate = (char*) ntpClient.getFormattedDate (). C_str (); // Passa os dados da string para a struct Sana sanasi; sscanf (strDate, "%d-%d-%dT%d:%d:%dZ", & date.year, & date.month, & date.day, & date.hours, & date.minutes, & date.seconds); // 0 dan 6 gacha, domingo date.dayOfWeek = ntpClient.getDay (); qaytish sanasi; }
8 -qadam: fayllar
Fayllarni yuklab oling
INO
Tavsiya:
DIY Visuino -dan foydalanib M5StickC ESP32 -da vaqtni qanday ko'rsatish kerak - Qilish oson: 9 qadam
DIY M5StickC ESP32 -da vaqtni Visuino -dan qanday ko'rsatish kerak - Qilish oson: Ushbu qo'llanmada biz ESP32 M5Stack StickC -ni Arduino IDE va Visuino -da LCD displeyda ko'rsatish uchun dasturlashni o'rganamiz
Sana va vaqtni jurnalga qanday yozish kerak - Liono yaratuvchisi: 5 qadam
Sana va vaqtni jurnalga qanday yozish kerak | Liono Maker: Kirish:-Bu darslikda biz Arduino bilan sana va vaqtni qayd qilishni o'rganamiz. Shu maqsadda men DS3231 dan foydalanayapman & Micro SD Card Modules.The asosiy modul qaysi vaqt uchun ishlatiladi & sana jurnali - DS3231. DS3231 - bu RTC (haqiqiy ti
Differentsial stroboskop bilan vaqtni manipulyatsiya qilish effekti (batafsil): 10 qadam
Differentsial stroboskop yordamida vaqtni manipulyatsiya qilish effekti (batafsil): Bugun biz vaqti -vaqti bilan harakatlanuvchi jismlarni ko'zga ko'rinmas qilib qo'yadigan differentsial stroboskopni yasashni o'rganamiz. Boshqacha ko'rinmas, aylanadigan ob'ektdagi kichik tafsilotlarni e'tiborga olish uchun etarli. Bu beani ham ko'rsatishi mumkin
Python -da vaqtni qanday yaratish mumkin: 9 qadam
Python -da vaqtni qanday tuzish mumkin: Muammoni hal qilish uchun bir necha qadamlarni takrorlash kerak bo'lgan dasturlashda shunday paytlar bor. Vaqt tsikli sizga kodning bir qismini takror kod yozishga hojat qoldirmasdan o'tishga imkon beradi. Dasturlashda bir xil kodni qayta -qayta yozish
Vaqtni saqlovchi: 6 qadam (rasmlar bilan)
Vaqtni saqlovchi: Vaqtni ayta bilish juda muhim, lekin hamma ham soatni taqishni yoqtirmaydi va vaqtni tekshirish uchun smartfonni olib ketishni yoqtirmaydi. Men kasbda ishlayotganimda qo'llarimni uzuk, bilaguzuk va soatlarsiz ushlab turishni yaxshi ko'raman