- ब्लूटूथ संचार के लिए आवश्यक संकुल स्थापित करना:
- ब्लूटूथ पर रास्पबेरी पाई के साथ युग्मन उपकरण:
- सर्किट आरेख:
- Android ऐप BlueTerm के साथ AC उपकरण नियंत्रित करना:
- प्रोग्रामिंग स्पष्टीकरण:
रास्पबेरी पाई IoT परियोजनाओं के लिए बहुत लोकप्रिय है क्योंकि इसकी इंटरनेट पर वायरलेस संचार की सहज क्षमता है। रास्पबेरी पाई 3 में इनबिल्ट वाई-फाई और ब्लूटूथ है, और ब्लूटूथ एक बहुत लोकप्रिय वायरलेस संचार प्रोटोकॉल है। इसलिए आज हम रास्पबेरी पाई 3 और ब्लूटूथ का उपयोग करके स्मार्ट फोन के माध्यम से घरेलू उपकरणों को नियंत्रित करने जा रहे हैं ।
यहां हम रास्पबेरी पाई 3 का उपयोग कर रहे हैं, जिसमें इनबिल्ट ब्लूटूथ है, इसलिए हमें किसी भी बाहरी यूएसबी ब्लूटूथ डोंगल का उपयोग करने की आवश्यकता नहीं है। इसके अलावा हमें केवल इस वायरलेस होम ऑटोमेशन प्रोजेक्ट के लिए रिले मॉड्यूल की आवश्यकता है । यहां हम वायरलेस संचार के लिए RFCOMM ब्लूटूथ प्रोटोकॉल का उपयोग कर रहे हैं।
पायथन में ब्लूटूथ के लिए प्रोग्रामिंग सॉकेट प्रोग्रामिंग मॉडल का अनुसरण करता है और ब्लूटूथ उपकरणों के बीच संचार RFCOMM सॉकेट के माध्यम से किया जाता है। RFCOMM (रेडियो फ्रिक्वेंसी कम्युनिकेशन) एक ब्लूटूथ प्रोटोकॉल है जो एम.एस.-232 सीरियल पोर्ट प्रदान करता है और इसे सीरियल पोर्ट एमुलेशन भी कहा जाता है। ब्लूटूथ सीरियल पोर्ट प्रोफाइल इस प्रोटोकॉल पर आधारित है। RFCOMM अपने व्यापक समर्थन और publically उपलब्ध API के कारण ब्लूटूथ अनुप्रयोगों में बहुत लोकप्रिय है। यह L2CAP प्रोटोकॉल के लिए बाध्य है।
यदि आपके पास रास्पबेरी पाई 2 है, तो आपको या तो बाहरी ब्लूटूथ डोंगल या ब्लूटूथ मॉड्यूल एचसी -06 का उपयोग करना होगा। इन बाहरी ब्लूटूथ उपकरणों का उपयोग करने के लिए हमारी पिछली परियोजनाओं की जांच करें: रास्पबेरी पाई का उपयोग करके एंड्रॉइड ऐप का उपयोग करके ब्लूटूथ और वॉयस नियंत्रित एलईडी पर रास्पबेरी पाई GPIO को नियंत्रित करना। कुछ अच्छे IoT प्रोजेक्ट्स के साथ हमारे पिछले रास्पबेरी पाई प्रोजेक्ट्स को भी देखें।
ब्लूटूथ संचार के लिए आवश्यक संकुल स्थापित करना:
शुरू करने से पहले, हमें रास्पबेरी पाई में ब्लूटूथ संचार स्थापित करने के लिए कुछ सॉफ्टवेयर स्थापित करने की आवश्यकता है । आपके पास रास्पबेरी पाई के साथ एक रास्पियन जेसी स्थापित मेमोरी कार्ड होना चाहिए। रास्पबियन ओएस को स्थापित करने के लिए इस लेख को देखें और रास्पबेरी पाई के साथ शुरुआत करें। तो अब हमें सबसे पहले नीचे दिए गए आदेशों का उपयोग करके रास्पियन को अपडेट करना होगा:
sudo apt-get update sudo apt-get उन्नयन
फिर हमें कुछ ब्लूटूथ से संबंधित पैकेजों को स्थापित करने की आवश्यकता है:
sudo apt-get install ब्लूटूथ ब्लूटूथ ब्लूज़
फिर रास्पबेरी पाई को रिबूट करें:
सूद रिबूट
ब्लूज़ एक ओपन सोर्स प्रोजेक्ट और आधिकारिक लिनक्स ब्लूटूथ प्रोटोकॉल स्टैक है। यह सभी कोर ब्लूटूथ प्रोटोकॉल का समर्थन करता है और अब आधिकारिक लिनक्स कर्नेल का हिस्सा बन गया है।
ब्लूमैन ब्लूटूथ डिवाइस को प्रबंधित और नियंत्रित करने के लिए डेस्कटॉप इंटरफ़ेस प्रदान करता है।
अंत में हमें ब्लूटूथ संचार के लिए अजगर लाइब्रेरी की आवश्यकता है ताकि हम पायथन भाषा का उपयोग करके RFCOMM के माध्यम से डेटा भेज और प्राप्त कर सकें:
sudo apt-get install अजगर-ब्लूटूथ
रास्पबेरी पाई के लिए GPIO समर्थन लाइब्रेरी भी स्थापित करें:
sudo apt-get Install python-rpi.gpio
अब हम रास्पबेरी पाई में ब्लूटूथ संचार के लिए आवश्यक पैकेज स्थापित करने के साथ किया जाता है।
ब्लूटूथ पर रास्पबेरी पाई के साथ युग्मन उपकरण:
रास्पबेरी पाई के साथ, मोबाइल फोन की तरह, ब्लूटूथ डिवाइस को बाँधना बहुत आसान है। यहाँ हमने अपना Android Smart Phone रास्पबेरी पाई के साथ जोड़ा है । हमने पहले Pi में BlueZ स्थापित किया है, जो हमारे ब्लूटूथ डिवाइस को प्रबंधित करने के लिए "bluetoothctl" नामक एक कमांड लाइन उपयोगिता प्रदान करता है।
अब नीचे दिए गए आदेश द्वारा bluetoothctl उपयोगिता खोलें:
सुडो ब्लूटूथ
आप 'हेल्प' लिखकर bluetoothctl यूटिलिटी के सभी कमांड चेक कर सकते हैं । अभी के लिए हमें दिए गए क्रम में नीचे कमांड दर्ज करने की आवश्यकता है:
# पावर ऑन # एजेंट ऑन # सर्चेबल ऑन # पेराईबल ऑन # स्कैन
अंतिम कमांड "स्कैन ऑन" के बाद, आपको सूची में अपना ब्लूटूथ डिवाइस (मोबाइल फोन) दिखाई देगा। सुनिश्चित करें कि आपका मोबाइल ब्लूटूथ चालू है और पास के उपकरणों द्वारा दिखाई दे रहा है। फिर आप डिवाइस के मैक पते को कॉपी करें और दिए गए कमांड का उपयोग करके इसे जोड़े:
जोड़ा
फिर आपको अपने टर्मिनल कंसोल में पासकोड या पिन के लिए संकेत दिया जाएगा और फिर वहां पासकोड टाइप करें और एंटर दबाएं। जब संकेत दिया जाए तो अपने मोबाइल फोन में उसी पासकोड को टाइप करें और अब आपको रास्पबेरी पाई के साथ सफलतापूर्वक जोड़ा जाएगा। हमने इस पूरी प्रक्रिया को पिछले GPIO कंट्रोलिंग ट्यूटोरियल में दिए गए वीडियो में भी समझाया है। यहाँ सीधा YouTube लिंक दिया गया है।
जैसा कि पहले बताया गया है, आप मोबाइल फोन को पेयर करने के लिए डेस्कटॉप इंटरफेस का भी उपयोग कर सकते हैं । ब्लूमैन को स्थापित करने के बाद, आपको नीचे दिखाए गए अनुसार रास्पबेरी पाई डेस्कटॉप के दाईं ओर एक ब्लूटूथ आइकन दिखाई देगा, जिसका उपयोग करके आप आसानी से युग्मन कर सकते हैं।
सर्किट आरेख:
इस रास्पबेरी पाई आधारित ब्लूटूथ कंट्रोल्ड होम ऑटोमेशन के लिए सर्किट आरेख बहुत सरल है, हम सिर्फ रास्पबेरी पाई के पिन 40 (जीपीआईओ 21) और अन्य दो पिन (रिले मॉड्यूल के जीसीडी और जीएनडी) को पिन 2 और 6 से कनेक्ट करते हैं। रास्पबेरी पाई 3. फिर हमने सर्किट चित्र में दिखाए गए अनुसार एसी सीएफएल बल्ब को रिले से जोड़ा है:
यदि आप रिले के लिए नए हैं और एसी उपकरण के साथ रिले और इसके कनेक्शन के बारे में अधिक जानना चाहते हैं, तो इस लेख को देखें।
Android ऐप BlueTerm के साथ AC उपकरण नियंत्रित करना:
अब मोबाइल फोन को पार करने के बाद, हमें एक ब्लूटूथ सीरियल एडेप्टर का उपयोग करके रास्पबेरी पाई के साथ संचार करने के लिए एक एंड्रॉइड ऐप इंस्टॉल करना होगा , ताकि हम रास्पबेरी पाई के जीपीओ पिन को नियंत्रित कर सकें। जैसा कि पहले बताया गया था कि RFCOMM / SPP प्रोटोकॉल ब्लूटूथ पर धारावाहिक संचार का अनुकरण करता है, इसलिए हमने यहाँ BlueTerm App स्थापित किया जो इस प्रोटोकॉल का समर्थन करता है।
आप किसी अन्य ब्लूटूथ टर्मिनल ऐप का भी उपयोग कर सकते हैं जो RFCOMM सॉकेट के माध्यम से संचार का समर्थन करता है।
BlueTerm App को डाउनलोड करने और इंस्टॉल करने के बाद, टर्मिनल से नीचे दिए गए पायथन प्रोग्राम को चलाएं और उसी समय BlueTerm App से युग्मित रास्पबेरी डिवाइस को कनेक्ट करें ।
सफल कनेक्शन के बाद आप कनेक्टेड दिखाई देंगे : ऐप के शीर्ष दाएं कोने पर raspberrypi जैसा कि नीचे दिखाया गया है:
अब आप बस ब्लूटर्म ऐप से क्रमशः '1' या '0' दर्ज कर सकते हैं ताकि क्रमशः GPIO पिन हाई और LOW हो सके, जो इस पिन से जुड़े रिले मॉड्यूल को ट्रिगर करता है, जो आगे रिले से जुड़े एसी बल्ब को नियंत्रित करता है। प्रोग्राम से बाहर निकलने के लिए 'q' दबाएं। आप अपनी आवाज़ का उपयोग करके GPIO को नियंत्रित करने के लिए Google Voice टंकण कीबोर्ड का उपयोग कर सकते हैं। अंत में दिए गए वीडियो में पूरा डेमो देखें ।
तो यह है कि आप ब्लूटूथ पर एंड्रॉइड ऐप का उपयोग करके एसी उपकरण को वायरलेस तरीके से कैसे नियंत्रित कर सकते हैं । यह भी जांचें कि Arduino के साथ ब्लूटूथ का उपयोग कैसे करें।
प्रोग्रामिंग स्पष्टीकरण:
एंड्रॉइड ऐप के साथ रास्पबेरी पाई GPIO को नियंत्रित करने के लिए पायथन कार्यक्रम बहुत सरल और आत्म-व्याख्यात्मक है। केवल हमें ब्लूटूथ RFCOMM संचार से संबंधित कोड के बारे में थोड़ा जानने की जरूरत है। पहले हमें ब्लूटूथ सॉकेट लाइब्रेरी आयात करने की आवश्यकता है जो हमें पायथन भाषा के साथ ब्लूटूथ को नियंत्रित करने में सक्षम बनाती है; हमने पिछले अनुभाग में उसी के लिए पुस्तकालय स्थापित किया है।
आयात ब्लूटूथ
नीचे ब्लूटूथ संचार के लिए जिम्मेदार कोड है:
1 डेटा = client_socket.recv (1024)
यहाँ हम उन्हें लाइन से समझ सकते हैं:
server_socket = bluetooth.BluaxySocket (bluetooth.RFCOMM): ब्लूटूथ RFCOMET संचार के लिए सॉकेट बनाना।
server_socket.bind (("", port): - सर्वर होस्ट '' को स्क्रिप्ट को पोर्ट में बांधता है।
server_socket.listen (1) : सर्वर एक समय में एक कनेक्शन स्वीकार करने के लिए सुनता है।
client_socket, पता = server_socket.accept () : सर्वर क्लाइंट के कनेक्शन अनुरोध को स्वीकार करता है और मैक पते को चर पते पर असाइन करता है , client_socket क्लाइंट का सॉकेट है
data = client_socket.recv (1024): क्लाइंट सॉकेट client_socket के माध्यम से डेटा प्राप्त करें और इसे चर डेटा पर असाइन करें । एक बार में अधिकतम 1024 वर्ण प्राप्त किए जा सकते हैं।
अंत में सभी प्रोग्रामिंग के बाद, नीचे दिए गए कोड का उपयोग करके क्लाइंट और सर्वर कनेक्शन को बंद करें:
client_socket.close () server_socket.close ()
अन्य सभी कोड आसान और आत्म-व्याख्यात्मक हैं। नीचे पूर्ण कोड की जाँच करें । इस परियोजना को संशोधित करने का प्रयास करें और आप इसका उपयोग कई अन्य चीजों को वायरलेस तरीके से नियंत्रित करने के लिए कर सकते हैं, एंड्रॉइड फोन के माध्यम से रोबोट कार या रोशनी को नियंत्रित करने के लिए अपनी आवाज का उपयोग कर सकते हैं।
विभिन्न तकनीकों और माइक्रोकंट्रोलर का उपयोग करके हमारे कई प्रकार के होम ऑटोमेशन प्रोजेक्ट भी देखें: