بلوٹوتھ کے ذریعے اینڈرائیڈ اسمارٹ فون کے ساتھ بات چیت کرنے کے لیے ESP32 کو سیٹ اپ اور پروگرام کرنے کا طریقہ

Blw Wt K Dhry Ayn Rayy Asmar Fwn K Sat Bat Chyt Krn K Ly Esp32 Kw Sy Ap Awr Prwgram Krn Ka Tryq



ESP32 ایک مائیکرو کنٹرولر بورڈ ہے جس میں صلاحیتوں کی ایک وسیع رینج ہے۔ اس میں بلٹ ان وائی فائی اور بلوٹوتھ ماڈیولز ہیں۔ ان دونوں ماڈیولز کا استعمال کرتے ہوئے، آپ ESP32 کو وائرلیس طریقے سے پروگرام کر سکتے ہیں۔ اس کے ساتھ، آپ کو ESP32 پیری فیرلز کو کنٹرول کرنے کے لیے طویل وائر کنکشن کے بارے میں فکر کرنے کی ضرورت نہیں ہے۔

اس آرٹیکل میں، ہم ایک ESP32 بورڈ کو اینڈرائیڈ فون کے ساتھ جوڑیں گے اور بلوٹوتھ کے ذریعے ڈیٹا سے رابطہ کریں گے۔ مزید، ہم براہ راست اینڈرائیڈ اسمارٹ فون کے ذریعے ESP32 کے GPIO پنوں کے ساتھ منسلک ایک LED کو کنٹرول کریں گے۔

مشمولات:







ESP32 بلوٹوتھ LE کیا ہے؟

ESP32 ایک مائکرو کنٹرولر بورڈ ہے جو بلوٹوتھ کلاسک اور بلوٹوتھ لو انرجی دونوں کو سپورٹ کرتا ہے جسے سمارٹ بلوٹوتھ بھی کہا جاتا ہے۔ BLE یا سمارٹ بلوٹوتھ توانائی کی بچت کے لیے مخصوص ہے یا مختصر فاصلے کے مواصلات یا چھوٹے ڈیٹا کی منتقلی کے لیے ڈیزائن کیا گیا ہے۔



ESP32 کی BLE فعالیت اسے بلوٹوتھ مواصلات میں سرور یا کلائنٹ کے طور پر کام کرنے کے قابل بناتی ہے۔ یہ پڑھنے اور لکھنے کی خدمات جیسے کاموں کو سنبھال سکتا ہے۔ یہ UART-BLE پاس تھرو موڈ میں ڈیٹا ٹرانسمیشن کے لیے کنکشنز کو انکرپٹ اور سیریل پورٹ پروفائل (SPP) کنکشن بھی قائم کر سکتا ہے۔ ESP32 بلوٹوتھ 4.2 پروٹوکول کو سپورٹ کرتا ہے، جس کا مطلب یہ ہے کہ یہ مختلف پرتوں جیسے فزیکل لیئر (PHY) اور لنک لیئر (LL) کے ساتھ مطابقت رکھتا ہے۔ اسے میزبان کنٹرولر انٹرفیس (HCI) کے لیے بھی سپورٹ حاصل ہے۔



ESP32 Classic اور BLE بلوٹوتھ کے لیے فرق ٹیبل چیک کریں۔





فیچر کلاسک بلوٹوتھ کم توانائی کا بلوٹوتھ (BLE)
مواصلات کی قسم پائیدار، دو طرفہ مواصلت وقفے وقفے سے، بنیادی طور پر ایک طرفہ ڈیٹا پھٹ جاتا ہے۔
آپریشنل رینج 100 میٹر تک پہنچ سکتے ہیں۔ عام طور پر 100 میٹر کے نیچے کام کرتا ہے۔
بجلی کا استعمال 1 واٹ تک استعمال کرتا ہے۔ 10 ملی واٹس سے لے کر 500 ملی واٹ تک کی حدیں ہیں۔
منتقلی کی رفتار ڈیٹا کی منتقلی کی شرح 1 سے 3 میگا بٹس فی سیکنڈ تک مختلف ہوتی ہے۔ 125 کلو بٹس فی سیکنڈ سے 2 میگا بٹ فی سیکنڈ تک سپورٹ کرتا ہے۔
جواب وقت 100 ملی سیکنڈ کے قریب تاخیر 6 ملی سیکنڈ کی تاخیر کے ساتھ فوری جواب
وائس سپورٹ آواز کی ترسیل سے لیس آواز کی ترسیل کی فعالیت کا فقدان ہے۔

اس کے اندر مزید معلومات حاصل کرنے کے لیے یہ ESP32 بلوٹوتھ مضامین دیکھیں۔

اینڈرائیڈ اسمارٹ فون کے ساتھ بلوٹوتھ پر بات چیت کرنے کے لیے ESP32 کو کیسے پروگرام کریں۔

ESP32 کو پروگرام کرنے کے لیے تاکہ یہ بلوٹوتھ پروٹوکول کا استعمال کرتے ہوئے اینڈرائیڈ فون کے ساتھ بات چیت کر سکے، آپ کو ESP32 بلوٹوتھ سیریل لائبریری سیٹ اپ کرنی ہوگی۔ اس کے لیے، آپ کے پاس ESP32 بورڈ کے ساتھ Arduino IDE سیٹ اپ ہونا ضروری ہے۔



ESP32 بلوٹوتھ سیٹ کرنے کے بعد، آپ کو بلوٹوتھ سیریل اینڈرائیڈ ایپلیکیشن انسٹال کرنا ہوگی۔ یہ آپ کو بلوٹوتھ سیریل کمیونیکیشن کا استعمال کرتے ہوئے Android فون سے ESP32 پر ہدایات بھیجنے دے گا۔

آئیے ان اقدامات میں سے ہر ایک کو قریب سے دیکھیں:

ESP32 بلوٹوتھ کو اینڈرائیڈ فون کے ساتھ مربوط کرنے کے اقدامات

بلوٹوتھ کمیونیکیشن کے لیے ESP32 بورڈ کو پروگرام کرنے کے لیے، ان دیے گئے اقدامات پر عمل کریں:

مرحلہ 1: Arduino IDE میں ESP32 بورڈ انسٹال کرنا

Arduino IDE پر ESP32 انسٹال کرنے کے لیے، صرف اس مضمون میں فراہم کردہ گائیڈ پر عمل کریں۔

Arduino IDE میں ESP32 بورڈ انسٹال کرنا

تنصیب کے بعد، ESP32 بورڈ Arduino IDE کا استعمال کرتے ہوئے منسلک اور پروگرام کیا جا سکتا ہے۔

مرحلہ 2: ESP32 بلوٹوتھ کوڈ اپ لوڈ کریں۔

ESP32 بورڈ انسٹال ہونے کے بعد، آپ Arduino IDE میں پہلے سے نصب شدہ لائبریریاں اور ان کی مثالیں دیکھیں گے۔ یہ تمام لائبریریاں ESP32 بورڈ سے متعلق ہیں۔ بلوٹوتھ سیریل کمیونیکیشن کے لیے، ہم ESP32 استعمال کرنے جا رہے ہیں۔ BluetoothSerial.h لائبریری مثال کوڈ.

مثال کے کوڈ کو کھولنے کے لیے، Arduino IDE کھولیں اور اس پر جائیں: فائل> مثالیں> بلوٹوتھ سیریل> سیریلٹو سیریل بی ٹی

اس مثال کے کوڈ کو کھولنے کے لیے، یقینی بنائیں کہ ESP32 بورڈ منتخب ہے۔

مثال کے کوڈ کو کھولنے کے بعد، آپ کو اپنے Arduino IDE ونڈو میں درج ذیل کوڈ نظر آئے گا:

// Linuxhint میں خوش آمدید

#include 'BluetoothSerial.h'

//#Define USE_PIN // اگر آپ جوڑا بنانے کے دوران PIN چاہتے ہیں تو اس پر تبصرہ کریں۔
const چار * پن = '1234' ; // اپنی مرضی کے مطابق پیئرنگ PIN کی وضاحت کریں۔

اسٹرنگ ڈیوائس_نام = 'ESP32' ;

#if !defined(CONFIG_BT_ENABLED) || بیان کردہ (CONFIG_BLUEDROID_ENABLED)
# خرابی بلوٹوتھ فعال نہیں ہے! اسے فعال کرنے کے لیے 'make menuconfig' چلائیں۔
#ختم کرو اگر

#if !defined(CONFIG_BT_SPP_ENABLED)
# غلطی سیریل بلوٹوتھ غائب ہے یا فعال نہیں ہے۔ یہ صرف ESP32 چپ کے لیے دستیاب ہے۔
#ختم کرو اگر

بلوٹوتھ سیریل سیریل بی ٹی ;

باطل سیٹ اپ ( ) {
سیریل شروع ( 115200 ) ;
سیریل بی ٹی۔ شروع ( ڈیوائس کا نام ) ; //بلوٹوتھ ڈیوائس کا نام
سیریل printf ( 'آلہ' % s 'شروع کیا گیا ہے. \n اپنے آلے کو جوڑا بنانا شروع کریں! \n ' ، ڈیوائس کا نام. c_str ( ) ) ;
//Serial.printf('ڈیوائس '%s' MAC ایڈریس %s کے ساتھ شروع ہو گئی ہے۔\nبلوٹوتھ کے ساتھ جوڑا بنانا شروع کریں!\n', device_name.c_str(), SerialBT.getMacString())؛
#ifdef استعمال کریں_پن
سیریل بی ٹی۔ سیٹ پن ( پن ) ;
سیریل پرنٹ ایل این ( 'پن کا استعمال کرنا' ) ;
#ختم کرو اگر
}

باطل لوپ ( ) {
اگر ( سیریل دستیاب ( ) ) {
سیریل بی ٹی۔ لکھنا ( سیریل پڑھیں ( ) ) ;
}
اگر ( سیریل بی ٹی۔ دستیاب ( ) ) {
سیریل لکھنا ( سیریل بی ٹی۔ پڑھیں ( ) ) ;
}
تاخیر ( بیس ) ;
}

کوڈ اپ لوڈ کرنے کے بعد، آپ کو اسکرین پر درج ذیل پیغام نظر آئے گا۔ یہ پیغام بیان کرتا ہے کہ آپ کا ESP32 بورڈ جوڑا بنانے کے لیے تیار ہے۔

مرحلہ 3: کوڈ کی وضاحت

کوڈ ضروری لائبریریوں کو شامل کرنے اور بلوٹوتھ کی دستیابی کی جانچ کے ساتھ شروع ہوا۔ یہ بلوٹوتھ ڈیوائس کے نام اور پن کے لیے متغیرات بھی ترتیب دیتا ہے۔

میں سیٹ اپ() فنکشن، سیریل بوڈ کمیونیکیشن کی وضاحت کی گئی ہے اور بلوٹوتھ ڈیوائس کو اس کے نام کے ساتھ شروع کیا گیا ہے۔ جوڑا بنانے کے دوران تصدیق کے لیے حسب ضرورت PIN سیٹ کیا جا سکتا ہے۔

دی لوپ() فنکشن مسلسل سیریل اور بلوٹوتھ کنکشن پر ڈیٹا کو چیک کرتا ہے۔ یہ اسے ESP32 اور ایک جوڑا بلوٹوتھ ڈیوائس کے درمیان دو طرفہ مواصلت قائم کرنے کی اجازت دیتا ہے۔

مرحلہ 4: اینڈرائیڈ ایپلیکیشن انسٹال کریں۔

کوڈ اپ لوڈ ہونے کے بعد، اگلا مرحلہ بلوٹوتھ کنکشن کے لیے اینڈرائیڈ ایپلیکیشن کو انسٹال اور کنفیگر کرنا ہے۔

پلے اسٹور کھولیں اور انسٹال کریں۔ سیریل بلوٹوتھ ٹرمینل درخواست

انسٹال کرنے کے بعد، اسمارٹ فون کی بلیوٹوتھ سیٹنگز کھولیں اور اپنے فون کو ESP32 بلوٹوتھ سے جوڑیں۔ اگر آپ نے Arduino IDE کوڈ میں PIN کی وضاحت کی ہے تو آپ کو PIN داخل کرنا ہوگا ورنہ یہ براہ راست جڑ جائے گا۔

اب سیریل بلوٹوتھ ایپلیکیشن کھولیں اور منتخب کریں۔ آلات اختیار

نئے کھلے مینو سے، ESP32 ڈیوائس کو منتخب کریں۔ یہ فہرست موجودہ تمام فعال بلوٹوتھ ڈیوائسز کو دکھاتی ہے۔

جیسا کہ آپ دیکھ سکتے ہیں، ESP32 بلوٹوتھ آپ کے اینڈرائیڈ اسمارٹ فون سے منسلک ہے۔

کنکشن کی جانچ کرنے کے لیے، ہم ایک تار بھیجنے جا رہے ہیں۔ یہاں میں نے دو مختلف تار بھیجے ہیں۔

آپ دیکھیں گے کہ وہی دو تاریں Arduino IDE ٹرمینل پر بھی ظاہر ہوں گی۔

اب آئیے ایک قدم آگے بڑھتے ہیں اور اینڈرائیڈ اسمارٹ فون کے ذریعے ESP32 بلوٹوتھ کا استعمال کرتے ہوئے ایل ای ڈی جیسے بیرونی پیریفیرل کو کنٹرول کرتے ہیں۔

مرحلہ 5: بلوٹوتھ کے ذریعے اینڈرائیڈ فون کا استعمال کرتے ہوئے ایل ای ڈی کو کنٹرول کریں۔

ESP32 اور Android بلوٹوتھ کا استعمال کرتے ہوئے LED کو کنٹرول کرنے کے لیے، پہلے اوپر والے کوڈ میں ترمیم کریں اور LED کے لیے GPIO پن کی وضاحت کریں۔ اس کے بعد، آپ کو ایل ای ڈی کو آن اور آف کرنے کے لیے قدریں سیٹ کرنی ہوں گی۔

آگے بڑھنے کے لیے نیچے کوڈ اپ لوڈ کریں۔

#include // بلوٹوتھ سیریل کمیونیکیشن لائبریری کو شامل کریں

# LED_PIN کی وضاحت کریں 15 // LED پن کی وضاحت کریں۔

بلوٹوتھ سیریل سیریل بی ٹی ; // بلوٹوتھ سیریل آبجیکٹ بنائیں
بائٹ BT_INP ; // بلوٹوتھ ان پٹ کو ذخیرہ کرنے کے لیے متغیر

// چیک کریں کہ آیا SDK کنفیگریشن میں بلوٹوتھ اور Bluedroid فعال ہیں۔
#if !defined(CONFIG_BT_ENABLED) || بیان کردہ (CONFIG_BLUEDROID_ENABLED)
# خرابی بلوٹوتھ فعال نہیں ہے۔ اسے فعال کرنے کے لیے 'make menuconfig' چلائیں۔
#ختم کرو اگر

باطل سیٹ اپ ( ) {
پن موڈ ( LED_PIN ، آؤٹ پٹ ) ; // ایل ای ڈی پن کو آؤٹ پٹ کے طور پر سیٹ کریں۔
سیریل شروع ( 115200 ) ;
سیریل بی ٹی۔ شروع ( 'ESP32' ) ; // بلوٹوتھ کو 'ESP32' کے نام سے شروع کریں
سیریل پرنٹ ایل این ( 'بلوٹوتھ ڈیوائس جوڑنے کے لیے تیار ہے۔' ) ; // اشارہ کریں کہ بلوٹوتھ تیار ہے۔
}

باطل لوپ ( ) {
// چیک کریں کہ آیا بلوٹوتھ سے پڑھنے کے لیے کوئی ڈیٹا دستیاب ہے۔
اگر ( سیریل بی ٹی۔ دستیاب ( ) ) {
BT_INP = سیریل بی ٹی۔ پڑھیں ( ) ; // بلوٹوتھ سے آنے والی بائٹ پڑھیں
سیریل لکھنا ( BT_INP ) ; // سیریل مانیٹر پر پڑھنے والے بائٹ کو ایکو کریں۔
}

// موصولہ بلوٹوتھ ڈیٹا کو چیک کریں اور ایل ای ڈی کی حالت سیٹ کریں۔
اگر ( BT_INP == '1' ) {
ڈیجیٹل رائٹ ( LED_PIN ، ہائی ) ; // '1' موصول ہونے پر ایل ای ڈی کو آن کریں۔
} اور اگر ( BT_INP == '0' ) {
ڈیجیٹل رائٹ ( LED_PIN ، کم ) ; // '0' موصول ہونے پر ایل ای ڈی کو بند کر دیں۔
}
}

یہ کوڈ ESP32 مائیکرو کنٹرولر کے لیے بلوٹوتھ کا استعمال کرتے ہوئے ایل ای ڈی کو کنٹرول کرنے کے لیے ہے۔ اس میں بلوٹوتھ کمیونیکیشن کے لیے ایک لائبریری شامل ہے۔ اگلا، یہ ایل ای ڈی پن کی وضاحت کرتا ہے اور ESP32 نامی ڈیوائس کے ساتھ بلوٹوتھ سیٹ کرتا ہے۔ مرکزی لوپ بلوٹوتھ ڈیٹا کو پڑھتا ہے اور موصولہ کمانڈ کی بنیاد پر ایل ای ڈی کو آن یا آف کر دیتا ہے (آن کے لیے 1، آف کے لیے 0)۔

سرکٹ ڈایاگرام

سرکٹ ڈایاگرام سادہ ہے، پن پر منسلک ایل ای ڈی کے ساتھ ڈی 15 ESP32 کا۔ آپ ایل ای ڈی کنٹرول کے لیے کسی دوسرے GPIO کی وضاحت کر سکتے ہیں۔

متعلقہ: ESP32 پن آؤٹ حوالہ – حتمی گائیڈ

ہارڈ ویئر

ہارڈ ویئر میں، آپ کو ایک روٹی بورڈ، ایک ESP32 بورڈ، اور ایک ایل ای ڈی کی ضرورت ہوگی۔ ESP32 کو سسٹم سے جوڑیں اور اس پر پروگرام اپ لوڈ کریں۔

اب اینڈرائیڈ فون بلوٹوتھ سیریل کمیونیکیشن ایپلی کیشن سے 1 اور 0 بھیجیں۔

آپ کو اینڈرائیڈ فون سے موصول ہونے والے Arduino IDE ٹرمینل پر وہی ان پٹ نظر آئے گا۔

آؤٹ پٹ

ایک بار جب آپ ہائی یا 1 ویلیو بھیجیں گے تو LED آن ہو جائے گی، اسی طرح جب آپ کم قیمت بھیجیں گے تو LED بند ہو جائے گی۔

ایک حسب ضرورت بٹن سیٹ کریں۔

آپ سیریل بلوٹوتھ ایپلیکیشن کے اندر ایک حسب ضرورت بٹن بھی سیٹ کر سکتے ہیں۔ مثال کے طور پر، ہائی اور لو ویلیوز کا بٹن بنایا جا سکتا ہے۔ اس طرح، آپ کو دستی طور پر اقدار کو ٹائپ کرنے کی ضرورت نہیں ہے۔ اس کے بجائے، آپ کو صرف شارٹ کٹ بٹن دبانا ہوگا، اور یہ آپ کی سیٹ کردہ ہدایات پر عمل کرے گا۔

نوٹ: بٹن کی ترتیبات کو کھولنے کے لیے، بٹن پر دیر تک دبائیں۔

ہائی بٹن کی قدر سیٹ کرنے کے لیے، درج ذیل سیٹنگز کی وضاحت کریں۔

کم بٹن کی قدر کے لیے مماثلت، آپ کو ذیل کی ترتیبات کی وضاحت کرنے کی ضرورت ہے۔

ہم نے بلوٹوتھ کا استعمال کرتے ہوئے ESP32 بورڈ کو اینڈرائیڈ فون کے ساتھ کامیابی سے جوڑ دیا ہے۔ اب آپ اسے استعمال کرتے ہوئے بہت سے پروجیکٹ بنا سکتے ہیں۔ جیسے، آپ ریلے سرکٹ کے ذریعے ESP32 بلوٹوتھ کا استعمال کرتے ہوئے اپنے گھریلو آلات کو کنٹرول کر سکتے ہیں۔

متعلقہ: Arduino IDE کا استعمال کرتے ہوئے ESP32 کے ساتھ ریلے

نتیجہ

ESP32 وائی فائی اور بلوٹوتھ کی صلاحیتوں کے ساتھ ایک جدید مائیکرو کنٹرولر بورڈ ہے۔ یہ دونوں بلٹ ان ماڈیولز آپ کو جدید پروجیکٹس کو ڈیزائن کرنے اور وائرلیس طریقے سے پیری فیرلز کو کنٹرول کرنے میں مدد کرتے ہیں۔ اسی طرح، آپ ESP32 کو اینڈرائیڈ فون سے جوڑ سکتے ہیں اور مختلف آپریشن کر سکتے ہیں۔ اس کے لیے، آپ کو بلوٹوتھ سیریل اینڈرائیڈ ایپلی کیشن کو انسٹال کرنا ہوگا۔ انسٹال ہونے کے بعد، ESP32 بلوٹوتھ کا مثالی کوڈ کھولیں اور اسے اپنے بورڈ پر اپ لوڈ کریں۔ کوڈ اپ لوڈ ہونے کے بعد، آپ اسے اینڈرائیڈ فون کے ذریعے اپنے بورڈ کے ساتھ جوڑ سکتے ہیں۔