विषयसूची:

बिजली और गैस मीटर (बेल्जियम/डच) पढ़ें और थिंग्सपीक पर अपलोड करें: 5 कदम
बिजली और गैस मीटर (बेल्जियम/डच) पढ़ें और थिंग्सपीक पर अपलोड करें: 5 कदम

वीडियो: बिजली और गैस मीटर (बेल्जियम/डच) पढ़ें और थिंग्सपीक पर अपलोड करें: 5 कदम

वीडियो: बिजली और गैस मीटर (बेल्जियम/डच) पढ़ें और थिंग्सपीक पर अपलोड करें: 5 कदम
वीडियो: Snake trap,short snake,daily trap #snaketrap 2024, जुलाई
Anonim
बिजली और गैस मीटर (बेल्जियम/डच) पढ़ें और थिंग्सपीक पर अपलोड करें
बिजली और गैस मीटर (बेल्जियम/डच) पढ़ें और थिंग्सपीक पर अपलोड करें
बिजली और गैस मीटर (बेल्जियम/डच) पढ़ें और थिंग्सपीक पर अपलोड करें
बिजली और गैस मीटर (बेल्जियम/डच) पढ़ें और थिंग्सपीक पर अपलोड करें

यदि आप अपनी ऊर्जा खपत के बारे में चिंतित हैं या बस थोड़ा सा बेवकूफ हैं, तो आप शायद अपने स्मार्टफोन पर अपने फैंसी नए डिजिटल मीटर से डेटा देखना चाहते हैं।

इस परियोजना में हम बेल्जियम या डच डिजिटल बिजली और गैस मीटर से वर्तमान डेटा प्राप्त करेंगे और इसे थिंग्सपीक पर अपलोड करेंगे। इस डेटा में वर्तमान और दैनिक बिजली की खपत और इंजेक्शन (यदि आपके पास सौर पैनल हैं), वोल्टेज और धाराएं, और गैस की खपत (यदि एक डिजिटल गैस मीटर बिजली मीटर से जुड़ा है) शामिल हैं। एक ऐप के माध्यम से इन मूल्यों को आपके स्मार्टफोन पर वास्तविक समय में पढ़ा जा सकता है।

यह बेल्जियम या डच डिजिटल मीटर के लिए काम करता है जो DSMR (डच स्मार्ट मीटर रिक्वायरमेंट्स) प्रोटोकॉल का पालन करता है, जो सभी हाल के मीटर होने चाहिए। यदि आप कहीं और रहते हैं, दुर्भाग्य से, आपका मीटर संभवतः किसी अन्य प्रोटोकॉल का उपयोग करेगा। इसलिए मुझे डर है कि यह इंस्ट्रक्शनल थोड़ा क्षेत्रीय रूप से प्रतिबंधित है।

हम मीटर के P1-पोर्ट का उपयोग करेंगे, जो एक RJ11/RJ12 केबल को स्वीकार करता है, जिसे बोलचाल की भाषा में टेलीफोन केबल के रूप में जाना जाता है। सुनिश्चित करें कि मीटर के इंस्टॉलर ने P1 पोर्ट को सक्रिय किया है। उदाहरण के लिए, बेल्जियम में फ्लुवियस के लिए इन निर्देशों का पालन करें।

डेटा को संसाधित करने और इंटरनेट पर अपलोड करने के लिए, हम एक ESP8266 का उपयोग करते हैं, जो कि अंतर्निहित वाईफाई के साथ एक सस्ता माइक्रोचिप है। इसकी कीमत केवल 2 डॉलर जैसी है। इसके अलावा इसे Arduino IDE का उपयोग करके प्रोग्राम किया जा सकता है। हम थिंग्सपीक पर क्लाउड में डेटा स्टोर करते हैं, जो अधिकतम चार चैनलों के लिए निःशुल्क है। इस परियोजना के लिए हम केवल एक चैनल का उपयोग करते हैं। IoT ThingSpeak जैसे ऐप का उपयोग करके डेटा को आपके स्मार्टफोन पर प्रदर्शित किया जा सकता है।

भाग:

  • एक ESP8266, एक nodemcu v2. ध्यान दें कि एक मानक ब्रेडबोर्ड के लिए nodemcu v3 बहुत चौड़ा है, इसलिए मैं v2 को पसंद करता हूं।
  • एक माइक्रो यूएसबी से यूएसबी केबल।
  • एक यूएसबी चार्जर।
  • एक BC547b NPN ट्रांजिस्टर।
  • दो 10k रोकनेवाला और एक 1k रोकनेवाला।
  • एक RJ12 स्क्रू टर्मिनल कनेक्टर।
  • एक ब्रेडबोर्ड।
  • जम्पर तार।
  • वैकल्पिक: एक 1nF संधारित्र।

कुल मिलाकर, इसकी कीमत AliExpress या इसी तरह की 15 EUR जैसी है। अनुमान इस बात को ध्यान में रखता है कि कुछ घटक जैसे प्रतिरोधक, ट्रांजिस्टर और तार, इस परियोजना के लिए आपकी आवश्यकता से बहुत अधिक मात्रा में आते हैं। इसलिए यदि आपके पास पहले से ही एक घटक किट है तो यह सस्ता होगा।

चरण 1: ESP8266. को जानना

मैंने NodeMCU v2 को चुना, क्योंकि किसी सोल्डरिंग की आवश्यकता नहीं है और इसमें एक माइक्रो USB कनेक्शन है जो आसान प्रोग्रामिंग की अनुमति देता है। NodeMCU v3 पर NodeMCU v2 का लाभ यह है कि यह ब्रेडबोर्ड पर फिट होने के लिए काफी छोटा है और कनेक्शन बनाने के लिए किनारे पर खाली छेद छोड़ता है। इसलिए बेहतर है कि NodeMCU v3. हालाँकि, यदि आप एक और ESP8266 बोर्ड पसंद करते हैं तो वह भी ठीक है।

ESP8266 को Arduino IDE का उपयोग करके आसानी से प्रोग्राम किया जा सकता है। अन्य अनुदेशक इसे विस्तार से समझा रहे हैं इसलिए मैं यहाँ बहुत संक्षिप्त हूँ।

  • सबसे पहले Arduino IDE डाउनलोड करें।
  • ESP8266 बोर्ड के लिए दूसरा समर्थन स्थापित करें। मेनू में फ़ाइल - वरीयताएँ - सेटिंग्स अतिरिक्त बोर्ड प्रबंधक यूआरएल में यूआरएल https://arduino.esp8266.com/stable/package_esp8266com_index.json जोड़ें। मेनू में अगला उपकरण - बोर्ड - बोर्ड प्रबंधक esp8266 समुदाय द्वारा esp8266 स्थापित करें।
  • तीसरा अपने ESP8266 के निकटतम बोर्ड का चयन करें। मेरे मामले में मैंने NodeMCU v1.0 (ESP 12-E मॉड्यूल) चुना।
  • अंत में टूल्स - फ्लैश साइज के तहत चयन करें, एक आकार जिसमें SPIFFS शामिल है, जैसे 4M (1M SPIFFS)। इस परियोजना में हम दैनिक ऊर्जा मूल्यों को संग्रहीत करने के लिए SPIFFS (SPI फ्लैश फाइल सिस्टम) का उपयोग करते हैं, ताकि ESP8266 शक्ति खो देने पर और यहां तक कि इसे फिर से प्रोग्राम करने पर भी वे खो न जाएं।

अब हमारे पास ESP8266 प्रोग्राम करने के लिए सब कुछ है! हम बाद के चरण में वास्तविक कोड पर चर्चा करेंगे। पहले हम एक थिंग्सपीक खाता बनाएंगे।

