विषयसूची:

रास्पबेरी पाई द्वारा स्मार्ट होम: 5 कदम (चित्रों के साथ)
रास्पबेरी पाई द्वारा स्मार्ट होम: 5 कदम (चित्रों के साथ)

वीडियो: रास्पबेरी पाई द्वारा स्मार्ट होम: 5 कदम (चित्रों के साथ)

वीडियो: रास्पबेरी पाई द्वारा स्मार्ट होम: 5 कदम (चित्रों के साथ)
वीडियो: #धाकड़ थानेदरनी Part 3 |Telefilm | बहू ने सास का काट दिया चालान फिर सास ने क्या किया 2024, जून
Anonim
रास्पबेरी पाई द्वारा स्मार्ट होम
रास्पबेरी पाई द्वारा स्मार्ट होम

वहाँ पहले से ही कई उत्पाद हैं जो आपके फ्लैट को स्मार्ट बनाते हैं, लेकिन उनमें से अधिकांश मालिकाना समाधान हैं। लेकिन आपको अपने स्मार्टफोन से लाइट स्विच करने के लिए इंटरनेट कनेक्शन की आवश्यकता क्यों है? मेरे लिए अपना स्मार्ट होम समाधान बनाने का यही एक कारण था।

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

चरण 1: चीजें जो आपको चाहिए

तुम्हें जिन चीज़ों की ज़रूरत पड़ेगी
तुम्हें जिन चीज़ों की ज़रूरत पड़ेगी

स्मार्ट होम सेट अप करने के लिए, आपको निम्नलिखित 'सामग्री' की आवश्यकता है

  • रास्पबेरी पाई कम से कम मॉडल 2 बी
  • 433 मेगाहर्ट्ज प्रेषक, कुछ इस तरह
  • रास्पबेरी पाई और प्रेषक को जोड़ने वाली 3 जम्पर केबल
  • 433 मेगाहर्ट्ज पर कुछ रेडियो नियंत्रण सॉकेट
  • क्लाइंट ऐप चलाने के लिए एंड्रॉइड स्मार्टफोन

इसके अतिरिक्त, आप अधिक वैकल्पिक क्लाइंट और इस तरह की इकाइयों के साथ स्मार्ट होम का विस्तार कर सकते हैं

  • कंकड़ स्मार्टवॉच
  • स्मार्ट मिरर, देखें यह प्रोजेक्ट
  • 433 मेगाहर्ट्ज नियंत्रित एलईडी पट्टी, इसे देखें

चरण 2: 433 मेगाहर्ट्ज के लिए रास्पबेरी पाई तैयार करें

433 मेगाहर्ट्ज के लिए रास्पबेरी पाई तैयार करें
433 मेगाहर्ट्ज के लिए रास्पबेरी पाई तैयार करें
433 मेगाहर्ट्ज के लिए रास्पबेरी पाई तैयार करें
433 मेगाहर्ट्ज के लिए रास्पबेरी पाई तैयार करें

निम्नलिखित चरणों में आपको रास्पबेरी पाई पर कमांड लाइन तक पहुंच की आवश्यकता है। पहुँच प्राप्त करने के लिए आप इस निर्देशयोग्य को पढ़ सकते हैं

433 मेगाहर्ट्ज प्रेषक को रास्पबेरी पाई से कनेक्ट करें जैसा कि ऊपर चित्र में दिखाया गया है

  • GND (प्रेषक) 6 GND (रास्पि)
  • वीसीसी (प्रेषक) 2 +5वी (रास्पि)
  • डेटा (प्रेषक) 11 GPIO 17 (रास्पि)

कृपया एक 17cm एंटीना को ANT (प्रेषक) पिन से भी कनेक्ट करें। यह सिग्नल को महत्वपूर्ण रूप से बढ़ाता है।

चूँकि हमें अन्य git रिपॉजिटरी से कुछ पुस्तकालयों की आवश्यकता है, इसलिए हमें git. स्थापित करना होगा

sudo apt-git-core -y. स्थापित करें

433 मेगाहर्ट्ज संचार के लिए रास्पबेरी पाई स्थापित करने के लिए हमें जीपीआईओ के बेहतर संचालन के लिए वायरिंग पाई पुस्तकालय की आवश्यकता है।

git क्लोन git://git.drogon.net/wiringPi

सीडी वायरिंग पीआई./बिल्ड

फिर हमें एक पुस्तकालय की आवश्यकता है जो आम तौर पर आरसी बिजली आपूर्ति प्रोटोकॉल लागू करता है।

git क्लोन git://github.com/dabastynator/rcswitch-pi.git

सीडी आरसीस्विच-पीआई सीपी भेजें / यूएसआर / बिन /

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

मेरे स्मार्ट होम सेटअप में मेरे पास इस निर्देश द्वारा वर्णित एक आरसी एलईडी पट्टी भी है: https://www.instructables.com/id/RC-control-LED… इस एलईडी पट्टी के लिए रंग सेट करने के लिए आपको एक और निष्पादन योग्य भेजने की आवश्यकता है जो आपको अनुमति देता है कोई भी पूर्णांक मान भेजने के लिए (जो रंग को एन्कोड करता है)।

इसलिए, sendInt.cpp को rcswitch-pi रेपो में संकलित करें और इसे /usr/bin/sendInt पर ले जाएं।

sudo g++ sendInt.cpp -o /usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch-pi -lwiringPi

अब आप दो निष्पादन योग्य /usr/bin/send और /usr/bin/sendInt के साथ आरसी कमांड भेजने में सक्षम होना चाहिए

चरण 3: सेटअप स्मार्ट होम सर्वर

सबसे पहले आपको कई पैकेज स्थापित करने की आवश्यकता है। स्मार्ट होम एप्लिकेशन जावा आधारित है और openjdk-11 के साथ ठीक चलता है। मैं अन्य जावा रनटाइम वातावरण के बारे में निश्चित नहीं हूं। mplayer एक न्यूनतम कमांड-लाइन म्यूजिक प्लेयर है। omxplayer वीडियो एन्कोडिंग के लिए रास्पबेरी पाई ग्राफिक्स का उपयोग करता है, इसलिए इसका उपयोग वीडियो के लिए किया जाना चाहिए। जावा एप्लिकेशन बनाने के लिए प्रोग्राम चींटी की आवश्यकता होती है।

sudo apt-mplayer omxplayer स्थापित करें openjdk-11-jdk ant -y

जार फ़ाइल और लॉग के लिए निर्देशिका सेट करें।

sudo mkdir /opt/neo

sudo chown pi:pi /opt/neo mkdir /home/pi/Logs

एप्लिकेशन को बूट पर स्वचालित रूप से प्रारंभ करने के लिए प्रारंभ स्क्रिप्ट कॉन्फ़िगर करें। इसलिए संलग्न स्मार्ट-होम स्क्रिप्ट को निर्देशिका में कॉपी करें /etc/init.d/ मैंने /usr/bin/ में एक स्क्रिप्ट भी बनाई है जो संलग्न स्क्रिप्ट को पाइप करता है, इसलिए मैं कमांड निष्पादित करने के लिए कंसोल में स्मार्ट-होम दर्ज करता हूं.

सुडो सीपी स्मार्ट-होम /etc/init.d/smart-home

sudo chmod +x /etc/init.d/smart-home sudo sh -c "echo '#! /bin/bash' > /usr/bin/smart-home" sudo sh -c "echo '/etc/init. d/smart-home \$1' >> /usr/bin/smart-home" sudo chmod +x /usr/bin/smart-home sudo update-rc.d स्मार्ट-होम डिफॉल्ट्स

अब रिपॉजिटरी की जांच करने और एप्लिकेशन बनाने का समय आ गया है। यदि आप इसे स्वयं संकलित नहीं करना चाहते हैं, तो आप बस संलग्न स्मार्टहोम.जर डाउनलोड कर सकते हैं और इसे /opt/neo/ पर ले जा सकते हैं।

git क्लोन [email protected]:dabastynator/SmartHome.git

ant -f SmartHome/de.neo.smarthome.build/build.ant build_remote cp SmartHome/de.neo.smarthome.build/build/jar/* /opt/neo/

स्मार्ट-होम प्रारंभ करने का प्रयास करें और लॉग फ़ाइल की जाँच करें। GPIO के लिए पहुँच प्राप्त करने के लिए, आवेदन sudo द्वारा शुरू किया जाना चाहिए।

सुडो स्मार्ट-होम स्टार्ट

बिल्ली लॉग/smarthome.log

आपको त्रुटि संदेश देखना चाहिए कॉन्फ़िगरेशन फ़ाइल मौजूद नहीं है जो हमें अगले चरण की ओर इंगित करती है। रिपॉजिटरी में एक रीडमी होता है जो कॉन्फ़िगरेशन फ़ाइल की व्याख्या करता है। आप इसे जीथब पर अच्छी तरह से प्रस्तुत करते हुए देख सकते हैं:

इस xml को /home/pi/controlcenter.xml में कॉपी करें, फिर अपने मीडिया सर्वर के लिए स्थान निर्धारित करें और सामग्री को आवश्यकतानुसार बदलें। एक बार जब आप कॉन्फ़िगरेशन समाप्त कर लेते हैं और स्मार्ट-होम (sudo स्मार्ट-होम पुनरारंभ) को पुनरारंभ करते हैं, तो आपको निम्न सामग्री को smarthome.log में देखना चाहिए।

24.05-08:26 de.neo.smarthome.cronjob. CronJob@15aeb7ab द्वारा दूरस्थ जानकारी: क्रॉन जॉब शेड्यूल करें

24.05-08:26 [trigger.light] द्वारा दूरस्थ जानकारी: निष्पादन के लिए 79391760 एमएस प्रतीक्षा करें /क्रिया) २४.०५-०८:२६ वेब-हैंडलर (५०६१/मीडियासर्वर) द्वारा आरएमआई सूचना २४.०५-०८:२६ ऐड वेब-हैंडलर द्वारा आरएमआई सूचना (५०६१/स्विच) २४.०५-०८:२६ वेब-हैंडलर द्वारा आरएमआई सूचना (५०६१/कंट्रोलसेंटर) २४.०५-०८:२६ आरएमआई सूचना ५ हैंडलर (लोकलहोस्ट: ५०६१) के साथ स्टार्ट वेबसर्वर द्वारा २४.०५-०८:२६ कंट्रोलसेंटर द्वारा दूरस्थ जानकारी: १ जोड़ें। नियंत्रण इकाई: MyUnit (xyz) …

वेब-सर्वर अब चल रहा है:-)

चरण 4: सेटअप ग्राहक

सेटअप ग्राहक
सेटअप ग्राहक
सेटअप ग्राहक
सेटअप ग्राहक
सेटअप ग्राहक
सेटअप ग्राहक

स्मार्टफोन एंड्रॉइड क्लाइंट

स्मार्ट-होम एप्लिकेशन के लिए गिट रिपोजिटरी में एंड्रॉइड क्लाइंट के लिए स्रोत भी शामिल है, ताकि आप इसे स्वयं संकलित कर सकें। लेकिन मैंने इस चरण के लिए एपीके संलग्न किया है, जिससे यह आसान हो जाता है। जब आप पहली बार ऐप शुरू करते हैं, तो यह आपसे एक सर्वर मांगता है, जैसा कि ऊपर की पहली छवि में है। सर्वर का url और सुरक्षा टोकन दर्ज करें।

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

स्मार्टवॉच पेबल क्लाइंट

दो कंकड़ ग्राहकों के लिए स्रोत जीथब पर होस्ट किया गया है। एक ऐप वर्तमान प्लेइंग म्यूजिक फाइल दिखाता है: https://github.com/dabastynator/PebbleRemoteMusic… यह आपको पॉज/प्ले और वॉल्यूम अप/डाउन करने की भी अनुमति देता है।

दूसरा ऐप तीन क्रियाओं को ट्रिगर करता है: https://github.com/dabastynator/PebbleControl ट्रिगर-नाम हैं: mobile.com_home mobile.leaving और mobile.go_to_bed। यदि आप अपने कॉन्फ़िगरेशन-एक्सएमएल में इस ट्रिगर के लिए ईवेंट-नियम परिभाषित करते हैं तो आप उन्हें अपनी घड़ी से ट्रिगर करते हैं।

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

स्मार्टवॉच गार्मिन क्लाइंट

गार्मिन स्मार्टवॉच के लिए एक क्लाइंट भी उपलब्ध है। ऐप गार्मिन कनेक्ट ऐप-स्टोर में उपलब्ध है और इसे यहां इंस्टॉल किया जा सकता है:

apps.garmin.com/en-US/apps/c745527d-f2af-4…

स्मार्ट मिरर क्लाइंट

मैंने पहले से ही एक निर्देश योग्य बनाया है जो बताता है कि स्मार्ट मिरर कैसे बनाया जाता है, इसे देखें https://www.instructables.com/id/Smart-Mirror-by-R…। स्रोत कोड भी जीथब पर होस्ट किया गया है: https:// github.com/dabastynator/SmartMirror। स्मार्ट मिरर का सॉफ्टवेयर स्मार्ट_कॉन्फिग.जेएस फ़ाइल से कॉन्फ़िगरेशन को पढ़ता है जो कि गिट रिपॉजिटरी का हिस्सा नहीं है। कॉन्फ़िगरेशन फ़ाइल की सामग्री इस लिस्टिंग की तरह दिखनी चाहिए:

var mOpenWeatherKey = 'आपकी-खुली-मौसम-कुंजी';

var mSecurity = 'आपका-सुरक्षा-टोकन';

स्मार्ट होम सर्वर आईपी पता और सही मौसम प्राप्त करने के लिए स्थान निर्दिष्ट करने के लिए आपको स्मार्ट_मिरर.जेएस फ़ाइल की पहली दो पंक्तियों को भी समायोजित करना होगा।

अधिक ग्राहक

सर्वर एप्लिकेशन एक साधारण वेब सर्वर है। यह आपको सरल वेब-कॉल द्वारा किसी भी क्लाइंट से कार्रवाई को ट्रिगर करने में सक्षम बनाता है जिसे आप चाहते हैं। डेमो-वीडियो में मैं ऑटोवॉइस के साथ संयोजन में एंड्रॉइड ऐप टास्कर दिखाता हूं। यह मुझे साधारण वॉयस कमांड के साथ ईवेंट ट्रिगर करने में सक्षम बनाता है। उदाहरण के लिए "ओके गूगल, सोने का समय" mobile.go_to_bed को ट्रिगर कर सकता है। लेकिन आप IFTTT से उदाहरण के लिए वेब-कॉल भी कर सकते हैं। ईमेल अधिसूचना के लिए पीले रंग की ब्लिंकिंग एलईडी पट्टी के बारे में क्या?

आप सर्वर से निम्नलिखित लिंक जैसे संभावित वेब-कॉल के लिए पूछ सकते हैं (आईपी, पोर्ट और टोकन को अपने कॉन्फ़िगरेशन से बदलें)

localhost:5061/controlcenter/api?token=secu…

localhost:5061/action/api?token=security-to…

localhost:5061/mediaserver/api?token=securi…

localhost:5061/switch/api?token=security-to…

localhost:5061/ledstrip/api?token=security-…

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

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

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

सिफारिश की: