विज्ञापन

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

अद्यतन: चूंकि यह लेख लिखा गया था, इसलिए मैंने ओपनएचएबी की खोज की, जो एक स्वतंत्र और खुला स्रोत है होम ऑटोमेशन प्लेटफॉर्म यह रास्पबेरी पाई पर चलता है और इसे ऑफ-द-शेल्फ स्मार्ट होम किट के साथ-साथ बड़ी रेंज के साथ एकीकृत किया जा सकता है Arduino। चुपके से चोटी के लिए नीचे दिए गए वीडियो को देखें, फिर हमारे सिर पर

instagram viewer
रास्पबेरी पाई पर ओपनएचएबी के साथ शुरुआत करना रास्पबेरी पाई पर ओपनएचएबी होम ऑटोमेशन के साथ शुरुआत करनाओपनएचएबी एक परिपक्व, ओपन सोर्स होम ऑटोमेशन प्लेटफॉर्म है जो विभिन्न प्रकार के हार्डवेयर पर चलता है और है प्रोटोकॉल अज्ञेयवाद, जिसका अर्थ है कि यह बाजार पर लगभग किसी भी होम ऑटोमेशन हार्डवेयर से जुड़ सकता है आज। अधिक पढ़ें अधिक जानने के लिए मार्गदर्शन करें।

Heimcontrol.js रास्पबेरी पाई पर चलाने के लिए बनाया गया एक Node.js ऐप है। Arduino और कुछ ऑफ-द-शेल्फ रिमोट कंट्रोल सॉकेट के साथ संयुक्त, यह AC उपकरणों को नियंत्रित करना आसान बनाता है। आप तापमान सेंसर जोड़ सकते हैं, और यहां तक ​​कि अपने टीवी को भी नियंत्रित कर सकते हैं - लेकिन हम आज चीजों को बुनियादी बनाए रखेंगे और बाद के ट्यूटोरियल में परियोजना का विस्तार करेंगे।

यहाँ परियोजना का टूटना है:

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

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

  • Arduino और एक रास्पबेरी पाई
  • कुछ रिमोट नियंत्रित सॉकेट्स और नियंत्रक (मैंने इस्तेमाल किया इन)
  • संचालित USB हब
आर सी-सॉकेट

शुरू करने से पहले, यहाँ प्रोजेक्ट निर्माता से स्वयं एक डेमो वीडियो बनाया गया है।

नई शुरुआत करें

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

यदि आपने पहले ऐसा नहीं किया है, तो यह वीडियो आपके एसडी कार्ड को OS X में तैयार करने की प्रक्रिया को समझाता है:

और विंडोज उपयोगकर्ताओं के लिए यह एक:

तैयारी

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

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

sudo apt-get update sudo apt-get उन्नयन। sudo apt-get install git-core git scons build-Essential scons libpcre ++ - dev xulrunner-dev libboost-dev libboost-program-options-dev libboost-thread-dev-lib libostost-filesystem-dev। 

अगला हमें नोड स्थापित करने की आवश्यकता है:

सुडो mkdir / ऑप्ट / नोड। wget http://nodejs.org/dist/v0.10.2/node-v0.10.2-linux-arm-pi.tar.gz. टर xvzf नोड- v0.10.2-linux-arm-pi.tar.gz सुडो cp -r नोड- v0.10.2-linux-arm-pi / * / opt / node। सुडो ln -s / ऑप्ट / नोड / बिन / नोड / usr / स्थानीय / बिन / नोड। sudo ln -s / opt / node / bin / npm / usr / local / bin / npm। 

अपनी प्रोफ़ाइल में एक PATH वैरिएबल जोड़ें ताकि OS को पता हो कि Node कहाँ स्थित है। नैनो टेक्स्ट एडिटर का उपयोग इस प्रकार करें:

सुडो नैनो / आदि / प्रोफाइल। 

रेखा जो कहती है, उसका पता लगाएँ निर्यात PATH और इसे बदलें:

NODE_JS_HOME = "/ opt / नोड" पथ = "$ पथ: $ NODE_JS_HOME / bin" निर्यात PATH।

बाहर निकलने के लिए Ctrl-X मारो, और Y को बचाने के लिए।

प्रभावी होने के लिए आपको पथ परिवर्तन के लिए और फिर से लॉग आउट करना पड़ सकता है, लेकिन आप कमांड के साथ परीक्षण कर सकते हैं:

कौन सा नोड। 

यदि आपको नोड बाइनरी की ओर इशारा करते हुए कोई आउटपुट नहीं मिलता है, तो कुछ गलत हो गया है।

मोंगो

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

{मानक इनपुट}: 13085: चेतावनी: swp {b} उपयोग इस वास्तुकला के लिए पदावनत है। 

इनकी चिंता मत करो तो, मानगो स्थापित करने के लिए इन आदेशों को चलाएं:

git क्लोन क्लोन git: //github.com/RickP/mongopi.git सीडी मोंगोपी SCons। sudo scons --prefix = / opt / mongo install scons -c। 

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

सुडो यूजरडड मोंगोडब। sudo mkdir / data / dbb। sudo chown $ USER / डेटा / डीबी। cd /etc/init.d सूदो wget -O मंगोडब https://gist.github.com/ni-c/fd4df404bda6e87fb718/raw/36d45897cd943fbd6d071c096eb4b71b37d0fcbb/mongodb.sh. सुडो चामोद + एक्स मंगोडब। sudo update-rc.d मोंगोडब डिफॉल्ट्स। mongod

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

sudo shutdown -r अब

अंत में, यह Heimcontrol.js नोड एप्लिकेशन इंस्टॉल करने का समय है।

सीडी ~ पी। git क्लोन क्लोन git: //github.com/ni-c/heimcontrol.js.git सीडी heimcontrol.js। npm स्थापित करें। 

आप टाइप करके ऐप चलाना शुरू कर सकते हैं


नोड heimcontrol.js। 

इस बिंदु पर, आपको नियंत्रण इंटरफ़ेस तक पहुंचने में सक्षम होना चाहिए http://localhost: 8080 यदि आप इसे किसी अन्य कंप्यूटर से एक्सेस कर रहे हैं, तो पाई से, या स्थानीय पते को आईपी पते से बदल सकते हैं (और आप भी कर सकते हैं पोर्ट फ़ॉरवर्डिंग सेट करें पोर्ट अग्रेषण क्या है और यह मुझे कैसे मदद कर सकता है? [MakeUseOf बताते हैं]क्या आप थोड़ा अंदर रोते हैं जब कोई आपको बताता है कि पोर्ट अग्रेषण समस्या है और इसीलिए आपका चमकदार नया ऐप काम नहीं कर रहा है? आपके Xbox ने आपको गेम नहीं खेलने दिया, आपके टोरेंट डाउनलोड को मना कर देते हैं ... अधिक पढ़ें दुनिया में कहीं से भी इसे एक्सेस करने के लिए), इसलिए मैं आपको Arduino को संलग्न करने से पहले डेटाबेस के साथ काम करने और जांच करने के लिए प्रोत्साहित करता हूं।

हार्डवेयर

अंततः मैं एक हार्ड रिले की तरह हूं, लेकिन अब मैं रेडियो-नियंत्रित स्विच के सुरक्षित विकल्प का उपयोग करूंगा।

मैंने मेप्लिन के कुछ उचित सस्ते 20 सेटों का उपयोग किया है जो 3 सॉकेट्स के साथ आते हैं, और रिमोट कंट्रोल को खोलते हैं जिससे मैं सीधे 433 मेगाहर्ट्ज चिप के साथ इंटरफेस कर सकता हूं। मुझे इसके लिए निर्देश मिले यहाँ.

rc-नियंत्रक-हैक

आप ईबे पर या शौक इलेक्ट्रॉनिक्स आपूर्तिकर्ताओं से उपयोग के लिए तैयार व्यक्तिगत 433 मेगाहर्ट्ज ट्रांसमीटर भी खरीद सकते हैं। आपको केवल Arduino, GND, और एक नियंत्रण पिन पर VCC को 5 V से कनेक्ट करना होगा - याद रखें कि आपने किसका उपयोग किया था। (विली थिएल द्वारा योजनाबद्ध)

arduino-rcswitch

प्लगइन "ट्रिस्टेट कोड" भेजकर काम करता है, लेकिन ये निर्माता द्वारा अलग-अलग होंगे। को देखें RCSwitch प्रलेखन अपने सटीक कोड खोजने के लिए। इस विकि गाइड मदद भी कर सकते हैं।

Arduino के साथ संचार एक नोड लाइब्रेरी नामक का उपयोग करके किया जाता है Duino. यदि यह चल रहा है और Arduino ब्रिज को स्थापित करें तो निम्न कमांड का उपयोग करते हुए Heimcontrol ऐप को बंद करें।

npm स्थापित डुओनो। 

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

rc-सेटिंग

लॉन्च किए गए वेब ऐप के साथ, पर जाएं समायोजन मेनू> Arduino.

heimcontrol-मेनू सेटिंग्स

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

rcswitch-सेटिंग

कीड़े:

कोड डिबग करने के कई घंटों के बाद, मैंने पाया कि एकल अंक पिन नंबर काम नहीं कर रहे हैं - सुनिश्चित करें कि आपका ट्रांसमीटर पिन के लिए रखा गया है 10 सुनिश्चित होना।

मैंने यह भी पाया कि Arduino प्लगइन हार्डकोड कोड के लिए गलत अंतिम बिट्स के साथ हार्डकोड किया गया था जो मेरे रिसीवर को चाहिए थे। पहले थोड़ा स्पष्टीकरण: ट्रिस्टेट कोड में जानकारी के 3 बाइट्स होते हैं। पहला हमें नेटवर्क नंबर (1-4) निर्धारित करता है, और दूसरा ट्रांसीवर पता (फिर से, 1-4, अधिकतम 16 पता करने योग्य सॉकेट का उत्पादन करता है) प्रदान करता है। अंतिम बाइट में पैडिंग के दो बिट्स होते हैं, साथ ही ऑन / ऑफ के लिए 2 बिट्स। दुर्भाग्य से, अंतिम बाइट Arduino प्लगइन में हार्डकोड किया गया है - और मेरे मामले में, ऑन / ऑफ कोड गलत था।

मुझे मैन्युअल रूप से संपादित करना था plugins / arduino / index.js सही कोड का उपयोग करने के लिए। यदि आप एक ही रिमोट कंट्रोल सॉकेट्स का उपयोग कर रहे हैं, जैसा कि मैं कर रहा हूँ, तो लाइनों को 80 पर बदलें:

// RC कोड भेजें। अगर (आइटम.वल्यू) {रिटर्न that.pins [item.pin] .triState (आइटम.कोड + "FFFF"); // FF0F से बदला। } और {वापसी that.pins [item.pin] .triState (item.code + "FFF0"); // FF00 से परिवर्तन। }

यहाँ सब कुछ काम करने का एक डेमो वीडियो है:

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

जेम्स के पास आर्टिफिशियल इंटेलिजेंस में बीएससी है, और कॉम्पिटिया ए + और नेटवर्क + प्रमाणित है। वह MakeUseOf के प्रमुख डेवलपर हैं, और अपना खाली समय वीआर पेंटबॉल और बोर्डगेम खेलने में बिताते हैं। वह पीसी का निर्माण कर रहा है क्योंकि वह एक बच्चा था।