चरण 2: एक थिंग्सपीक खाता और चैनल बनाएं

thingspeak.com/ पर जाएं और अकाउंट बनाएं। एक बार जब आप लॉग इन हो जाते हैं तो चैनल बनाने के लिए न्यू चैनल बटन पर क्लिक करें। चैनल सेटिंग्स में आप जैसे चाहें नाम और विवरण भरें। आगे हम चैनल फ़ील्ड को नाम देते हैं और दाईं ओर स्थित चेकबॉक्स पर क्लिक करके उन्हें सक्रिय करते हैं। यदि आप अपरिवर्तित मेरे कोड का उपयोग करते हैं तो फ़ील्ड इस प्रकार हैं:

  • फ़ील्ड 1: आज की अधिकतम खपत (kWh)
  • फील्ड 2: ऑफ-पीक खपत आज (kWh)
  • फील्ड 3: पीक इंजेक्शन आज (kWh)
  • फील्ड 4: ऑफ-पीक इंजेक्शन आज (kWh)
  • फ़ील्ड 5: वर्तमान खपत (डब्ल्यू)
  • फील्ड 6: वर्तमान इंजेक्शन (डब्ल्यू)
  • फील्ड ७: आज गैस की खपत (एम३)

यहां, पीक और ऑफ-पीक बिजली टैरिफ को संदर्भित करता है। फ़ील्ड 1 और 2 में खपत आज शुद्ध बिजली की खपत को संदर्भित करती है: आधी रात के बाद से टैरिफ अवधि में आज बिजली की खपत घटा बिजली का इंजेक्शन (सौर पैनलों द्वारा उत्पादित) आज आधी रात से टैरिफ अवधि में न्यूनतम शून्य के साथ। उत्तरार्द्ध का मतलब है कि अगर खपत से अधिक इंजेक्शन था तो आज मूल्य शून्य है। इसी तरह, फ़ील्ड 3 और 4 में इंजेक्शन से तात्पर्य बिजली के शुद्ध इंजेक्शन से है। फ़ील्ड 5 और 6 वर्तमान समय में शुद्ध खपत और इंजेक्शन का संकेत देते हैं। अंत में फ़ील्ड 7 आधी रात से गैस की खपत है।

भविष्य के संदर्भ के लिए चैनल आईडी, रीड एपीआई कुंजी और एपीआई कुंजी लिखें, जो मेनू एपीआई कुंजी में पाया जा सकता है।

चरण 3: इलेक्ट्रॉनिक सर्किट का निर्माण

इलेक्ट्रॉनिक सर्किट का निर्माण
इलेक्ट्रॉनिक सर्किट का निर्माण
इलेक्ट्रॉनिक सर्किट का निर्माण
इलेक्ट्रॉनिक सर्किट का निर्माण

हम P1 पोर्ट का उपयोग करके बिजली के मीटर को पढ़ते हैं, जो RJ11 या RJ12 केबल लेता है। अंतर यह है कि RJ12 केबल में 6 तार होते हैं जबकि RJ11 में केवल 4 होते हैं। इस परियोजना में हम P1 पोर्ट से ESP8266 को पावर नहीं देते हैं, इसलिए हमें वास्तव में केवल 4 तारों की आवश्यकता होती है, इसलिए RJ11 ऐसा करेगा।

मैंने चित्र में दिखाए गए RJ12 ब्रेकआउट का उपयोग किया। यह थोड़ा चौड़ा है और मेरे मीटर में P1 पोर्ट के आसपास ज्यादा जगह नहीं है। यह फिट बैठता है, लेकिन यह तंग है। वैकल्पिक रूप से, आप केवल RJ11 या RJ12 केबल का उपयोग कर सकते हैं और हेडर को एक छोर से हटा सकते हैं।

यदि आप चित्र के अनुसार ब्रेक-आउट को पकड़ते हैं, तो पिनों को दाएं से बाएं क्रमांकित किया जाता है और उनका निम्न अर्थ होता है:

  • पिन 1: 5 वी बिजली की आपूर्ति
  • पिन 2: डेटा अनुरोध
  • पिन 3: डेटा ग्राउंड
  • पिन 4: कनेक्ट नहीं है
  • पिन 5: डेटा लाइन
  • पिन 6: पावर ग्राउंड

ESP8266 को पावर देने के लिए पिन 1 और पिन 6 का उपयोग किया जा सकता है, लेकिन मैंने इसका परीक्षण नहीं किया है। आपको पिन 1 को ESP8266 के विन से जोड़ना होगा, इसलिए बोर्ड के आंतरिक वोल्टेज नियामक का उपयोग वोल्टेज को 5V से 3.3V तक कम करने के लिए किया जाता है जिसे ESP8266 स्वीकार करता है। इसलिए इसे 3.3V पिन से न जोड़ें, क्योंकि इससे ESP8266 खराब हो सकता है। साथ ही P1 पोर्ट से पावर देने से समय के साथ डिजिटल मीटर की बैटरी खत्म हो जाएगी।

पिन 2 हाई सेट करना मीटर को हर सेकेंड में डेटा टेलीग्राम भेजने के लिए सिग्नल करता है। आधुनिक डिजिटल मीटर (DSMR 4 और 5) के लिए वास्तविक डेटा 115200 की बॉड दर के साथ पिन 5 पर भेजा जाता है। संकेत उलट है (निम्न 1 है और उच्च 0 है)। पुराने प्रकार (DSMR 3 और उससे कम) के लिए दर 9600 बॉड है। ऐसे मीटर के लिए आपको अगले चरण के फर्मवेयर कोड में बॉड दर को बदलना होगा: लाइन बदलें Serial.begin(115200); सेटअप में ()।

एनपीएन ट्रांजिस्टर की भूमिका दो गुना है:

  • सिग्नल को उलटने के लिए ताकि ESP8266 इसे समझ सके।
  • P1-पोर्ट के 5V से तर्क स्तर को ESP8266 के RX पोर्ट द्वारा अपेक्षित 3.3V में बदलने के लिए।

तो ब्रेडबोर्ड पर आरेख के अनुसार इलेक्ट्रॉनिक सर्किट बनाएं। संधारित्र स्थिरता बढ़ाता है, लेकिन यह बिना भी काम करता है।

जब तक आप अगले चरण में ESP8266 को प्रोग्राम नहीं कर लेते, तब तक RX पिन को कनेक्ट करना बंद कर दें। दरअसल, ESP8266 और आपके कंप्यूटर के बीच USB पर संचार करने के लिए RX पिन की भी आवश्यकता होती है।

चरण 4: कोड अपलोड करें

मैंने GitHub पर कोड उपलब्ध कराया है, यह सिर्फ एक फ़ाइल है: P1-Meter-Reader.ino। बस इसे डाउनलोड करें और इसे Arduino IDE में खोलें। या आप फ़ाइल - नया का चयन कर सकते हैं और कोड को कॉपी/पेस्ट कर सकते हैं।

फ़ाइल की शुरुआत में आपको कुछ जानकारी भरनी होगी: उपयोग करने के लिए WLAN का नाम और पासवर्ड, और चैनल आईडी और थिंगस्पीक चैनल की एपीआई कुंजी लिखें।

कोड निम्नलिखित करता है:

  • प्रत्येक UPDATE_INTERVAL (मिलीसेकंड में) मीटर से डेटा टेलीग्राम पढ़ता है। डिफ़ॉल्ट मान हर 10 सेकंड में होता है। आम तौर पर, मीटर से हर सेकंड एक डेटा टेलीग्राम होता है, लेकिन आवृत्ति को उच्च पर सेट करने से ESP8266 ओवरलोड हो जाएगा, इसलिए यह अब वेबसर्वर नहीं चला सकता है।
  • हर SEND_INTERVAL (मिलीसेकंड में) थिंग्सपीक चैनल पर बिजली डेटा अपलोड करता है। डिफ़ॉल्ट मान हर मिनट है। इस आवृत्ति के बारे में निर्णय लेने के लिए ध्यान रखें कि डेटा भेजने में कुछ समय लगता है (आमतौर पर कुछ सेकंड) और थिंग्सपीक पर एक मुफ्त खाते के लिए अद्यतन आवृत्ति की एक सीमा होती है। यह प्रति दिन लगभग ८२०० संदेश हैं, इसलिए यदि आप किसी अन्य चीज़ के लिए थिंग्सपीक का उपयोग नहीं करते हैं तो अधिकतम आवृत्ति हर १० सेकंड में लगभग एक बार होगी।
  • जब यह बदलता है तो गैस डेटा अपलोड करता है। आमतौर पर, मीटर हर 4 मिनट में गैस की खपत के आंकड़ों को अपडेट करता है।
  • मीटर शुरू से ही कुल खपत और इंजेक्शन मूल्यों का ट्रैक रखता है। तो दैनिक खपत और इंजेक्शन प्राप्त करने के लिए, कोड हर दिन मध्यरात्रि में कुल मूल्यों को बचाता है। फिर इन मूल्यों को वर्तमान कुल मूल्यों से घटाया जाता है। मध्यरात्रि के मूल्यों को SPIFFS (SPI फ्लैश फाइल सिस्टम) में संग्रहीत किया जाता है, जो तब भी बना रहता है जब ESP8266 शक्ति खो देता है या यहां तक कि जब इसे पुन: प्रोग्राम किया जाता है।
  • ESP8266 एक मिनी वेबसर्वर चलाता है। यदि आप अपने ब्राउज़र में इसका आईपी पता खोलते हैं, तो आपको सभी मौजूदा बिजली और गैस मूल्यों का अवलोकन मिलता है। ये सबसे हाल के टेलीग्राम से हैं और इसमें ऐसी जानकारी शामिल है जो थिंग्सपीक पर अपलोड नहीं की गई है, जैसे वोल्टेज और धारा प्रति चरण। डिफ़ॉल्ट सेटिंग यह है कि आईपी पता गतिशील रूप से आपके राउटर द्वारा निर्धारित किया जाता है। लेकिन स्थिर आईपी पते का उपयोग करना अधिक सुविधाजनक है, जो हमेशा समान होता है। इस मामले में आपको कोड में स्टेटिकआईपी, गेटवे, डीएनएस और सबनेट भरना होगा और लाइन वाईफाई.कॉन्फिग (स्टैटिकआईपी, डीएनएस, गेटवे, सबनेट) को अनकम्मेंट करना होगा; समारोह में ConnectWifi() ।

इन परिवर्तनों को करने के बाद, आप फर्मवेयर को ESP8266 पर अपलोड करने के लिए तैयार हैं। USB केबल के माध्यम से ESP8266 को अपने कंप्यूटर से कनेक्ट करें और Arduino IDE में तीर के साथ आइकन दबाएं। यदि आप ESP8266 से कनेक्ट करने का प्रबंधन नहीं करते हैं, तो मेनू टूल्स - पोर्ट के तहत COM पोर्ट को बदलने का प्रयास करें। यदि यह अभी भी काम नहीं करता है तो संभव है कि आपको USB वर्चुअल COM पोर्ट के लिए ड्राइवर को मैन्युअल रूप से इंस्टॉल करना होगा।

चरण 5: परीक्षण

फर्मवेयर अपलोड करने के बाद, USB को अनप्लग करें और ESP8266 के RX वायर को कनेक्ट करें। याद रखें, फर्मवेयर अपलोड करने के लिए हमें ESP8266 के RX चैनल की आवश्यकता थी, इसलिए हमने इसे पहले कनेक्ट नहीं किया था। अब डिजिटल मीटर में RJ12 ब्रेकआउट प्लग इन करें और ESP8266 को अपने कंप्यूटर से दोबारा कनेक्ट करें।

Arduino IDE में, टूल मेनू के माध्यम से सीरियल मॉनिटर खोलें और सुनिश्चित करें कि यह 115200 बॉड पर सेट है। यदि आपको बॉड दर बदलनी है, तो शायद आपको सीरियल मॉनिटर के काम करने से पहले उसे फिर से बंद करना और फिर से खोलना होगा।

अब आपको सीरियल मॉनिटर में कोड का आउटपुट देखना चाहिए। आपको जांचना चाहिए कि कहीं कोई त्रुटि संदेश तो नहीं है। इसके अलावा, आपको टेलीग्राम देखने में सक्षम होना चाहिए। मेरे लिए वे इस तरह दिखते हैं:

/FLU5\xxxxxxxxx_x

0-0:96.1.4(50213) 0-0:96.1.1(3153414733313030313434363235) // सीरियल नंबर मीटर हेक्साडेसिमल 0-0:1.0.0(200831181442S) // टाइमस्टैम्प एस: डेलाइट सेविंग्स (ग्रीष्मकालीन), डब्ल्यू: नहीं दिन के उजाले की बचत (सर्दियों) 1-0:1.8.1(000016.308*kWh) // कुल अधिकतम शुद्ध खपत 1-0:1.8.2(000029.666*kWh) // कुल ऑफ-पीक शुद्ध खपत 1-0:2.8.1 (000138.634*kWh) // टोटल पीक नेट इंजेक्शन 1-0:2.8.2(000042.415*kWh) // टोटल ऑफ-पीक नेट इंजेक्शन 0-0:96.14.0(0001) // टैरिफ 1: पीक, 2: ऑफ-पीक 1-0: 1.7.0 (00.000 * किलोवाट) // वर्तमान खपत 1-0: 2.7.0 (00.553 * किलोवाट) // वर्तमान इंजेक्शन 1-0: 32.7.0 (235.8 * वी) // चरण 1 वोल्टेज 1-0: 52.7.0 (237.0 * वी) // चरण 2 वोल्टेज 1-0: 72.7.0 (237.8 * वी) // चरण 3 वोल्टेज 1-0: 31.7.0 (001 * ए) // चरण 1 वर्तमान 1-0: 51.7.0 (000 * ए) // चरण 2 वर्तमान 1-0: 71.7.0 (004 * ए) // चरण 3 वर्तमान 0-0: 96.3.10 (1) 0-0:17.0.0(999.9*kW) // मैक्स पावर 1-0:31.4.0(999*A) // मैक्स करंट 0-0:96.13.0() // मैसेज 0-1:24.1.0(003) // एम-बस पर अन्य डिवाइस 0-1: 96.1.1 (37464C4F32313230313037393338) // सीरियल नंबर गैस मेट r हेक्साडेसिमल 0-1:24.4.0(1) 0-1:24.2.3(200831181002S)(00005.615*m3) // गैस टाइमस्टैम्प कुल खपत !E461 // CRC16 चेकसम

यदि कुछ गड़बड़ है, तो आप जांच सकते हैं कि क्या आपके पास समान टैग हैं और आपको संभवतः readTelegram फ़ंक्शन में टेलीग्राम को पार्स करने वाले कोड को बदलना होगा।

अगर सब कुछ काम करता है तो अब आप यूएसबी चार्जर से esp8266 को पावर कर सकते हैं।

अपने स्मार्टफोन पर IoT थिंगस्पीक मॉनिटर ऐप इंस्टॉल करें, चैनल आईडी भरें और एपीआई कुंजी पढ़ें और आपका काम हो गया!

सिफारिश की: