সুচিপত্র:

আপনার সময় নষ্ট করবেন না: এনটিপি ব্যবহার করুন!: 8 টি ধাপ
আপনার সময় নষ্ট করবেন না: এনটিপি ব্যবহার করুন!: 8 টি ধাপ

ভিডিও: আপনার সময় নষ্ট করবেন না: এনটিপি ব্যবহার করুন!: 8 টি ধাপ

ভিডিও: আপনার সময় নষ্ট করবেন না: এনটিপি ব্যবহার করুন!: 8 টি ধাপ
ভিডিও: আর্কিটেকচার কাটা - একজন স্থপতি হতে কেমন লাগে তা আবিষ্কার করুন [#ityoutubersru] 2024, নভেম্বর
Anonim
Image
Image

আপনার সময় গণনা করুন! এটি আমার গ্রাহকদের মধ্যে একটি ঘন ঘন আলোচিত বিষয় এবং কোন কারণে? সহজ এবং অপরিহার্য সত্যের কারণে যে যখন আপনি একটি ডেটালগার তৈরি করেন, এবং অটোমেশন সম্পর্কিত সমস্ত কিছুর জন্য, আপনার সঠিক সময় প্রয়োজন! এবং সময় পরিমাপ করার বিভিন্ন উপায় রয়েছে: ব্যাটারি সহ ঘড়ি, আরটিসি (রিয়েল টাইম ক্লক), অন্যদের মধ্যে। কিন্তু আজ আমি আপনাকে যেটা দেখাতে চাই (যেটি তারিখ, সপ্তাহের দিন এবং সময় জানিয়ে দেয়) হল এনটিপি (নেটওয়ার্ক টাইম প্রোটোকল), যা অনলাইনে আছে। এই ভিডিওতে, আমরা তারিখ এবং সময়ের তথ্য অনলাইনে পুনরুদ্ধার করব এবং ডিসপ্লেতে তথ্য দেখাব।

ধাপ 1: বিক্ষোভ

সমাবেশ
সমাবেশ

ধাপ 2: সমাবেশ

ধাপ 3: সমাবেশ - টেবিল

সমাবেশ - টেবিল
সমাবেশ - টেবিল

ধাপ 4: অ্যাডাফ্রুট জিএফএক্স লাইব্রেরি

অ্যাডাফ্রুট জিএফএক্স লাইব্রেরি
অ্যাডাফ্রুট জিএফএক্স লাইব্রেরি

Arduino IDE- এ, Sketch-> Include Library-> Manage Library- এ যান …

অ্যাডাফ্রুট জিএফএক্স লাইব্রেরি ইনস্টল করুন

ধাপ 5: Adafruit ST7735 লাইব্রেরি

Adafruit ST7735 লাইব্রেরি
Adafruit ST7735 লাইব্রেরি

Arduino IDE- এ, Sketch-> Include Library-> Manage Library- এ যান …

Adafruit ST7735 ইনস্টল করুন

ধাপ 6: এনটিপি ক্লায়েন্ট লাইব্রেরি

এনটিপি ক্লায়েন্ট লাইব্রেরি
এনটিপি ক্লায়েন্ট লাইব্রেরি

Https://github.com/taranais/NTPClient এ যান এবং তারানাই-সংশোধিত NTPClient লাইব্রেরি ডাউনলোড করুন।

আনজিপ করুন এবং ফোল্ডারটি C: ers Users / Documents / Arduino / লাইব্রেরিতে রাখুন

ধাপ 7: ESP32_NTP.ino

অন্তর্ভুক্ত এবং সংজ্ঞায়িত

#অন্তর্ভুক্ত করুন #অন্তর্ভুক্ত করুন // Biblioteca NTPClient modificada #অন্তর্ভুক্ত // সকেট UDP #অন্তর্ভুক্ত // প্রদর্শন #অন্তর্ভুক্ত // প্রদর্শন #অন্তর্ভুক্ত // Pinos do display #define DISPLAY_DC 12 // A0 #define DISPLAY_CS 13 // CS #Desplay_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 দিন; int মাস; int বছর; int ঘন্টা; int মিনিট; int সেকেন্ড; }; // সকেট UDP que a lib utiliza para recuperar dados sobre o horário 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); // অনলাইনে ইন্টারভেলো এন্ট্রি ভেরিফাইকçõস // 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);

সেটআপ

অকার্যকর সেটআপ () {Serial.begin (115200); setupDisplay (); সংযোগ ওয়াইফাই (); 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 2, // nãl 2n, n passr 2m, n passr 2n, n passr 2m, n passr 2m, n passr 2m, // preulidade NULL, // Não precisamos de referência para a tarefa 0); // Nromero do core}

সেটআপ এনটিপি

void setupNTP () {// Inicializa o client NTP ntpClient.begin (); // Espera pelo primeiro update online Serial.println ("প্রথম আপডেটের অপেক্ষায়"); while (! ntpClient.update ()) {Serial.print ("।"); ntpClient.forceUpdate (); বিলম্ব (500); } Serial.println (); Serial.println ("প্রথম আপডেট সম্পূর্ণ"); }

WifiConnectionTask

// Tarefa que verifica se a conexão caiu e tenta reconectarvoid wifiConnectionTask (void* param) {while (true) {// Se a WiFi não está conectada if (WiFi.status ()! = WL_CONNECTED) {// Manda conectar (সংযোগ); } // Delay de 100 ticks vTaskDelay (100); }}

কানেক্ট ওয়াইফাই

অকার্যকর সংযোগ WiFi () {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 ("।"); বিলম্ব (500); } Serial.println (); সিরিয়াল.প্রিন্ট ("এর সাথে সংযুক্ত"); Serial.println (WiFi. SSID ()); }

সেটআপডিসপ্লে

void setupDisplay () {display.initR (INITR_BLACKTAB); // Inicializa o প্রদর্শন display.setRotation (3); // Rotaciona display.setTextSize (2); // Tamanho do texto display.fillScreen (ST77XX_BLACK); // Prenche 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 (মিথ্যা); // Não pula linha automaticamente}

লুপ

void loop () {// Recupera os dados sobre a data e horário Date date = getDate (); // Reseta o কার্সার 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; বিলম্ব (100); }

GetDate

তারিখ getDate () {// Recupera os dados de data e horário usando o client 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: ফাইল

ফাইলগুলি ডাউনলোড করুন

আইএনও

পিডিএফ

প্রস্তাবিত: