विषयसूची:

होम ऑटोमेशन के लिए ESP8266-01 IoT स्मार्ट टाइमर: 9 चरण (चित्रों के साथ)
होम ऑटोमेशन के लिए ESP8266-01 IoT स्मार्ट टाइमर: 9 चरण (चित्रों के साथ)
Anonim
होम ऑटोमेशन के लिए ESP8266-01 IoT स्मार्ट टाइमर
होम ऑटोमेशन के लिए ESP8266-01 IoT स्मार्ट टाइमर
होम ऑटोमेशन के लिए ESP8266-01 IoT स्मार्ट टाइमर
होम ऑटोमेशन के लिए ESP8266-01 IoT स्मार्ट टाइमर
होम ऑटोमेशन के लिए ESP8266-01 IoT स्मार्ट टाइमर
होम ऑटोमेशन के लिए ESP8266-01 IoT स्मार्ट टाइमर

अपडेट

२०१८-०९-३०: फर्मवेयर को संस्करण १.०९ में अपडेट किया गया। अब Sonoff बेसिक सपोर्ट के साथ

2018-10-01: फर्मवेयर संस्करण 1.10 परीक्षण ESP8266-01 पर परीक्षण के लिए उपलब्ध मुद्दों के साथ

इंटरनेट ऑफ थिंग्स (IoT) और होम ऑटोमेशन के नए buzzwords के साथ, मैंने अपने घर में और उसके आस-पास की वर्तमान वस्तुओं को देखने का फैसला किया जो किसी प्रकार के डिवाइस के माध्यम से नियंत्रित होती हैं। जो आइटम बाहर खड़े थे, वे निम्नलिखित हैं:

  • स्विमिंग पूल पंप
  • स्विमिंग पूल पानी भराव
  • स्विमिंग पूल और आसपास की रोशनी
  • टीवी/मनोरंजन प्रणाली कैबिनेट रोशनी

इन उपकरणों को नियंत्रित करने के लिए उपयोग की जाने वाली सामान्य वस्तु मानक वॉल प्लग टाइमर हैं। प्रत्येक उपकरण अपने स्वयं के टाइमर से सुसज्जित है, और सभी अलग-अलग स्थानों पर स्थित हैं। तो मैंने इन वस्तुओं को इंटरनेट ऑफ थिंग्स या होम ऑटोमेशन प्रोजेक्ट्स के साथ शुरू करने के लिए क्यों चुना, आप पूछ सकते हैं?

खैर, दक्षिण अफ्रीका में रहने का मतलब है कि बिजली की विफलता एक नियमित घटना है। मेरे घर के आँकड़ों के अनुसार, पिछले एक साल में मुझे 35 बिजली गुल हुई, कुल 40 घंटे। यह आम तौर पर कोई समस्या नहीं है, क्योंकि वर्तमान में स्थापित सभी टाइमर बिजली की विफलता के दौरान समय के लिए बैक-अप बैटरी से सुसज्जित हैं। लेकिन कुछ मुद्दे हैं:

  • ये बैक-अप बैटरियां केवल एक या दो साल तक चलती हैं, फिर टाइमर को बदलना पड़ता है। टाइमर का निर्माण इस तरह किया जाता है कि आंतरिक Ni-Cad बैटरी तक पहुंच प्राप्त करने के लिए टाइमर को नष्ट करने की आवश्यकता होती है।
  • हर बार जब बिजली विफल हो जाती है, तो दोषपूर्ण बैटरी वाले टाइमर को पुन: प्रोग्राम करने और समय निर्धारित करने की आवश्यकता होती है।
  • टाइमर का भौतिक स्थान, जब दीवार सॉकेट में प्लग किया जाता है, तो ऊपर से टाइमर को देखने वाले एलसीडी डिस्प्ले को पढ़ना लगभग असंभव हो जाता है। इसका मतलब है कि टाइमर को अनप्लग करने की जरूरत है, या बिजली की विफलता के बाद टाइमर को सेट या समायोजित करने के लिए मुझे फर्श पर लेटना होगा।

उपरोक्त कारणों से, मैंने अपने स्थानीय होम नेटवर्क से जुड़े IoT स्मार्ट टाइमर के साथ टाइमर को बदलने की संभावना का परीक्षण करने का निर्णय लिया।

विचार एक स्टैंड-अलोन टाइमर डिजाइन करना था, जो कर सकता है:

  • इंटरनेट (IoT) का उपयोग करके वर्तमान समय को स्वचालित रूप से समायोजित करें
  • किसी भी उपयोगकर्ता कार्रवाई के बिना संचालित (स्मार्ट)
  • निर्धारित समय के अनुसार आउटपुट चालू/बंद करें (टाइमर)
  • नेटवर्क के माध्यम से प्रोग्राम करने योग्य और नियंत्रित करने योग्य (होम ऑटोमेशन)

चरण 1: ESP8266-01 डिज़ाइन

ESP8266-01 डिजाइन
ESP8266-01 डिजाइन
ESP8266-01 डिजाइन
ESP8266-01 डिजाइन

डिजाइन एक ESP8266-01 वाईफाई मॉड्यूल का उपयोग करके किया गया था, क्योंकि यह वही है जो मेरे पास उपलब्ध था। अपने सबसे सरल रूप में, ESP8266-01 में चार I/O पिन हैं:

  • GPIO0
  • GPIO2
  • टेक्सास
  • आरएक्स

ESP8266-01 पावर-अप मोड

I/O पिन की तर्क स्थिति का उपयोग यह निर्धारित करने के लिए किया जाता है कि ESP8266-01 किस मोड में बूट होगा। पहला कदम यह निर्धारित करना था कि आउटपुट रिले को चलाने के लिए किस I/O पिन का उपयोग किया जा सकता है।

  • सामान्य पावर अप के लिए, GPIO0 और GPIO2 को लॉजिक हाई पर सेट किया जाना चाहिए। इस प्रकार यह स्पष्ट है कि इन दो पिनों का उपयोग डिजिटल आउटपुट के रूप में नहीं किया जा सकता है।
  • Tx पिन को पावर अप पर आउटपुट के रूप में सेट किया गया है, और आउटपुट उच्च सेट किया गया है। यह टीएक्स पिन पावर अप के दौरान कुछ सीरियल डेटा भी प्रसारित करता है। इस प्रकार, इस पिन का उपयोग आउटपुट के रूप में भी नहीं किया जा सकता है।

केवल शेष पिन Rx पिन है। यह पिन पावर अप पर एक इनपुट के रूप में सेट है, और पावर अप के दौरान इसे उच्च खींचने की आवश्यकता नहीं है। इस प्रकार यह पिन आउटपुट पिन के रूप में उपयोग करने के लिए सबसे उपयुक्त है।

बूट अप

पावर अप के दौरान ESP8266-01 का सही बूट-अप मोड सुनिश्चित करने के लिए, निम्नलिखित पिनों को 10K प्रतिरोधों का उपयोग करके उच्च खींचा जाता है:

  • GPIO0
  • GPIO2
  • आरएसटी
  • सीएच_पीडी

यह सुनिश्चित करता है कि यूनिट हर बार सही ढंग से बूट हो।

आउटपुट रिले

RX एकमात्र पिन है जो आउटपुट के रूप में उपयोग करने के लिए उपयुक्त है। इस प्रकार इस पिन का उपयोग एनपीएन ट्रांजिस्टर के माध्यम से आउटपुट रिले को चलाने के लिए किया जाता है। मानक फ्लाईव्हील डायोड और ट्रांजिस्टर बेस रेसिस्टर्स जोड़े गए।

मोड/सेट बटन

बटन GPIO2 से जुड़ा है, और जारी किए गए बटन के साथ, एक 10K रोकनेवाला GPIO2 को ऊंचा खींचेगा। बटन दबाए जाने पर, GPIO2 को 0V तक खींच लिया जाता है।

इस बटन का उपयोग दो कार्यों के लिए किया जाता है:

  • यूनिट को स्थानीय वाईफाई नेटवर्क से जोड़ने के लिए आरंभिक सेट अप
  • सामान्य संचालन के दौरान आउटपुट को मैन्युअल रूप से नियंत्रित करने के लिए

