विषयसूची:

साधारण वाईफाई से बीएलई (ब्लूटूथ लो एनर्जी) ब्रिज: 9 कदम (चित्रों के साथ)
साधारण वाईफाई से बीएलई (ब्लूटूथ लो एनर्जी) ब्रिज: 9 कदम (चित्रों के साथ)

वीडियो: साधारण वाईफाई से बीएलई (ब्लूटूथ लो एनर्जी) ब्रिज: 9 कदम (चित्रों के साथ)

वीडियो: साधारण वाईफाई से बीएलई (ब्लूटूथ लो एनर्जी) ब्रिज: 9 कदम (चित्रों के साथ)
वीडियो: Internet of Things Bluetooth low energy ti Bluetooth 4.0 Smartphone devices KoolThings safety IoT 2024, जुलाई
Anonim
बीएलई (ब्लूटूथ लो एनर्जी) ब्रिज के लिए सरल वाईफाई
बीएलई (ब्लूटूथ लो एनर्जी) ब्रिज के लिए सरल वाईफाई
बीएलई (ब्लूटूथ लो एनर्जी) ब्रिज के लिए सरल वाईफाई
बीएलई (ब्लूटूथ लो एनर्जी) ब्रिज के लिए सरल वाईफाई
बीएलई (ब्लूटूथ लो एनर्जी) ब्रिज के लिए सरल वाईफाई
बीएलई (ब्लूटूथ लो एनर्जी) ब्रिज के लिए सरल वाईफाई

अद्यतन 4 दिसंबर 2017 - संशोधित पंख nRF52 रेखाचित्र और डिबगिंग युक्तियाँ। बॉक्स में लगे पुल की तस्वीरें जोड़ी गईं।

यह सरल प्रोजेक्ट किसी भी ब्लूटूथ लो एनर्जी (बीएलई) मॉड्यूल के लिए वाईफाई एक्सेस प्रदान करता है जो नॉर्डिक के यूएआरटी को TX नोटिफाई के साथ लागू करता है। Wifi2BLE ब्रिज पूरी तरह से पारदर्शी है। यह सिर्फ वाईफाई डेटा को बीएलई डिवाइस में भेजता है और बीएलई डिवाइस के डेटा को वाईफाई कनेक्शन में वापस भेज देता है।

मुफ़्त pfodDesignerV3 कई BLE मॉड्यूल पर नॉर्डिक UART सेवा को लागू करने के लिए कोड बनाता है, जिसमें Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE नैनो V2 और V1-V1.5, RedBearLab BLE शील्ड, Adafruit Bluefruit LE UART फ्रेंड और फ्लोरा बोर्ड शामिल हैं।, एडफ्रूट ब्लूफ्रूट एलई एसपीआई (यानी ब्लूफ्रूट ले शील्ड, ब्लूफ्रूट ले माइक्रो, फेदर 32यू4 ब्लूफ्रूट ले, फेदर एम0 ब्लूफ्रूट एलई या ब्लूफ्रूट एलई एसपीआई फ्रेंड) और कोई भी अन्य बोर्ड जो आपको अपनी खुद की सेवा प्रोग्राम करने देते हैं।

यह Wifi2BLE ब्रिज अनुभवहीन कंस्ट्रक्टर के लिए उपयुक्त है जो सोल्डर कर सकता है। यह केवल दो बोर्ड, एक रिबन केबल और दो प्रतिरोधों का उपयोग करता है।

साथ ही प्रत्येक बोर्ड के लिए विस्तृत परीक्षण, इस निर्देश में एक मदद शामिल है - यह अधिक गलती खोजने के सुझावों के साथ काम नहीं करता है।

ये निर्देश ऑनलाइन भी उपलब्ध हैं

यह परियोजना क्यों?

यह परियोजना बीएलई (ब्लूटूथ लो एनर्जी) की कई समस्याओं का समाधान करती है।

  • केवल हाल के मोबाइल और कंप्यूटर ही BLE का समर्थन करते हैं। Wifi2BLE ब्रिज वाईफाई कनेक्शन वाले किसी भी मोबाइल या कंप्यूटर को BLE डिवाइस से कनेक्ट करने और नियंत्रित करने की अनुमति देता है।
  • बीएलई की सीमित सीमा है। Wifi2BLE ब्रिज आपको घर में कहीं से भी (जहां वाईफाई कनेक्शन है) और बाहर से इंटरनेट के माध्यम से BLE डिवाइस तक पहुंचने की अनुमति देता है।
  • BLE ऐप्स बनाने के लिए आपको Android या iOS सीखना होगा। Wifi2BLE ब्रिज किसी भी टर्मिनल प्रोग्राम के माध्यम से एक यूनिवर्सल टेलनेट कनेक्शन प्रदान करता है। इसके अलावा आप अपना स्वयं का कस्टम इंटरफ़ेस बनाने के लिए आसानी से वाईफाई मॉड्यूल में एक वेब पेज जोड़ सकते हैं।
  • BLE V5 आपके सभी घरेलू BLE उपकरणों को जोड़ने के लिए मेश नेटवर्किंग का वादा करता है, एक बार सॉफ़्टवेयर नवीनतम ब्लूटूथ विनिर्देश के साथ पकड़ लेता है। Wifi2BLE ब्रिज BLE V5 डिवाइस का उपयोग करता है और इसलिए इस होम नेटवर्क के आने पर इंटरनेट एक्सेस प्रदान करेगा।

इस परियोजना के लिए मेरा तत्काल उपयोग वाईफाई नेटवर्क में लाउंज रूम बीएलई लाइट कंट्रोल को जोड़ना है ताकि इसे घर में कहीं से भी नियंत्रित किया जा सके। यद्यपि यह ट्यूटोरियल वाईफाई के माध्यम से बीएलई बोर्डों को नियंत्रित करने के उदाहरण के रूप में pfodApp का उपयोग करता है, इस परियोजना को पूरा करने के लिए आपको pfodApp खरीदने की आवश्यकता नहीं है।

चरण 1: भागों की सूची

शिपिंग + एक छोटे प्लास्टिक के बाड़े को छोड़कर 30 नवंबर 2017 को लागत ~ US$60, एडफ्रूट फेदर nRF52 ब्लूफ्रूट LE - nRF52832 - ~ US$25

Adafruit HUZZAH ESP8266 ब्रेकआउट - ~US$10

अलग महिला सिरों के साथ रिबन केबल - बस समुद्री डाकू केबल ~ US$5 https://www.sparkfun.com/products/9556 या 10-पिन IDC सॉकेट रेनबो ब्रेकआउट केबल ~ US$4 https://www.sparkfun.com/products/ 9556 या समान

पुरुष शीर्षलेखों को तोड़ें - समकोण - ~US$2

USB से TTL 3V3 सीरियल केबल - ~ US$10 https://www.sparkfun.com/products/12977 (पसंदीदा क्योंकि इसमें पिन लेबल हैं) या https://www.sparkfun.com/products/12977 (पिन नहीं हैं) लेबल किया हुआ)

USB A से माइक्रो B केबल - ~US$4 https://www.sparkfun.com/products/12977 (3 फुट लंबा) या ~US$3 https://www.sparkfun.com/products/12977 (6 इंच लंबा) या ~US$2 https://www.sparkfun.com/products/12977 (6 इंच लंबा) या ~US$5 https://www.sparkfun.com/products/12977 (6 फुट लंबा) या समान

2 x 100 ओम रेसिस्टर्स - ~ US$1

USB बिजली की आपूर्ति (500mA या अधिक) - ~ US$6 https://www.sparkfun.com/products/12890 या ~US$7 https://www.adafruit.com/product/1994 या समान

Arduino IDE V1.8.5 और इसे चलाने के लिए एक कंप्यूटर।

एक प्लास्टिक बॉक्स के लिए मैंने Jaycar UB5 (नीला) 83mm x 54mm x 31mm ~A$4 में से एक का उपयोग किया

चरण 2: Wifi2BLE सर्किट

वाईफाई2बीएलई सर्किट
वाईफाई2बीएलई सर्किट

Wifi2BLE सर्किट ऊपर दिखाया गया है। एक पीडीएफ संस्करण यहाँ है। जैसा कि आप देख सकते हैं कि सर्किट बहुत सरल है। सिर्फ 4 तार और दो 100 ओम सुरक्षा प्रतिरोधक। HUZZAH ESP8266 या फेदर nRF52 प्रोग्रामिंग के बाद TX / RX लाइनों को मिस-कनेक्ट करने की स्थिति में सुरक्षा प्रतिरोधक हैं।

नोट: TX और RX पिन के लिए फेदर nRF52 बोर्ड मार्किंग सही नहीं है। TX पिन वास्तव में DFU पिन के बगल में है और RX पिन MISO पिन के बगल में है।

सुनिश्चित करें कि आप ऊपर दिखाए गए अनुसार TX/RX लाइनों को कनेक्ट करते हैं। सौभाग्य से सुरक्षा प्रतिरोधों ने अपना काम किया और बोर्ड क्षतिग्रस्त नहीं हुए, जबकि मैंने यह पता लगाया कि बोर्ड एक-दूसरे को क्यों नहीं ले जा रहे थे।

चरण 3: Wifi2BLE निर्माण

Wifi2BLE निर्माण
Wifi2BLE निर्माण
Wifi2BLE निर्माण
Wifi2BLE निर्माण
Wifi2BLE निर्माण
Wifi2BLE निर्माण

समकोण हेडर पिन जहां प्रोग्रामिंग के लिए इसे अनप्लग करने की अनुमति देने के लिए HUZZAH ESP8266 पर मिलाप किया जाता है। दो बोर्डों को जोड़ने के लिए रिबन केबल के चार तारों का उपयोग किया जाता है। फीमेल पिन कनेक्टर्स रखें और रिबन केबल के दूसरे सिरे को काट दें। मेरे रिबन केबल में स्पार्कफुन यूएसबी से टीटीएल प्रोग्रामिंग केबल के समान रंग थे इसलिए मैंने इसे मिलान करने के लिए तार को चुना। GND के लिए काला, 5V+ के लिए लाल, TX के लिए नारंगी (ESP8266 RX से जुड़ता है) और RX के लिए भूरा (ESP8266 TX से जुड़ता है)

मैंने पंख nRF52 बोर्ड के पीछे सुरक्षा प्रतिरोधों को तार दिया। (पर्यवेक्षक रचनाकार जो अपने प्रतिरोधक कोड जानते हैं, देखेंगे कि मैंने दो 68 ओम प्रतिरोधों का उपयोग किया है जिन्हें मैंने 100 ओम वाले के बजाय हाथ पर रखा है) और फिर उन्हें कुछ सिकुड़ते लपेट के साथ इन्सुलेट किया।

HUZZAH ESP8266 मॉड्यूल को पावर देने के लिए USB 5V को लेने के लिए लाल केबल को फेदर nRF52 USB पिन में मिलाया जाता है और ब्लैक केबल को फेदर nRF52 GND पिन में मिलाया जाता है।

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

चरण 4: Wifi2BLE प्रोग्रामिंग

वाईफाई2बीएलई प्रोग्रामिंग
वाईफाई2बीएलई प्रोग्रामिंग
वाईफाई2बीएलई प्रोग्रामिंग
वाईफाई2बीएलई प्रोग्रामिंग
वाईफाई2बीएलई प्रोग्रामिंग
वाईफाई2बीएलई प्रोग्रामिंग

HUZZAH ESP8266 प्रोग्रामिंग

शील्ड को प्रोग्राम करने के लिए इंस्टालिंग विद बोर्ड्स मैनेजर के तहत https://github.com/esp8266/Arduino पर दिए गए निर्देशों का पालन करें। टूल्स → बोर्ड मेनू से बोर्ड मैनेजर खोलते समय और टाइप कंट्रीब्यूटेड चुनें और esp8266 प्लेटफॉर्म इंस्टॉल करें। इस परियोजना को ESP8266 संस्करण 2.3.0 का उपयोग करके संकलित किया गया था। अन्य संस्करणों में बग का अपना सेट होगा और हो सकता है कि इस कोड के साथ काम न करें।

नोट: एडफ्रूट बोर्ड इंस्टाल का उपयोग न करें क्योंकि यहां इस्तेमाल किया गया स्केच उस कोड के तहत संकलित नहीं होगा।

Arduino IDE को बंद करें और फिर से खोलें और अब आप टूल्स → बोर्ड मेनू से "Adafruit HUZZAH ESP8266" का चयन कर सकते हैं।

आपको pfodESP8266WiFiBufferedClient लाइब्रेरी का नवीनतम संस्करण भी इंस्टॉल करना होगा। यह पुस्तकालय ESP8266.com IDE प्लग-इन V2.3 के साथ कार्य करता है। (यदि आपने पहले pfodESP2866WiFi लाइब्रेरी स्थापित की है, तो उस लाइब्रेरी निर्देशिका को पूरी तरह से हटा दें।)

  • a) इस pfodESP8266WiFiBufferedClient.zip फ़ाइल को अपने कंप्यूटर पर डाउनलोड करें, इसे अपने डेस्कटॉप या किसी अन्य फ़ोल्डर में ले जाएँ जिसे आप आसानी से पा सकते हैं
  • बी) फिर Arduino 1.8.5 IDE मेनू विकल्प स्केच → आयात पुस्तकालय → इसे स्थापित करने के लिए लाइब्रेरी जोड़ें का उपयोग करें। (यदि Arduino आपको इसे स्थापित करने की अनुमति नहीं देता है क्योंकि पुस्तकालय पहले से मौजूद है तो पुराने pfodESP8266BufferedClient फ़ोल्डर को ढूंढें और हटाएं और फिर इसे आयात करें)
  • c) Arduino IDE को रोकें और पुनरारंभ करें और फ़ाइल-> उदाहरण के तहत अब आपको pfodESP8266BufferedClient देखना चाहिए।

नेटवर्क ssid और पासवर्ड और IP और पोर्ट सेट करना

आपके द्वारा pfodESP8266BufferedClient लाइब्रेरी स्थापित करने के बाद, Arduino IDE खोलें और इस स्केच, Wifi_Bridge.ino को IDE में कॉपी करें। इससे पहले कि आप मॉड्यूल को प्रोग्राम करें, आपको अपने नेटवर्क का ssid और पासवर्ड सेट करना होगा और एक अप्रयुक्त आईपी चुनना होगा।

Wifi_Bridge.ino के शीर्ष के पास इन तीन पंक्तियों को संपादित करें

चार एसएसआईडी = "**** ***"; चार पासवर्ड = "**** *****"; चार स्टेटिकआईपी = "10.1.1.180";

मैं अपने स्थानीय नेटवर्क को स्कैन करने और पहले से उपयोग किए जा रहे आईपी की पहचान करने के लिए फिंग (एंड्रॉइड या आईओएस) ऐप का उपयोग करता हूं। आमतौर पर.180 से.254. की सीमा में अप्रयुक्त आईपी चुनना सुरक्षित होता है

शुरू करने के लिए आप पोर्ट नं को 23 के रूप में छोड़ सकते हैं, टेलनेट कनेक्शन के लिए मानक पोर्ट।

एक बार जब आप वे परिवर्तन कर लेते हैं तो आप ESP8266 प्रोग्राम कर सकते हैं।

HUZZAH ESP8266 प्रोग्रामिंग

HUZZAH ESP8266 को प्रोग्राम करने के लिए, USB को सीरियल केबल से कनेक्ट करें जैसा कि फोटो में दिखाया गया है। फोटो और अपनी वायरिंग की जांच करें। ESP8266 प्रोग्रामिंग टिप्स भी देखें (espcomm विफल)

मैं Sparkfun USB से TTL 3V3 सीरियल केबल का उपयोग करता हूं क्योंकि इसमें TX और RX लीड चिह्नित हैं। सुनिश्चित करें कि TX लीड को RX पिन में प्लग किया गया है और RX लीड को TX पिन में प्लग किया गया है जैसा कि ऊपर दिखाया गया है। यदि आप Adafruit केबल का उपयोग कर रहे हैं, तो इसमें टर्मिनलों को चिह्नित नहीं किया गया है, लेकिन रंग कोडित है, लाल शक्ति है, काला जमीन है, हरा TX है और सफेद RX है।

अपने कंप्यूटर में USB से सीरियल केबल में प्लग इन करें और टूल्स → पोर्ट मेनू में इसे COM पोर्ट चुनें। सीपीयू फ्रीक्वेंसी, फ्लैश साइज और अपलोड स्पीड को उनकी डिफ़ॉल्ट सेटिंग्स पर छोड़ दें।

फिर GPIO0 पुश बटन को दबाकर और रीसेट पुश बटन पर क्लिक करके और फिर GPIO0 पुश बटन को छोड़ कर Adafruit HUZZAH ESP2866 मॉड्यूल को प्रोग्रामिंग मोड में डालें। GPIO0 एलईडी मंद रोशनी में रहना चाहिए। फिर फ़ाइल → अपलोड करें या प्रोग्राम को संकलित और अपलोड करने के लिए राइट एरो बटन का उपयोग करें। यदि आपको अपलोड करने में त्रुटि संदेश मिलता है, तो जांचें कि आपके केबल कनेक्शन सही पिन में प्लग किए गए हैं और पुनः प्रयास करें।

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

HUZZAH ESP2866 का परीक्षण

HUZZAH ESP2866 का परीक्षण करने के लिए, प्रोग्रामिंग केबल को कनेक्टेड छोड़ दें और Arduino IDE टूल्स → सीरियल मॉनिटर खोलें और 9600 बॉड (नीचे दाएं कोने) सेट करें। फिर अपने कंप्यूटर पर एक टर्मिनल प्रोग्राम खोलें, मैं विंडोज के लिए टेराटर्म और मैक के लिए कूलटर्म का उपयोग करता हूं, और आईपी और पोर्ट से कनेक्ट करता हूं, जिसे आपने Wifi_Bridge.ino स्केच में सेट नहीं किया है।

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

वाईफ़ाई कनेक्शन समयबाह्य

Wifi_Bridge.ino कोड का कनेक्शन समय होता है।

uint32_t कनेक्शनटाइमआउट = ६००००; // 60 सेकंड कनेक्शन समय समाप्त

यदि 60 सेकंड के लिए HUZZAH ESP8266 मॉड्यूल द्वारा कोई वाईफाई डेटा प्राप्त नहीं होता है, तो मॉड्यूल कनेक्शन बंद कर देता है और एक नए की प्रतीक्षा करता है। यह सुनिश्चित करता है कि मॉड्यूल 'आधे बंद' कनेक्शनों से ठीक हो जाता है, जो कि खराब वाईफाई कनेक्शन, राउटर पर बिजली की हानि या क्लाइंट के जबरन बंद होने के कारण क्लाइंट गायब हो जाता है। अधिक विवरण के लिए हाफ-ओपन (गिराए गए) टीसीपी/आईपी सॉकेट कनेक्शन का पता लगाना देखें।

यह कनेक्शन टाइम आउट 60 सेकंड पर सेट है। लेकिन आवश्यकतानुसार घटा या बढ़ाया जा सकता है। इसे 0 पर सेट करने का मतलब कभी भी टाइम आउट नहीं करना है जिसकी अनुशंसा नहीं की जाती है।

पंख की प्रोग्रामिंग nRF52

पंख nRF52 को प्रोग्राम करने के लिए, पंख nRF52 के लिए Arduino बोर्ड समर्थन को डाउनलोड करने और स्थापित करने के निर्देशों का पालन करें। जांचें कि आप यूएसबी केबल के माध्यम से बोर्ड से कनेक्ट और प्रोग्राम कर सकते हैं।

नोट: पंख को प्रोग्राम करने का प्रयास करने से पहले पंख nRF52 से HUZZAH ESP8266 मॉड्यूल को अनप्लग करें।

फेदर nRF52 को BLE डिवाइस से कनेक्ट करने में दो चरण होते हैं। पहले डिवाइस पर मैक पते (और प्रकार) की पहचान करना और इसकी जांच करना TX नोटिफाई के साथ नॉर्डिक यूएआरटी सेवा का समर्थन करता है और फिर उस पते और प्रकार को ब्रिज स्केच में स्थानांतरित करता है।

चरण 5: BLE डिवाइस से कनेक्शन

BLE डिवाइस से कनेक्शन
BLE डिवाइस से कनेक्शन
BLE डिवाइस से कनेक्शन
BLE डिवाइस से कनेक्शन
BLE डिवाइस से कनेक्शन
BLE डिवाइस से कनेक्शन

एक बार HUZZAH ESP8266 प्रोग्राम हो जाने के बाद, आपको BLE पता और उस डिवाइस के प्रकार को कोड करना होगा जिसे आप फेदर nRF52 स्केच में कनेक्ट करना चाहते हैं। यह दो चरणों वाली प्रक्रिया है। I) नॉर्डिक यूएआरटी सेवा (TX सूचित करें) को लागू करने वाले आस-पास के बीएलई उपकरणों को खोजने के लिए स्कैनिंग प्रोग्राम चलाएं और फिर उस डिवाइस से कनेक्ट करने के लिए उस स्कैनर के आउटपुट को फेदर ब्रिज स्केच में कॉपी करें।

बीएलई पेरिफेरल्स के लिए स्कैनिंग

संगत BLE बाह्य उपकरणों की पहचान करने के लिए, अपने पंख nRF52 में Central_bleuart_scanner.ino प्रोग्राम लोड करें। यह प्रोग्राम लगातार नए उपकरणों के लिए स्कैन करता है और फिर जांचता है कि क्या वे TX नोटिफाई के साथ नॉर्डिक यूएआरटी सेवा का समर्थन करते हैं।

नॉर्डिक यूएआरटी सेवा

नॉर्डिक UART सेवा में तीन भाग होते हैं, सेवा UUID और RX और TX विशेषताएँ। RedBear NanoV2 के लिए pfodDesignerV3 द्वारा उत्पन्न कुछ नमूना कोड यहां दिया गया है

BLEService uartService = BLEService ("6E400001B5A3F393E0A9E50E24DCCA9E");

BLECविशेषता rxCharacteristic = BLECविशेषता ("6E4000002B5A3F393E0A9E50E24DCCA9E", BLEWrite, BLE_MAX_LENGTH); BLECविशेषता txCharacteristic = BLECविशेषता ("6E400003B5A3F393E0A9E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH);

pfodDesignerV3 कई BLE मॉड्यूल के लिए नमूना कोड उत्पन्न कर सकता है। हालाँकि, क्योंकि 'मानक' UART कनेक्शन के लिए कोई BLE विनिर्देश नहीं है, सभी मॉड्यूल नॉर्डिक UART सेवा का उपयोग नहीं करते हैं। उदाहरण के लिए HM-10 मॉड्यूल (Itead BLE शील्ड), RFduno और रोमियो BLE अपनी अनूठी यूआर्ट सेवाओं का उपयोग करते हैं और इसलिए फेदर nRF52 से कनेक्ट नहीं होंगे।

निम्नलिखित बोर्ड जुड़ेंगे: - एडफ्रूट ब्लूफ्रूट फेदर एनआरएफ52, अरुडिनो/जेनुइनो 101, रेडबियरलैब बीएलई नैनो वी2 और वी1-वी1.5, रेडबियरलैब बीएलई शील्ड, एडफ्रूट ब्लूफ्रूट ले यूएआरटी फ्रेंड एंड फ्लोरा बोर्ड्स, एडफ्रूट ब्लूफ्रूट ले एसपीआई (यानी ब्लूफ्रूट ले शील्ड), ब्लूफ्रूट ले माइक्रो, फेदर 32u4 ब्लूफ्रूट ले, फेदर एम0 ब्लूफ्रूट ले या ब्लूफ्रूट ले एसपीआई फ्रेंड) साथ ही ऐसे बोर्ड जिन्हें कस्टम सेवाओं या बोर्ड के साथ कोडित किया जा सकता है जो BLEPeripheral पुस्तकालय का उपयोग कर सकते हैं।

यहां इस्तेमाल किया गया उदाहरण बोर्ड Arduino/Genuino 101 है जिसमें pfodDesignerV3 द्वारा उत्पन्न कोड है। मुफ्त pfodDesignerV3 आपको pfodApp मेनू बनाने की अनुमति देता है और फिर (सशुल्क) pfodApp का उपयोग करके आपके Android मोबाइल पर सटीक मेनू दिखाने के लिए आवश्यक Arduino कोड उत्पन्न करता है। pfodApp Wifi के साथ-साथ ब्लूटूथ क्लासिक, BLE और SMS के माध्यम से भी कनेक्ट होगा, और इसलिए इस Wifi2BLE ब्रिज के माध्यम से कनेक्ट हो सकता है। हालाँकि, यदि आप अपने नियंत्रण ऐप के रूप में pfodApp का उपयोग नहीं करना चाहते हैं, तब भी आप अपने BLE बोर्ड के लिए नॉर्डिक UART सेवा कोड उत्पन्न करने के लिए pfodDesignerV3 का उपयोग कर सकते हैं।

यह ट्यूटोरियल लिंक Arduino/Genuino 101 BLE की स्थापना और pfodDesignerV3 के साथ एक साधारण एलईडी ऑन/ऑफ नियंत्रण बनाने का वर्णन करता है। pfodDesignerV3 द्वारा निर्मित स्केच Arduino101_led_control.ino. है

Arduino/Genuino 101 को Arduino101_led_control.ino के साथ प्रोग्राम करने से आप pfodApp से जुड़ सकते हैं और अपने Android मोबाइल पर निम्न स्क्रीन प्रदर्शित कर सकते हैं।

हालाँकि यह सिर्फ एक उदाहरण है और इस परियोजना को पूरा करने के लिए आपको pfodApp खरीदने की आवश्यकता नहीं है। महत्वपूर्ण हिस्सा यह है कि मुफ्त pfodDesignerV3 ऐप ने Arduino/Genuino 101 के लिए कोड जेनरेट किया है जो नॉर्डिक यूएआरटी सेवा लागू करता है। तो चलिए इसके लिए स्कैन करते हैं।

हालाँकि यह सिर्फ एक उदाहरण है और इस परियोजना को पूरा करने के लिए आपको pfodApp खरीदने की आवश्यकता नहीं है। महत्वपूर्ण हिस्सा यह है कि मुफ्त pfodDesignerV3 ऐप ने Arduino/Genuino 101 के लिए कोड जेनरेट किया है जो नॉर्डिक यूएआरटी सेवा लागू करता है। तो चलिए इसके लिए स्कैन करते हैं।

नॉर्डिक यूएआरटी सेवा के लिए स्कैनिंग

पंख nRF52 से डिस्कनेक्ट किए गए HUZZAH ESP8266 मॉड्यूल के साथ, पंख nRF52 को Central_bleuart_scanner.ino के साथ प्रोग्राम करें और फिर Arduino IDE टूल्स → सीरियल मॉनिटर खोलें और बॉड दर को 9600 पर सेट करें। Arduino/Genuino 101 को पावर करने से आउटपुट में दिखाया गया है ऊपर पहला स्क्रीन शॉट।

जैसा कि आप देख सकते हैं कि स्कैनर को दो BLE डिवाइस मिले, एक Arduino/Genuino 101 जिस पर एक नॉर्डिक UART सेवा मिली, लेकिन TX विशेषता ने Notify का समर्थन नहीं किया। स्कैनर को एक RFduino BLE मॉड्यूल भी मिला लेकिन RFduino नॉर्डिक UART सेवा का उपयोग नहीं करता है, बल्कि अपनी स्वयं की सेवा का उपयोग करता है। ब्लूटूथ समिति इसके लिए एक 'मानक' यूएआरटी सेवा निर्दिष्ट नहीं करने के लिए दोषी ठहराती है, इसके बजाय प्रत्येक निर्माता को अपना एक बनाने के लिए छोड़ देता है।

जैसा कि 101 के ऊपर कवर किया गया कोड pfodDesignerV3 द्वारा मुख्य रूप से pfodApp के उपयोग के लिए उत्पन्न किया गया था। pfodApp TX नोटिफाई के बारे में उतना नहीं है जितना कि फेदर nRF52 uart कोड है। pfodApp प्रोग्राम किए गए 101 के साथ काम करता है लेकिन फेदर nRF52 TX नोटिफाई पर जोर देता है इसलिए फेदर को संतुष्ट करने के लिए कोड में एक छोटे से बदलाव की आवश्यकता होती है।

Arduino IDE में Arduino101_led_control.ino खोलें और ऊपर के पास आपको ये दो लाइनें मिलेंगी। दूसरी पंक्ति केवल विशेषता का विवरण है और ऑपरेशन को प्रभावित नहीं करती है।

BLECविशेषता txCharacteristic = BLECharacteristic("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLEIndicate, BLE_MAX_LENGTH);BLEDescriptor txNameDescriptor = BLEDescriptor("2901", "TX");

उन्हें बदलें

BLECविशेषता txCharacteristic = BLECविशेषता ("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH); BLDescriptor txNameDescriptor = BLDescriptor ("2901", "TX - (सूचित करें)");

फिर इस संपादित संस्करण के साथ 101 को फिर से प्रोग्राम करें, Arduino101_Notify_led_control.ino। फिर जब आप फेदर nRF52 स्कैनर (central_bleuart_scanner.ino) को फिर से चलाते हैं, तो सीरियल मॉनिटर ऊपर दिया गया दूसरा स्क्रीन शॉट दिखाता है।

Genuino 101 के लिए अब कोई त्रुटि नहीं है और स्कैनर फेदर nRF52 ब्रिज स्केच के लिए आवश्यक कोड को प्रिंट करता है ताकि यह 101 से कनेक्ट हो जाए। स्कैनर हर उस डिवाइस की जांच करेगा जो उसे रेंज में मिलता है। नॉर्डिक UART सर्विस (TX Notify) के साथ मिलने वाले प्रत्येक डिवाइस के लिए लाल एलईडी एक बार फ्लैश करता है।

चरण 6: एक BLE परिधीय से जुड़ना

एलईडी संकेत

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

BLE पेरिफेरल से जुड़ना

अब जबकि स्कैनर स्केच ने उस BLE डिवाइस के लिए विवरण प्रदान कर दिया है जिससे आप कनेक्ट करना चाहते हैं, आप आउटपुट को Central_bleuart_bridge.ino स्केच में कॉपी कर सकते हैं। उस स्केच के शीर्ष के पास आपको निम्न कोड मिलेगा।

// कोड की ये अगली तीन पंक्तियाँ Central_bleuart_scanner.ino आउटपुट से आती हैं

कास्ट चार *BLE_NAME = "जेनुइनो 101-FC8F"; कास्ट चार *BLE_ADDRESS = "98:4F:EE:0C:FC:8F"; कास्ट uint8_t BLE_ADDRESS_TYPE = 0;

कोड की तीन पंक्तियों को उस BLE डिवाइस के स्कैनर से आउटपुट के साथ बदलें जिसे आप ब्रिज करना चाहते हैं। फिर फेदर nRF52 को संपादित Central_bleuart_bridge.ino स्केच के साथ प्रोग्राम करें।

Central_bleuart_bridge स्केच का परीक्षण

HUZZAH ESP8266 को वापस पंख nRF52 में प्लग करने से पहले, अपने BLE डिवाइस से कनेक्शन का परीक्षण करें। अपने Arduino IDE से जुड़े पंख nRF52 को छोड़कर, 9600 बॉड पर टूल्स → सीरियल मॉनिटर खोलें और फिर जांचें कि आपका लक्ष्य BLE डिवाइस संचालित है।

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

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

चरण 7: वाईफाई के माध्यम से बीएलई डिवाइस से कनेक्ट करना - यह सब एक साथ रखना

एक बार जब आप HUZZAH ESP8266 मॉड्यूल को उसके ब्रिज कोड (Wifi_Bridge.ino) के साथ प्रोग्राम और परीक्षण कर लेते हैं, जो आपके नेटवर्क ssid और पासवर्ड और IP के लिए कॉन्फ़िगर किया गया है और BLE डिवाइस के पते के साथ कॉन्फ़िगर किए गए ब्रिज कोड (central_bleuart_bridge.ino) के साथ फेदर nRF52 को प्रोग्राम और परीक्षण किया गया है। और टाइप करें, फिर आप उन्हें एक साथ प्लग कर सकते हैं और उन दोनों को पावर देने के लिए फेदर मॉड्यूल में एक यूएसबी आपूर्ति में प्लग कर सकते हैं।

HUZZAH मॉड्यूल रेड एलईडी को ठोस रूप से प्रकाश करना चाहिए क्योंकि यह आपके स्थानीय नेटवर्क राउटर से जुड़ता है और फेदर ब्लू एलईडी को ठोस रूप से प्रकाश करना चाहिए क्योंकि यह आपके बीएलई डिवाइस से जुड़ता है और फेदर रेड एलईडी को हर 10 सेकंड में एक बार फ्लैश करना चाहिए या बस पर इंगित करना चाहिए BLE डिवाइस कनेक्ट है।

अपना टेलनेट प्रोग्राम खोलें और HUZZAH के IP और पोर्ट से कनेक्ट करें। HUZZAH लाल एलईडी को यह इंगित करने के लिए धीरे-धीरे फ्लैश करना चाहिए कि आपका प्रोग्राम कनेक्ट हो गया है और आपको वाईफाई के माध्यम से अपने बीएलई डिवाइस पर कमांड भेजना चाहिए और बीएलई डिवाइस को संचालित करना चाहिए और अपनी टेलनेट विंडो में कोई प्रतिक्रिया देखें। याद रखें कि यदि आपका BLE डिवाइस 60 सेकंड के लिए कोई डेटा वापस नहीं भेजता है, तो HUZZAH कोड कनेक्शन का समय समाप्त कर देगा और डिस्कनेक्ट हो जाएगा और HUZZAH Red LED फिर से ठोस हो जाएगा।

चरण 8: सहायता - यह काम नहीं करता

सबसे पहले ऊपर दिए गए परीक्षण चरणों को पूरा करें, HUZZAH ESP2866 का परीक्षण करें और केंद्रीय_ब्लूआर्ट_ब्रिज स्केच का परीक्षण करें।

स्कैनिंग समस्याएं

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

अगर आपको इस तरह का स्कैनर आउटपुट मिलता है।

९८:४एफ से कनेक्टेड:ईई:०सी:एफसी:८एफ नॉर्डिक यूएआरटी सेवा की तलाश में… कोई नहीं मिला या खोजने योग्य नहीं !!!!! नॉर्डिक यूएआरटी सेवा की पहचान नहीं कर सका !!!!!!!! यदि आप नॉर्डिक यूएआरटी सेवा की अपेक्षा कर रहे थे, तो स्कैनर को बीएलई डिवाइस के करीब ले जाएं !!!!

यह हो सकता है कि आप इसका पता लगाने के लिए बीएलई डिवाइस के काफी करीब हों लेकिन नॉर्डिक यूएआरटी सेवा को खोजने के लिए सफलतापूर्वक सेवा खोज करने के लिए पर्याप्त न हों। BLE डिवाइस के करीब जाने का प्रयास करें।

अंतिम उपाय के रूप में आप एंड्रॉइड या आईओएस के लिए मुफ्त नॉर्डिक एनआरएफ कनेक्ट ऐप का उपयोग कर सकते हैं। उस ऐप में बेहतर रेंज और सेंसिटिविटी है। यह आपको बताएगा कि क्या बीएलई डिवाइस में नॉर्डिक यूएआरटी सेवा है। हालाँकि, आपको Wifi2BLE ब्रिज का उपयोग करने का प्रयास करने से पहले नॉर्डिक UART Serivice को चलाने और कनेक्ट करने और पहचानने के लिए स्कैनर प्राप्त करने की आवश्यकता होगी क्योंकि यह स्कैनर के समान कोड का उपयोग करता है।

यदि आप गहराई में जाना चाहते हैं तो आप हवा में क्या है यह देखने के लिए एडफ्रूट ब्लूफ्रूट ले स्निफर मॉड्यूल का उपयोग कर सकते हैं।

बीएलई कनेक्शन समस्याएं

यदि आप बीएलई डिवाइस को स्कैन करने में कामयाब रहे हैं तो कनेक्शन समस्याओं के सबसे संभावित कारण हैं I) बीएलई डिवाइस बहुत दूर है, II) कुछ और पहले से ही बीएलई डिवाइस से जुड़ा हुआ है

वाईफाई कनेक्शन की समस्या

यदि HUZZAH ESP8266 लाल एलईडी ठोस रूप से प्रकाश नहीं करता है, तो इसका आपके राउटर के माध्यम से आपके नेटवर्क से कोई कनेक्शन नहीं है। Wifi_Bridge.ino में आपके पास मौजूद ssid और पासवर्ड की जाँच करें और Fing ऐप Android या iOS का उपयोग यह जाँचने के लिए करें कि आपके द्वारा आवंटित किया गया IP पहले से उपयोग नहीं किया जा रहा है। अपने सभी कंप्यूटरों और उपकरणों को बंद करने का प्रयास करें और राउटर को पावर साइकलिंग करें (इसे 20 सेकंड के लिए बंद कर दें) और फिर फ़िंग के साथ फिर से स्कैन करें। अंत में यदि कनेक्शन बाहर निकलता रहता है, तो Wifi_Bridge.ino कोड में कनेक्शन टाइमआउट सेटिंग याद रखें।

चरण 9: विस्तार और निष्कर्ष

यहां प्रस्तुत परियोजना सबसे सरल संस्करण है। कई संभावित एक्सटेंशन हैं जैसे: -

  • फेदर nRF52 एक बार में 4 BLE उपकरणों से कनेक्ट करने में सक्षम है ताकि आप अधिक मान्य पते जोड़ने के लिए कोड को संशोधित कर सकें और एक वाईफाई कनेक्शन से 4 डिवाइस तक नियंत्रित कर सकें। उदाहरण कोड देखें जो फेदर nRF52 बोर्ड इंस्टाल के साथ आता है।
  • आप इंटरनेट पर कहीं से भी BLE डिवाइस तक पहुंच प्रदान करने के लिए अपने राउटर में एक छेद कर सकते हैं। pfodApp के साथ DIY IoT उपकरणों को इंटरनेट से कनेक्ट करना देखें।
  • आप सस्ते/सरल वाईफ़ाई शील्ड से कोड का उपयोग कर सकते हैं ताकि आप HUZZAH के लिए वाईफाई नेटवर्क पैरामीटर को वेब पेज के माध्यम से बिना रीप्रोग्रामिंग के कॉन्फ़िगर कर सकें। आपको सर्किट में कॉन्फ़िगरेशन पुश बटन जोड़ने की आवश्यकता होगी।
  • आप एक कॉन्फ़िगरेशन पुश बटन (ऊपर के समान बटन का उपयोग करके) जोड़ सकते हैं जो एक नॉर्डिक UART (TX सूचित) के साथ BLE उपकरणों के लिए पंख nRF52 स्कैन करता है और फिर सबसे मजबूत सिग्नल वाले के लिए कनेक्शन विवरण सहेजता है। परिणाम को बचाने के लिए, आपको nffs लाइब्रेरी का उपयोग करना होगा जो Adafruit nRF52 बोर्ड इंस्टाल के साथ आता है।
  • आप अपने BLE डिवाइस के लिए एक कस्टम इंटरफ़ेस प्रदान करने के लिए HUZZAH ESP8266 कोड में एक वेब पेज जोड़ सकते हैं। आप pfodDesignerV3 का भी उपयोग कर सकते हैं और pfodApp इस प्रोजेक्ट में बिना किसी बदलाव के एक कस्टम इंटरफ़ेस जोड़ सकते हैं।

निष्कर्ष

यह सरल प्रोजेक्ट किसी भी ब्लूटूथ लो एनर्जी (बीएलई) मॉड्यूल के लिए वाईफाई एक्सेस प्रदान करता है जो नॉर्डिक के यूएआरटी को TX नोटिफाई के साथ लागू करता है। Wifi2BLE ब्रिज पूरी तरह से पारदर्शी है। यह सिर्फ वाईफाई डेटा को बीएलई डिवाइस में भेजता है और बीएलई डिवाइस के डेटा को वाईफाई कनेक्शन में वापस भेज देता है।

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

एक बार बीएलई डिवाइस सॉफ्टवेयर नए ब्लूटूथ वी5 मेश विनिर्देश के साथ पकड़ने के बाद यह परियोजना और अधिक महत्वपूर्ण हो जाएगी। फिर Wifi2BLE आपके पूरे हाउस ऑटोमेशन को इंटरनेट एक्सेस प्रदान करेगा।

सिफारिश की: