Мазмұны:
- 1 -қадам: демонстрация
- 2 -қадам: құрастыру
- 3 -қадам: Ассамблея - Кесте
- 4 -қадам: Adafruit GFX кітапханасы
- 5 -қадам: Adafruit ST7735 кітапханасы
- 6 -қадам: NTPClient кітапханасы
- 7 -қадам: ESP32_NTP.ino
- 8 -қадам: файлдар
Бейне: Уақытты босқа өткізбеңіз: NTP қолданыңыз!: 8 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Уақытыңызды есептеңіз! Бұл менің жазылушыларым арасында жиі талқыланатын тақырып және неге? Қарапайым және қажетсіз фактінің арқасында, егер сіз деректерді есептегіш құрсаңыз және автоматтандырумен байланысты барлық нәрсе үшін сізге дұрыс уақыт қажет! Уақытты өлшеудің бірнеше әдісі бар: аккумуляторлы сағат, RTC (Real Time Clock) және басқалары. Бірақ мен бүгін сізге көрсеткім келетіні (ол күнді, аптаның күнін және уақытын көрсетеді) - желіде орналасқан NTP (Network Time Protocol). Бұл бейнеде біз желіде күн мен уақыт туралы ақпаратты аламыз және ақпаратты дисплейде көрсетеміз.
1 -қадам: демонстрация
2 -қадам: құрастыру
3 -қадам: Ассамблея - Кесте
4 -қадам: Adafruit GFX кітапханасы
Arduino IDE-де Sketch-> Кітапхананы қосу-> Кітапханаларды басқару бөліміне өтіңіз.
Adafruit GFX кітапханасын орнатыңыз
5 -қадам: Adafruit ST7735 кітапханасы
Arduino IDE-де Sketch-> Кітапхананы қосу-> Кітапханаларды басқару бөліміне өтіңіз.
Adafruit ST7735 орнатыңыз
6 -қадам: NTPClient кітапханасы
Https://github.com/taranais/NTPClient сайтына өтіп, taranais өзгертілген NTPClient кітапханасын жүктеңіз.
Ашыңыз және қалтаны C: / Users / Documents / Arduino / кітапханаларына қойыңыз
7 -қадам: ESP32_NTP.ino
Қосады және анықтайды
#include #include // Biblioteca NTPClient modificada #include // Socket UDP #include // Display #include // Display #include // Pinos do display #deine DISPLAY_DC 12 // A0 #dineine DISPLAY_CS 13 // CS #DISPLAY_MOSI 14 анықтаңыз // SDA #dinefine DISPLAY_CLK 27 // SCK #disine DISPLAY_RST 0 // Fuso Horário, brasília de time de Zone = -2; // Құрылыстың негізі: {int dayOfWeek; int күні; int айы; int жылы; int сағаты; int минуттары; int секунд; }; // UDP ұялы байланысы WiFiUDP бағдарламасын жаңарту үшін қажет; // NTPClient ntpClient (udp, // socket udp «0.br.pool.ntp.org», // URL мекенжайы NTP уақыт белдеуінің*3600, // GMT 0 мекенжайлары) 60000); // Интернетте интерфейс онлайн режимінде // Nomes dos dias da semana char* dayOfWeekNames = {«Жексенбі», «Дүйсенбі», «Сейсенбі», «Сәрсенбі», «Бейсенбі», «Жұма», «Сенбі»}}; // Objeto Respável pelo дисплейі Adafruit_ST7735 дисплейі = Adafruit_ST7735 (DISPLAY_CS, DISPLAY_DC, DISPLAY_MOSI, DISPLAY_CLK, DISPLAY_RST);
Орнату
void setup () {Serial.begin (115200); setupDisplay (); connectWiFi (); NTP орнату (); // Негізгі функция жоқ 0 xTaskCreatePinnedToCore (wifiConnectionTask, // «wifiConnectionTask» функциясы, // 10000 номері, // Таманхо да мемориация дисплейі (em WORDs) NULL параметрі, 2 параметрі жоқ, // Priorityade NULL, // Nareo precisamos de referência a tarife 0); // ядролық жұмыс}
NNT орнату
жарамсыз баптауNTP () {// NTP клиентінің ntpClient.begin (); // Espera pelo primeiro онлайн жаңарту Serial.println («Бірінші жаңартуды күтуде»); while (! ntpClient.update ()) {Serial.print («.»); ntpClient.forceUpdate (); кешіктіру (500); } Serial.println (); Serial.println («Бірінші жаңарту аяқталды»); }
WifiConnectionTask
// wifiConnectionTask (void* param) {уақытша (шындық) {// егер Wi -Fi байланысы бар болса (WiFi.status ()! WL_CONNECTED) {// байланыстарға қосылу Wi -Fi (); } // 100 кенені кешіктіру vTaskDelay (100); }}
Wi -Fi желісіне қосылу
жарамсыз connectWiFi () {Serial.println («Қосылу»); // WiFi WiFi.begin («SSID», «12345678»); // Espera enquanto não estiver conectado while (WiFi.status ()! = WL_CONNECTED) {Serial.print («.»); кешіктіру (500); } Serial.println (); Serial.print («Қосылды»); Serial.println (WiFi. SSID ()); }
Орнату Дисплей
void setupDisplay () {display.initR (INITR_BLACKTAB); // Дисплейді көрсету.setRotation (3); // Rotaciona display.setTextSize (2); // Тамано мәтінді көрсету.fillScreen (ST77XX_BLACK); // Preenche com немесе preta display.setCursor (0, 0); // Coloca немесе меңзер келмегенде display.setTextColor (ST77XX_WHITE, ST77XX_BLACK); // Texto branco com fundo preto display.setTextWrap (жалған); // Não pula linha автоматтандырылған}
Цикл
void loop () {// Recupera os dados sobre a data e horário Date date = getDate (); // Reseta o cursor 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], date.day, date.month, date.year, date.hours, date.minutes, date.seconds); кешіктіру (100); }
GetDate
Күн getDate () {// Клиент NTP char* strDate = (char*) ntpClient.getFormattedDate (). C_str (); // Құрылыстың күнін анықтау; 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 (); қайтару күні; }
8 -қадам: файлдар
Файлдарды жүктеңіз
МЕН ЖОҚ
Ұсынылған:
Балаларға уақытты үйрететін RGB сағаты: 4 қадам
Балаларға уақыт туралы үйрететін RGB сағаты: Кеше түнде мен 5 жасар балаға уақытты сезінуге қалай көмектесу керектігін ойлап таптым. Балалардың болашақта не болатынын түсіну үшін күнделікті оқиғаларға бағдарланатыны анық. әдетте сәл тәртіпсіздікке ұшырайды
DIY Visuino көмегімен M5StickC ESP32 -де уақытты қалай көрсету керек - оңай: 9 қадам
DIY M5StickC ESP32 -де Visuino көмегімен уақытты қалай көрсету керек - оңай: Бұл оқулықта біз уақытты LCD -де көрсету үшін Arduino IDE және Visuino көмегімен ESP32 M5Stack StickC бағдарламалауды үйренеміз
Уақытты бақылауды қалай жасауға болады: 7 қадам
Отыратын уақытты қадағалаушыны қалай құруға болады: Бұл жоба адамды анықтау және бақылау үшін Zio Qwiic ультрадыбыстық қашықтық датчигін қолданады. Құрылғы стратегиялық түрде экранның/монитордың үстіне, компьютердің алдында отыратын адамға қарайтын болады
Күн мен уақытты қалай тіркеуге болады - Liono Maker: 5 қадам
Күн мен уақытты қалай тіркеуге болады | Liono Maker: Кіріспе: -Бұл оқулықта біз Arduino көмегімен күн мен уақытты тіркеуді үйренеміз. Осы мақсатта мен DS3231 қолданамын & Micro SD картасының модульдері. Уақыт үшін қолданылатын негізгі модуль. күнді тіркеу DS3231. DS3231 - бұл RTC (нақты
Интернет сағаты: NTP протоколы бар ESP8266 NodeMCU көмегімен OLED көмегімен күн мен уақытты көрсету: 6 қадам
Интернет сағаты: NTP протоколы бар ESP8266 NodeMCU көмегімен OLED көмегімен күн мен уақытты көрсету: Сәлеметсіз бе, балалар, біз интернеттен уақыт алатын интернет сағатын құрамыз, сондықтан бұл жобаны іске қосу үшін RTC қажет емес, оған тек қажет. жұмыс істейтін интернет байланысы Бұл жоба үшін сізге esp8266 қажет, ол