विषयसूची:
- चरण 1: Google समय
- चरण 2: एसएनटीपी टाइम सर्वर
- चरण 3: आरटीसी मॉड्यूल से समय निकालना
- चरण 4: आरटीसी उपयोगकर्ता मेमोरी
- चरण 5: बाहरी आरटीसी मॉड्यूल
- चरण 6: डेटा लॉगिंग
- चरण 7: निष्कर्ष
![NODEMCU Lua ESP8266 रीयल टाइम क्लॉक (RTC) और EEPROM के साथ: 7 कदम NODEMCU Lua ESP8266 रीयल टाइम क्लॉक (RTC) और EEPROM के साथ: 7 कदम](https://i.howwhatproduce.com/images/003/image-7398-j.webp)
वीडियो: NODEMCU Lua ESP8266 रीयल टाइम क्लॉक (RTC) और EEPROM के साथ: 7 कदम
![वीडियो: NODEMCU Lua ESP8266 रीयल टाइम क्लॉक (RTC) और EEPROM के साथ: 7 कदम वीडियो: NODEMCU Lua ESP8266 रीयल टाइम क्लॉक (RTC) और EEPROM के साथ: 7 कदम](https://i.ytimg.com/vi/x5rj7OCZSJE/hqdefault.jpg)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
![वास्तविक समय घड़ी (RTC) और EEPROM के साथ NODEMCU Lua ESP8266 वास्तविक समय घड़ी (RTC) और EEPROM के साथ NODEMCU Lua ESP8266](https://i.howwhatproduce.com/images/003/image-7398-1-j.webp)
यदि आप डेटा लॉग रखना चाहते हैं तो सही समय प्राप्त करना आवश्यक है। इंटरनेट पर स्रोतों से समय निकालने के कई तरीके हैं।
आप पूछ सकते हैं कि अपने लिए समय निकालने के लिए ESP8266 का उपयोग क्यों न करें? ठीक है आप कर सकते हैं, इसकी अपनी आंतरिक आरटीसी (रीयल टाइम क्लॉक) है, लेकिन ईएसपी 8266 में 3 अलग-अलग ऑपरेटिंग घड़ी आवृत्तियां हैं - 52 मेगाहर्ट्ज जब यह बूट होता है, नियमित ऑपरेशन के दौरान 80 मेगाहर्ट्ज, और 160 मेगाहट्र्ज अगर बढ़ाया जाता है। यदि आपको अधिक सटीक समय की आवश्यकता है, विशेष रूप से लंबी अवधि में, तो एक बाहरी आरटीसी एक समाधान प्रदान कर सकता है। इन मॉड्यूल्स में पावर लॉस की स्थिति में बैटरी बैकअप भी होता है। एक आरटीसी बहुत सटीक नहीं है क्योंकि यह सेट होने के बाद से बीत चुके समय की गणना करता है और हालांकि यह अधिकांश अनुप्रयोगों के लिए कर सकता है, यह महत्वपूर्ण समय रखने के लिए पर्याप्त नहीं हो सकता है। एक एसएनटीपी टाइम सर्वर से सटीक समय प्राप्त करना संभव है जिससे यदि आवश्यक हो तो नियमित अंतराल पर आरटीसी को अपडेट किया जा सकता है।
DS1307 टाइनी RTC I2C मॉड्यूल (ऊपर) इन वस्तुओं का एक उदाहरण है और इसे eBay और अन्य आपूर्तिकर्ताओं पर £2 से कम में खरीदा जा सकता है। DS1302 और DS3231 जैसे अन्य भी हैं जो एक समान तरीके से काम करते हैं और 99p से ऊपर की ओर खर्च होते हैं।
DS1307 मॉड्यूल I2C इंटरफ़ेस का उपयोग करता है और ESP-01 के लिए इसे इस प्रकार जोड़ा जाना चाहिए:
Vcc - 3.3v, Gnd - Gnd, SDA - D3, SCL - D4
एसडीए और एससीएल को बड़े ईएसपी8266 पर किसी भी आई/ओ पिन से जोड़ा जा सकता है (तदनुसार कोड बदलें)। इस मॉड्यूल पर केवल बाएं हाथ के पिन को जोड़ने की आवश्यकता है।
चरण 1: Google समय
![गूगल टाइम गूगल टाइम](https://i.howwhatproduce.com/images/003/image-7398-2-j.webp)
Google से समय निकालने और कुछ इस तरह दिखने के कई उदाहरण हैं। जब आप GoogleTime.lua प्रोग्राम चलाते हैं तो आपको इस तरह का परिणाम मिलता है:
dofile("GoogleTime.lua")> समय: शुक्र, 15 दिसंबर 2017 11:19:45 GMT
इस पद्धति के साथ समस्या यह है कि आपको स्ट्रिंग प्रारूप में समय मिलता है और आपको स्ट्रिंग को घंटों, मिनट, सेकंड आदि के लिए अलग-अलग बिट्स में विभाजित करना पड़ता है। आरटीसी समय को एक विशेष प्रारूप यानी यूनिक्स टाइम स्टैम्प में स्वीकार करता है। आम आदमी के शब्दों में यह सेकंड की संख्या है जो गुरुवार 1 जनवरी 1970 से वर्तमान दिन और समय तक बीत चुकी है। UNIX युग (1970/01/01 00:00:00) का उपयोग अधिकांश कंप्यूटर ऑपरेटिंग सिस्टम द्वारा किया जाता है और बीता हुआ समय एक हस्ताक्षरित 32 बिट संख्या के रूप में संग्रहीत किया जाता है। इसका मतलब है कि यह सिस्टम 19 जनवरी 2038 तक काम करेगा जब इस तरह से स्टोर करने के लिए संख्या बहुत बड़ी हो जाएगी। एक समाधान संख्या को 64 बिट्स के रूप में संग्रहीत करना है, लेकिन अभी के लिए 32 बिट विधि पर्याप्त होगी।
आंतरिक आरटीसी पर 2015 जुलाई 9, 18:29:49 का समय निर्धारित करने के लिए आप कोड की इस पंक्ति का उपयोग करेंगे:
rtctime.set(१४३६४३०५८९, ०)
2 पैरामीटर सेकंड और माइक्रो सेकंड हैं।
आप NodeMCU Documentation को पढ़कर अधिक जानकारी प्राप्त कर सकते हैं।
चरण 2: एसएनटीपी टाइम सर्वर
![एसएनटीपी टाइम सर्वर एसएनटीपी टाइम सर्वर](https://i.howwhatproduce.com/images/003/image-7398-3-j.webp)
इंटरनेट पर कई स्रोतों से सरल नेटवर्क टाइम प्रोटोकॉल (एसएनटीपी) प्रदान किया जाता है, और दुनिया भर के कई देशों में यह सेवा है।
प्रोग्राम, SNTPTime2.lua आंतरिक RTC पर समय निर्धारित करता है। जब आप अपना ESP8266 फ्लैश करते हैं तो आपको अपने निर्माण में rtctime और sntp मॉड्यूल की आवश्यकता होती है। प्रोग्राम सर्वर से सेकंड और माइक्रो सेकेंड में समय प्राप्त करता है और आंतरिक आरटीसी को rtctime.set(sec, usec) के साथ सेट करता है।
कार्यक्रम तब विभिन्न स्वरूपों में दिनांक और समय प्रदर्शित करता है।
दुनिया भर में कई SNTP सर्वर हैं और कुछ इस प्रकार हैं:
- sntp.sync({"216.239.35.0"},
- sntp.sync({"0.uk.pool.ntp.org", "0.uk.pool.ntp.org"},
- sntp.sync({"3.uk.pool.ntp.org", "143.210.16.201"},
- sntp.sync({"0.uk.pool.ntp.org", "1.uk.pool.ntp.org", "3.uk.pool.ntp.org"},
कोड की उपरोक्त सभी पंक्तियों को SNTPTime2.lua प्रोग्राम में प्रतिस्थापित किया जा सकता है।
नीचे दिए गए पतों पर और भी SNTP सर्वर हैं जिनका फिर से प्रोग्राम में उपयोग किया जा सकता है।
93.170.62.252, 130.88.202.49, 79.135.97.79, ntp.exnet.com
Google इन पतों पर टाइम सर्वर भी प्रदान करता है:
216.239.35.0, 216.239.35.4, 216.239.35.8, 216.239.35.12
आपको उस देश से समय प्राप्त करने के लिए याद रखना होगा जिसमें आप हैं या आपको इसे विभिन्न विश्व समय क्षेत्रों के लिए संशोधित करना पड़ सकता है। साथ ही कुछ देशों में डेलाइट सेविंग टाइम होता है, इसलिए आपको इससे भी निपटना पड़ सकता है।
चरण 3: आरटीसी मॉड्यूल से समय निकालना
![आरटीसी मॉड्यूल से समय प्राप्त करना आरटीसी मॉड्यूल से समय प्राप्त करना](https://i.howwhatproduce.com/images/003/image-7398-4-j.webp)
कार्यक्रम GetRTCTime.lua आंतरिक आरटीसी से समय पढ़ता है।
पहला भाग समय को पढ़ता है और इसे सेकंड और माइक्रोसेकंड में प्रदर्शित करता है।
दूसरा भाग इसे अधिक मानव पठनीय प्रारूप में परिवर्तित करता है।
कॉल करते समय tm = rtctime.epoch2cal(rtctime.get()) यह लौटाता है:
- वर्ष - 1970 ~ 2038
- चालू वर्ष में सोम - माह 1 ~ 12
- चालू माह में दिन - दिन १ ~ ३१
- घंटा
- मिनट
- सेकंड
- चालू वर्ष में दिन - दिन १ ~ ३६६
- वर्तमान सप्ताह में दिन - दिन १ ~ ७ (रविवार १ है)
प्रत्येक आइटम तक पहुँचा जा सकता है tm["day"], tm["year"]…
आप NodeMCU Documentation को पढ़कर अधिक जानकारी प्राप्त कर सकते हैं।
DisplaySNTPtime.lua LCD 128 x 64 OLED डिस्प्ले पर दिनांक और समय दिखाने का एक अधिक विस्तृत तरीका है, क्योंकि यह आसानी से जुड़ा हुआ है और इन कार्यक्रमों के साथ इसका उपयोग किया जा सकता है।
चरण 4: आरटीसी उपयोगकर्ता मेमोरी
समय कीपिंग से थोड़ा मोड़ ESP8266 पर आंतरिक RTC है जिसमें 128 x 32 बिट मेमोरी पते हैं जिन्हें प्रोग्रामर द्वारा एक्सेस किया जा सकता है। वे विशेष रूप से उपयोगी हैं क्योंकि वे ESP8266 के गहरी नींद के चक्र से बच सकते हैं। यह प्रोग्रामर पर निर्भर करता है कि वह उनके उपयोग को नियंत्रित करे और सुनिश्चित करे कि वे गलती से अधिलेखित नहीं हो गए हैं।
मैंने RTCmem.lua को शामिल किया है, जो एक साधारण प्रोग्राम है जो इसके उपयोग को प्रदर्शित करता है। आपको अपने निर्माण में rtcmem मॉड्यूल होना चाहिए।
चरण 5: बाहरी आरटीसी मॉड्यूल
![बाहरी आरटीसी मॉड्यूल बाहरी आरटीसी मॉड्यूल](https://i.howwhatproduce.com/images/003/image-7398-5-j.webp)
बाहरी RTC मॉड्यूल I2C इंटरफ़ेस के माध्यम से ESP8266 से जुड़ते हैं, जो केवल दो I/O पिन का उपयोग करता है और इसलिए ESP-01 के साथ-साथ अन्य ESP8266 उपकरणों के साथ भी काम करता है।
RTC मॉड्यूल का पता 0x68 है और इसे सामान्य I2C कमांड का उपयोग करके एक्सेस किया जाता है। हालांकि, ध्यान में रखना कुछ है, आरटीसी रजिस्टरों में डेटा बीसीडी प्रारूप (आधार 16) में संग्रहीत किया जाता है, इसलिए आपके कार्यक्रमों को इससे निपटना होगा। आरटीसी में समय और तारीख को 7 रजिस्टरों में रखा जाता है। आंतरिक आरटीसी पर, आरटीसीटाइम मॉड्यूल द्वारा बीसीडी रूपांतरणों का ध्यान रखा जाता है।
SetExtRTC.lua डेटा को BCD में कनवर्ट करता है और समय निर्धारित करता है।
ReadExtRTC.lua समय डेटा पढ़ता है और इसे प्रिंट करता है। नोट: डेटा हेक्साडेसिमल में मुद्रित किया जाता है।
मैंने प्रदर्शन को स्वरूपित करने में बहुत समय नहीं लगाया है क्योंकि आपके अपने विचार हो सकते हैं कि आप तिथि और समय के साथ क्या करना चाहते हैं। यह अपने सरलतम रूप में मूल इंजन है, ताकि आप चाहें तो इसे और विकसित कर सकें।
चरण 6: डेटा लॉगिंग
![डेटा प्रविष्ट कराना डेटा प्रविष्ट कराना](https://i.howwhatproduce.com/images/003/image-7398-6-j.webp)
यदि आप आरटीसी मॉड्यूल को करीब से देखते हैं, तो आप देखेंगे कि उनके पास AT24C32 EEPROM IC या उनके समान निर्मित है, या आप ऊपर दिए गए 24C256 बोर्ड का उपयोग कर सकते हैं। इनमें से अधिकांश EEPROM IC में ऊपर के समान पिन आउट होते हैं। वे विभिन्न मात्रा में भंडारण के साथ आते हैं, लेकिन वे सभी एक ही तरह से एक्सेस किए जाते हैं। चूंकि AT24C32 पहले से ही बोर्ड पर टांका लगाया गया है, इसे सीधे बाहरी RTC के I2C से उपयोग किया जा सकता है।
यदि आपके पास केवल 24C256 IC या समान है, तो आप इसे ब्रेड बोर्ड में सेट कर सकते हैं, A1, A2 और A3 को Gnd, Vcc से 3.3V और SDA और SCL को I2C से कनेक्ट कर सकते हैं, WP को तैरते हुए छोड़ा जा सकता है। कुछ EEPROM IC केवल 5V पर काम करते हैं, इसलिए पहले संबंधित डेटा शीट की जांच करें।
ByteWR.lua EEPROM की मेमोरी लोकेशन 0x00 में 1 बाइट डेटा लिखता है और इसे वापस पढ़ता है।
Desiderata.lua प्रसिद्ध पाठ से EEPROM तक कुछ पंक्तियाँ लिखता है।
eeRead.lua EEPROM से डेटा पढ़ता है और उसका प्रिंट आउट लेता है।
नोट: इन कार्यक्रमों को अन्य EEPROM बोर्डों के साथ भी काम करना चाहिए।
चरण 7: निष्कर्ष
मैंने यह दिखाने की कोशिश की है कि डेटा लॉगिंग के लिए RTC और EEPROM कैसे काम करता है। यह आपके लिए आगे विकास करने के लिए सिर्फ एक शुरुआत है। आप विभिन्न उपकरणों को I2C बस से जोड़ सकते हैं जैसे कि प्रकाश सेंसर, बैरोमीटर का दबाव सेंसर, तापमान और आर्द्रता सेंसर और EEPROM पर डेटा रिकॉर्ड कर सकते हैं।
सिफारिश की:
Arduino के साथ रीयल टाइम क्लॉक: 3 चरण
![Arduino के साथ रीयल टाइम क्लॉक: 3 चरण Arduino के साथ रीयल टाइम क्लॉक: 3 चरण](https://i.howwhatproduce.com/images/010/image-28025-j.webp)
Arduino के साथ रीयल टाइम क्लॉक: इस प्रोजेक्ट में, हम Arduino और RTC मॉड्यूल की मदद से एक घड़ी बनाएंगे। जैसा कि हम जानते हैं कि Arduino वास्तविक समय प्रदर्शित नहीं कर सकता है इसलिए हम LCD पर सही समय प्रदर्शित करने के लिए RTC मॉड्यूल का उपयोग करेंगे। सभी स्टेप को ध्यान से पढ़ें इससे आपको मदद मिलेगी
Arduino के साथ DS1307 और DS3231 रीयल-टाइम क्लॉक मॉड्यूल का उपयोग करना: 3 चरण
![Arduino के साथ DS1307 और DS3231 रीयल-टाइम क्लॉक मॉड्यूल का उपयोग करना: 3 चरण Arduino के साथ DS1307 और DS3231 रीयल-टाइम क्लॉक मॉड्यूल का उपयोग करना: 3 चरण](https://i.howwhatproduce.com/images/001/image-94-115-j.webp)
Arduino के साथ DS1307 और DS3231 रीयल-टाइम क्लॉक मॉड्यूल का उपयोग करना: हमें विभिन्न स्रोतों से Arduino के साथ DS1307 और DS3231 रीयल-टाइम क्लॉक मॉड्यूल का उपयोग करने के बारे में अनुरोध प्राप्त होते रहते हैं - इसलिए यह उनका उपयोग करने के तरीके पर दो भाग ट्यूटोरियल में से पहला है। इस Arduino ट्यूटोरियल के लिए हमारे पास दो रीयल-टाइम क्लॉक मॉड्यूल हैं
DS1307 रीयल टाइम क्लॉक RTC Arduino के साथ: 4 चरण
![DS1307 रीयल टाइम क्लॉक RTC Arduino के साथ: 4 चरण DS1307 रीयल टाइम क्लॉक RTC Arduino के साथ: 4 चरण](https://i.howwhatproduce.com/images/001/image-678-98-j.webp)
Arduino के साथ DS1307 रीयल टाइम क्लॉक RTC: इस ट्यूटोरियल में, हम रीयल टाइम क्लॉक (RTC) और Arduino & रीयल टाइम क्लॉक IC DS1307 को टाइमिंग डिवाइस के रूप में एक साथ रखा गया है। रीयल टाइम क्लॉक (RTC) का उपयोग समय की निगरानी और कैलेंडर बनाए रखने के लिए किया जाता है। RTC का उपयोग करने के लिए, w
DS1307 रीयल टाइम क्लॉक (RTC) मॉड्यूल और 0.96: 5 चरणों का उपयोग करके Arduino आधारित घड़ी
![DS1307 रीयल टाइम क्लॉक (RTC) मॉड्यूल और 0.96: 5 चरणों का उपयोग करके Arduino आधारित घड़ी DS1307 रीयल टाइम क्लॉक (RTC) मॉड्यूल और 0.96: 5 चरणों का उपयोग करके Arduino आधारित घड़ी](https://i.howwhatproduce.com/images/001/image-2174-20-j.webp)
DS1307 रीयल टाइम क्लॉक (RTC) मॉड्यूल और 0.96 का उपयोग करते हुए Arduino आधारित घड़ी: हाय दोस्तों इस ट्यूटोरियल में हम देखेंगे कि DS1307 रीयल टाइम क्लॉक मॉड्यूल का उपयोग करके एक कार्यशील घड़ी कैसे बनाई जाती है & OLED डिस्प्ले। तो हम घड़ी मॉड्यूल DS1307 से समय पढ़ेंगे। और इसे OLED स्क्रीन पर प्रिंट करें
Arduino IDE का उपयोग करके M5stick C के साथ घड़ी बनाना - M5stack M5stick-C के साथ RTC रीयल टाइम क्लॉक: 4 कदम
![Arduino IDE का उपयोग करके M5stick C के साथ घड़ी बनाना - M5stack M5stick-C के साथ RTC रीयल टाइम क्लॉक: 4 कदम Arduino IDE का उपयोग करके M5stick C के साथ घड़ी बनाना - M5stack M5stick-C के साथ RTC रीयल टाइम क्लॉक: 4 कदम](https://i.howwhatproduce.com/images/002/image-3337-33-j.webp)
Arduino IDE का उपयोग करके M5stick C के साथ घड़ी बनाना | M5stack M5stick-C के साथ RTC रियल टाइम क्लॉक: हाय दोस्तों इस निर्देश में हम सीखेंगे कि Arduino IDE का उपयोग करके m5stack के m5stack-C डेवलपमेंट बोर्ड के साथ घड़ी कैसे बनाई जाती है। इसलिए m5stick दिनांक, समय और amp; प्रदर्शन पर महीने का सप्ताह