- हार्डवेयर आवश्यकताएँ
- XCTU का उपयोग करके XBee मॉड्यूल कॉन्फ़िगर करना
- रिसीवर भाग के लिए सर्किट आरेख
- सीरियल संचार के लिए सेटअप रास्पबेरी पाई
- XBee संचार के लिए रास्पबेरी पाई प्रोग्रामिंग
- रास्पबेरी पाई का उपयोग कर वायरलेस XBee संचार का परीक्षण
पिछले ट्यूटोरियल में हमने Arduino Uno के साथ XBee मॉड्यूल को बाधित किया और XBee मॉड्यूल का उपयोग करके उन्हें वायरलेस तरीके से संचार किया। अब हम रास्पबेरी पाई के साथ XBee मॉड्यूल को इंटरफेस करेंगे जो एक रिसीवर के रूप में कार्य करेगा और इसे अन्य XBee मॉड्यूल (XBee एक्सप्लोरर बोर्ड) के साथ वायरलेस तरीके से संचार करेगा जो कि लैपटॉप के साथ क्रमिक रूप से जुड़ा हुआ है।
हार्डवेयर आवश्यकताएँ
- रास्पबियन के साथ 1 एक्स रास्पबेरी पाई इसमें स्थापित
- 2 x XBee प्रो S2C मॉड्यूल (किसी भी अन्य मॉडल का उपयोग किया जा सकता है)
- 1 एक्स XBee एक्सप्लोरर बोर्ड (वैकल्पिक)
- 1 एक्स Xbee ब्रेकआउट बोर्ड (वैकल्पिक)
- USB केबल
- एल ई डी
यह माना जाता है कि आपका रास्पबेरी पाई पहले से ही एक ऑपरेटिंग सिस्टम के साथ फ्लैश किया गया है। यदि नहीं, तो आगे बढ़ने से पहले रास्पबेरी पाई ट्यूटोरियल के साथ आरंभ करें का पालन करें। यहां हम रासबेरी जेसी स्थापित रास्पबेरी पाई 3 का उपयोग कर रहे हैं ।
एचडीएमआई केबल का उपयोग करने वाले बाहरी मॉनिटर का उपयोग रास्पबेरी पाई के साथ कनेक्ट करने के लिए डिस्प्ले के रूप में किया जाता है। यदि आपके पास मॉनिटर नहीं है, तो आप लैपटॉप या कंप्यूटर का उपयोग करके रास्पबेरी पाई से कनेक्ट करने के लिए एसएसएच क्लाइंट (पुट्टी) या वीएनसी सर्वर का उपयोग कर सकते हैं। रास्पबेरी पाई को यहां बिना सिर के स्थापित करने के बारे में अधिक जानें।
XCTU का उपयोग करके XBee मॉड्यूल कॉन्फ़िगर करना
जैसा कि हमने ZigBee परिचय के पिछले ट्यूटोरियल में सीखा है कि XBee मॉड्यूल कोऑर्डिनेटर, राउटर या एक एंड डिवाइस के रूप में कार्य कर सकता है, लेकिन इसे वांछित मोड में काम करने के लिए कॉन्फ़िगर करने की आवश्यकता है। इसलिए, रास्पबेरी पाई के साथ XBee मॉड्यूल का उपयोग करने से पहले, हमें XCTU सॉफ़्टवेयर का उपयोग करके इन मॉड्यूल को कॉन्फ़िगर करना होगा।
XBee मॉड्यूल को लैपटॉप से जोड़ने के लिए, USB से सीरियल कनवर्टर या विशेष रूप से डिज़ाइन किए गए एक्सप्लोरर बोर्ड का उपयोग किया जाता है। बस एक्सप्लोरर बोर्ड पर एक्सबी मॉड्यूल को हुक करें और इसे यूएसबी केबल का उपयोग करके लैपटॉप के साथ प्लग करें।
यदि आपके पास कोई कनवर्टर या एक्सप्लोरर बोर्ड नहीं है, तो एक Arduino बोर्ड को USB से सीरियल डिवाइस के रूप में उपयोग किया जा सकता है जो आसानी से XBee और लैपटॉप के साथ संवाद कर सकता है। बस Arduino बोर्ड में खाली स्केच अपलोड करें और अब यह USB से सीरियल कन्वर्टर की तरह व्यवहार कर सकता है।
XBee मॉड्यूल कॉन्फ़िगर करना:
इस ट्यूटोरियल में, XBee मॉड्यूल को कॉन्फ़िगर करने के लिए एक एक्सप्लोरर बोर्ड का उपयोग किया जाता है ।
इस लिंक से XCTU सॉफ्टवेयर डाउनलोड करें और इसे इंस्टॉल करें। XCTU सॉफ़्टवेयर को डाउनलोड करने और स्थापित करने के बाद, इसे खोलें और सुनिश्चित करें कि आपका XBee मॉड्यूल ठीक से जुड़ा हुआ है। डिवाइस मैनेजर में Arduino बोर्ड के COM पोर्ट की जांच करें।
1. अब, सर्च बटन पर क्लिक करें। यह आपको आपके लैपटॉप से जुड़े सभी आरएफ डिवाइस दिखाएगा। हमारे मामले में, यह केवल एक XBee मॉड्यूल दिखाएगा।
2. एक्सप्लोरर बोर्ड / Arduino बोर्ड के सीरियल पोर्ट का चयन करें और नेक्स्ट पर क्लिक करें।
3. अगली विंडो में, नीचे दिखाए गए अनुसार यूएसबी पोर्ट पैरामीटर सेट करें और फिनिश पर क्लिक करें।
4. डिस्कवर डिवाइस का चयन करें और Add select डिवाइस पर क्लिक करें । यह प्रक्रिया आपके XBee मॉड्यूल को XCTU डैशबोर्ड में जोड़ेगी।
5. अब, आप इस विंडो में अपने XBee मॉड्यूल को कॉन्फ़िगर कर सकते हैं। आप या तो एटी कमांड का उपयोग कर सकते हैं या डेटा मैन्युअल रूप से डाल सकते हैं। जैसा कि आप देख सकते हैं, बाएं पैनल पर R दिख रहा है जिसका मतलब है कि XBee राउटर मोड में है। हमें इसे ट्रांसमीटर वाले हिस्से के लिए समन्वयक बनाना होगा।
सबसे पहले अपडेट फर्मवेयर पर क्लिक करके फर्मवेयर को अपडेट करें।
6. अपने डिवाइस के उत्पाद परिवार को चुनें जो आपके XBee मॉड्यूल के पीछे उपलब्ध है। नीचे हाइलाइट किए गए फ़ंक्शन सेट और फ़र्मवेयर संस्करण का चयन करें और अपडेट पर क्लिक करें।
7. अब, आपको अन्य XBee के साथ संबंध बनाने के लिए ID, MY और DL डेटा देना होगा। आईडी दोनों मॉड्यूल के लिए समान है। केवल MY और DL डेटा इंटरचेंज यानी रिसीवर XBee के लिए MY ट्रांसमीटर XBee (समन्वयक) का DL बन जाता है और रिसीवर XBee के लिए DL ट्रांसमीटर XBee का MY बन जाता है। CE को समन्वयक के रूप में बनाएं और फिर लिखें बटन को हिट करें। जैसा की नीचे दिखाया गया।
ATDL |
मेरे पर |
||
XBee 1 समन्वयक |
|||
XBee 2 एंड डिवाइस |
8. ट्रांसमीटर डेटा को उपरोक्त डेटा लिखने के बाद, इसे एक्सप्लोरर बोर्ड से हटा दें और दूसरे XBee मॉड्यूल में प्लग करें। एक ही प्रक्रिया को दोहराएं क्योंकि उपरोक्त परिवर्तन केवल DL, MY और CE हैं। जैसा कि हम दूसरा XBee एंड डिवाइस के रूप में सीई ड्रॉप डाउन मेनू में बनाएंगे, एंड डिवाइस चुनें और राइट बटन दबाएं।
9. अब, हमारे XBee मॉड्यूल रास्पबेरी पाई के साथ इंटरफेस करने के लिए तैयार हैं। हम ट्रांसमीटर XBee को लैपटॉप और रिसीवर XBee को रास्पबेरी पाई से जोड़ेंगे। फिर लैपटॉप का उपयोग करके रिसीवर भाग को कमांड दें। लैपटॉप।
रिसीवर भाग के लिए सर्किट आरेख
रास्पबेरी पीआई के साथ ZigBee मॉड्यूल को इंटरफेस करने के लिए कनेक्शन सर्किट आरेख में दिखाए जाते हैं।
सम्बन्ध:
- एक्सबी का टीएक्स (पिन 2) -> पिन रास्पबेरी पाई का टीएक्स
- एक्सबी का आरएक्स (पिन 3) -> पिन रास्पबेरी पाई का आरएक्स
- XBee का Gnd (pin10) -> पिन रास्पबेरी पाई का GND
- XBee का Vcc (Pin1) -> पिन रास्पबेरी पाई का 3.3v
- एलईडी GPIO 23 से जुड़ा है
सीरियल संचार के लिए सेटअप रास्पबेरी पाई
अब, हम सीरियल कम्युनिकेशन के लिए रास्पबेरी पाई को सेटअप करेंगे। डिफ़ॉल्ट रूप से, पाई का हार्डवेयर सीरियल पोर्ट अक्षम है। इसलिए, हमें कनेक्शन शुरू करने से पहले इसे सक्षम करना होगा।
1. टर्मिनल में, कमांड raspi-config चलाएँ ।
2. विकल्प 5 इंटरफेसिंग विकल्प पर जाएं और एंटर को हिट करें। अब, चयन पी 6 सीरियल विकल्प और इसे सक्षम करें और फिर सहेजें।
टर्मिनल से बाहर निकलें और आप रास्पबेरी पाई और एक्सबी के बीच संबंध बनाने के लिए पूरी तरह तैयार हैं। GPIO14 और 15 क्रमशः Tx और Rx के रूप में कार्य करेंगे और ये रास्पबेरी जी के / dev / ttyS0 पोर्ट पर उपलब्ध हैं।
अब, जब भी हमें ट्रांसमीटर की ओर से 'ए' प्राप्त होता है, तो हम एलईडी पर एक अजगर स्क्रिप्ट लिखेंगे।
XBee संचार के लिए रास्पबेरी पाई प्रोग्रामिंग
रास्पबेरी पाई के साथ एक्सबी को इंटरफेस करने के लिए पूरा पायथन कार्यक्रम अंत में दिया गया है।
सबसे पहले, हमें आयात फ़ंक्शन का उपयोग करके समय, सीरियल और RPi.GPIO लाइब्रेरीज़ को आयात करना होगा।
GPIO के रूप में आयात समय आयात सीरियल आयात RPi.GPIO…
अब, सीरियल कनेक्शन के गुणों को लिखें, पोर्ट, बॉड्रेट और पैरिटीज़ को नीचे के रूप में परिभाषित करें।
ser = serial। क्रमिक (पोर्ट = '/ dev / ttyS0', बॉड्रेट = 9600, समता = serial.PARITY_NONE, stopbits = serial.STOPBITS_ONE, बाइट्स = सीरियल =EightHITS, टाइमआउट = 1 )
सभी भेजने और प्राप्त करने में तत्वों लिखें जबकि पाश।
जबकि 1:
ट्रांसमीटर साइड में संदेश भेजने के लिए आप ser.write फ़ंक्शन का उपयोग कर सकते हैं । काउंटिंग भेजने के लिए नीचे की पंक्तियों का मिलान करें।
# ser.write (str.encode ('लिखें काउंटर:% d \ n'% (काउंटर)) # time.sleep (1) # मुठभेड़ + = 1
संदेशों को प्राप्त करने के लिए हमें ser.readline () फ़ंक्शन का उपयोग करना होगा। एक चर में आने वाले संदेश को स्टोर करें और स्थिति की जांच करें। यदि आने वाला संदेश 'ए' है तो 3 सेकंड के लिए एलईडी चालू करें और फिर एलईडी बंद करें।
x = ser.readline ()। स्ट्रिप () प्रिंट (x) यदि x == 'a': GPIO.output (23, GPIO.HIGH) समय।स्लीप (3) ।।
एक प्रदर्शन वीडियो के साथ पूरा पायथन कोड ट्यूटोरियल के अंत में दिया गया है। पाई के किसी भी पाठ संपादक में कोड पेस्ट करें और इसे सहेजें। टर्मिनल में sudo python script_name.py का उपयोग करके स्क्रिप्ट चलाएँ या आप स्क्रिप्ट निष्पादित करने के लिए Python IDE और Shell का उपयोग कर सकते हैं।
रास्पबेरी पाई का उपयोग कर वायरलेस XBee संचार का परीक्षण
अब, हम सभी अपने XBee ट्रांसमीटर और रिसीवर का परीक्षण करने के लिए तैयार हैं । ट्रांसमीटर वाले हिस्से को कमांड देने के लिए, हम XCTU के कंसोल टर्मिनल का उपयोग करेंगे। सेटिंग्स विकल्प के पास कंसोल आइकन पर क्लिक करें। फिर, XBee को लैपटॉप से कनेक्ट करने के लिए ओपन बटन पर क्लिक करें।
कंसोल लॉग में 'a' दर्ज करें। आप देखेंगे कि एलईडी 3 सेकंड के लिए चालू होगा और फिर यह बंद हो जाएगा।
इस तरह आप ट्रांसमीटर XBee को Arduino बोर्ड से भी जोड़ सकते हैं जैसा कि पिछले ट्यूटोरियल में बताया गया है, और रास्पबेरी पाई और Arduino को एक दूसरे के साथ संवाद करने के लिए बनाते हैं।