संकेत एलईडी

एलईडी GPIO0 से जुड़ा है, और निम्नलिखित इंगित करता है:

  • आरंभिक पावर अप पर, वाईफाई सेटअप मोड को इंगित करने के लिए तेजी से चमकता है
  • जब यूनिट का समय सेट नहीं होता है तो फ्लैश धीमा होता है
  • आउटपुट रिले चालू / बंद स्थिति को इंगित करता है

चरण 2: बिजली की आपूर्ति

पावर सप्लाय
पावर सप्लाय
पावर सप्लाय
पावर सप्लाय
पावर सप्लाय
पावर सप्लाय

मैं विभिन्न वोल्टेज स्तरों पर IoT स्मार्ट टाइमर का उपयोग करूंगा, इसलिए बिजली आपूर्ति के दो विकल्प उपलब्ध हैं:

12 - 24 वी डीसी

उपयोग किया गया DC-DC कनवर्टर 28V DC तक की आपूर्ति के लिए उपयुक्त है। कनवर्टर का आउटपुट समायोज्य है, और 5V पर सेट है। ESP8266 मॉड्यूल कनेक्ट होने से पहले इसे करने की आवश्यकता है।

आपूर्ति इनपुट पर रिवर्स पोलरिटी से बचाने के लिए एक डायोड जोड़ा गया था।

220V ACइस विकल्प के लिए, मैं eBay पर एक छोटी 220V/5V स्विच मोड बिजली की आपूर्ति प्राप्त करने में सक्षम था।

इनपुट वोल्टेज के बावजूद, IoT स्मार्ट टाइमर को दो बिजली की आपूर्ति की आवश्यकता होती है:

5वी रेल

दोनों विकल्पों के साथ, 5V DC एक स्विच्ड मोड बिजली की आपूर्ति से प्राप्त किया जाता है, न कि एक रैखिक नियामक से। इसका मतलब है कि बिजली की आपूर्ति से न्यूनतम गर्मी उत्पन्न होती है। 5V का उपयोग आउटपुट रिले को चलाने के लिए किया जाता है

3.3V रेल

ESP8266-01 के लिए 3.3V ASM1117 3.3 रेगुलेटर से प्राप्त किया गया है। ASM1117 3.3 एक रैखिक नियामक है, और 500mA तक संभाल सकता है। हालाँकि, उत्पन्न ऊष्मा ASM1117 के इनपुट वोल्टेज द्वारा निर्धारित की जाएगी। गर्मी कम करने के लिए, ASM1117 को 5V रेल से संचालित किया जाता है।

शोर फ़िल्टरिंग

ESP8266-01 में वोल्टेज तरंग को कम करने के लिए, 3.3V रेल को 100 - 1000uf कैपेसिटर से सुसज्जित किया गया है। 5V और 3.3V रेल दोनों को 0.1uf कैपेसिटर द्वारा उच्च आवृत्ति हस्तक्षेप से भी सुरक्षित किया जाता है।

चरण 3: पीसी बोर्ड को असेंबल करना

पीसी बोर्ड को असेंबल करना
पीसी बोर्ड को असेंबल करना
पीसी बोर्ड को असेंबल करना
पीसी बोर्ड को असेंबल करना
पीसी बोर्ड को असेंबल करना
पीसी बोर्ड को असेंबल करना

पीसी बोर्ड को ईगल के फ्रीवेयर संस्करण का उपयोग करके डिजाइन किया गया था। यह एक तरफा बोर्ड है, जिसे टोनर ट्रांसफर विधि का उपयोग करके घर पर आसानी से बनाया जा सकता है।

एक बार पीसी बोर्ड बन जाने के बाद, पीसी बोर्ड को निम्नलिखित क्रम में इकट्ठा करें:

  • बोर्ड के सोल्डर साइड में ASM1117 रेगुलेटर और तीन 0.1uf SMD घटकों को मिलाएं
  • बोर्ड के घटक पक्ष में सिंगल जम्पर जोड़ें
  • प्रतिरोधों और डायोड को जगह में मिलाप
  • ESP8266-01 मॉड्यूल के लिए हेडर जोड़ें
  • एलईडी और बटन के लिए हैडर पिन जोड़ें
  • स्क्रू टर्मिनल जोड़ें
  • हैडर पिन का उपयोग करते हुए, DC/DC कन्वर्टर को बोर्ड से कनेक्ट करें।
  • रिले को जगह में मिलाएं
  • ट्रांजिस्टर और 100uf कैपेसिटर को सोल्डर करके बोर्ड को पूरा करें।

एक बार जब सभी घटकों को बोर्ड में मिला दिया जाता है, तो सभी मिलाप बिंदुओं को सत्यापित करें, और सुनिश्चित करें कि पैड के बीच कोई शॉर्ट सर्किट न हो।

! ! ! महत्वपूर्ण लेख ! ! ! यह सुनिश्चित करने के लिए कि पीसी बोर्ड आउटपुट संपर्कों पर बड़ी धाराओं को संभाल सकता है, रिले संपर्कों और स्क्रू टर्मिनलों के बीच की पटरियों पर एक अच्छी मात्रा में मिलाप लागू करें।

चरण 4: पीसी बोर्ड का परीक्षण

पीसी बोर्ड का परीक्षण
पीसी बोर्ड का परीक्षण

! ! ! सत्ता लागू करने से पहले! ! !

यूनिट से ESP8266-01 मॉड्यूल निकालें। यह 5V आपूर्ति को समायोजित करने से पहले ASM1117 रेगुलेटर के ओवरहीटिंग को रोकने के लिए है।

असेंबली के बाद बहुत सारे परीक्षण नहीं किए जा सकते हैं। सही वोल्टेज स्तर सुनिश्चित करने के लिए सबसे महत्वपूर्ण कदम है।

  • यूनिट में 12 - 24 वी डीसी लागू करें।
  • डीसी / डीसी कनवर्टर के आउटपुट वोल्टेज को मापें
  • कनवर्टर के आउटपुट को 5.0 और 5.5V के बीच समायोजित करें।
  • अगला, 3.3V आपूर्ति को मापें।
  • अगर आपूर्ति ठीक है, तो यूनिट से बिजली हटा दें

अब आप दिए गए हेडर में ESP8266-01 मॉड्यूल सम्मिलित कर सकते हैं।

! ! ! ध्यान दें !

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

चरण 5: संलग्नक

संलग्नक
संलग्नक
संलग्नक
संलग्नक
संलग्नक
संलग्नक

संलग्नक उतना महत्वपूर्ण नहीं है, जब तक कि पीसी बोर्ड और सभी वायरिंग इसमें बड़े करीने से और सुरक्षित रूप से फिट हो जाते हैं।

निर्माण को आसान बनाने के लिए, मैंने एलईडी और मोड/सेटअप बटन से जुड़ी एक केबल बनाई है। इसने मुझे एलईडी और बटन को बाड़े में घुमाने में अधिक लचीलापन दिया। इस केबल को फिर पीसी बोर्ड पर हेडर में प्लग किया जाता है।

तस्वीरें एलईडी रोशनी के लिए उपयोग की जाने वाली 12 वी इकाइयों में से एक दिखाती हैं।

चरण 6: ESP8266-01/NodeMCU प्रोग्रामिंग

ESP8266-01/NodeMCU प्रोग्रामिंग
ESP8266-01/NodeMCU प्रोग्रामिंग
ESP8266-01/NodeMCU प्रोग्रामिंग
ESP8266-01/NodeMCU प्रोग्रामिंग
ESP8266-01/NodeMCU प्रोग्रामिंग
ESP8266-01/NodeMCU प्रोग्रामिंग

ESP8266-01 को प्रोग्राम करने के लिए, आपको पहले Arduino IDE सेट करना होगा। मैं इस विवरण में नहीं जा रहा हूँ, क्योंकि इस विषय पर बहुत सारे महान अनुदेशक उपलब्ध हैं। मैंने लेखकों के लिए किसी विशेष आदेश के बिना, संदर्भ के लिए इंस्ट्रक्शंस पर निम्नलिखित लिंक चुने हैं। उनके व्यक्तिगत अनुदेशों के लिए धन्यवाद।

ESP8266 मॉड्यूल के लिए Arduino IDE सेट करने के लिए इस ESP8266 और Arduino IDE का पालन करें।

इसके बाद, आपको ESP8266 प्रोग्राम करने के लिए एक प्रोग्रामर की आवश्यकता होगी। यहाँ दो लिंक हैं:

Arduino Uno. का उपयोग करना

DIY प्रोग्रामिंग बोर्ड

पुस्तकालयों

कोड को संकलित करने में सक्षम होने के लिए आपको अतिरिक्त पुस्तकालय स्थापित करने की आवश्यकता होगी। फिर से, इस निर्देश को देखें:

Arduino लाइब्रेरी स्थापित करें और उपयोग करें

मुझे याद नहीं है कि मुझे किन पुस्तकालयों को स्थापित करना था, लेकिन मुझे पता है कि WiFiManager को अलग से डाउनलोड किया जाना चाहिए.. मैंने इन्हें Libraries.zip फ़ाइल में शामिल किया है।

चरण 7: पहली बार सेटअप

पहली बार सेटअप
पहली बार सेटअप
पहली बार सेटअप
पहली बार सेटअप
पहली बार सेटअप
पहली बार सेटअप

जब पहली बार उपयोग किया जाता है, तो IoT स्मार्ट टाइमर को WiFi नेटवर्क से कनेक्ट करने की आवश्यकता होती है। यह कार्य WiFiManager लाइब्रेरी का उपयोग करके किया जाता है, इसलिए कोड में कोई SSID या पासवर्ड टाइप करने की आवश्यकता नहीं है।

इन कुछ चरणों का पालन करें:

  • यूनिट को पावर दें
  • एलईडी तेजी से चमकने लगेगी
  • मोड/सेटअप बटन दबाएं
  • जब एलईडी बंद हो जाए, तो बटन छोड़ दें
  • कुछ सेकंड प्रतीक्षा करें, फिर अपना स्मार्टफोन या डिवाइस वाईफाई कनेक्शन खोलें
  • IoT Timer नाम का एक नया WiFi नेटवर्क दिखाई देगा
  • इस पहुंच बिंदु का चयन करें
  • IoT टाइमर पर लॉग ऑन करें (पासवर्ड की आवश्यकता नहीं है)
  • तब तक प्रतीक्षा करें जब तक आपका डिवाइस IoT टाइमर नेटवर्क से कनेक्ट न हो जाए
  • कोई भी इंटरनेट ब्राउज़र खोलें
  • एड्रेस बार में, निम्न आईपी एड्रेस टाइप करें - 192.168.4.1
  • WiFiManager कंसोल खुलेगा
  • वाईफाई कॉन्फ़िगर करें का चयन करें
  • उपलब्ध वाईफाई नेटवर्क बिंदुओं के साथ एक सूची प्रदर्शित की जाएगी
  • आवश्यक वाईफाई नेटवर्क का चयन करें, और पासवर्ड टाइप करें
  • इसके बाद, वह IP पता दर्ज करें जिसका उपयोग आप IoT टाइमर से कनेक्ट करने के लिए करना चाहते हैं
  • मास्क के बाद डिफ़ॉल्ट गेटवे आईपी पता दर्ज करें
  • एक बार सभी सेटिंग्स हो जाने के बाद, सेव बटन पर क्लिक करें
  • नए क्रेडेंशियल सहेजे जाने की पुष्टि करने के लिए एक नई विंडो खुलेगी
  • अपना ब्राउज़र बंद करें

एक बार सहेजे जाने के बाद, IoT टाइमर नेटवर्क बंद हो जाएगा, और यूनिट आपके वाईफाई नेटवर्क से कनेक्ट करने का प्रयास करेगी।

  • अपने स्मार्टफोन या डिवाइस को उसी वाईफाई नेटवर्क से कनेक्ट करें जिसका उपयोग IoT टाइमर के लिए किया जाता है।
  • अपना ब्राउज़र खोलें
  • एड्रेस बार में, अपने IoT टाइमर का IP पता टाइप करें
  • IoT Timer का कॉन्फ़िगरेशन पेज खुलेगा

आपका IoT टाइमर अब उपयोग के लिए तैयार है

चरण 8: IoT टाइमर का सेटअप

IoT टाइमर का सेटअप
IoT टाइमर का सेटअप
IoT टाइमर का सेटअप
IoT टाइमर का सेटअप
IoT टाइमर का सेटअप
IoT टाइमर का सेटअप
IoT टाइमर का सेटअप
IoT टाइमर का सेटअप

IoT टाइमर के बिल्ट-इन वेब पेज में पाँच खंड होते हैं:

स्थिति

यह डिवाइस का नाम, साथ ही टाइमर का वर्तमान समय और आउटपुट स्थिति दिखाता है

साथ ही, इस खंड में टाइमर का ऑपरेटिंग मोड सेट किया गया है। तीन मोड हैं:

  • ऑटो - आउटपुट को विभिन्न टाइमर प्रोग्राम द्वारा नियंत्रित किया जाएगा
  • चालू - आउटपुट चालू है, और मोड परिवर्तित होने तक चालू रहेगा
  • बंद - आउटपुट बंद है, और मोड बदलने तक बंद रहेगा।

कार्यक्रमों

इस खंड में टाइमर के चालू और बंद समय होते हैं। सात कार्यक्रम उपलब्ध हैं, और प्रत्येक कार्यक्रम को व्यक्तिगत रूप से सेट किया जा सकता है।

अगला प्रोग्राम बदलने से पहले, वर्तमान प्रोग्राम में किए गए किसी भी बदलाव को सहेजने के लिए सेव बटन दबाएं।

बटन समारोह

मोड/सेटअप बटन का उपयोग सामान्य ऑपरेशन के दौरान आउटपुट रिले को नियंत्रित करने के लिए किया जा सकता है। यहां, चुनें कि बटन दबाए जाने पर क्या करना चाहिए।

नई सेटिंग्स को सेव करने के लिए सेव बटन दबाने से पहले "अपडेट बटन फंक्शन" बॉक्स पर टिक करें।

विन्यास

यहां, आप IoT Timer का नाम बदल सकते हैं। इससे कई टाइमर के बीच पहचान करना आसान हो जाता है।

यूनिट पर समय एक एनटीपी टाइम सर्वर के माध्यम से इंटरनेट से प्राप्त किया जाता है। सही समय प्रदर्शित करने के लिए, कृपया अपने क्षेत्र में समय क्षेत्र को अपडेट करें।

यदि आप किसी भिन्न NTP समय सर्वर का उपयोग करना चाहते हैं, तो दिए गए स्थान में नया IP पता दर्ज करें।

नई सेटिंग्स को सहेजने के लिए सहेजें बटन दबाने से पहले "अपडेट कॉन्फ़िगरेशन" बॉक्स पर टिक करें।

ध्यान दें

समय क्षेत्र बदलते समय, अगली बार क्वेरी के दौरान ही नया समय सही सेट किया जाएगा। यूनिट हर 5 मिनट में समय को अपडेट करने के लिए तैयार है।

समय समायोजन

कभी-कभी, ऐसा होता है कि एनटीपी टाइम सर्वर हर बार क्वेरी पर प्रतिक्रिया नहीं देता है। यदि एनटीपी सर्वर के माध्यम से समय निर्धारित करने में बहुत अधिक समय लगता है, तो आप समय और तारीख को मैन्युअल रूप से दर्ज कर सकते हैं।

नया समय और तारीख बचाने के लिए सेव बटन दबाने से पहले "अपडेट टाइम" बॉक्स पर टिक करें।

समय तुल्यकालन

पृष्ठ का अंतिम भाग उस समय और दिनांक को इंगित करता है जब पिछली बार NTP समय सर्वर के माध्यम से सिंक्रनाइज़ किया गया था।

सिफारिश की: