रास्पबेरी पाई पर ओपनएचएबी होम ऑटोमेशन के साथ शुरुआत करना

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

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





दुर्भाग्य से, यह लगभग उतना ही दूर है जहाँ तक आप उपभोक्ता के अनुकूल से प्राप्त कर सकते हैं - लेकिन हमेशा की तरह, यहीं MakeUseOf आता है: हम आपको दिखाएंगे कि परम स्मार्ट होम सिस्टम के साथ कैसे उठना और चलाना है, पैसे की जरूरत नहीं है (क्योंकि OpenHAB है 100% मुफ़्त - बस हार्डवेयर की आपूर्ति करें)।





इस गाइड का पहला भाग विशेष रूप से इस बात पर केंद्रित है कि कैसे एक के साथ OpenHAB सेटअप प्राप्त करें रास्पबेरी पाई 2 , लेकिन आगे, ट्यूटोरियल और सलाह कहीं भी OpenHAB स्थापित होने पर लागू की जा सकती है।





इस गाइड में तीन परिचयात्मक विषय शामिल हैं, और एक थोड़ा अधिक उन्नत है।

  • OpenHAB को चालू करना और Pi पर चलाना, और कोर सिस्टम की जांच के लिए डेमो हाउस कॉन्फ़िगरेशन स्थापित करना काम कर रहा है।
  • उपकरणों के लिए बाइंडिंग और प्रोफाइल कैसे जोड़ें। मैं फिलिप्स ह्यू के साथ काम करूंगा।
  • रिमोट एक्सेस को सक्षम करना, और IFTTT से कनेक्ट करना।
  • ब्लूटूथ का उपयोग करके एक DIY उपस्थिति सेंसर जोड़ना, और REST इंटरफ़ेस का परिचय।
  • OpenHAB मोबाइल ऐप को कॉन्फ़िगर करना।

आपको किस चीज़ की ज़रूरत पड़ेगी

बहुत कम से कम, आपको रास्पबेरी पाई (v2, अधिमानतः), और एक ईथरनेट या वायरलेस एडेप्टर (ईथरनेट पसंदीदा, इस गाइड में आपके वाई-फाई एडेप्टर को काम करने के निर्देश शामिल नहीं होंगे) की आवश्यकता होगी। बाकी सब कुछ वैकल्पिक है। ध्यान दें कि OpenHAB मूल रास्पबेरी पाई पर भी चलेगा, लेकिन धीमी प्रसंस्करण और Z-Wave उपकरणों के साथ एक ज्ञात समस्या है। यदि आपको जेड-वेव की कोई आवश्यकता नहीं है, तो आप इस चेतावनी को सुरक्षित रूप से अनदेखा कर सकते हैं और रास्पबेरी पीआई मॉडल बी या बी + के साथ आगे बढ़ सकते हैं, क्योंकि बाकी सब कुछ ठीक काम करता प्रतीत होता है। यदि आप Z-Wave जोड़ते हैं तो आप हमेशा नवीनतम Pi में अपग्रेड कर सकते हैं।



यह छोटी सी चीज़ आपके लिए अब तक का सबसे अच्छा स्मार्ट होम हब हो सकती है!

लेखन के समय, OpenHAB का नवीनतम स्थिर संस्करण संस्करण 1.71 है; संस्करण 1.8 जल्द ही आने की उम्मीद है, और इस गाइड में सब कुछ अभी भी प्रासंगिक होना चाहिए, हालांकि कुछ बाइंडिंग में अधिक विशेषताएं हो सकती हैं। संस्करण 2 वर्तमान में बहुत प्रारंभिक अल्फा पूर्वावलोकन के रूप में भी उपलब्ध है, लेकिन OpenHAB 1 श्रृंखला के लिए नाटकीय रूप से भिन्न वास्तुकला को अपनाता है: यह मार्गदर्शिका संस्करण 2 के साथ संगत नहीं है।





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

अच्छी खबर यह है कि एक बार यह काम कर रहा है, यह एक रॉक ठोस अनुभव और अविश्वसनीय रूप से पुरस्कृत है।





ओपनएचएबी स्थापित करना

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

से शुरू करें नवीनतम (पूर्ण) रास्पियन एसडी छवि ('लाइट' संस्करण नहीं, इनमें जावा वर्चुअल मशीन शामिल नहीं है)। अपने नेटवर्क केबल को प्लग इन करें, फिर बूट करें, और एसएसएच के माध्यम से नेविगेट करें। Daud:

sudo raspi-config

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

sudo apt-get update
sudo apt-get upgrade

OpenHAB रनटाइम को स्थापित करने का आसान तरीका है उपयुक्त-प्राप्त , लेकिन पहले हमें एक सुरक्षित कुंजी और नया भंडार जोड़ने की आवश्यकता है:

wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' |sudo apt-key add -
echo 'deb http://dl.bintray.com/openhab/apt-repo stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt-get update
sudo apt-get install openhab-runtime
sudo update-rc.d openhab defaults

उत्सुकता से, सब कुछ 'रूट' के स्वामित्व के रूप में स्थापित किया गया था। हमें निम्न आदेशों के साथ इसे ठीक करने की आवश्यकता है।

sudo chown -hR openhab:openhab /etc/openhab
sudo chown -hR openhab:openhab /usr/share/openhab

इसके बाद, हम सांबा स्थापित करेंगे और कॉन्फ़िगरेशन और उपयोगकर्ता फ़ोल्डर साझा करेंगे - इससे ऐड-ऑन स्थापित करना और साइटमैप को दूरस्थ रूप से बदलना आसान हो जाएगा।

sudo apt-get install samba samba-common-bin
sudo nano /etc/samba/smb.conf

यदि आवश्यक हो तो कार्यसमूह का नाम बदलें, लेकिन अन्यथा WINS समर्थन सक्षम करें:

wins support = yes

(आपको लाइन को अनकम्मेंट करना होगा, और नहीं को हां में बदलना होगा)

फिर शेयर परिभाषा अनुभाग में निम्नलिखित जोड़ें (लंबी फ़ाइल के नीचे सभी तरह से स्क्रॉल करें):

[OpenHAB Home]
comment= OpenHAB Home
path=/usr/share/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no
[OpenHAB Config]
comment= OpenHAB Site Config
path=/etc/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no

मैंने प्रिंटर्स सेक्शन पर भी टिप्पणी की। मैंने दो शेयर किए हैं, क्योंकि कॉन्फ़िगरेशन फ़ाइलें वास्तव में ऐड-ऑन में अलग से संग्रहीत की जाती हैं।

सुरषित और बहार। हमें अंततः ओपनहैब उपयोगकर्ता के लिए सांबा पासवर्ड सेट करने की आवश्यकता है:

sudo smbpasswd -a openhab

मैं केवल उपयोग में आसानी के लिए पासवर्ड के रूप में 'ओपनहैब' का सुझाव दूंगा, लेकिन यह वास्तव में मायने नहीं रखता है।

पाठक डेविड एल के लिए धन्यवाद - ऐसा प्रतीत होता है कि सांबा को फिर से शुरू करने का तरीका नवीनतम रास्पियन में बदल गया है। यहाँ अद्यतन निर्देश दिए गए हैं:

sudo update-rc.d smbd enable
sudo update-rc.d nmbd enable
sudo service smbd restart

सांबा को पुनरारंभ करने के बाद (पुराने इंस्टॉल का उपयोग करें सुडो सर्विस सांबा रीस्टार्ट ), परीक्षण करें कि आप साझा ड्राइव तक पहुंच सकते हैं। हो सकता है कि इसे Mac पर अपने आप खोजा न जाए; लेकिन आप का उपयोग कर सकते हैं खोजक -> जाना -> सर्वर से कनेक्ट करें और पता

smb://openhab@raspberrypi.local

उपयोगकर्ता नाम ओपनहैब और अपने चुने हुए पासवर्ड के साथ प्रमाणित करें, फिर अपने दोनों शेयरों को चारों ओर देखने के लिए खोलें। आपको अपने वेब ब्राउज़र में http://raspberrypi.local:8080/ खोलने में भी सक्षम होना चाहिए, लेकिन आपको एक त्रुटि का सामना करना पड़ेगा क्योंकि हमने अभी तक साइटमैप नहीं बनाया है। यह सामान्य है।

अब OpenHAB लॉग को टेल करने के लिए कमांड सीखने का एक अच्छा समय होगा ताकि आप त्रुटियों पर नज़र रख सकें।

tail -f /var/log/openhab/openhab.log

जब तक आप गाइड के साथ जारी रखते हैं, तब तक इसे चालू रखें और एक अलग SSH विंडो में खोलें।

डेमो हाउस स्थापित करें

इससे पहले कि हम कॉन्फ़िगरेशन फ़ाइलों की पेचीदगियों में तल्लीन हों, डिवाइस और बाइंडिंग आदि जोड़ना; आइए देखें कि डेमो सामग्री जोड़कर सब कुछ काम कर रहा है। आप OpenHAB.org के डाउनलोड अनुभाग के अंतर्गत 'डेमो सेटअप' पाएंगे।

एक बार जब आप इसे अनज़िप कर लेते हैं, तो दो फ़ोल्डर होते हैं: एडऑन तथा विन्यास .

नेटवर्क शेयरों का उपयोग करके, कॉपी करें विन्यास तक ओपनएचएबी कॉन्फिग मौजूदा फ़ोल्डर को साझा और अधिलेखित करें। प्रतिलिपि एडऑन अन्य के लिए ओपनहैब होम साझा करें, फिर से, मौजूदा फ़ोल्डरों को अधिलेखित कर दें। अगर आपको कुछ ओवरराइट करने के लिए प्रेरित नहीं किया जाता है, तो आप इसे गलत कर रहे हैं। यदि आप डिबग लॉग फ़ाइल पर अपनी नज़र रखते हैं, तो आपको गतिविधि का एक स्पंदन देखना चाहिए क्योंकि यह नई बाइंडिंग को नोटिस करता है और कार्रवाई में घूमता है। डेमो देखने के लिए raspberrypi.local:8080/openhab.app?sitemap=demo खोलें।

इस समय यह थोड़ा बुनियादी है, लेकिन OpenHAB की खुली प्रकृति का मतलब है कि हम बाद में एक सुंदर नई थीम या पूरी तरह से एक वैकल्पिक इंटरफ़ेस स्थापित कर सकते हैं। अभी के लिए, हमें बस यह जानने की जरूरत है कि यह सब काम कर रहा है। ध्यान दें कि हम जो देख रहे हैं उसे a . कहा जाता है साइट मैप (वेबसाइट साइट मैप से कोई लेना-देना नहीं है)। साइटमैप उपयोगकर्ता इंटरफ़ेस का वर्णन करता है - न कि आपके नेटवर्क या सेंसर पर वास्तविक डिवाइस - केवल उन्हें देखने के लिए इंटरफ़ेस। इसका हर हिस्सा पूरी तरह से अनुकूलन योग्य है। यह देखने के लिए कि इसे कैसे बनाया गया है, इसे खोलें साइटमैप/डेमो.साइटमैप OpenHAB कॉन्फ़िग शेयर पर फ़ाइल।

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

जब आप वहां हों, तो खुल जाएं आइटम/demo.items बहुत। फिर से, डरावना लग रहा है, लेकिन यह वह जगह है जहां आप ट्रैक करने के लिए सेंसर को नियंत्रित करने और परिभाषित करने के लिए आइटम बनाते हैं।

तो OpenHAB कैसे काम करता है?

अब जब आपने साइटमैप और आइटम फ़ोल्डर का त्वरित अवलोकन कर लिया है, तो आइए वास्तव में ये फ़ाइलें क्या हैं और OpenHAB के अन्य मुख्य घटकों को तोड़ते हैं जो आपके संपूर्ण स्मार्ट होम को बनाने के लिए गठबंधन करते हैं। आप इनमें से प्रत्येक के लिए OpenHAB कॉन्फ़िग साझा फ़ोल्डर में उपनिर्देशिकाएँ पाएंगे।

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

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

नियमों वह जगह है जहां होम ऑटोमेशन पहलू चलन में आता है, जहां आप किसी कार्रवाई के लिए शेड्यूल या शर्तों को परिभाषित कर सकते हैं। रात 10 बजे बेडरूम की लाइट को गर्म लाल रंग में बदलने जैसी साधारण घटनाएं; या अधिक जटिल तर्क जैसे कि स्पेस हीटर चालू करना यदि तापमान 0 से कम है और कोई उस कमरे में मौजूद है। आप भी पाएंगे स्क्रिप्ट फ़ोल्डर, जो नियमों के समान कार्यक्षमता प्रदान करता है लेकिन प्रोग्राम करने योग्य तर्क के अधिक जटिल स्तर पर।

अटलता एक उन्नत विषय है जिसे हम इस गाइड में शामिल नहीं करेंगे, लेकिन दृढ़ता उस डेटा को परिभाषित करती है जिसका आप रिकॉर्ड रखना चाहते हैं। डिफ़ॉल्ट रूप से, OpenHAB केवल किसी चीज़ की वर्तमान स्थिति दिखाने वाला है; यदि आप समय के साथ उस मान को ट्रैक करना चाहते हैं, तो आपको उस डेटा स्रोत के लिए एक दृढ़ता परिभाषा सेट करनी होगी। इसमें आप चीजों को निर्दिष्ट करेंगे जैसे डेटा बिंदु को कितनी बार मापा जाना चाहिए, या पुराने डेटा बिंदुओं को कब त्यागना है - आपको यह भी बताना होगा कि किस प्रकार का दृढ़ता इंजन उपयोग करना है, जैसे कि MySQL या फ़ाइल में साधारण लॉगिंग .

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

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

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

एक नया (रिक्त) बनाकर प्रारंभ करें होम.आइटम फ़ाइल, और एक नया होम.साइटमैप संबंधित निर्देशिकाओं में फ़ाइल। खुलना होम.साइटमैप और निम्न कोड में पेस्ट करें। यह सिर्फ एक बुनियादी कंकाल के रूप में कार्य करता है जिसमें हम बाद में बिट्स जोड़ेंगे।

sitemap home label='My Home'
{

}

आपको रिपोर्ट करने के लिए एक नोटिस देखना चाहिए कि OpenHAB ने एक नए साइटमैप और आइटम फ़ाइल की पहचान की है।

संरेखण केंद्र आकार-बड़ा wp-छवि-४९६५९३

डीबग मोड सक्षम करें

जब आप अभी भी OpenHAB को सही ढंग से काम करने की कोशिश कर रहे हैं, तो यह अधिक वर्बोज़ डीबग लॉग को सक्षम करने के लिए उपयोगी हो सकता है जो सब कुछ सूचीबद्ध करता है, न कि केवल महत्वपूर्ण सामान। इस मोड को सक्षम करने के लिए, OpenHAB कॉन्फ़िग साझा फ़ोल्डर खोलें, और संपादित करें लॉगबैक.एक्सएमएल . लाइन 40 पर, निम्न पंक्ति को INFO के बजाय DEBUG पढ़ने के लिए बदलें। इसे बदलने के बाद आपको पुनरारंभ करना होगा।

यह एक वैश्विक परिवर्तन है, इसलिए जब आप लॉग फ़ाइल को टेल करेंगे तो आपको बहुत अधिक जानकारी प्राप्त होगी।

फिलिप्स ह्यू जोड़ना

मैं फिलिप्स ह्यू से शुरुआत करने जा रहा हूं। OpenHAB में जिन अधिकांश चीज़ों के साथ आप इंटरैक्ट करना चाहते हैं, उनकी तरह, ह्यू बल्ब के लिए आपको इंस्टॉल करने की आवश्यकता होती है a बंधन - बाइंडिंग को डिवाइस ड्राइवर की तरह समझें। लेखन के समय, OpenHAB 1 के लिए लगभग 160 बाइंडिंग उपलब्ध हैं, यही वजह है कि OpenHAB इतनी शक्तिशाली प्रणाली है - यह किसी भी चीज़ के साथ इंटरफ़ेस कर सकती है, उन सभी अलग-अलग नियंत्रण प्रणालियों को एक एकीकृत इंटरफ़ेस में जोड़ती है। यहां शामिल चरणों का एक डेमो और त्वरित अवलोकन है।

बाइंडिंग को पहले डाउनलोड किया जाना चाहिए, और पीआई पर ऐसा करने का सबसे आसान तरीका उपयोग कर रहा है उपयुक्त-प्राप्त , फिर स्वामित्व को ओपनहैब उपयोगकर्ता के लिए बाध्य करें।

sudo apt-get install openhab-addon-binding-hue
sudo chown -hR openhab:openhab /usr/share/openhab

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

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

################################ HUE Binding ######################################### # IP of the Hue bridge
hue:ip=192.168.1.216
hue:secret=makeuseofdotcom
hue:refresh=10000

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

अगला, खोलें होम.आइटम फ़ाइल, जिसमें हम कुछ ह्यू बल्ब जोड़ेंगे। यहाँ एक उदाहरण आइटम परिभाषा है:

Color Bedroom_Hue 'Bedroom Hue' (Bedroom) {hue='1'}
  • NS रंग शब्द निर्दिष्ट करता है कि इस मद पर हमारा किस प्रकार का नियंत्रण है। RGB ह्यू बल्ब 'कलर' हैं, क्योंकि हमारे पास उनका पूर्ण रंग नियंत्रण है। अन्य रोशनी सिर्फ एक स्विच हो सकती है।
  • अगला आइटम का कोडनेम है: मैंने चुना बेडरूम_ह्यू , लेकिन शाब्दिक रूप से कुछ भी ठीक है - बस कुछ वर्णनात्मक है जो आपको स्वाभाविक लगता है, क्योंकि साइटमैप बनाते समय आपको इसे बाद में याद रखना होगा। कोडनेम में कोई स्पेस नहीं होना चाहिए।
  • उद्धरण चिह्नों के बीच लेबल है। इस मामले में हमारा काम आसान है, लेकिन कुछ वस्तुओं जैसे तापमान या किसी मूल्य की रिपोर्ट करने वाली किसी चीज़ के लिए, आप कुछ विशेष कोड जोड़ेंगे जो यह बताता है कि उस मान को कैसे प्रदर्शित किया जाए या किस चीज़ का उपयोग किया जाए रूपान्तरण। लेबल इंटरफ़ेस के लिए है, और इसमें रिक्त स्थान हो सकते हैं।
  • कोण कोष्ठक के बीच चिह्न का नाम है। आपको OpenHAB शेयर में सभी उपलब्ध आइकन मिलेंगे, के तहत वेबएप/छवियां निर्देशिका। वास्तव में ह्यू आइकन की एक पूरी श्रृंखला है जो विभिन्न चमक या चालू/बंद का प्रतिनिधित्व करती है। बस आधार आइकन नाम निर्दिष्ट करें - यदि यह एक स्विच किया गया आइटम है, तो OpenHAB स्वचालित रूप से अलग-अलग ऑन/ऑफ आइकनों को देखना जानता है। यह वैकल्पिक है।
  • गोल कोष्ठक में, हम यह बताते हैं कि किन समूहों का हिस्सा बनना है - इस मामले में, बस शयनकक्ष समूह।
  • अंत में और महत्वपूर्ण रूप से, हम किसी भी आवश्यक चर के साथ आइटम को उपयुक्त बाइंडिंग से जोड़ते हैं। इस मामले में, रंग बाध्यकारी, और बल्ब की संख्या 1 है। आप आधिकारिक ह्यू एप्लिकेशन को खोलकर और रोशनी टैब को देखकर संख्या पा सकते हैं। प्रत्येक बल्ब की एक विशिष्ट संख्या होती है।

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

Group Bedroom
Group Office
Group Kai
Group Living_Room
Group Cinema
Group Secret
Group Lights /* Lights */
Color Bedroom_Hue 'Bedroom Hue' (Bedroom,Lights) {hue='1'}
Color Office_Hue 'Office Hue' (Office, Lights) {hue='2'}
Color Secret_Hue 'Secret Hue' (Secret, Lights) {hue='3'}
Color Kai_Hue 'Kai's Hue' (Kai, Lights) {hue='4'}

NS /* लाइट्स */ टेक्स्ट केवल एक टिप्पणी है, फ़ाइल के बड़े होने पर बाद में स्कैन करने में हमारी सहायता करने के अलावा इसका कोई कार्य नहीं है। अब हमारे पास उपकरण जोड़े गए हैं, लेकिन http://raspberrypi.local:8080/?sitemap=home को खोलने से एक खाली इंटरफ़ेस प्राप्त होता है - निश्चित रूप से, क्योंकि हमने अभी तक साइटमैप में वास्तव में इंटरफ़ेस तत्व नहीं बनाए हैं। आइए अभी के लिए वास्तव में सरल शुरुआत करें। खुलना होम.साइटमैप .

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

sitemap home label='My Home'
{
Frame {
Group item=Lights label='All lighting' icon='hue'
Group item=Bedroom label='Bedroom' icon='bedroom'
Group item=Office label='Office' icon='desk'
}
}

समूह त्वरित परीक्षण के लिए एक उपयोगी उपकरण हैं, लेकिन वास्तव में आप इस पर अधिक नियंत्रण चाहते हैं कि आइटम कैसे प्रदर्शित होते हैं। अभी के लिए, यह पर्याप्त होगा। ब्राउज़र में अपना होम साइटमैप सहेजें और पुनः लोड करें। आपको यह देखना चाहिए (या, आपने जो भी समूह जोड़े हैं)।

पर क्लिक करें सभी रोशनी प्रत्येक ह्यू प्रकाश को देखने के लिए, क्योंकि हमने उन सभी को उस व्यापक रोशनी समूह से संबंधित के रूप में परिभाषित किया है।

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

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

My.OpenHAB के साथ रिमोट एक्सेस, और IFTTT

अभी, आपको अपने OpenHAB सिस्टम तक पहुंचने के लिए उसी स्थानीय नेटवर्क पर होना चाहिए, लेकिन क्या होगा यदि आप अपने उपकरणों को नियंत्रित करना चाहते हैं और अपने वाई-फाई की सीमा से बाहर सेंसर की जांच करना चाहते हैं? इसके लिए हमें रिमोट एक्सेस सेट अप करने की आवश्यकता होगी - और हम इसे आसान तरीके से करेंगे, My.OpenHAB वेब सेवा [ब्रोकन यूआरएल रिमूव्ड] के साथ, जो पोर्ट फ़ॉरवर्डिंग और राउटर कॉन्फ़िगरेशन के साथ गड़बड़ करने की आवश्यकता को दरकिनार कर देती है। एक बोनस के रूप में, My.OpenHAB सेवा में एक IFTTT चैनल भी है, जो आपको रिमोट कंट्रोल और ऑटोमेशन के लिए अनंत संभावनाएं प्रदान करता है।

पहला: बाइंडिंग स्थापित करें। त्वरित युक्ति: यदि आप किसी विशेष इंस्टॉल पैकेज का सटीक नाम नहीं जानते हैं, तो इसे apt-cache के साथ खोजने का प्रयास करें।

sudo apt-get install openhab-addon-io-myopenhab
sudo chown -hR openhab:openhab /usr/share/openhab

इससे पहले कि आप My.OpenHAB साइट पर पंजीकरण कर सकें, आपको एक गुप्त कुंजी बनानी होगी, और अपना UUID ढूंढना होगा, जो विशिष्ट रूप से आपके इंस्टॉलेशन की पहचान करता है। के तहत जांचें ओपनएचएबी होम शेयर -> वेब ऐप्लिकेशन -> स्थिर और आपको एक यूयूआईडी फ़ाइल मिलनी चाहिए जिसमें आपका विशिष्ट पहचानकर्ता हो। यह इस बिंदु पर है कि मुझे पता चला कि मेरा पाई जावा के पुराने संस्करण का उपयोग कर रहा था जो गुप्त कुंजी को सही ढंग से नहीं बनाता है। प्रकार

java -version

जाँच करने के लिए। यदि यह 1.7 या उच्चतर नहीं कहता है, तो आपके पास गलत संस्करण है। अजीब तरह से, रास्पियन का नवीनतम संस्करण ओरेकल जावा 8 स्थापित के साथ आता है, लेकिन डिफ़ॉल्ट के रूप में सेट नहीं है।

sudo अद्यतन-विकल्प --config java

मेरा एचबीओ मैक्स काम क्यों नहीं कर रहा है

वह विकल्प चुनें जो इंगित करता है जेडीके-8-ओरेकल , फिर OpenHAB को पुनरारंभ करें। बोनस: Oracle Java 8 डिफ़ॉल्ट OpenJDK से तेज़ है!

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

अब उन विवरणों का उपयोग करके एक My.OpenHAB खाता बनाएं, फिर वापस आएं - कुछ भी काम करने से पहले आपको अपने ईमेल की पुष्टि करने की भी आवश्यकता होगी। इसके लिए कुछ और कदम हैं। सबसे पहले, हमें डिफ़ॉल्ट दृढ़ता इंजन को myopenhab पर सेट करने की आवश्यकता है (दृढ़ता बाद की मार्गदर्शिका के लिए कुछ है, लेकिन इसकी परवाह किए बिना, हमें अपने डेटा को ऑनलाइन सेवा में 'निर्यात' करने और इसे IFTTT के लिए दृश्यमान बनाने के लिए कुछ बुनियादी सेट करने की आवश्यकता है) . ऐसा करने के लिए, openhab.cfg खोलें, और वेरिएबल ढूंढें जो कहता है हठ: डिफ़ॉल्ट = और इसे बदलें हठ: डिफ़ॉल्ट = myopenhab . सहेजें।

अंत में, में एक नई फाइल बनाएं विन्यास/दृढ़ता फ़ोल्डर कहा जाता है myopenhab.persist , और निम्नलिखित नियम में पेस्ट करें।

Strategies {
default = everyChange
}
Items {
* : strategy = everyChange
}

आपको अभी इसे समझने की आवश्यकता नहीं है, लेकिन यह जान लें कि यह कहता है कि 'प्रत्येक आइटम की स्थिति बदलने पर उसे सहेजें'।

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

आरईएसटी का उपयोग कर ब्लूटूथ उपस्थिति सेंसर

कुछ समय पहले मैंने आपको दिखाया था कि उपयोगकर्ता की उपस्थिति का पता लगाने के लिए ब्लूटूथ स्कैनिंग का उपयोग करके एक स्वचालित कार्यालय का दरवाज़ा कैसे बनाया जाता है - मैं ऐसा कुछ OpenHAB में लाना चाहता था।

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

इसके अलावा: एक रीस्टफुल इंटरफ़ेस का मतलब है कि आप एक सिस्टम के साथ इंटरैक्ट कर सकते हैं जो इसे वेब सर्वर में बनाया गया है, बस यूआरएल को कॉल करके और डेटा पास करके या लाकर। आप अपने स्वयं के सर्वर पर इसका एक सरल उदाहरण देखने के लिए इस URL पर जा सकते हैं: http://raspberrypi.local:8080/rest/items - जो आपके सभी परिभाषित वस्तुओं की एक कोडित सूची को आउटपुट करता है। यह अविश्वसनीय रूप से शक्तिशाली है, क्योंकि यह ओपनएचएबी की पूरी क्षमता को उजागर करता है और आपको कस्टम इंटरफेस लिखने की अनुमति देता है; या उपयोग किए गए रिवर्स में, एक विशिष्ट बंधन के बिना सेंसर की स्थिति की रिपोर्ट करने के लिए। हम इस क्षमता का उपयोग ब्लूटूथ बाइंडिंग का सहारा लिए बिना किसी विशिष्ट ब्लूटूथ डिवाइस की उपस्थिति की रिपोर्ट करने के लिए करेंगे।

एक नया जोड़कर प्रारंभ करें स्विच आपके लिए आइटम होम.आइटम फ़ाइल। मैंने अपना 'जेम्सइनऑफिस' कहा है, और मैंने इसे एक साधारण ऑन/ऑफ संपर्क के बजाय एक स्विच बना दिया है ताकि मैं अपने फोन के मरने की स्थिति में अपनी उपस्थिति को मैन्युअल रूप से नियंत्रित कर सकूं।

Switch JamesInOffice 'James in Office' (Office)

ध्यान दें कि मैंने कोई आइकन परिभाषित नहीं किया है, या किसी विशिष्ट बाइंडिंग को संबद्ध नहीं किया है। यह सिर्फ एक सामान्य स्विच है।

इसके बाद, एक संगत USB ब्लूटूथ डोंगल डालें, और इसके साथ बातचीत करने के लिए कुछ बुनियादी उपकरण स्थापित करें।

sudo apt-get install bluez python-bluez python-pip
sudo pip install requests
hcitool dev

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

wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py
python inquiry.py

सुनिश्चित करें कि आपका फोन ब्लूटूथ सेटिंग्स पेज पर खुला है (जो इसे पेयरिंग/पब्लिक मोड में डालता है), और जाहिर है कि ब्लूटूथ सक्रिय है। आपको सूचीबद्ध एक हेक्साडेसिमल हार्डवेयर पता मिलना चाहिए।

अपने पाई उपयोगकर्ता होम निर्देशिका से, एक नई पायथन स्क्रिप्ट बनाएं और इस कोड में पेस्ट करें .

कुछ चीज़ें हैं जिन्हें आपको संपादित करने की आवश्यकता होगी, जो आपके विशेष उपकरण पते से शुरू होती हैं:

result = bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5)

साथ ही यह रेखा, जो दो स्थानों पर है (हाँ, यह शायद बेहतर संरचित हो सकती है)। JamesInOffice को आपके द्वारा परिभाषित स्विच के कोडनाम में बदलें।

r = requests.put('http://localhost:8080/rest/items/JamesInOffice/state',data=payload)

अंतिम चरण इस स्क्रिप्ट को बूट समय पर लॉन्च करने के लिए कहना है।

sudo nano /etc/rc.local

नीचे की ओर स्क्रॉल करें और 0 से बाहर निकलने से ठीक पहले, निम्न पंक्तियाँ जोड़ें:

python /home/pi/detect.py &

& चिह्न का अर्थ है 'पृष्ठभूमि में ऐसा करें'। आगे बढ़ें और स्क्रिप्ट चलाएँ यदि आपने पहले से नहीं किया है, और अपना OpenHAB इंटरफ़ेस खोलें। यदि आपने इसे किसी समूह में जोड़ा है, तो उस समूह पर क्लिक करें। इसे अपडेट होने में लगभग 10 सेकंड का समय लगता है, लेकिन आप देखेंगे कि आपके फोन का पता चला है या नहीं, इसके आधार पर आप डिफ़ॉल्ट लाइटबल्ब आइकन को चालू या बंद देखेंगे। अगर कुछ नहीं होता है तो लॉग फ़ाइल जांचें, हो सकता है कि आपने गलत आइटम नाम का उपयोग किया हो।

ओपनहैब मोबाइल ऐप

यद्यपि आप निश्चित रूप से मोबाइल डिवाइस से वेब इंटरफ़ेस का उपयोग कर सकते हैं, OpenHAB में दोनों के लिए मूल ऐप्स हैं आईओएस तथा एंड्रॉयड - और वे एक दिखते हैं बहुत डिफ़ॉल्ट ब्राउज़र इंटरफ़ेस की तुलना में अच्छा है। सेटिंग स्क्रीन पर, स्थानीय URL को उस आंतरिक IP के रूप में दर्ज करें जिसका आप अब तक उपयोग कर रहे हैं, जिसमें पोर्ट नंबर भी शामिल है। दूरस्थ URL के लिए, दर्ज करें https://my.openhab.org , और आप उपयोगकर्ता नाम (ईमेल) और पासवर्ड जो आपने साइन अप करते समय दर्ज किया था। यदि आपने अभी तक MyOpenHAB के लिए साइन अप नहीं किया है, तो प्रमाणीकरण और दूरस्थ URL को खाली छोड़ दें, लेकिन आप केवल अपने स्थानीय वाई-फाई से ही अपने सिस्टम तक पहुंच पाएंगे।

आगे बढ़ना और सहायता प्राप्त करना

आप अपने OpenHAB नियंत्रक में जितने अनुकूलन और साफ-सुथरी सुविधाएँ जोड़ सकते हैं, वह वास्तव में एक तरह का महाकाव्य है। बाइंडिंग के साथ समर्थित उपकरणों की विशाल सूची के साथ, आप किसी भी प्रकार के IoT डिवाइस को पढ़ने या नियंत्रित करने के लिए RESTful इंटरफ़ेस, HTTP एक्सटेंशन और IFTTT का उपयोग कर सकते हैं, और फिर कुछ (हमारे कुछ रचनात्मक प्रकाश विचारों को आज़माएँ)। हां, यह स्थापित करने के लिए एक पूर्ण दर्द है, लेकिन एक भी वाणिज्यिक प्रणाली एक अनुकूलित ओपनएचएबी प्रणाली की शक्ति के करीब नहीं आ सकती है।

उस ने कहा, सवारी मेरे लिए बिल्कुल भी आसान नहीं थी, यही वजह है कि मैंने आपके लिए प्रक्रिया को आसान बनाने के लिए यह मार्गदर्शिका लिखी है। और अगर आपको ओपनएचएबी सिस्टम भारी लगता है, तो रास्पबेरी होम ऑटोमेशन की बात आने पर अन्य विकल्प भी हैं --- उदाहरण के लिए अपने गेराज दरवाजे को स्वचालित करने के लिए रास्पबेरी पाई का उपयोग करना।

एक उन्नत मार्गदर्शिका के लिए MakeUseOf के साथ बने रहें, जिसमें Z-Wave और आपके द्वारा सेट की जा सकने वाली अन्य अच्छी तरकीबें शामिल हैं।

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

साझा करना साझा करना कलरव ईमेल अपने वर्चुअलबॉक्स लिनक्स मशीनों को सुपरचार्ज करने के लिए 5 टिप्स

वर्चुअल मशीनों द्वारा पेश किए गए खराब प्रदर्शन से थक गए हैं? अपने वर्चुअलबॉक्स प्रदर्शन को बढ़ावा देने के लिए आपको यहां क्या करना चाहिए।

आगे पढ़िए
संबंधित विषय
  • DIY
  • स्मार्ट घर
  • घर स्वचालन
  • लंबा प्रपत्र
  • लॉन्गफॉर्म गाइड
  • स्मार्ट हब
लेखक के बारे में जेम्स ब्रूस(707 लेख प्रकाशित)

James ने आर्टिफिशियल इंटेलिजेंस में बीएससी किया है और CompTIA A+ और Network+ प्रमाणित है। जब वह हार्डवेयर समीक्षा संपादक के रूप में व्यस्त नहीं होता है, तो वह लेगो, वीआर और बोर्ड गेम का आनंद लेता है। MakeUseOf में शामिल होने से पहले, वह एक प्रकाश तकनीशियन, अंग्रेजी शिक्षक और डेटा सेंटर इंजीनियर थे।

जेम्स ब्रूस की और फ़िल्में या टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें