نصل إلى الدرس الرابع من سلسلة دروس شريحة ESP32 حيث عرفنا من خلال الدروس السابقة أن هذه القطعة تتوفر على خصائص عديدة مثل الواي-فاي، البلوتوث والبلوتوث المنخفض الطاقة (Bluetooth Low Energy أو BLE).
سنتعرف من خلال أسطر هذه المقالة على كيفية برمجة شريحة الـESP32 من خلال بيئة تطوير الأردوينو (Arduino IDE) من أجل تبادل المعلومات مع هاتف يعمل بنظام الأندرويد.
محاكي طرفية للأندرويد
إتصال بلوتوث تسلسلي-تسلسلي
شرح الكود
وظيفة هذا الكود هي عمل اتصال بلوتوث ثنائي الإتجاه بين الجهازين (الهاتف وشريحة 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) الخاصة ببيئة تطوير الأردوينو، حيث سنتحصل على النافذة التالية:
تأكد الآن من أنك قمت بتشغيل البلوتوث في هاتفك الذكي ثم قم بفتح تطبيق "Serial Bluetooth Terminal"، ثم إذهب إلى Devices كما توضح الصورة التالية:
إضغط على أيقونة الإعدادات وقم بتوصيل الـESP32 مع الهاتف، يجب الآن أن تظهر لك رسالة تؤكد لك أن الاتصال تم بنجاح كما هو موضح في الصورة التالية:
يمكنك الآن كتابة الرسالة التي ترغب بإرسالها، على سبيل المثال "مبدعو الالكترونيات" ومن ثم الضغط على زر الارسال، حيث ستظهر لك بشكل لحظة على نافذة المراقبة التسلسلية، لاحظ أيضا أنه يُمكنك الكتابة باللغة العربية.
العملية العكسية كذلك ممكنة حيث تستطيع ارسال المعلومات من نافذة المراقبة التسلسلية إلى الهاتف، حيث أن كل ما عليك فعله هو كتابة الرسالة في الـSerial Monitor ثم الضغط على Send وستظهر لك الرسالة بشكل لحظي على الهاتف.
الآن وبعد أن تعلمت كيف تقوم بارسال واستقبال المعلومات بواسطة اتصال البلوتوث التسلسلي بين هاتفك الذكي وشريحة ESP32، تستطيع عمل تعديلات بسيطة على الكود السابق من أجل صناعة شيء مفيد أكثر، مثل التحكم في الريليه عند استقبال رسالة معينة أو ارسال بعض المعلومات المهمة إلى الهاتف مثل القيم التي قرأتها الحساسات.
نتمنى أننا قد قمنا بإفادتك ولو بالقليل من خلال هذه المقالة، وكالعادة إذا كانت هناك بعض النقاط الغير مفهومة أو كانت لديك بعض الأسئلة فلا تتردد في طرحها علينا في خانة التعليقات بالأسفل وسنجيب عليها.
إرسال تعليق