الدرس 4 من دورة ESP32: كيفية استخدام البلوتوث

نصل إلى الدرس الرابع من سلسلة دروس شريحة ESP32 حيث عرفنا من خلال الدروس السابقة أن هذه القطعة تتوفر على خصائص عديدة مثل الواي-فاي، البلوتوث والبلوتوث المنخفض الطاقة (Bluetooth Low Energy أو BLE).

الدرس 4 من دورة ESP32: كيفية استخدام البلوتوث

سنتعرف من خلال أسطر هذه المقالة على كيفية برمجة شريحة الـESP32 من خلال بيئة تطوير الأردوينو (Arduino IDE) من أجل تبادل المعلومات مع هاتف يعمل بنظام الأندرويد.

محاكي طرفية للأندرويد

حتى تتمكن من استخدام البلوتوث مع ESP32 يجب أن تقوم بتثبيت محاكي طرفية بلوتوث (Bluetooth Terminal emulator) على هاتفك الذكي الذي يعمل بنظام الأندرويد. نحن ننصح بتطبيق Serial Bluetooth Terminal والذي يمكن تحميله من على متجر جوجل.

محاكي طرفية للأندرويد

إتصال بلوتوث تسلسلي-تسلسلي

سنقوم الآن ببرمجة شريحة ESP32 بواسطة بيئة تطوير الأردوينو (Arduino IDE) لذا عليك التأكد بأنك قمت بتهيئة هذا الأخير حتى يتمكن من برمجة هذه القطعة كما شرحنا في الدرس الثاني من هذه الدورة.
بعد أن تقوم بفتح بيئة تطوير الأردوينو إذهب إلى File > Examples > BluetoothSerial > SerialToSerialBT. من المفترض أن يظهر لك الكود التالي:


شرح الكود

وظيفة هذا الكود هي عمل اتصال بلوتوث ثنائي الإتجاه بين الجهازين (الهاتف وشريحة ESP32)، نبدأ أولا بإدراج المكتبة الخاصة بالبلوتوث عبر الأمر التالي:

#include "BluetoothSerial.h"


ثم نتحقق من أن البلوتوث قد تم تفعيله بطريقة صحيحة عبر الأوامر التالية:

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)

#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it

#endif

ثم نقوم بعمل نموذج من BluetoothSerial نسميه SerialBT عبر الأمر البرمجي التالي:

BluetoothSerial SerialBT;


ننتقل الآن إلى شرح الدالة setup()، حيث سنقوم أولا بتهيئة اتصال تسلسلي بسرعة 115200 بود بواسطة الأمر التالي:

Serial.begin(115200);


ثم نقوم بتهيئة اتصال البلوتوث واعطاء اسم لهذا الاتصال، حيث أنه هنا ESP32test لكن يُمكنك تغييره إلى أي اسم آخر ترغب به:

SerialBT.begin("ESP32test"); //Bluetooth device name


نصل الآن إلى شرح الدالة loop()، حيث أن وظيفتها الرئيسية هنا ستكون إرسال المعلومات واستقبالها، سيكون الإرسال بواسطة الأوامر:

if (Serial.available()) {

  SerialBT.write(Serial.read());

}


أما الإستقبال:

if (SerialBT.available()) {

  Serial.write(SerialBT.read());

}


تجربة الكود

بعد رفع البرنامج إلى شريحة ESP32 نقوم بفتح نافذة المراقبة التسلسلية (Serial Monitor) الخاصة ببيئة تطوير الأردوينو، حيث سنتحصل على النافذة التالية:

الدرس 4 من دورة ESP32: كيفية استخدام البلوتوث

تأكد الآن من أنك قمت بتشغيل البلوتوث في هاتفك الذكي ثم قم بفتح تطبيق "Serial Bluetooth Terminal"، ثم إذهب إلى Devices كما توضح الصورة التالية:

الدرس 4 من دورة ESP32: كيفية استخدام البلوتوث

إضغط على أيقونة الإعدادات وقم بتوصيل الـESP32 مع الهاتف، يجب الآن أن تظهر لك رسالة تؤكد لك أن الاتصال تم بنجاح كما هو موضح في الصورة التالية:

الدرس 4 من دورة ESP32: كيفية استخدام البلوتوث

يمكنك الآن كتابة الرسالة التي ترغب بإرسالها، على سبيل المثال "مبدعو الالكترونيات" ومن ثم الضغط على زر الارسال، حيث ستظهر لك بشكل لحظة على نافذة المراقبة التسلسلية، لاحظ أيضا أنه يُمكنك الكتابة باللغة العربية.

الدرس 4 من دورة ESP32: كيفية استخدام البلوتوث

العملية العكسية كذلك ممكنة حيث تستطيع ارسال المعلومات من نافذة المراقبة التسلسلية إلى الهاتف، حيث أن كل ما عليك فعله هو كتابة الرسالة في الـSerial Monitor ثم الضغط على Send وستظهر لك الرسالة بشكل لحظي على الهاتف.

الدرس 4 من دورة ESP32: كيفية استخدام البلوتوث

الآن وبعد أن تعلمت كيف تقوم بارسال واستقبال المعلومات بواسطة اتصال البلوتوث التسلسلي بين هاتفك الذكي وشريحة ESP32، تستطيع عمل تعديلات بسيطة على الكود السابق من أجل صناعة شيء مفيد أكثر، مثل التحكم في الريليه عند استقبال رسالة معينة أو ارسال بعض المعلومات المهمة إلى الهاتف مثل القيم التي قرأتها الحساسات.

نتمنى أننا قد قمنا بإفادتك ولو بالقليل من خلال هذه المقالة، وكالعادة إذا كانت هناك بعض النقاط الغير مفهومة أو كانت لديك بعض الأسئلة فلا تتردد في طرحها علينا في خانة التعليقات بالأسفل وسنجيب عليها.

0 تعليقات

إرسال تعليق

Post a Comment (0)

أحدث أقدم