हाल ही में मैंने Xiaomi से एक दो wifi रिले खरीदे हैं। हालांकि वे अब तक ठोस हैं, मैं वास्तव में Xiaomi के ऐप को नापसंद करता हूं। लेकिन, मुझे यह विचार पसंद आया कि यह वास्तव में लैन और इंटरनेट दोनों पर काम करता है। जब लैन में वे बहुत जल्दी चालू और बंद होते हैं, तो Xiaomi के सर्वर चीन में हैं।
इसलिए मैं अपने ESP8266 आधारित रिले को रोल करना चाहता हूं (मुझे पता है कि मैं हार्डवेयर तैयार कर सकता हूं, ताकि यह एक बोनस हो)। मेरा मुद्दा यह है कि मैं वेब पेज से अपने नेटवर्क पर रिले का स्वचालित रूप से कैसे पता लगा सकता हूं?
एक "ऐप" से मैं चीजों का पता लगाने के लिए SSDP, mDNS-SD या UPNP का उपयोग कर सकता हूं। लेकिन मुझे वेबर पर जानकारी नहीं मिली है यह वेब ब्राउज़र (मूल रूप से एंड्रॉइड पर क्रोम) से संभव है। चूँकि मैंने अपने मौसम स्टेशन वेब पेज को एक प्रोग्रेसिव वेब ऐप के रूप में बदल दिया है, इसलिए मुझे हूक लगी है। मैं वास्तव में चीजों के विचार को पसंद करता हूं, बस वेबपेज और आपके द्वारा इंस्टॉल किए जाने वाले ऐप्स नहीं। और PWA ऑफ़लाइन मोड के साथ अंतर भी भरते हैं।
हालांकि यह अजीब है, कि "मुश्किल" भाग (लैन के बाहर से रिले को चालू और बंद करना) एक एमक्यूटीटी सर्वर के माध्यम से हल करने के लिए तुच्छ है। लेकिन मैं बाहरी MQTT सर्वर पर भरोसा नहीं करना पसंद करूंगा। यदि मैं लैन पर हूं, तो मैं सीधे रिले से बात करना चाहता हूं। यदि नहीं, तो MQTT के माध्यम से कमांड भेजें।
मैं निश्चित रूप से रिले को क्वेरी करने के लिए सर्वर पर भरोसा कर सकता हूं, लेकिन उस स्थिति में मुझे इंटरनेट कनेक्शन की आवश्यकता होगी (यदि मेरा एमक्यूटीटी सर्वर "क्लाउड" पर है), या होम होस्टेड सर्वर। मेरे पास घर पर एक सर्वर है, और यहां तक कि अगर मैं नहीं था, तो एक रास्पबेरी पाई आसानी से अंतर को भर सकती है। लेकिन लैन (इस मामले में वाईफ़ाई) पर उपकरणों से बात करते समय आदर्श को सर्वर की आवश्यकता भी नहीं होगी। मैं इसे यथासंभव यथासंभव पी 2 पी रखना पसंद करता हूं, और जब मैं वान (एमक्यूटीटी सीजी-एनएटी और पोर्ट फॉरवर्डिंग की समस्याओं को हल करता हूं) के लिए एमक्यूटीटी का उपयोग केवल एक गिरावट के रूप में करता हूं।