- अवयव आवश्यक
- ESP8266 HC-05 ब्लूटूथ मॉड्यूल सर्किट आरेख
- HC-05 ब्लूटूथ मॉड्यूल
- सीरियल ब्लूटूथ टर्मिनल (एंड्रॉइड ऐप) का उपयोग करना
- प्रोग्रामिंग NodeMCU ESP8266 ब्लूटूथ को इंटरफ़ेस करने के लिए
अब एक दिन, ब्लूटूथ डिजिटल उपकरणों का एक अभिन्न हिस्सा बन गया है और यह अधिकांश उपकरणों जैसे कि स्मार्टफोन, लैपटॉप, पीसी, कैमरा, घड़ियाँ, फिटनेस बैंड और कई अन्य में इनबिल्ट आता है। जब से यह खोजा गया था तब से ही वायरलेस संचार में ब्लूटूथ का दबदबा रहा है। यद्यपि ब्लूटूथ टेक्नोलॉजी मूल रूप से एक केबल प्रतिस्थापन प्रणाली है, लेकिन यह मौजूदा डेटा नेटवर्क के लिए एक सार्वभौमिक पुल और विभिन्न कॉन्फ़िगरेशन में उपकरणों की संख्या के लिए एक तदर्थ कनेक्शन तंत्र का भी लाभ उठाती है। हमने ब्लूटूथ मॉड्यूल HC05 और HC06 का उपयोग कई अन्य माइक्रोकंट्रोलर के साथ किया है ताकि वे वायरलेस तरीके से संवाद कर सकें:
- STM32F103C8 ब्लू पिल के साथ ब्लूटूथ HC-05 को इंटरफेज करना: एलईडी को नियंत्रित करना
- AVR माइक्रोकंट्रोलर के साथ HC-05 ब्लूटूथ मॉड्यूल को इंटरफैस करना
- 8051 माइक्रोकंट्रोलर का उपयोग करके एंड्रॉइड नियंत्रित रोबोट
- ब्लूटूथ पर Android ऐप का उपयोग करके रास्पबेरी पाई GPIO को नियंत्रित करना
- Arduino का उपयोग कर ब्लूटूथ नियंत्रित खिलौना कार
आज हम HC-05 ब्लूटूथ मॉड्यूल को लोकप्रिय वाई-फाई मॉड्यूल ESP8266 के साथ इंटरफेस करेंगे और ब्लूटूथ के माध्यम से कमांड भेजकर एक एलईडी वायरलेस तरीके से नियंत्रित करेंगे। होम ऑटोमेशन एप्लिकेशन के निर्माण के लिए इस एलईडी को रिले और एसी उपकरण से बदला जा सकता है।
अवयव आवश्यक
हार्डवेयर:
- NodeMCU ESP8266
- HC-05 ब्लूटूथ मॉड्यूल
सॉफ्टवेयर:
- Arduino IDE
- सीरियल ब्लूटूथ टर्मिनल (एंड्रॉइड ऐप): स्मार्ट फोन पर ब्लूटूथ डेटा की निगरानी करने के लिए।
ESP8266 HC-05 ब्लूटूथ मॉड्यूल सर्किट आरेख
NodeMCU ESP8266 के साथ ब्लूटूथ मॉड्यूल HC-05 को जोड़ने के लिए सर्किट आरेख बहुत सरल है और नीचे दिखाया गया है:
ESP8266 के साथ बाहरी ब्लूटूथ मॉड्यूल की आवश्यकता होती है क्योंकि इसमें ESP32 की तरह इनबिल्ट ब्लूटूथ नहीं होता है। ESP32 में इनबिल्ट ब्लूटूथ लो एनर्जी (BLE) और क्लासिक ब्लूटूथ है, जिस पर हमने पहले कुछ ट्यूटोरियल कवर किए हैं:
- ESP32 BLE सर्वर - बैटरी स्तर संकेत के लिए गैट सेवा
- ESP32 BLE क्लाइंट - एक बल्ब को ट्रिगर करने के लिए फिटनेस बैंड से जुड़ना
- ESP32 में सीरियल ब्लूटूथ का उपयोग कैसे करें
HC-05 ब्लूटूथ मॉड्यूल
HC-05 एक सीरियल ब्लूटूथ मॉड्यूल है। इसे AT कमांड्स का उपयोग करके कॉन्फ़िगर किया जा सकता है। यह तीन अलग-अलग कॉन्फ़िगरेशन (मास्टर, स्लेव, लूप बैक) में काम कर सकता है। हमारी परियोजना में हम इसे एक दास के रूप में उपयोग करेंगे। HC-05 मॉड्यूल की विशेषताओं में शामिल हैं,
- ठेठ -80 dBm संवेदनशीलता।
- डिफ़ॉल्ट बॉड दर: 9600bps, 8 डेटा बिट्स, 1 स्टॉप बिट, कोई समानता नहीं।
- ऑटो-पेयरिंग पिन कोड: "1234" या "0000" डिफ़ॉल्ट पिन कोड।
- इसमें 6 पिन हैं।
- HC-05 को पॉवर देने के लिए Vcc और Gnd पिन का उपयोग किया जाता है।
- टीएक्स और आरएक्स पिन का उपयोग माइक्रोकंट्रोलर के साथ संचार के लिए किया जाता है।
- HC-05 मॉड्यूल को सक्रिय करने के लिए पिन सक्षम करें। जब यह कम होता है, तो मॉड्यूल अक्षम हो जाता है
- स्टेट पिन स्टेटस इंडिकेटर का काम करता है। जब इसे किसी अन्य ब्लूटूथ डिवाइस के साथ जोड़ा / जोड़ा नहीं जाता है, तो एलईडी लगातार चमकती रहती है। जब यह किसी अन्य ब्लूटूथ डिवाइस के साथ जुड़ा / जोड़ा जाता है, तो एलईडी 2 सेकंड की निरंतर देरी के साथ चमकती है।
ब्लूटूथ मॉड्यूल के बारे में अधिक जानने के लिए हमारे अन्य ब्लूटूथ संबंधित परियोजनाओं के माध्यम से जाना।
सीरियल ब्लूटूथ टर्मिनल (एंड्रॉइड ऐप) का उपयोग करना
इस ऐप का उपयोग करना बहुत आसान है और इसके लिए कुछ चरणों की आवश्यकता होती है। स्क्रीनशॉट स्टेप्स के साथ नीचे दिए गए हैं। बस HC-05 को स्मार्टफ़ोन के साथ पेयर करें । डिफ़ॉल्ट कोड '0000' या '1234' है, लेकिन अधिकतर '1234' काम करता है।
- सबसे पहले ऐप डाउनलोड करें और इंस्टॉल करें फिर HC-05 मॉड्यूल खोजने के लिए उपकरणों पर जाएं। एप्लिकेशन पर खोजे गए HC-05 मॉड्यूल का चयन करें। यदि नहीं मिला है, तो जांचें कि क्या HC-05 ठीक से संचालित है।
- HC-05 पर क्लिक करने के बाद यह कनेक्ट हो जाएगा। अब मैसेज बॉक्स में कोई भी मैसेज टाइप करें और सेंड करें। यह Arduino Serial Monitor पर प्रिंट हो जाएगा।
प्रोग्रामिंग NodeMCU ESP8266 ब्लूटूथ को इंटरफ़ेस करने के लिए
ArduinoIDE का उपयोग करके NodeMCU ESP8266 प्रोग्रामिंग के लिए, बस इसे माइक्रो यूएसबी केबल का उपयोग करके लैपटॉप या पीसी से प्लग करें और Arduino IDE खोलें। इस ट्यूटोरियल के लिए, हार्डवेयर सीरियल और सॉफ्टवेयर सीरियल का उपयोग किया जाएगा। Arduino Serial Monitor और Sofware Serial में डेटा पढ़ने और लिखने के लिए हार्डवेयर सीरियल का उपयोग HC-05 के साथ संचार के लिए किया जाएगा। जैसा कि हमेशा पूरा कोड और डेमो वीडियो ट्यूटोरियल के अंत में दिया गया है।
प्रारंभ में, सॉफ्टवेयर सीरियल लाइब्रेरी को शामिल करें क्योंकि यह इस ट्यूटोरियल में उपयोग किया जाएगा।
#शामिल
सॉफ्टवेयर धारावाहिक संचार के लिए RX और TX पिन को परिभाषित करें, NodeMCU से जुड़े एलईडी पिन को भी परिभाषित करें। हम NodeMCU के आंतरिक एलईडी का उपयोग कर रहे हैं जो कि पिन डी 4 पर है।
SoftwareSerial btSerial (D2, D3); // RX, int led = D4;
सॉफ्टवेयर और हार्डवेयर सीरियल की शुरुआत 9600 बॉड दर से करें। उत्पादन के रूप में एलईडी पिन सेट करें। कुछ स्वागत और डिबग संदेश प्रिंट करें।
सीरियल.बेगिन (9600); btSerial.begin (9600); पिनमोड (D4, OUTPUT); Serial.println ("प्रारंभ…");
सबसे पहले, ब्लूटूथ मॉड्यूल से पढ़ें और एक मामले को परिभाषित करें कि यदि ब्लूटूथ मॉड्यूल फोन से "बी" प्राप्त करता है, तो एनओडीएमसीयू के डी 4 से जुड़ा हुआ निमिष एलईडी शुरू करें, अगर यह "एस" प्राप्त करता है, तो निमिष का नेतृत्व करना बंद करें। हम यहां देरी () का उपयोग नहीं कर रहे हैं। लेकिन Arduino 'millis' का उपयोग Arduino के प्रदर्शन में बाधा डालने के लिए नहीं किया जाएगा।
if (btSerial.available ()> 0) { char data = btSerial.read (); स्विच (डेटा) { केस 'बी': एलईडीबी = "ब्लिंक"; टूटना; मामला 'S': ledB = "स्टॉप"; टूटना; डिफ़ॉल्ट: ब्रेक; } }
मिलिस को परिभाषित किया गया है और 500 मी पर विलंब निर्धारित किया गया है। इसके अलावा, आप 'अंतराल' के मान को बदलकर एलईडी देरी को कॉन्फ़िगर कर सकते हैं। राज्य का नेतृत्व किया जाएगा।
अहस्ताक्षरित लंबी currentMillis = मिली ();
if (ledB == "ब्लिंक") { Serial.println ("ब्लिंकिंग स्टार्ट "); if (currentMillis - pastMillis> = interval) { पिछलामेलिस = करंटमिलिस; if (ledState == कम) { ledState = HIGH; } और { ledState = LOW; } digitalWrite (led, ledState); } }
और यह प्रोग्रामिंग NodeMCU को ब्लूटूथ का उपयोग करके वायरलेस रूप से एलईडी ब्लिंक करने के लिए समाप्त कर देगा । आप एलईडी के साथ विभिन्न कार्यों को करने के लिए कार्यक्रम को भी बदल सकते हैं जैसे ब्लूटूथ होम ऑटोमेशन प्रोजेक्ट बनाने के लिए एलईडी को एसी उपकरण के साथ रिले द्वारा बदला जा सकता है। किसी भी संदेह या सुझाव के मामले में, कृपया हमारे मंच पर पहुँचें या नीचे टिप्पणी करें।