Arduino IDE کے ساتھ ESP32 بلوٹوتھ کلاسک کا استعمال

Arduino Ide K Sat Esp32 Blw Wt Klask Ka Ast Mal



ESP32 ایک مائکرو کنٹرولر پر مبنی بورڈ ہے جو Wi-Fi اور بلوٹوتھ سپورٹ کے ساتھ آتا ہے۔ یہ ایک IoT پر مبنی بورڈ ہے جسے ہدایات پر عمل کرنے کے لیے متعدد سینسر کے ساتھ مربوط کیا جا سکتا ہے۔ ESP32 بورڈ میں ایک وسیع ایپلی کیشن ہے جہاں وائرلیس مواصلات کی ضرورت ہے۔ آئیے اس بات پر بات کرتے ہیں کہ ہم ESP32 بلوٹوتھ کو کس طرح ترتیب دے سکتے ہیں اور اس کا استعمال کرتے ہوئے معلومات کو منتقل کر سکتے ہیں۔

Arduino IDE کے ساتھ ESP32 بلوٹوتھ کلاسک

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







ESP32 کلاسک بلوٹوتھ سیریل کمیونیکیشن

ESP32 بلوٹوتھ کام کرنا کسی نہ کسی طرح Arduino سے ملتا جلتا ہے، جیسا کہ ہم نے Arduino میں کیا تھا کیونکہ ایک بیرونی بلوٹوتھ سینسر HC-05 کی طرح استعمال ہوتا ہے۔ دونوں Arduino اور HC-05 سینسر سیریل کمیونیکیشن پر بات چیت کرتے ہیں۔ یہاں بھی یہی معاملہ ESP32 کا ہے لیکن فرق یہ ہے کہ ESP32 بلٹ ان بلوٹوتھ ماڈیولز کے ساتھ آتا ہے جو پہلے ڈیٹا وصول کرتے ہیں اور پھر اسے Xtensa پروسیسر پر بھیجتے ہیں۔



لہذا، اس مواصلات کو قائم کرنے کے لئے ' بلوٹوتھ سیریل لائبریری کا استعمال کیا جاتا ہے جو Arduino سیریل لائبریری کی طرح ہے، لیکن یہ صرف ESP32 کے اندر ہے۔ بلوٹوتھ سیریل لائبریری کی طرف سے پیش کردہ کچھ فنکشنز درج ذیل ہیں:



  • شروع کریں()
  • دستیاب()
  • لکھیں()
  • پڑھیں()

ESP32 کا استعمال کرتے ہوئے بلوٹوتھ کنٹرول شدہ ایل ای ڈی

آئیے ایک سادہ کوڈ لکھتے ہیں جو بلوٹوتھ وائرلیس مواصلات پر موبائل بلوٹوتھ کا استعمال کرتے ہوئے ایل ای ڈی کو کنٹرول کر سکتا ہے۔ بلوٹوتھ سیریل کمیونیکیشن کا استعمال کرتے ہوئے ایل ای ڈی کو کنٹرول کرنے کے لیے درکار ہارڈ ویئر درج ذیل ہے:





  • ای ایس پی 32
  • ایل. ای. ڈی
  • بریڈ بورڈ
  • اینڈرائیڈ ڈیوائس
  • سیریل بلوٹوتھ ٹرمینل ایپلی کیشن

سرکٹ

ESP32 کے ڈیجیٹل پن 15 پر LED کو ESP32 بورڈ کے GND پر منسلک منفی ٹرمینل کے ساتھ جوڑیں۔ محفوظ موجودہ حد کے لیے، ہم ان کے درمیان ریزسٹر (220 اوہم) کو بھی جوڑ سکتے ہیں:

کوڈ

Arduino IDE کھولیں اور بورڈ مینیجر میں ESP32 بورڈ کو منتخب کریں تاکہ یہ دیکھیں کہ Arduino IDE میں ESP32 بورڈ کو کیسے انسٹال کیا جائے۔ یہاں . بورڈ کو منتخب کرنے کے بعد ایڈیٹر ونڈو میں نیچے کوڈ لکھیں:



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

#LED_PIN 15 کی وضاحت کریں /*لیڈ پن شروع*/

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

بائٹ BT_INP؛

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)/*SDK میں بلوٹوتھ چیک کریں*/

#غلطی بلوٹوتھ آف --اسے فعال کرنے کے لیے `make menuconfig` چلائیں۔

#ختم کرو اگر

باطل سیٹ اپ ( )

{

پن موڈ ( LED_PIN، آؤٹ پٹ ) ; /* قیادت پن سیٹ کے طور پر آؤٹ پٹ */
سیریل شروع کریں۔ ( 115200 ) ; /* حرکت نبض کے لیے سیریل مواصلات */
سیریل بی ٹی شروع ( ) ; /* بلوٹوتھ مواصلات شروع ہوتا ہے۔ */
Serial.println ( 'بلوٹوتھ جوڑنے کے لیے تیار ہے...' ) ; /* جب بلوٹوتھ آن ہوتا ہے۔ */
}
باطل لوپ ( )
{
اگر ( سیریل بی ٹی دستیاب ہے۔ ( ) ) /* چیک کریں کے لیے بلوٹوتھ ڈیٹا کی دستیابی */
{
BT_INP = SerialBT.read ( ) ; /* پڑھیں ڈیوائس سے بلوٹوتھ ڈیٹا */
سیریل لکھنا ( BT_INP ) ; /* پرنٹ کریں پڑھیں ڈیٹا */
}
اگر ( BT_INP == '1' ) /* اگر حالت کے لیے قیادت کی ریاست */
{
ڈیجیٹل رائٹ ( LED_PIN، ہائی ) ; /* قیادت کو چالو کریں اگر 1 ان پٹ موصول ہوا ہے */
}
اگر ( BT_INP == '0' )
{
ڈیجیٹل رائٹ ( LED_PIN، کم ) ; /* قیادت کو بند کریں اگر 0 ان پٹ موصول ہوا ہے */
}

}

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

اگلا ایل ای ڈی پن 15 شروع کیا گیا ہے اور استعمال کر رہا ہے۔ پن موڈ() فنکشن ایل ای ڈی پن کو آؤٹ پٹ کے طور پر سیٹ کیا گیا ہے۔

کوڈ کے لوپ حصے میں پروگرام سیریل بلوٹوتھ ڈیٹا کی دستیابی کی جانچ کرے گا۔ اگر ان پٹ ڈیٹا 1 ہے تو LED آن ہو جائے گا اور اگر موصول ہونے والا ڈیٹا 0 ہے تو LED بند ہو جائے گی۔

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

سیریل بلوٹوتھ ٹرمینل انسٹال کرنا

ہمیں ایک بلوٹوتھ ڈیوائس کی ضرورت ہے جو ESP32 کو ہدایات بھیج سکے لہذا ہم اسے ESP32 بلوٹوتھ کے ساتھ انٹرفیس کرنے کے لیے ایک Android اسمارٹ فون استعمال کریں گے۔ سب سے پہلے، ہمیں اینڈرائیڈ فون میں سیریل ٹرمینل انسٹال کرنے کی ضرورت ہے۔ ای ایس پی 32 کے ساتھ اینڈرائیڈ فون کو انٹرفیس کرنے کے لیے نیچے دیے گئے اقدامات پر عمل کریں:

مرحلہ نمبر 1 : اپنے اسمارٹ فون پر گوگل پلے اسٹور کھولیں اور تلاش کریں۔ سیریل بلوٹوتھ ٹرمینل . ذیل میں دکھائی گئی ایپلیکیشن انسٹال کریں:

مرحلہ 2 : اوپن موبائل فون بلوٹوتھ سیٹنگز انسٹال کرنے کے بعد۔ ESP32 بلوٹوتھ تلاش کریں اور اس پر کلک کرکے اپنے اسمارٹ فون کے ساتھ جوڑا بنانا شروع کریں۔ جوڑا :

مرحلہ 3 : a پر ٹیپ کرنے کے بعد جوڑا ، موبائل فون ESP32 بلوٹوتھ کے ساتھ جوڑا بنانا شروع کر دے گا:

مرحلہ 4 : اب سیریل بلوٹوتھ ٹرمینل ایپلیکیشن کھولیں اور سائیڈ مینو سے ڈیوائسز پر جائیں:

مرحلہ 5 : ایک بار جب ڈیوائس کا آپشن کھل جائے گا تو یہ کچھ اجازتیں طلب کرے گا یا دبائیں۔ ریفریش کریں۔ اوپری دائیں کونے میں بٹن:

مرحلہ 6 : مندرجہ ذیل پاپ اپ پر کلک کریں۔ ترتیبات اور اس اجازت کی اجازت دیں جس کے لیے وہ پوچھتا ہے:

مرحلہ 7 : اب ESP32 بورڈ بلوٹوتھ پر ہدایات لینے کے لیے تیار ہے۔ بلوٹوتھ کلاسک آپشن کے تحت ESP32 بورڈ منتخب کریں:

مرحلہ 8 : ESP32 منتخب ہونے کے بعد یہ جڑنا شروع کر دے گا اور اگر کامیاب ہو جائے تو، a جڑا ہوا پیغام ظاہر ہو جائے گا.

مرحلہ 9 : اب ہم کوئی بھی ہدایات یہاں ٹائپ کرکے بھیج سکتے ہیں۔ 1 ٹائپ کریں اور بھیجیں بٹن پر کلک کریں، ESP32 پر ایل ای ڈی بورڈ آن ہو جائے گا۔ اسی طرح 0 لکھنے سے LED بند ہو جائے گی۔

اسی طرح، ہم Arduino IDE کے سیریل مانیٹر پر آؤٹ پٹ دیکھ سکتے ہیں کہ یہ کیا حاصل کر رہا ہے:

آؤٹ پٹ:

ایل ای ڈی 1 بھیجنے کے بعد آن ہو جاتی ہے:

ایل ای ڈی 0 بھیجنے کے بعد آف ہو جاتی ہے:

نوٹ : ہم مخصوص ہدایات کے لیے بٹن بھی ترتیب دے سکتے ہیں جیسا کہ ذیل کی تصویر میں دکھایا گیا ہے۔ ایسا کرنے کے لیے بٹنوں پر کلک کریں اور اپنی مطلوبہ قدر سیٹ کریں۔ یہاں ہم نے دو بٹن سیٹ کیے ہیں ایک ہائی کے لیے اور دوسرا لو اسٹیٹ کے لیے۔ آپ ان شارٹ کٹس کو ہیکساڈیسیمل اقدار میں بھی ترتیب دے سکتے ہیں۔

نتیجہ

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