
यह सब उसके साथ शुरू हुआ। देश में पहली ऑटोमेशन के लिए एलिएक्सप्रेस पर यह मेरी पहली खरीद थी - मैं ग्रीनहाउस में ऑटोवेट बनाना चाहता था। टाइमर एक टूटे हुए सुरक्षात्मक टोपी के साथ, लेकिन काम कर रहे एक अफवाह वाले बॉक्स में आया था। उन्होंने पूरी गर्मी के मौसम में खीरे को पानी पिलाने का काम किया। उन्हें हटा दिया गया और सर्दियों के लिए एक गर्म और शुष्क जगह में छिपा दिया गया। लेकिन अगले सीज़न मैं एक अप्रिय आश्चर्य की प्रतीक्षा कर रहा था - टाइमर लटकना शुरू कर दिया, नियंत्रण बटन पर प्रतिक्रिया करना बंद कर दिया और पानी खोल दिया। सबसे पहले मैंने सस्ती बैटरी पर पाप किया और उन्हें ब्रांडेड ड्यूरेसेल से बदल दिया। मुझे लगा कि समस्या शक्ति और अशुभ धाराएं हैं। इसने मदद नहीं की फिर मैंने एक टांका लगाने वाला लोहा निकाला और उसमें जो कुछ भी मैं कर सकता था, सब कुछ मिला दिया, यहां तक कि कुछ लापता कैपेसिटर भी जोड़े। लेकिन वह लगातार हठ करता रहा। दुर्भाग्य से, उत्पाद बहुत बनाए रखने योग्य नहीं है - इसमें मैंने एक ओपन-सर्किट माइक्रोक्रेसीट ड्रॉप का इस्तेमाल किया है और, जाहिर है, माइक्रोक्रिसिट के साथ यौगिक के तहत कुछ ठीक से अनमाउंट किया गया था। किसी भी तरह इस तरह के एक भयावह टाइमर के साथ मौसम खत्म हो गया था, और मैं यह सोचना शुरू कर दिया कि मुझे इसके साथ क्या बदलना चाहिए।
मेरा पहला विचार एक Arduino Mini मॉड्यूल, एक घड़ी मॉड्यूल, एक संकेतक, और किसी तरह टूटे हुए टाइमर के मामले में सभी को हिलाकर अपने मूल मोटर और गेंद वाल्व का उपयोग करने के लिए था। लेकिन किसी तरह यह वास्तव में वहाँ नहीं गया, यह मूल भरने की तुलना में अधिक स्पष्ट रूप से खपत करेगा (जिसका अर्थ है कि आप मामले में बैटरी के बारे में भूल सकते हैं) और यह उबाऊ था और स्केलेबल नहीं था - मैं न केवल ग्रीनहाउस को पानी देना चाहता था, बल्कि केवल एक टूटा हुआ टाइमर।
और फिर अली पर, मैं एक सामान्य मोटर चालित गेंद वाल्व में आया। यहाँ इस तरह के एक सुंदर आदमी है:

हां, इसमें अच्छा पैसा खर्च होता है, लेकिन इसे गर्मियों में पानी की आपूर्ति से जोड़ने और इसे एक सप्ताह के लिए अप्राप्य छोड़ने के लिए डरावना नहीं था। यह आमतौर पर काफी ठोस होता है, एक प्लास्टिक गियरबॉक्स के साथ - अब इस तरह के कुछ नल मेरे मुख्य पानी की आपूर्ति पर काम करते हैं, जहां दबाव 5 एटीएम है।
विचार सरल था। ESP8266 वाईफाई मॉड्यूल वाला एक रूमाल तालिका के दराज में इंतजार कर रहा था। उपयोग की गई कार बैटरी के पक्ष में बिजली की बचत को छोड़ने का निर्णय लिया गया था, जो कि गणना के अनुसार, बैटरी जीवन के कम से कम एक महीने के लिए पर्याप्त होना चाहिए। बैटरी निर्वहन के क्षण को याद नहीं करने के लिए, सर्किट में एक डिवाइडर प्रदान किया गया था जिसके माध्यम से निर्मित ईएसपी 8266 एडीसी ने आपूर्ति वोल्टेज को लगातार मापा। । बैटरी के साथ DS3231 मॉड्यूल को सर्किट में एक घड़ी के रूप में कार्य करना चाहिए था, और प्रति मीटर / सेकंड MP1584EN के लिए एक रूमाल को 12V से 3.3V तक वोल्टेज कम करना चाहिए था।
यहाँ एक प्रोटोटाइप ब्लॉक आरेख है:

और यहां इसके कार्यान्वयन की एक तस्वीर है
पहले से ही एक छोटा सा कार्यान्वयन - डीसी-डीसी मॉड्यूल क्रेन में चला गया, ब्रेडबोर्ड के पीछे घड़ी मॉड्यूल क्रेन मोटर नियंत्रण बस यहां किया गया था - जो ट्रांजिस्टर टेबल के दराज में पाए गए थे, उन्हें स्थापित किया गया था। वास्तव में, एक मोटर को नियंत्रित किया जा सकता है, उदाहरण के लिए, मीटर / ULN2003 के माध्यम से समानांतर में कई चैनलों पर स्विच करके या तो तार्किक नियंत्रण वाले या सामान्य रूप से ऑप्टो-अलगाव के साथ रिले मॉड्यूल के माध्यम से क्षेत्र-प्रभाव ट्रांजिस्टर के साथ। केवल यह ध्यान रखना आवश्यक है कि मोटर, लगभग 70 mA के ऑपरेटिंग करंट के साथ, 300-350 mA के क्रम में एक चालू (और घुमाव अवरोधक के समय) में एक चालू (वर्तमान) है।
Arduino में एक साधारण वेब इंटरफ़ेस के साथ एक त्वरित स्केच लिखा जाएगा:

और प्रोटोटाइप टेस्ट ड्यूटी पर खड़ा था। मैंने राउटर के माध्यम से क्रेन के वेब इंटरफेस को आगे बढ़ाया और डिवाइस लगातार ऑनलाइन उपलब्ध था।
और विचार चलता रहा। एक प्रोटोटाइप अच्छा है, लेकिन मुझे इनमें से कई नल चाहिए और ब्रेडबोर्ड पर यह सब करना एक विकल्प नहीं है। क्रेन को खोल दिया गया है। और यह स्पष्ट हो गया कि एक सील कवर के तहत अंदर बहुत जगह है और यहां तक कि फिक्सिंग स्थान भी हैं:

उस नल में जिसका उपयोग प्रोटोटाइप में किया गया था, कवर के नीचे एक रिले के साथ एक छोटा सर्किट बोर्ड था, जो नियंत्रण तर्क प्रदान करता था। और फोटो में इंडेक्स CR05 के साथ एक क्रेन है। इन नलों में कोई तर्क या सर्किट बोर्ड नहीं है। मोटर नियंत्रण तारों और सीमा स्विच तारों को बस वापस ले लिया जाता है। और आपको मोटर पर वोल्टेज की ध्रुवीयता को बदलकर ऐसे क्रेन को नियंत्रित करने की आवश्यकता है। उसी समय, टीसी के समापन बिंदु पर समापन / उद्घाटन के क्षणों को नियंत्रित करने के लिए अत्यधिक सलाह दी जाती है, हमें याद है कि इन क्षणों में वर्तमान पहले से ही 300-350 एमए है।
ब्लॉक आरेख इस तरह से लूम करने लगा:

अब हम कैलिपर, कागज की एक शीट को अपने हाथों में लेते हैं और माप लेना शुरू करते हैं, मुद्रित सर्किट बोर्ड की रूपरेखा खींचते हैं और उस पर घटकों को रखने की कोशिश करते हैं। एक बड़ी CR2032 बैटरी को छोड़ दिया गया था और एक छोटी CR1220 (या 1225) का उपयोग किया गया था। बहुत लंबे समय के लिए, मोटर को नियंत्रित करने के लिए एक एच-ब्रिज चिप का चयन किया गया था। पसंद बड़ी लगती है, लेकिन इनमें से बहुत सारे माइक्रोक्रिस्केट या तो 12V आपूर्ति वोल्टेज के साथ काम नहीं कर सकते हैं, या वे बहुत बड़े वोल्टेज ड्रॉप के साथ द्विध्रुवी ट्रांजिस्टर का उपयोग करते हैं, अच्छी तरह से, या मामला असफल है। पहली बार में टीबी 6612 चिप ने मेरी आंख को लंबे समय तक नहीं पकड़ा था, और फिर यह टांका लगाने के लिए बहुत अनावश्यक और असुविधाजनक लग रहा था। लेकिन अंत में मैंने उस पर ध्यान केंद्रित किया - यह अली पर सस्ती और सस्ती है। एच-ब्रिज वहाँ क्षेत्र-प्रभाव ट्रांजिस्टर पर बनाया गया है और 15 वोल्ट तक के वोल्टेज पर काम कर सकता है। DC-DC कनवर्टर मॉड्यूल (MP1584EN) मॉड्यूल द्वारा छोड़ा गया था - यह केवल विवरणों में सस्ता निकला और इसे मिलाप करना आसान था। विश्वसनीयता के लिए, मुख्य बात यह है कि इसमें ट्यूनिंग रोकनेवाला को एक स्थिर (27kOhm - के साथ-साथ यह 3.4V का आउटपुट वोल्टेज देगा) को बदलने के लिए। घड़ी के माइक्रोकिरिचट का उपयोग अधिक कॉम्पैक्ट मामले में किया जा सकता है, लेकिन एक कैविएट था - मैं अली के लिए सभी घटकों को ऑर्डर करने जा रहा था और होने का जोखिम था। नकली या टूटे हुए सर्किट। इसलिए, प्रारंभिक चरण में, विकसित बोर्ड में तैयार मॉड्यूल और मिलाप के हिस्से के रूप में सभी माइक्रोक्रिस्केट खरीदने की योजना बनाई गई थी। और मॉड्यूल में, घड़ी केवल SO16 मामले में थी। वास्तव में, केवल एक घड़ी microcircuit दोषपूर्ण या खराब नकली निकला - इसकी क्वार्ट्ज आवृत्ति 32768 32768 kHz सेट के साथ थी।
सभी तैयारी के काम के बाद, हम KiKad लेते हैं, लापता सीटों की तलाश में थोड़ा सा गूगल करते हैं, कुछ घटकों को स्वयं खींचते हैं और बैंक में प्रजनन करना शुरू करते हैं:

हम इसे 1: 1 के पैमाने पर प्रिंट करके जाँचते हैं। हम भागों और मॉड्यूल संलग्न करते हैं और, यदि सभी मैच होते हैं, तो हम उत्पादन के लिए Gerber-files तैयार करते हैं और EasyEda को भेजते हैं। 3 सप्ताह के बाद, हम 10 प्यारा रूमाल प्राप्त करते हैं और उन्हें इकट्ठा करते हैं।
फोटो में 5 बचे हैं, बाकी सब काम करते हैं
मॉड्यूल विधानसभाफास्टनरों के लिए छेद, निश्चित रूप से, थोड़ा भी मेल नहीं खाता है, कुछ सीटें ऐसी नहीं थीं जो वे चाहते थे, लेकिन सामान्य तौर पर, विधानसभा और फर्मवेयर के बाद, उत्पाद ने तुरंत काम किया। अली पर हरमेटिक पावर टेल खरीदी गई थी, जो बिल्डिंग में एक मानक दबाव सील से होकर गुजरी थी, और वाईफाई क्रेन टाइमर को इसका कारखाना रूप मिला:

यहां देश में युद्धक ड्यूटी पर कुछ क्रेनें हैं:
लेकिन फिर विचार फिर से चला। मैं देश में अधिक स्वचालन चाहता था, और मॉड्यूल काफी कॉम्पैक्ट और सार्वभौमिक निकला। एच-ब्रिज के माध्यम से आप एक पारंपरिक रिले को आसानी से नियंत्रित कर सकते हैं। DIY स्वचालन के लिए, बहुत से सोनऑफ लेते हैं, लेकिन यह पता चला है कि मैं खुद भी कोई बुरा नहीं कर सकता।
और यहां एक सरल वाई-फाई टैप का रूपांतरण शुरू हो गया है, जिसे कोडनाम
SHAPEsp में लिखा गया है -
एस्प 8266 आधारित
एस मार्ट
एच ओमे के लिए
एक utomation
P अक्षांश। जैसा कि योजना बनाई गई है, यह घर स्वचालन के लिए एक सस्ता सार्वभौमिक मॉड्यूल बनना चाहिए। और यह सब विश्वसनीय होना चाहिए और एक किफायती मामले में विधानसभा के बाद एक तैयार उत्पाद की तरह दिखना चाहिए।
हैरानी की बात है, यह पता चला है कि एक 2DIN इकाई पर Aliexpress के साथ चीनी मामला ठीक है, शरीर में शरीर, लोकप्रिय AC / DC 220V / 12V HiLink कनवर्टर (अच्छी तरह से, या उसके क्लोन), रिले और पावर कनेक्टर, और निश्चित रूप से मेरे थोड़े से रीमास्टर्ड मॉड्यूल के साथ फिट बैठता है ESP8266, घड़ी और एच-ब्रिज।
तीन करो
मॉड्यूल को क्रेन बॉडी और डीआईएन रैक आवास दोनों में स्थापित किया जा सकता है और हम प्राप्त करते हैं:

थोड़ा मॉड्यूल के आकार को बदल दिया। मैंने इसमें एज कनेक्टर्स को जोड़ा ताकि यह सिर्फ 2DIN पैकेज में सीधा खड़ा हो सके। मैंने बोर्ड के ऊपरी छोर पर संकेतक एलईडी लगाए, जो एक प्लास्टिक के मामले में प्रकाश में दिखाई देते हैं। खैर, मैंने रिले और पावर स्रोत के लिए मीडिया बोर्ड का प्रसार किया। इसे सस्ता बनाने के लिए, यह सब एक बोर्ड के साथ उत्पादन के लिए भेजा गया था:

मैंने ऐसे दो प्रोटोटाइप इकट्ठे किए और उन्हें सर्दियों के आगमन के लिए convectors के समावेश को नियंत्रित करने के लिए कॉटेज में डाल दिया:
एक अन्य पोस्ट में
पैनल में मॉड्यूल में से एक, संपर्ककर्ताओं की एक जोड़ी के बगल में जिसमें कॉन्वेक्टर शामिल हैं लेकिन फिर उसने इसे और भी बेहतर बनाने और इसे और अधिक सार्वभौमिक बनाने का फैसला किया। अधिक विश्वसनीय और सुविधाजनक फर्मवेयर के लिए, मैंने मॉड्यूल पर NodeMcu से फर्मवेयर स्कीम रखी। उन्होंने विभिन्न सेंसर को जोड़ने की सुविधा के लिए सभी संभव पिनों को जोड़ा और संपर्क पैड को जोड़ा। सभी किनारे पिन 2.54 मिमी वेतन वृद्धि में रखे गए हैं, ताकि मॉड्यूल को ब्रेडबोर्ड ब्रेडबोर्ड में डाला जा सके। स्वाभाविक रूप से मैंने ds1820 थर्मामीटर, संयुक्त BME280 सेंसर और तुलनित्र पर आर्द्रता सेंसर के कनेक्शन का परीक्षण किया। यह पता चला कि, रिले या क्रेन के साथ एक साधारण टाइमर के अलावा, आप आसानी से एक मौसम स्टेशन का निर्माण कर सकते हैं या उदाहरण के लिए एक्वास्टॉप सिस्टम। खैर, अन्य अधिसूचना और नियंत्रण प्रणाली के सभी प्रकार ...
दूर ले जाया गया, फ्रिटिंग के लिए अपने मॉड्यूल का एक मॉडल आकर्षित किया। इसलिए आप वस्तुतः विभिन्न एप्लिकेशन विकल्पों का मूल्यांकन और उन्हें घुमा सकते हैं:

गिटहब मॉडल का एक लिंक लेख के निचले भाग में है।
खैर, फिर सबसे कठिन हिस्सा शुरू होता है - मॉड्यूल के लिए सॉफ़्टवेयर समर्थन। प्रारंभ में, मैंने अपने सरल अरुडिनो स्केच के साथ सब कुछ जांचा और परखा। सरल HTML, थोड़ा जावा स्क्रिप्ट, डेटा संचारित करने के विभिन्न सरल तरीके, केवल एक टाइमर की कार्यक्षमता और कुछ सेंसर जो मुझे चाहिए। लेकिन बहुत जल्दी यह स्पष्ट हो गया कि IoT और स्मार्ट हाउस बिल्डिंग की आधुनिक दुनिया में हर चीज और हर चीज में महारत हासिल करना इतना आसान नहीं होगा। और सिर्फ आलस्य (यहाँ एक हल्की मुस्कुराहट भी है)। और कभी-कभी मैं पहिया को सुदृढ़ नहीं करना चाहता।
इसलिए, यह देखने का निर्णय लिया गया कि तैयार फर्मवेयर के क्या हैं जिसमें आप अपने मॉड्यूल के लिए समर्थन जोड़ सकते हैं। एक शुरुआती बिंदु के रूप में, सोनऑफ उत्पादों के लिए वैकल्पिक फर्मवार लिया गया था: सोनॉफ-टसमाटा, ईएसपर्ना, ईएसपीसी। खोज इन फर्मवेयर की तुलनात्मक समीक्षा पा सकती है।
उदाहरण के लिए:
https://lobradov.imtqy.com/FOSS-Firmware-comparison-overview/
https://lobradov.imtqy.com/FOSS-Firmware-comparison-developers/
वास्तव में, मैं किसी तरह इन फर्मवेयर के रिपॉजिटरी में स्रोत कोड के माध्यम से अपनी आंख के साथ भाग गया, मैंने महसूस किया कि मेरे लिए सबसे आसान तरीका ईएसपर्ना फर्मवेयर के लिए अपने मॉड्यूल को जोड़ना होगा। फर्मवेयर कोड काफी उचित रूप से संरचित किया गया था और शुरू में नए मॉड्यूल और कार्यों को जोड़ा गया था। फर्मवेयर में मुझे जरूरत थी टाइमर की कार्यक्षमता, स्टैंडअलोन शेड्यूलर की। इसके अलावा, इसे बॉक्स से बाहर कहा जा सकता है, बस हार्डवेयर में एक साधारण रिले के साथ मेरे कॉन्फ़िगरेशन का वर्णन किया जाता है। फ़ाइल में, मुझे वाईफाई रिले फर्मवेयर का एक कार्यशील संस्करण मिला।
हालांकि, मेरे मॉड्यूल में अधिक समृद्ध और अधिक जटिल कार्यक्षमता थी। और फर्मवेयर में योगदान करने का निर्णय लिया गया। एक तरफ, यह काफी सरल है - हम कार्यक्षमता लिखते हैं और एक पुल-अनुरोध करते हैं, लेकिन वास्तव में यह एक उबाऊ और लंबी प्रक्रिया है जिसमें हमेशा सकारात्मक या त्वरित परिणाम नहीं होता है। ये इस तथ्य की लागत हैं कि प्रस्तावित कार्यक्षमता बड़ी और केवल मेरे और मेरे अज्ञात बोर्ड द्वारा आवश्यक है।
मैंने घड़ी के सहारे शुरुआत की। ESPurna फर्मवेयर में, सब कुछ NTP के माध्यम से काम किया और Arduino के लिए टाइम लाइब्रेरी - अच्छी तरह से, ऐतिहासिक रूप से, आपको समय जानने की आवश्यकता है, लेकिन Sonoff उत्पादों में एक स्वायत्त घड़ी नहीं है और यह माना जाता है कि उनके पास हमेशा इंटरनेट का उपयोग होता है। RTC घड़ी का समर्थन करने के लिए, मैंने एक साधारण मॉड्यूल लिखा है, जो यदि वांछित है, तो शुद्ध एनटी से एनटी + आरटीसी में समय प्रदाता फ़ंक्शन को बदल दिया। सिद्धांत सरल था - अगर एनटीपी सिंक्रनाइज़ेशन उपलब्ध नहीं है, तो हम स्थानीय आरटीसी घड़ी से समय पढ़ने की कोशिश करते हैं। जब NTP सर्वर तक पहुंच दिखाई देती है, तो हम सिंक्रनाइज़ेशन को पुनर्स्थापित करते हैं और, यदि वांछित है, तो स्थानीय घड़ी को सिंक्रनाइज़ करें। इसलिए मेरे मॉड्यूल की घड़ी काम में आ गई। पुल अनुरोध बहुत जल्दी स्वीकार कर लिया गया था, लेकिन यह एक अलग espurna-rtc शाखा में चला गया।
अगला एक तुच्छ पुल अनुरोध था। चूंकि मैं बैटरी निर्वहन को ट्रैक करने के लिए डीसी-डीसी कनवर्टर को आपूर्ति वोल्टेज को मापता हूं, इसलिए मुझे ईएसपी 8266 मॉड्यूल की आपूर्ति वोल्टेज की निगरानी करने की आवश्यकता नहीं थी, लेकिन कुछ उपयोगकर्ता-परिभाषित एक। जिसे मैंने एक पुल अनुरोध के रूप में डिज़ाइन किया है "कस्टम वीसीसी निगरानी के लिए समर्थन जोड़ें"। लेकिन यह अनुरोध किसी तरह हवा में लटका रहा ... और योगदान करने की इच्छा किसी तरह कम हो गई।
इसके अलावा, यह स्पष्ट हो गया कि समर्थित मॉड्यूल की सूची में अपने मॉड्यूल को जोड़ना इतना आसान नहीं होगा - इसमें बहुत सारे अलग-अलग कॉन्फ़िगरेशन संभव हैं। इसलिए, बस फर्मवेयर के अपने कांटे को विकसित करने का निर्णय लिया गया था। और यदि संभव हो और सिंक्रनाइज़ेशन बनाए रखने की इच्छा हो, तो पुल अनुरोध करें या मुख्य फर्मवेयर भंडार में चेरी-पिक की पेशकश करें।
इस तरह के निर्णय के बाद, सब कुछ सरल हो गया। फर्मवेयर में, रिले नियंत्रण प्रणाली को आंशिक रूप से फिर से लिखा गया था। एच-ब्रिज कंट्रोल मोड को इसमें जोड़ा गया था और यह कस्टम रिले ऑपरेशन मोड को जोड़ने के मामले में अधिक सुविधाजनक हो गया था।
फर्मवेयर कोड के आगे के अध्ययन से पता चला है कि इसे फिर से भरना संभव नहीं है। कुछ जगहों पर संसाधनों को लिखने और उपयोग करने की शैली एक माइक्रोकंट्रोलर के लिए बहुत क्रूर है (हालांकि यह 32-बिट स्मार्ट है)। उदाहरण के लिए, डिबगिंग संदेश जारी करने की प्रणाली ने बड़ी तेजी के साथ स्टैक को खा लिया, लेकिन साथ ही, पूरे सिस्टम को ड्रॉप नहीं करने के लिए, स्टैक का आकार 10kB से कम हो जाने पर इसे ब्लॉक कर दिया गया। मैंने अपने थ्रेड में कोड को थोड़ा सा फिर से लिखा है ताकि अब कंसोल में सभी डिबगिंग संदेश और संकेत पूरी तरह से प्रदर्शित हों।
खैर, फिलहाल, फर्मवेयर में एक गणना सबसिस्टम जोड़ा गया है
सूर्योदय / सूर्यास्त और एक आभासी सूर्योदय सेंसर, ताकि आप SHAPEsp मॉड्यूल से एक सरल खगोलीय रिले का निर्माण कर सकें। मुख्य भंडार के लिए साहस और प्रतिबद्ध होना आवश्यक होगा। मुझे लगता है कि यह उपयोगी कार्यक्षमता है।
यहां एक प्रोटोटाइप से लगभग तैयार उत्पाद तक DIY विचारों के परिवर्तन की कहानी है। शायद मांग में एक उत्पाद। सबसे आश्चर्यजनक बात यह है कि मैंने अभी तक किसी भी स्मार्ट होम सिस्टम की कोशिश नहीं की है - सभी मॉड्यूल मेरे लिए एक दूसरे से पूरी तरह से स्वायत्तता से काम करते हैं और इंटरनेट पर वेब-इंटरफेस के माध्यम से बस सुलभ हैं। और एक बार खरीदा ऑरेंजपी पीसी बोर्ड एक दराज में स्थित है और एक स्मार्ट होम कंट्रोलर बनने के लिए पंखों में इंतजार कर रहा है।
लिंक की सूची:
- फ्रिटिंग मॉडल और मैं एक साथ कैसे मिलता हूं मुझे लगता है कि किकड में एक सर्किट और मॉड्यूल लेआउट होगा
- मॉड्यूल के लिए सरल परीक्षण फर्मवेयर
- मॉड्यूल समर्थन के साथ ESPurna फर्मवेयर कांटा
- मुख्य ESPurna फर्मवेयर रिपॉजिटरी