विषयसूची:

अपना समय बर्बाद न करें: एनटीपी का प्रयोग करें!: 8 कदम
अपना समय बर्बाद न करें: एनटीपी का प्रयोग करें!: 8 कदम

वीडियो: अपना समय बर्बाद न करें: एनटीपी का प्रयोग करें!: 8 कदम

वीडियो: अपना समय बर्बाद न करें: एनटीपी का प्रयोग करें!: 8 कदम
वीडियो: नसों में कमजोरी,नसों में ब्लॉकेज, हाथ पैरों में सूजन दर्द, चक्कर आना- naso me kamjori, naso me block 2024, दिसंबर
Anonim
Image
Image

अपना समय गिनें! यह मेरे ग्राहकों के बीच अक्सर चर्चा का विषय है, और किस कारण से? सरल और अपरिहार्य तथ्य के कारण कि जब आप एक डेटालॉगर बनाते हैं, और स्वचालन से जुड़ी हर चीज के लिए, आपको सही समय की आवश्यकता होती है! और समय मापने के कई तरीके हैं: बैटरी वाली घड़ी, आरटीसी (रीयल टाइम क्लॉक), अन्य। लेकिन जो मैं आज आपको दिखाना चाहता हूं (जो तारीख, सप्ताह के दिन और समय को सूचित करता है) एनटीपी (नेटवर्क टाइम प्रोटोकॉल) है, जो ऑनलाइन है। इस वीडियो में, हम दिनांक और समय की जानकारी ऑनलाइन प्राप्त करेंगे, और जानकारी को डिस्प्ले पर दिखाएंगे।

चरण 1: प्रदर्शन

सभा
सभा

चरण 2: विधानसभा

चरण 3: विधानसभा - तालिका

विधानसभा - तालिका
विधानसभा - तालिका

चरण 4: एडफ्रूट जीएफएक्स लाइब्रेरी

एडफ्रूट जीएफएक्स लाइब्रेरी
एडफ्रूट जीएफएक्स लाइब्रेरी

Arduino IDE में, स्केच पर जाएं-> लाइब्रेरी शामिल करें-> लाइब्रेरी प्रबंधित करें …

एडफ्रूट जीएफएक्स लाइब्रेरी स्थापित करें

चरण 5: एडफ्रूट ST7735 लाइब्रेरी

एडफ्रूट ST7735 लाइब्रेरी
एडफ्रूट ST7735 लाइब्रेरी

Arduino IDE में, स्केच पर जाएं-> लाइब्रेरी शामिल करें-> लाइब्रेरी प्रबंधित करें …

एडफ्रूट ST7735. स्थापित करें

चरण 6: एनटीपी क्लाइंट लाइब्रेरी

एनटीपी क्लाइंट लाइब्रेरी
एनटीपी क्लाइंट लाइब्रेरी

github.com/taranais/NTPClient पर जाएं और taranais- संशोधित NTPClient लाइब्रेरी डाउनलोड करें।

अनज़िप करें और फ़ोल्डर को C:\Users\Documents\Arduino\पुस्तकालयों में डालें

चरण 7: ESP32_NTP.ino

शामिल करें और परिभाषित करें

#शामिल करें #शामिल करें // बिब्लियोटेका एनटीपी क्लाइंट मोडिफाडा #शामिल करें // सॉकेट यूडीपी # शामिल करें //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; // स्ट्रक्चर कॉम ओएस डैडोस दो दीया ए होरा स्ट्रक्चर डेट {इंट डेऑफवीक; इंट डे; इंट महीना; अंतर वर्ष; अंतर घंटे; इंट मिनट; इंट सेकंड; }; //सॉकेट यूडीपी क्यू ए लिब यूटिलाइज़ा पैरा रिकूपरर डैडोस सोब्रे या होरेरियो वाईफाईयूडीपी यूडीपी; // इस पर प्रतिक्रिया दें और फिर से काम करें NTPClient ntpClient(udp, //socket udp "0.br.pool.ntp.org", //URL do सर्वर NTP टाइमज़ोन*3600, //Deslocamento do horário em relacão ao GMT 0 60000); // इंटरवलो एंट्रे सत्यापन ऑनलाइन // नोम्स दोस द सेमाना चार * दिनऑफ वीकनेम्स = {"रविवार", "सोमवार", "मंगलवार", "बुधवार", "गुरुवार", "शुक्रवार", "शनिवार"}; //Objeto प्रतिक्रिया प्रदर्शन Adafruit_ST7735 प्रदर्शन = Adafruit_ST7735(DISPLAY_CS, DISPLAY_DC, DISPLAY_MOSI, DISPLAY_CLK, DISPLAY_RST);

सेट अप

शून्य सेटअप () {Serial.begin (115200); सेटअप डिस्प्ले (); कनेक्टवाईफाई (); सेटअपएनटीपी (); //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 2,//प्राथमिकता NULL, //Não precisamos de Referência para a tarefa 0); // नमेरो डू कोर }

सेटअपएनटीपी

शून्य सेटअपएनटीपी () {// क्लाइंट एनटीपी ntpClient.begin (); // Espera pelo primeiro अपडेट ऑनलाइन Serial.println ("पहले अपडेट की प्रतीक्षा कर रहा है"); जबकि (! ntpClient.update ()) {सीरियल.प्रिंट ("।"); ntpClient.forceUpdate (); देरी (500); } सीरियल.प्रिंट्लन (); Serial.println ("पहला अपडेट पूरा हुआ"); }

वाईफ़ाई कनेक्शन कार्य

// टैरेफा क्यू वेरिफिका से ए कॉन्क्सो कैउ ई टेंटा रीकनेक्टरवॉइड वाईफाईकनेक्शन टास्क (शून्य * परम) {जबकि (सच) {// से वाईफाई नो एस्टा कनेक्टेडा अगर (वाईफाई.स्टेटस ()! = डब्ल्यूएल_कनेक्टेड) { // मांडा कनेक्टर कनेक्टवाईफाई (); } // विलंब डे १०० टिक vTaskDelay(१००); } }

कनेक्टवाईफाई

शून्य कनेक्टवाईफाई () {Serial.println ("कनेक्टिंग"); // ट्रोक पेलो नोम ई सेना दा सुआ रेड वाईफाई वाईफाई। बेगिन ("एसएसआईडी", "12345678"); // Espera enquanto não estiver conectado जबकि(WiFi.status() != WL_CONNECTED) { Serial.print("."); देरी (500); } सीरियल.प्रिंट्लन (); सीरियल.प्रिंट ("कनेक्टेड"); Serial.println (वाईफाई.एसएसआईडी ()); }

सेटअप प्रदर्शन

शून्य सेटअपडिस्प्ले(){ display.initR(INITR_BLACKTAB); // इनिशियलाइज़ या डिस्प्ले डिस्प्ले.सेटरोटेशन(3); // रोटासिओना डिस्प्ले.सेटटेक्स्टसाइज (2); // तमनहो टेक्स्टो डिस्प्ले करते हैं। फिलस्क्रीन (ST77XX_BLACK); // प्रीनचे कॉम ए कोर प्रीटा डिस्प्ले.सेट कर्सर (0, 0); // कोलोका या कर्सर कोई कम डिस्प्ले नहीं है। सेटटेक्स्टकोलर (ST77XX_WHITE, ST77XX_BLACK); // टेक्स्टो ब्रैंको कॉम फंडो प्रीटो डिस्प्ले.सेटटेक्स्टव्रैप (झूठा); // नाओ पुला लिन्हा ऑटोमेटिकामेंटे }

कुंडली

शून्य लूप () {// रिकुपेरा ओएस डैडोस सोबर ए डेटा और होरारियो दिनांक दिनांक = getDate (); // रीसेट या कर्सर डिस्प्ले।सेट कर्सर (0, 0); //Exibe ओएस डैडोस नो डिस्प्ले डिस्प्ले।प्रिंटफ("%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(){//Recupera ओएस डेडोस डे डेटा और ग्राहक एनटीपी चार* strDate = (char*)ntpClient.getFormattedDate().c_str(); // Passa os dados da string para a struct date date; sscanf(strDate, "%d-%d-%dT%d:%d:%dZ", &date.year, &date.month, &date.day, &date.hours, &date.minutes, &date.seconds); // दीया दा सेमाना डे ० ए ६, सेंडो ० ओ डोमिंगो तारीख।dayOfWeek = ntpClient.getDay (); वापसी की तिथि; }

चरण 8: फ़ाइलें

फ़ाइलें डाउनलोड करें

मैं नहीं

पीडीएफ

सिफारिश की: