Arduino IDE के साथ ESP32 ब्लूटूथ क्लासिक का उपयोग करना

Arduino Ide Ke Satha Esp32 Blututha Klasika Ka Upayoga Karana



ESP32 एक माइक्रोकंट्रोलर-आधारित बोर्ड है जो वाई-फाई और ब्लूटूथ सपोर्ट के साथ आता है। यह एक IoT आधारित बोर्ड है जिसे निर्देशों को निष्पादित करने के लिए कई सेंसर के साथ एकीकृत किया जा सकता है। ESP32 बोर्ड का एक विस्तृत अनुप्रयोग है जहाँ वायरलेस संचार की आवश्यकता होती है। आइए चर्चा करें कि हम ESP32 ब्लूटूथ को कैसे कॉन्फ़िगर कर सकते हैं और इसका उपयोग करके जानकारी प्रसारित कर सकते हैं।

Arduino IDE के साथ ESP32 ब्लूटूथ क्लासिक

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







ESP32 क्लासिक ब्लूटूथ सीरियल संचार

ESP32 ब्लूटूथ काम करना किसी तरह Arduino के समान है, जैसे हमने Arduino में किया था क्योंकि बाहरी ब्लूटूथ सेंसर का उपयोग HC-05 की तरह किया जाता है। Arduino और HC-05 दोनों सेंसर सीरियल संचार पर संचार करते हैं। ESP32 के साथ भी ऐसा ही है लेकिन अंतर यह है कि ESP32 बिल्ट-इन ब्लूटूथ मॉड्यूल के साथ आता है जो पहले डेटा प्राप्त करते हैं और फिर इसे Xtensa प्रोसेसर को फॉरवर्ड करते हैं।



तो, इस संचार को स्थापित करने के लिए ' ब्लूटूथ सीरियल 'लाइब्रेरी का उपयोग किया जाता है जो Arduino सीरियल लाइब्रेरी के समान है, लेकिन यह केवल ESP32 के भीतर है। ब्लूटूथ सीरियल लाइब्रेरी द्वारा पेश किए गए कुछ कार्य निम्नलिखित हैं:



  • शुरू करना()
  • उपलब्ध()
  • लिखना()
  • पढ़ना()

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

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





  • ESP32
  • एलईडी
  • ब्रेड बोर्ड
  • एंड्रॉइड डिवाइस
  • सीरियल ब्लूटूथ टर्मिनल एप्लीकेशन

सर्किट

ESP32 के डिजिटल पिन 15 पर LED को ESP32 बोर्ड के GND से जुड़े नेगेटिव टर्मिनल से कनेक्ट करें। एक सुरक्षित करंट लिमिट के लिए, हम उनके बीच रेसिस्टर (220 ओम) को भी कनेक्ट कर सकते हैं:

कोड

Arduino IDE खोलें और बोर्ड प्रबंधक में ESP32 बोर्ड का चयन करें यह देखने के लिए कि Arduino IDE में ESP32 बोर्ड कैसे स्थापित करें क्लिक करें यहां . बोर्ड का चयन करने के बाद संपादक विंडो में नीचे दिए गए कोड को लिखें:



#शामिल करें   /*ब्लूटूथ सीरियल कम्युनिकेशन लाइब्रेरी*/

#define LED_PIN 15  /*एलईडी पिन इनिशियलाइज़ किया गया*/

ब्लूटूथ सीरियल सीरियलबीटी;

बाइट BT_INP;

#if !defined(CONFIG_BT_ENABLED) || !परिभाषित (CONFIG_BLUEDROID_ENABLED)/* SDK में ब्लूटूथ की जांच करें*/

#error ब्लूटूथ बंद - इसे सक्षम करने के लिए `मेन्यूकॉन्फिग बनाएं` चलाएं

#अगर अंत

व्यर्थ व्यवस्था ( )

{

 पिनमोड ( LED_PIN, OUTPUT ) ; /* एलईडी पिन समूह जैसा उत्पादन */
सीरियल.शुरुआत ( 115200 ) ; /* बॉड दर के लिये धारावाहिक संचार */
सीरियलबीटी.शुरू ( ) ; /* ब्लूटूथ संचार शुरू होता है */
सीरियल.प्रिंटln ( 'ब्लूटूथ युग्मित करने के लिए तैयार है...' ) ; /* जब ब्लूटूथ चालू हो */
}
शून्य लूप ( )
{
यदि ( सीरियलबीटी.उपलब्ध ( ) ) /* जांच के लिये ब्लूटूथ डेटा उपलब्धता */
{
BT_INP = सीरियलBT.पढ़ें ( ) ; /* पढ़ना डिवाइस से ब्लूटूथ डेटा */
सीरियल.लिखना ( बीटी_आईएनपी ) ; /* प्रिंट करें पढ़ना जानकारी */
}
यदि ( बीटी_आईएनपी == '1' ) /* यदि स्थि‍ति के लिये राज्य का नेतृत्व किया */
{
डिजिटलराइट ( LED_पिन, उच्च ) ; /* एलईडी चालू करें यदि 1 इनपुट प्राप्त होता है */
}
यदि ( बीटी_आईएनपी == '0' )
{
डिजिटलराइट ( LED_पिन, कम ) ; /* एलईडी बंद करो यदि 0 इनपुट प्राप्त होता है */
}

}

यहां उपरोक्त कोड में, हमने ESP32 के लिए ब्लूटूथ सीरियल लाइब्रेरी को शामिल करके शुरुआत की। आगे हमने ब्लूटूथ सीरियल लाइब्रेरी फ़ंक्शंस को शामिल किया है जो ESP32 ब्लूटूथ को सक्षम करेगा।

अगला एलईडी पिन 15 इनिशियलाइज़ किया गया है और का उपयोग कर रहा है पिनमोड () फ़ंक्शन एलईडी पिन आउटपुट के रूप में सेट है।

कोड के लूप भाग में प्रोग्राम सीरियल ब्लूटूथ डेटा उपलब्धता की जांच करेगा। यदि इनपुट डेटा है तो 1 एलईडी चालू हो जाएगी और यदि प्राप्त डेटा 0 है तो एलईडी बंद हो जाएगी।

एक बार कोड अपलोड हो जाने के बाद। ESP32 बोर्ड का ब्लूटूथ चालू हो जाएगा और सीरियल मॉनिटर पर निम्न संदेश दिखाई देगा।

सीरियल ब्लूटूथ टर्मिनल स्थापित करना

हमें एक ब्लूटूथ डिवाइस की आवश्यकता है जो ESP32 को निर्देश भेज सके इसलिए हम इसे ESP32 ब्लूटूथ के साथ इंटरफेस करने के लिए एक Android स्मार्टफोन का उपयोग करेंगे। सबसे पहले, हमें एंड्रॉइड फोन में एक सीरियल टर्मिनल स्थापित करना होगा। Android फ़ोन को ESP32 के साथ इंटरफ़ेस करने के लिए नीचे दिए गए चरणों का पालन करें:

स्टेप 1 : अपने स्मार्टफोन में Google Play Store खोलें और खोजें सीरियल ब्लूटूथ टर्मिनल . नीचे दिखाया गया एप्लिकेशन इंस्टॉल करें:

चरण दो : ओपन मोबाइल फोन ब्लूटूथ सेटिंग इंस्टॉल करने के बाद। ESP32 ब्लूटूथ के लिए खोजें और क्लिक करके इसे अपने स्मार्टफोन के साथ जोड़ना शुरू करें जोड़ा :

चरण 3 : a पर टैप करने के बाद जोड़ा , मोबाइल फ़ोन ESP32 ब्लूटूथ के साथ युग्मित होना शुरू हो जाएगा:

चरण 4 : अब सीरियल ब्लूटूथ टर्मिनल एप्लिकेशन खोलें और साइड मेन्यू से डिवाइसेस पर जाएं:

चरण 5 : एक बार डिवाइस विकल्प खुलने के बाद यह कुछ अनुमति मांगेगा या दबाएं रीफ़्रेश करें ऊपरी दाएं कोने में बटन:

चरण 6 : निम्नलिखित पॉपअप आएगा पर क्लिक करें समायोजन और इसके लिए मांगी गई अनुमति की अनुमति दें:

चरण 7 : अब ESP32 बोर्ड ब्लूटूथ पर निर्देश लेने के लिए तैयार है। ब्लूटूथ क्लासिक विकल्प के तहत ESP32 बोर्ड चुनें:

चरण 8 : एक बार ESP32 के चयन के बाद यह कनेक्ट होना शुरू हो जाएगा और सफल होने पर, a जुड़े हुए संदेश दिखाई देगा।

चरण 9 : अब हम किसी भी निर्देश को यहाँ टाइप करके भेज सकते हैं। 1 टाइप करें और सेंड बटन पर क्लिक करें, ESP32 पर एलईडी बोर्ड चालू हो जाएगा। इसी तरह 0 टाइप करने से LED बंद हो जाएगी।

इसी तरह, हम Arduino IDE के सीरियल मॉनिटर पर आउटपुट देख सकते हैं कि यह क्या प्राप्त कर रहा है:

आउटपुट:

एलईडी 1 भेजने के बाद चालू होता है:

0 भेजने के बाद एलईडी बंद हो जाती है:

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

निष्कर्ष

ESP32 बोर्ड में क्लासिक ब्लूटूथ और लो एनर्जी ब्लूटूथ के साथ ऑन बोर्ड वाईफाई और डुअल ब्लूटूथ सपोर्ट है। क्लासिक का उपयोग उच्च डेटा ट्रांसफर के लिए किया जाता है जबकि बीएलई (ब्लूटूथ लो एनर्जी) का उपयोग कम बिजली की आवश्यकता के साथ कम दूरी के लिए किया जाता है। यह आलेख क्लासिक ब्लूटूथ डेटा ट्रांसफर को कवर करता है और यह एक विचार देता है कि ईएसपी 32 बोर्ड का उपयोग करके ब्लूटूथ संचार कैसे किया जाता है।