विषयसूची:

[१५ मिनट] वीसली क्लॉक / होम इंडिकेटर कौन है - टीआर-०६४ (बीटा) पर आधारित: ४ कदम (चित्रों के साथ)
[१५ मिनट] वीसली क्लॉक / होम इंडिकेटर कौन है - टीआर-०६४ (बीटा) पर आधारित: ४ कदम (चित्रों के साथ)

वीडियो: [१५ मिनट] वीसली क्लॉक / होम इंडिकेटर कौन है - टीआर-०६४ (बीटा) पर आधारित: ४ कदम (चित्रों के साथ)

वीडियो: [१५ मिनट] वीसली क्लॉक / होम इंडिकेटर कौन है - टीआर-०६४ (बीटा) पर आधारित: ४ कदम (चित्रों के साथ)
वीडियो: interesting gk questions and answers || studija bada || #gk 2024, जुलाई
Anonim
Image
Image
[१५ मिनट] वीसली क्लॉक / होम इंडिकेटर कौन है - टीआर-०६४ (बीटा) पर आधारित
[१५ मिनट] वीसली क्लॉक / होम इंडिकेटर कौन है - टीआर-०६४ (बीटा) पर आधारित

अद्यतन: चरण 3 देखें।

लंबी कहानी (टीएल; डीआर नीचे): कुछ समय पहले मैंने अपने कंप्यूटर पर एक छोटी बैश-स्क्रिप्ट लिखी थी जो पंजीकृत उपकरणों के लिए नेटवर्क को स्कैन करेगी और उनके होस्टनामों की तुलना संबंधित नामों की सूची से करेगी। हर बार जब कोई उपकरण नेटवर्क में लॉग-इन या आउट करता है तो मुझे एक सूचना मिलती है। इस तरह मुझे एक विचार होगा कि घर कौन है (न केवल यह जानना अच्छा है कि घर कौन है उनसे पूछने के लिए कि क्या वे भोजन में शामिल होना चाहते हैं, लेकिन यह संभावित रूप से अजीब परिस्थितियों से बचने में आपकी मदद कर सकता है)। समस्या यह है कि यह विधि बहुत विश्वसनीय नहीं है। दुर्भाग्य से कुछ डिवाइस पिंग्स (जैसे स्मार्टफोन) का जवाब नहीं देते हैं और कुछ पावर-सेव मोड में जाने लगते हैं, इस प्रकार nmap जैसे कमांड के साथ विश्वसनीय रूप से पता लगाने योग्य नहीं होते हैं। मैंने अंत में यह घोषणा करने से पहले कि डिवाइस ने नेटवर्क छोड़ दिया है, कम से कम 10 नकारात्मक की आवश्यकता के द्वारा इसे दूर करने का प्रयास किया। कुल मिलाकर इसने काम किया, लेकिन धीरे-धीरे, अविश्वसनीय रूप से और बहुत अच्छी तरह से नहीं। इसके अलावा मैं अपने कंप्यूटर को खोले बिना यह जांचना चाहता था कि घर कौन है। तो मेरे पास ये ESP8266s पड़े थे - और उनके साथ खेलना चाहता था। लेकिन मैं 10.120.124.812 वां ईएसपी-आधारित मौसम स्टेशन या ऐसा नहीं बनाना चाहता था (आप अपने गंदे ± 2 डिग्री सेल्सियस थर्मामीटर के साथ मौसम की निगरानी क्यों करना चाहेंगे जब आप किसी भी वेबसाइट पर जा सकते हैं?) इसलिए योजना बनाई गई। दुर्भाग्य से यह पता चला है कि ईएसपी ठीक से पिंग करने के लिए सुसज्जित नहीं है (जो कि शुरू करने के लिए बुरा था, याद रखें?) अकेले एक पूर्ण विकसित नेटवर्क स्कैन करें। मैंने उसके लिए कुछ पुस्तकालय लिखने पर विचार किया - लेकिन चूंकि मेरा सी ++ बहुत सीमित है, यह मेरा पहला ईएसपी-प्रोजेक्ट है और मैं नेटवर्क सामग्री के साथ प्रतिभाशाली नहीं हूं या तो मैंने उस विचार को खत्म कर दिया। कुछ शोध करने के बाद, मुझे पता चला कि मेरा राउटर (ब्रांड फ़्रिट्ज़! बॉक्स) में वास्तव में एक एपीआई है! वाह!!!! प्रोटोकॉल को TR-064 कहा जाता है। इतना प्रेरक नाम, है ना? इस मामले में कुछ शोध करने पर, मुझे एक (बल्कि भद्दा) दस्तावेज ऑनलाइन मिला। मुझे इसे ठीक करने में कुछ समय लगा। मैं अगले दिनों में और अधिक व्यावहारिक निर्देश पोस्ट कर सकता हूं (और ब्राउज़र एडऑन का उपयोग करके इस एपीआई के साथ संचार / परीक्षण कैसे करें)। एक बार जब मैं एपीआई को समझ गया, तो मैंने इसे अपने ईएसपी से इस्तेमाल करना शुरू कर दिया। लंबी कहानी छोटी: मुझे एक डक-टेप-एंड-डब्ल्यूडी 40 समाधान मिला और जो मैं चाहता था वह कर रहा था (कनेक्टेड डिवाइसों के लिए एपीआई से पूछताछ, उन्हें मैक-पतों की सूची से तुलना करें और तदनुसार एलईडी स्विच करें)। लेकिन मैं एक और अधिक मजबूत चाहता था और लचीला समाधान और इस एपीआई की पेशकश करने के लिए बहुत कुछ है (आप सेटिंग्स बदल सकते हैं (वाईफाई चालू / बंद करें, पासवर्ड बदलें, अतिथि वाईफाई खोलें / बंद करें, सिग्नल पावर बदलें), राउटर को पुनरारंभ करें, कनेक्शन की गति पूछें, …) - इसलिए मैंने एक सार्वभौमिक TR-064 पुस्तकालय बनाने का निर्णय लिया!TL;DR;उपकरण जो एलईडी के माध्यम से इंगित करता है जो वर्तमान में घर पर है। बढ़िया काम करता है, अभी तक कोई बढ़िया आवास नहीं है (अरे - शीर्षक में बीटा देखा है?) राउटर के साथ संचार करने के लिए SOAP- प्रोटोकॉल का उपयोग करता है। ऐसा करने के लिए Arduino लाइब्रेरी लिखी। आवश्यक ज्ञान• बुनियादी Arduino/ESP ज्ञान• यदि आप अपने ESP के साथ एक ब्लिंक उदाहरण को इकट्ठा करते हैं, तो आप ठीक हो जाएंगे!• यदि नहीं, तो आप इस निर्देश के पहले दो चरणों का पालन कर सकते हैं• सोल्डरिंग हो सकता है काम आ सकता है, अगर आप ब्रेडबोर्ड चरण छोड़ना चाहते हैं • कुछ 3D डिजाइनिंग एक / या वुडवर्किंग हाउसिंग जीथब प्रोजेक्ट लिंक के लिए काम आ सकती है [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] त्वरित संदर्भ के लिए।

आपूर्ति

  • ESP8266 या ESP32 डेवलपमेंट-बोर्ड पर या अन्य प्रोग्रामर के साथ (2~6€)
  • यूएसबी केबल प्रोग्रामर की फिटिंग
  • पावर एडॉप्टर (जैसे USB या बैटरी ~2€)
  • कुछ एल ई डी और प्रतिरोधक (~1€)
  • (आवरण)

=> न्यूनतम डिजाइन के लिए लगभग 4-6€। मेरे लिए इसका मतलब है कि मैं घर के चारों ओर आसानी से कुछ लटका सकता हूं। यदि आप आलसी हैं, तो आप शामिल एलईडी के साथ एक विकास-बोर्ड का भी उपयोग कर सकते हैं (अधिक विवरण के लिए चरण 4 देखें)।

चरण 1: अपना राउटर सेट करें (वैकल्पिक, लेकिन सलाह दी गई)

अपना राउटर सेट करें (वैकल्पिक, लेकिन सलाह दी गई)
अपना राउटर सेट करें (वैकल्पिक, लेकिन सलाह दी गई)
अपना राउटर सेट करें (वैकल्पिक, लेकिन सलाह दी गई)
अपना राउटर सेट करें (वैकल्पिक, लेकिन सलाह दी गई)

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

यह चरण आवश्यक नहीं है, आप केवल अपने व्यवस्थापक खाते का उपयोग कर सकते हैं, लेकिन यह स्पष्ट कारणों के लिए उचित नहीं है (हो सकता है कि आपके ईएसपी से इंटरसेप्ट या निकाला जा सकता है, आप गलती से उस सामान को बदल सकते हैं जिसे आप नहीं चाहते हैं, …) - तो मैं करने की सलाह देते हैं।

वैसे भी, हम यहाँ जाते हैं:

  1. अपने पसंदीदा ब्राउज़र के url-bar में fritz.box टाइप करके अपने Fritz! Box में लॉग इन करें।
  2. एक नया FRITZ!Box उपयोगकर्ता बनाने के लिए पृष्ठ खोजें (आपको उन्नत होने की आवश्यकता है यह सिस्टम के तहत होना चाहिए, अगर आपको यह नहीं मिल रहा है, तो अपने डिवाइस को अपडेट करने का प्रयास करें)।
  3. जैसा कि आप चित्र में देख रहे हैं एक नया खाता बनाएं (एक अलग उपयोगकर्ता नाम/पासवर्ड का उपयोग करके!)।
  4. लॉग आउट।

चरण 2: कोड

Image
Image
हार्डवेयर (बीटा)
हार्डवेयर (बीटा)
  1. आप जीथब से पुस्तकालय प्राप्त कर सकते हैं।

  2. उदाहरणों में आपको home-indicator.ino नाम की एक फाइल मिलेगी, जो इस प्रोजेक्ट का कोड है। उदाहरण फोल्डर को अपने arduino IDE प्रोजेक्ट होम फोल्डर में और दूसरे फोल्डर को उसी प्रोजेक्ट होम फोल्डर में लाइब्रेरी फोल्डर में रखें।
  3. (पुनः) आप आईडीई शुरू करें।
  4. IDE में home-indicator.ino खोलें और अपनी सेटिंग्स दर्ज करें। यह बिल्कुल स्पष्ट होना चाहिए कि कहां जाता है। अगर आपका कोई प्रश्न है तो मुझे बताएं!
  5. अब आप इसे संकलित कर सकते हैं और इसे अपने ईएसपी में स्थानांतरित कर सकते हैं!

चरण 3: हार्डवेयर (बीटा)

हार्डवेयर (बीटा)
हार्डवेयर (बीटा)
हार्डवेयर (बीटा)
हार्डवेयर (बीटा)
हार्डवेयर (बीटा)
हार्डवेयर (बीटा)

हाँ… यह वह कदम है, जहाँ मुझे अभी और काम करने की ज़रूरत है। लेकिन मुझे लगता है कि वेब में कुछ पता लगाने के लिए पर्याप्त सामग्री है:) चित्रों में सेटअप सिर्फ एक डायोड है जिसमें ~ 100Ohm रोकनेवाला GPIO {5, 4, 0, 2} से जुड़ा होता है, जो D1 हैं, मेरे MCU ESP8266 बोर्ड के D2, D3, D4 (उस क्रम में) पिन और कैथोड को GND तक ले जाने वाली छोटी नारंगी केबल (मेरे बोर्ड पर G चिह्नित)। यदि आप आलसी हैं, तो आप वह कर सकते हैं जो आप दूसरी छवि में देखते हैं। बस शामिल एलईडी के साथ एक विकास-बोर्ड का उपयोग करें (जैसे "ईएसपी -202", चित्र देखें - शिपिंग सहित लगभग 3.50-5.00 €)। फिर आप इसे यूएसबी पावर से जोड़ सकते हैं या शामिल बैटरी पैक का उपयोग कर सकते हैं, कागज के एक टुकड़े पर एक इंटरफ़ेस बना सकते हैं और इसे दीवार पर चिपका सकते हैं। हो गया। इस विशिष्ट बोर्ड के लिए बंदरगाह हैं:

int userPins[numUser] = {5, 4, 2, 14, 16};

ऊपर से नीचे तक।

चरण 4: आउटलुक / संदर्भ

यह वही है जो मैं अभी भी योजना बना रहा हूं: 1. एक अच्छा आवास बनाना (जाहिर है) 2. उपयोगकर्ताओं/एलईडी/मैक/ज्ञात उपकरणों के प्रबंधन के लिए एक अच्छा जीयूआई जोड़ना 3. पुस्तकालय में सुधार (उसके लिए जीथब देखें) 4. फिक्स: कभी-कभी एलईडी बिना किसी स्पष्ट कारण के धीमी गति से प्रतिक्रिया करें (डिवाइस के छोड़े जाने के बाद, जब तक वे बंद नहीं हो जाते, तब तक थोड़ा समय लगता है)। दालान में चीज़ को हुक करें और शायद घर के आसपास कुछ और आप लोगों से कुछ इनपुट प्राप्त करना पसंद करेंगे! और हमेशा की तरह, यह देखकर मुझे बहुत खुशी होती है कि दूसरों ने आपके द्वारा सोची गई गंदगी का निर्माण किया है, इसलिए कृपया टिप्पणी करने और तस्वीरें पोस्ट करने के लिए कुछ समय दें!:):)कुछ और संदर्भ मैं यहां कुछ चीजें लिंक करूंगा, जो आपकी मदद कर सकती हैं: • TR-064 संदर्भ • कोई व्यक्ति शेल के साथ खिलवाड़ कर रहा है और TR-064 (एपीआई की समझ पाने के लिए अच्छा है) • हैरी पॉटर विकिपीडिया: वीसली क्लॉक एंट्री • कुछ लोग एक सुंदर, लेकिन जटिल वीसली क्लॉक बना रहे हैं यदि आप कुछ पूर्व-निर्धारित क्षेत्रों में हैं, तो घड़ी के अनुसार प्रकाश चालू हो जाएगा। मेरे लिए यह बहुत जटिल था और कई जगहों पर था जहां यह टूट/विफल हो सकता था: • ऐप्स को अद्यतित रखने की आवश्यकता है • सभी को इन ऐप्स का उपयोग करना होगा • और गोपनीयता पर प्रभाव के साथ ठीक रहें • ऐप केवल इंटरनेट के साथ काम करता है कनेक्शन • आपको संचार को इंटरफेस करने के लिए एक इंटरमीडिएट सर्वर का उपयोग करना होगा (जब तक कि आप सर्वर के रूप में ईएसपी सेट-अप नहीं करना चाहते हैं और बाहरी यातायात के लिए अपना होम नेटवर्क खोलना चाहते हैं - हाँ, फिर भी एक और असुरक्षित आईओटी डिवाइस सीधे इंटरनेट से जुड़ा हुआ है!) • इंटरमीडिएट सेवा एक दिन ऑफ़लाइन हो सकती है/इसकी एपीआई बदल सकती है, • …आपको अधिक सॉफ़्टवेयर की आवश्यकता है। अधिक सॉफ़्टवेयर का अर्थ है त्रुटि करने के लिए अधिक स्थान;) लेकिन, उन्होंने एक अद्भुत काम किया है और यदि आप ऐसा कुछ करना चाहते हैं, तो उनकी साइट पर जाएं, यह वास्तव में बहुत अच्छा है!

सिफारिश की: