विषयसूची:

अमेज़न डैश बटन साइलेंट डोरबेल: 10 कदम (चित्रों के साथ)
अमेज़न डैश बटन साइलेंट डोरबेल: 10 कदम (चित्रों के साथ)

वीडियो: अमेज़न डैश बटन साइलेंट डोरबेल: 10 कदम (चित्रों के साथ)

वीडियो: अमेज़न डैश बटन साइलेंट डोरबेल: 10 कदम (चित्रों के साथ)
वीडियो: Amazon Dash Doorbell | GIT TECH'D 2024, नवंबर
Anonim
Image
Image

लगातार खिड़की से बाहर देख रहे हैं ताकि आप दरवाजे की घंटी बजाने से पहले आगंतुकों को रोक सकें? कुत्तों और बच्चे के पागल हो जाने से थक गए जब भी यह बजता है? "स्मार्ट" समाधान पर भाग्य खर्च नहीं करना चाहते हैं?

साइलेंट डोरबेल बनाना उतना ही आसान है जितना कि $5 Amazon Dash Button को हैक करना! केवल एक और चीज जो आपको चाहिए वह है एक कंप्यूटर जो हमेशा घर पर रहता है - जैसे, कहें, कि रास्पबेरी पाई आपके पास बैठी है। जब भी कोई आपके नए दरवाजे की घंटी बजाएगा तो टेक्स्ट नोटिफिकेशन प्राप्त करें और पूरे घर को खुश रखें। (यदि आपके पास स्मार्टवॉच है तो सूचनाएं प्राप्त करना और भी अच्छा है!)

इस परियोजना के लिए आपको आवश्यकता होगी:

  • एक अमेज़न डैश बटन
  • एक कंप्यूटर जो घर पर रहता है (जैसे रास्पबेरी पाई)

चरण 1: अपना डैश बटन सेट करना

अपना डैश बटन सेट करना
अपना डैश बटन सेट करना
अपना डैश बटन सेट करना
अपना डैश बटन सेट करना

अपने डैश बटन को हैकिंग के लिए तैयार करना बहुत सीधा है - आपको केवल एक उत्पाद का चयन करने के लिए पूरी अमेज़ॅन सेटअप प्रक्रिया से गुजरना होगा।

इस सेटअप के लिए Amazon ऐप की आवश्यकता है, जो iOS और Android के लिए उपलब्ध है। ऐप के अंदर Amazon में लॉग इन करने के बाद, Your Account -> Dash Buttons & Devices -> Set up a new device पर जाएं। "डैश बटन" का चयन करें और निर्देशों का पालन करें जब तक कि आपको किसी उत्पाद का चयन करने के लिए संकेत न दिया जाए।

ऐप बंद करें। सेटअप रद्द न करें; एक्स को हिट न करें - बस ऐप को बंद करें। यदि आपने गलती से किसी उत्पाद का चयन कर लिया है या पुराने डैश बटन का पुन: उपयोग कर रहे हैं, तो बस अमेज़ॅन ऐप के माध्यम से डिवाइस को हटा दें और इन चरणों का फिर से पालन करें।

यदि आप अपने बटन के दिखने का तरीका बदलना चाहते हैं, तो लेबल स्टिकर को हटाना आसान है।

चरण 2: अपने डिवाइस पर नोड जेएस स्थापित करें

अपने डैश बटन के हार्डवेयर पते को खोजने (और बाद में उपयोग करने) के लिए, हमें Node JS का उपयोग करने की आवश्यकता है। इसे किसी भी कंप्यूटर - मैक, लिनक्स (रास्पबेरी पाई), या विंडोज पर इंस्टॉल किया जा सकता है।

हमारा अंतिम प्रोजेक्ट एक ऐसे कंप्यूटर पर टिका है जो हमारे बटन के समान नेटवर्क से जुड़ा है जो एक निर्बाध नोड स्क्रिप्ट चला रहा है, इसलिए अपना डिवाइस चुनते समय इसे ध्यान में रखें। एक घर पर डेस्कटॉप या रास्पबेरी पाई एकदम सही होगी।

मैं एक पाई 3 का उपयोग करना चुनता हूं, लेकिन वाईफाई डोंगल वाला एक पाई ज़ीरो भी काम करेगा!

अपने कंप्यूटर पर Node JS स्थापित करने के लिए, उपयुक्त निर्देशों का पालन करें:

  • रास्पबेरी पाई
  • मैक ओएस
  • खिड़कियाँ

एलेक्स हॉर्टन ने सिर्फ नोड-डैश-बटन नामक एक शानदार मॉड्यूल लिखा है जिसे हम करने की कोशिश कर रहे हैं। हमें इसे नोड पैकेज मैनेजर (एनपीएम) और libpcap के साथ स्थापित करने की आवश्यकता है। इन आदेशों को कमांड लाइन में दर्ज करें:

sudo apt-npm. स्थापित करें

sudo apt-libpcap-dev npm स्थापित करें नोड-डैश-बटन स्थापित करें

चरण 3: बटन का पता खोजें

बटन का पता खोजें
बटन का पता खोजें
बटन का पता खोजें
बटन का पता खोजें

हमने आपका डैश बटन पता खोजने का एक आसान तरीका ढूंढ लिया है।

सबसे पहले, अपने डैश बटन के बटन को लगभग 5 सेकंड तक तब तक दबाए रखें जब तक कि एलईडी धीरे-धीरे नीला न होने लगे। अपने फ़ोन पर, अपनी वाई-फ़ाई सेटिंग खोलें और 'अमेज़ॅन कॉन्फिगर मी' वाईफाई ढूंढें। इससे कनेक्ट होने के बाद अपना वेब ब्राउजर खोलें और 'https://192.168.0.1' पर जाएं।

हम जिस पते की तलाश कर रहे हैं वह मैक पता है और यह "ab:64:be:8b:ce:82" जैसा दिखेगा।

चरण 4: अपने बटन का परीक्षण

आप हर बार बटन दबाने पर संदेश प्रिंट करने के लिए एक साधारण स्क्रिप्ट लिखकर पुष्टि कर सकते हैं कि आपको सही पता मिला है।

नोड-डैश-बटन निर्देशिका के अंदर एक नई स्क्रिप्ट बनाएं।

सुडो नैनो बटन_टेस्ट.जेएस

और फ़ाइल में निम्नलिखित को कॉपी-पेस्ट करें:

वर डैश_बटन = आवश्यकता ('नोड-डैश-बटन'), डैश = डैश_बटन ('xx: xx: xx: xx: xx: xx'), // अपने पते के साथ बदलें निष्पादन = आवश्यकता ('child_process').exec; डैश.ऑन ('पता लगाया गया', फ़ंक्शन() { कंसोल.लॉग ('बटन पुश किया गया!'); });

दूसरी पंक्ति पर x को अपने नए पाए गए बटन पते से बदलें। फ़ाइल को सीटीएल-एक्स, वाई के साथ सहेजें।

स्क्रिप्ट शुरू करें और अपना बटन दबाएं।

सुडो नोड बटन_टेस्ट.जेएस

आपको "बटन धक्का दिया!" देखना चाहिए। प्रिंट आउट। अब जब हम बटन प्रेस का पता लगा सकते हैं, तो हम उनके आधार पर क्रियाओं को ट्रिगर कर सकते हैं!

चरण 5: प्रारंभिक राज्य खाता सेटअप करें

सेटअप प्रारंभिक राज्य खाता
सेटअप प्रारंभिक राज्य खाता
सेटअप प्रारंभिक राज्य खाता
सेटअप प्रारंभिक राज्य खाता

अब जब हम डैश बटन दबाते हैं तो हम कमांड लाइन संदेश को ट्रिगर कर सकते हैं, हम सभी प्रकार की अन्य चीजों को ट्रिगर कर सकते हैं! इस मामले में मैं एक टेक्स्ट संदेश ट्रिगर करने जा रहा हूं - हम नहीं चाहते कि जो कोई भी दरवाजे पर है वह हमारे ईमेल की जांच करने तक प्रतीक्षा कर रहा है।

टेक्स्ट नोटिफिकेशन को ट्रिगर करने के कुछ तरीके हैं - ट्विलियो या पुशबुलेट जैसी सेवाएं। मैंने पाया सबसे आसान तरीकों में से एक प्रारंभिक राज्य के माध्यम से था। इसके लिए न्यूनतम अतिरिक्त कोडिंग की आवश्यकता थी और जब मेरा बटन दबाया गया था तो मुझे डैशबोर्ड दृश्य प्रदान किया गया था।

iot.app.initialstate.com पर जाएं और एक नया अकाउंट बनाएं।

आपको अपने डेस्कटॉप/लैपटॉप/रास्पबेरी पाई पर नोडजेएस के लिए प्रारंभिक राज्य एसडीके स्थापित करने की आवश्यकता है। कमांड प्रॉम्प्ट पर (पहले अपने पाई में SSH को न भूलें), निम्न कमांड चलाएँ:

सीडी /होम/पीआई/नोड_मॉड्यूल/नोड-डैश-बटन

sudo npm प्रारंभिक अवस्था स्थापित करें

स्ट्रीमर का परीक्षण करने के लिए, एक परीक्षण फ़ाइल बनाएं:

नैनो स्ट्रीम_टेस्ट.जेएस

और निम्नलिखित को कॉपी-पेस्ट करें (यहां भी पाया गया):

var IS = आवश्यकता ('प्रारंभिक-राज्य');

वर बकेट = IS.bucket('NodeJS_SDK_Example', 'Your_ACCESS_KEY_GOES_HERE'); // घटना को प्रारंभिक स्थिति में पुश करें। बकेट ('डेमो स्टेट', 'सक्रिय'); सेटटाइमआउट (फ़ंक्शन () {// एक और ईवेंट बकेट पुश करें। पुश ('डेमो स्टेट', 'निष्क्रिय');}, 1000);

सीटीएल-एक्स, वाई के साथ स्क्रिप्ट को सेव करें।

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

लाइन 2 पर, आपको एक लाइन दिखाई देगी जो varbucket = IS.bucket(…. से शुरू होती है। यह लाइन "NodeJS_SDK_Example" नाम की एक नई डेटा बकेट बनाती है और आपके खाते से जुड़ी होती है। यह संबद्धता उसी पर दूसरे पैरामीटर के कारण होती है। पंक्ति। आपकी प्रारंभिक राज्य खाता पहुंच कुंजी अक्षरों और संख्याओं की एक लंबी श्रृंखला है। यदि आप अपने वेब ब्राउज़र में अपने प्रारंभिक राज्य खाते में जाते हैं, तो ऊपर दाईं ओर अपने उपयोगकर्ता नाम पर क्लिक करें, फिर "मेरी सेटिंग्स" पर जाएं, आप पाएंगे वहां आपकी पहुंच कुंजी।

यह सुनिश्चित करने के लिए परीक्षण स्क्रिप्ट चलाएँ कि हम आपके प्रारंभिक राज्य खाते में डेटा स्ट्रीम बना सकते हैं। निम्नलिखित चलाएँ:

नोड stream_test.js

अपने वेब ब्राउज़र में अपने प्रारंभिक राज्य खाते में वापस जाएं। "NodeJS_SDK_Example" नामक एक नई डेटा बकेट आपके लॉग शेल्फ़ में बाईं ओर दिखाई देनी चाहिए (आपको पृष्ठ को ताज़ा करना पड़ सकता है)। परीक्षण डेटा देखने के लिए इस बकेट पर क्लिक करें।

अब आप अपने बटन प्रेस को प्रारंभिक अवस्था में भेजने के लिए तैयार हैं!

चरण 6: अंतिम कोड

अंतिम कोड
अंतिम कोड

हमने पहले ही प्रारंभिक राज्य नोड एसडीके स्थापित कर लिया है, इसलिए हमें बस इसे अपने कोड में जोड़ना है!

यहां बटन_टेस्ट.जेएस स्क्रिप्ट का एक संशोधित संस्करण दिया गया है जिसका हमने पहले उपयोग किया था:

वर डैश_बटन = आवश्यकता ('नोड-डैश-बटन'), डैश = डैश_बटन ('xx: xx: xx: xx: xx: xx'), // अपने पते के साथ बदलें निष्पादन = आवश्यकता ('child_process').exec; var IS = आवश्यकता ('प्रारंभिक-राज्य'); वर बकेट = IS.bucket ('डोरबेल', 'Your_ACCESS_KEY'); डैश.ऑन ('पता लगाया गया', फ़ंक्शन() { कंसोल.लॉग ('बटन पुश किया गया!'); बाल्टी.पुश ('फ्रंट डोर', 'समवन इज हियर!'); });

इस स्क्रिप्ट को एक नई फ़ाइल में कॉपी-पेस्ट करें (अभी भी नोड-डैश-बटन निर्देशिका के अंदर):

सुडो नैनो डोरबेल.जेएस

आप देखेंगे कि 5 और 6 की तर्ज पर हम प्रारंभिक अवस्था मॉड्यूल शामिल करते हैं और हमारे बकेट पैरामीटर प्रदान करते हैं। आपको अपनी अनूठी एक्सेस कुंजी पहले से लाइन 6 पर डालनी होगी।

लाइन 10 वह जगह है जहां हम वास्तव में प्रारंभिक अवस्था में डेटा भेजते हैं। इस मामले में, मैंने अपनी बाल्टी का नाम "डोरबेल" रखा है और "समवन इज हियर!" स्ट्रीम कर रहा हूं। मेरे सामने के दरवाजे पर। यदि आपके पास कई डैश बटन हैं, तो आप उन सभी को "डोरबेल" बाल्टी में भेज सकते हैं, लेकिन उन्हें उनके स्थान के अनुसार नाम दें (यानी "गेराज डोर", "बेडरूम", आदि)।

सीटीएल-एक्स, वाई के साथ स्क्रिप्ट को सेव करें।

अपनी स्क्रिप्ट का परीक्षण करने के लिए, दौड़ें:

सुडो नोड डोरबेल.जे.एस.

जब आप अपना बटन दबाते हैं, तो आप अपने प्रारंभिक स्थिति पृष्ठ पर जा सकेंगे और साइडबार में "डोरबेल" नामक एक नई बाल्टी देख सकेंगे। अब एक ट्रिगर जोड़ें!

चरण 7: एसएमएस ट्रिगर सेट करना

एसएमएस ट्रिगर सेट करना
एसएमएस ट्रिगर सेट करना

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

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

अंत में, एसएमएस संदेश प्राप्त करने के लिए अपना फोन नंबर जोड़ें। जब आप पहली बार उस नंबर का उपयोग करेंगे तो आपको अपने फ़ोन पर भेजा गया सत्यापन कोड दर्ज करना होगा।

सुनिश्चित करें कि आप अपने फ़ोन नंबर के आगे "+" चिह्न दबाते हैं या ट्रिगर नहीं बनाया जाएगा।

अपना ट्रिगर सहेजने के लिए ट्रिगर टैब के निचले भाग में "संपन्न" पर क्लिक करें।

अब आप टेक्स्ट अलर्ट प्राप्त करने के लिए तैयार हैं! अपना बटन दबाएं (जब डोरबेल.जेएस स्क्रिप्ट चल रही हो)। आपको 8 सेकंड या उससे कम समय में एक टेक्स्ट प्राप्त होना चाहिए!

आपकी खामोश घंटी जाने के लिए तैयार है! यदि आप यह सुनिश्चित करना चाहते हैं कि आपकी स्क्रिप्ट पावर आउटेज पर फिर से शुरू हो, तो पढ़ते रहें। मैं आपके बकेट और सिग्नल नामों में इमोजी भी जोड़ूंगा।

चरण 8: अपने डैशबोर्ड को निजीकृत करना

अपने डैशबोर्ड को निजीकृत करना
अपने डैशबोर्ड को निजीकृत करना
अपने डैशबोर्ड को निजीकृत करना
अपने डैशबोर्ड को निजीकृत करना

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

टाइल का नाम बदलने के लिए, बस टाइल पर राइट-क्लिक करें और "टाइल संपादित करें" चुनें। ऊपर आने वाले शीर्षक बॉक्स के अंदर आप किसी भी इमोजी के लिए शॉर्टकट डाल सकते हैं। कॉन्फ़िगर विंडो के शीर्ष पर "x" पर क्लिक करने से आपके परिवर्तन सहेजे जाएंगे।

आप बकेट नाम के नीचे "सेटिंग" पर क्लिक करके और फिर नाम फ़ील्ड को संपादित करके अपनी बाल्टी के नाम पर भी ऐसा कर सकते हैं।

आप अपने डेटा को अधिक व्यक्तित्व और संदर्भ देने के लिए अपने डैशबोर्ड में एक पृष्ठभूमि छवि जोड़ सकते हैं।

चरण 9: बूट से स्क्रिप्ट शुरू करना

आपके घर के कंप्यूटर या पाई पर चलने वाली स्क्रिप्ट हमारे साइलेंट डोरबेल की कुंजी है। अगर बिजली गुल होने जैसा कुछ होता है, तो हम यह सुनिश्चित करना चाहते हैं कि हमारी स्क्रिप्ट फिर से चालू हो जाए।

मैक पर हम क्रोंटैब और नैनो टेक्स्ट एडिटर नामक एक सेवा का उपयोग करने जा रहे हैं:

env EDITOR=नैनो क्रोंटैब -e

फ़ाइल के अंदर, जोड़ें:

@reboot nohup sudo node /Users/UserName/node_modules/node-dash-button/doorbell.js &

"उपयोगकर्ता नाम" को अपने नाम से बदलना सुनिश्चित करें। यदि आपने अपनी स्क्रिप्ट को कुछ और नाम दिया है या इसे किसी भिन्न निर्देशिका में रखा है, तो /Users/UserName/node_modules/node-dash-button/doorbell.js को सही पथ से बदलें। मेरे उदाहरण में पथ मुख्य उपयोगकर्ता निर्देशिका है जिसके बाद नोड_मॉड्यूल्स/नोड-डैश-बटन निर्देशिका है। आप इन निर्देशों का पालन करके किसी फ़ाइल के पथनाम को आसानी से कॉपी कर सकते हैं।

फ़ाइल को सीटीएल-एक्स, वाई के साथ सहेजें। आप जांच सकते हैं कि यह आपके कंप्यूटर को रीबूट करके काम करता है या नहीं।

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

रास्पबेरी पाई/लिनक्स मशीन पर पाई पर बूट से एक स्क्रिप्ट चलाना बहुत सीधा है। हम crontab नामक एक सेवा का उपयोग करने जा रहे हैं:

सुडो क्रोंटैब -ई

अपना पसंदीदा टेक्स्ट एडिटर चुनें (मुझे नैनो पसंद है) और फ़ाइल के नीचे (सभी टिप्पणियों के तहत), जोड़ें:

@reboot nohup sudo node /home/pi/node_modules/node-dash-button/doorbell.js &

यदि आपने अपनी स्क्रिप्ट को कुछ और नाम दिया है या इसे किसी भिन्न निर्देशिका में रखा है, तो /home/pi/node_modules/node-dash-button/doorbell.js को सही पथ से बदलें। मेरे उदाहरण में पथ मुख्य पाई निर्देशिका है जिसके बाद नोड_मॉड्यूल्स/नोड-डैश-बटन निर्देशिका है।

फ़ाइल सहेजें! इसे प्रभावी होने के लिए आपको रीबूट करने की आवश्यकता है, लेकिन यदि आप इंटरनेट कनेक्शन कम होने पर भी रीबूट करना चाहते हैं, तो हम इस अगले चरण में अपने क्रॉस्टैब में एक और कार्य जोड़ने जा रहे हैं।

नेटवर्क ड्रॉप्स को संभालने के लिए, मैंने पीआई के लिए नेटवर्क कनेक्शन का पता लगाने और वहां नहीं होने पर रीबूट करने का एक तरीका लागू करने का फैसला किया।

पहले हमें वाईफाई की जांच के लिए एक स्क्रिप्ट बनाने और फिर शटडाउन को ट्रिगर करने की आवश्यकता है:

सीडी

सुडो नैनो /usr/लोकल/बिन/चेकविफी.श

फ़ाइल के अंदर निम्नलिखित रखें, अपने राउटर के आईपी पते के साथ आईपी पते को बदलना सुनिश्चित करें:

पिंग -c4 IP_ADDRESS > /dev/null

अगर [$? != 0]फिर sudo /sbin/shutdown -r now fi

पिंग एक कनेक्शन के लिए जाँच करता है। यदि यह गैर-शून्य निकास कोड के साथ वापस आता है, तो स्क्रिप्ट शटडाउन कमांड भेजती है। सहेजें और स्क्रिप्ट से बाहर निकलें। अब सुनिश्चित करें कि इसकी अनुमतियाँ क्रम में हैं:

sudo chmod 775 /usr/local/bin/checkwifi.sh

हमारी डोरबेल.जेएस स्क्रिप्ट की तरह, हम इस स्क्रिप्ट को क्रॉस्टैब में जोड़ने जा रहे हैं:

सुडो क्रोंटैब -ई

जगह

*/5 * * * * /usr/bin/sudo -H /usr/local/bin/checkwifi.sh >> /dev/null 2>&1

उस लाइन के नीचे जिसे हमने पहले जोड़ा था। यह हर 5 मिनट में हमारी checkwifi स्क्रिप्ट चलाएगा। अब क्रोंटैब से बाहर निकलें और पाई को रिबूट करें:

सुडो रिबूट

सब कुछ सेटअप और काम करना चाहिए! आप इस ट्यूटोरियल का अनुसरण करके पाई पर चल रही प्रक्रियाओं की निगरानी के लिए एक तरीका भी सेट कर सकते हैं।

चरण 10: निष्कर्ष

निष्कर्ष
निष्कर्ष

अमेज़ॅन डिलीवरी वालों को आपको जगाने से रोकने के लिए अब आपके पास एक साइलेंट डोरबेल है! मुझे बताएं कि क्या आपके कोई प्रश्न हैं या कोई अनूठा संशोधन है।

सिफारिश की: