التحكم في ESP32 من أي مكان في العالم باستخدام بيئة اردوينو التطويرية المتكاملة 5

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

ـ

في هذا المشروع ، ستتعلم كيفية التحكم في ESP32 من خلال منافذ الادخال والاخراج GPIOs من أي مكان في العالم . يمكن أن يكون هذا مفيدًا جدًا للتحكم في مرحل أو منظم حرارة أو أي جهاز آخر عن بُعد .

هذا المشروع هو أيضا متنوعا للغاية . من خلال لوحة التحكم السحابية الخاصة بك ، يمكنك التحكم بسهولة في المزيد من المخرجات (دون تحميل رمز اكود على اللوحة الخاصة بك) ويمكنك حتى توصيل عدة لوحات بخادمك .

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

طريقة التحكم

هناك طرق عديدة للتحكم في المخرجات من أي مكان ، و هناك طرق أخرى توفر اتصالًا ثنائي الاتجاه بأجهزتك .

لإنشاء هذا المشروع ، ستستخدم هذه التقنيات :

  • برمجة ESP32 مع الاردوينو IDE 
  • خادم استضافة واسم المجال أو دومين 
  • البرامج النصية PHP لتخزين واسترداد حالات الإخراج المخزنة في قاعدة بيانات MySQL

1. استضافة تطبيقات PHP وقاعدة بيانات MySQL

الهدف من هذا المشروع هو أن يكون لديك اسم مجال خاص وحساب استضافة يتيح لك التحكم في ESP32 من أي مكان في العالم .

فيما يلي نظرة عامة عالية المستوى على كيفية عمل المشاريع :

Control-outputs-from-anywhere-project-overview
  1. لديك صفحة ويب تقوم بتشغيل برنامج نصي PHP مع بعض أزرار التبديل التي تتيح لك التحكم في المخرجات وإيقاف تشغيلها .
  2. عندما تضغط على الأزرار ، تقوم بتحديث حالة الإخراج وحفظها في قاعدة البيانات الخاصة بك .
  3. يمكنك إضافة المزيد من الأزرار أو حذفها من لوحة التحكم الخاصة بك .
  4. بعد ذلك ، يمكنك الحصول على ESP32 أو حتى لوحات متعددة تقدم طلبات HTTP GET كل X عدد الثواني إلى الخادم الخاص بك .
  5. أخيرًا ، وفقًا لنتائج طلب HTTP GET ، يقوم ESP بتحديث GPIOs وفقًا لذلك .

خدمات الاستضافة

أوصي باستخدام إحدى خدمات الاستضافة التالية التي يمكنها معالجة جميع متطلبات المشروع :

  • Bluehost (user-friendly with cPanel) : اسم نطاق مجاني عند الاشتراك في الخطة التي مدتها 3 سنوات . أوصي باختيار خيار المواقع غير المحدودة .
  • Digital Ocean : خادم Linux الذي تديره من خلال سطر الأوامر . أوصي فقط هذا الخيار للمستخدمين المتقدمين .

هاتان الخدمتان هما الخدمتان اللتان أستخدمهما وأوصي بهما شخصيًا ، ولكن يمكنك استخدام أي خدمة استضافة أخرى . ستعمل أي خدمة استضافة تقدم PHP و MySQL مع هذا المشروع . إذا لم يكن لديك حساب استضافة ، أوصي الاشتراك في Bluehost .

عند شراء حساب استضافة ، سيكون عليك أيضًا شراء اسم نطاق. هذا هو ما يجعل هذا المشروع ممتعًا: ستتمكن من استخدام اسم نطاقك (https://example.com) والتحكم في لوحاتك .

ملاحظة: يمكنك أيضًا تشغيل خادم LAMP (Linux و Apache و MySQL و PHP) على Raspberry Pi للتحكم في لوحاتك في شبكتك المحلية . ومع ذلك ، فإن الغرض من هذا المشروع هو التحكم في مخرجات ESP باستخدام اسم نطاقك الخاص الذي يمكنك الوصول إليه من أي مكان في العالم .

2. إعداد قاعدة بيانات MySQL

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

إنشاء قاعدة بيانات ومستخدم

افتح علامة التبويب “خيارات متقدمة” :

cpanel-bluehost-advanced-tab

1. اكتب “قاعدة البيانات” في شريط البحث وحدد “معالج قاعدة بيانات MySQL” .

5

2. أدخل اسم قاعدة البيانات المطلوب . في حالتي ، اسم قاعدة البيانات هو esp_data . ثم ، اضغط على زر “الخطوة التالية” :

65

ملاحظة : في وقت لاحق ، يجب عليك استخدام اسم قاعدة البيانات بالبادئة التي يمنحك مضيفك (بادئة قاعدة البيانات الخاصة بي في لقطة الشاشة أعلاه غير واضحة). سأشير إليها كمثال_esp_data من الآن فصاعدًا .

3. اكتب اسم مستخدم قاعدة البيانات الخاصة بك وتعيين كلمة مرور . يجب عليك حفظ كل هذه التفاصيل ، لأنك ستحتاج إليها لاحقًا لإنشاء اتصال قاعدة بيانات بكود PHP الخاص بك .

ESP32-ESP8266-CPanel-Create-MySQL-Database-User-Password

هذا هو! تم إنشاء قاعدة البيانات والمستخدم الجديد بنجاح. الآن ، احفظ جميع بياناتك لأنك ستحتاج إليها لاحقًا:

  • اسم قاعدة البيانات: example_esp_data
  • اسم المستخدم: example_esp_board
  • كلمة المرور: كلمة المرور الخاصة بك

إنشاء جدول SQL

بعد إنشاء قاعدة البيانات والمستخدم الخاص بك ، ارجع إلى لوحة معلومات cPanel وابحث عن “phpMyAdmin” .

ESP32-ESP8266-CPanel-Open-PHPMyAdmin

في الشريط الجانبي الأيسر ، حدد اسم قاعدة البيانات example_esp_data وافتح علامة التبويب “SQL” .

ESP32-ESP8266-PHPMyAdmin-Open-Database

هام : تأكد من أنك فتحت قاعدة بيانات example_esp_data. ثم ، انقر فوق علامة التبويب SQL. إذا لم تتبع هذه الخطوات بالضبط وقمت بتشغيل استعلام SQL ، فيمكنك إنشاء جدول في قاعدة البيانات الخطأ .

انسخ استعلام SQL في المقتطف التالي :

CREATE TABLE Outputs (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(64),
    board INT(6),
    gpio INT(6),
    state INT(6)
);
INSERT INTO `Outputs`(`name`, `board`, `gpio`, `state`) VALUES ("Built-in LED", 1, 2, 0);

CREATE TABLE Boards (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    board INT(6),
    last_request TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
INSERT INTO `Boards`(`board`) VALUES (1);
تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.

الصقها في حقل استعلام SQL (مظلل بمستطيل أحمر) واضغط على زر “انتقال” لإنشاء الجدول الخاص بك :

Create-MySQL-Tables-for-control-ESP32-ESP8266-GPIOs-Dashboard

بعد ذلك ، يجب أن تشاهد الجداول التي تم إنشاؤها حديثًا والتي تسمى Boards و Outputs في قاعدة بيانات example_esp_data كما هو موضح في الشكل أدناه :

MySQL-Tables-created-for-control-ESP32-ESP8266-GPIOs-Dashboard

يتبع بأذن الله ……….

5 Comments

  1. ارجاء اسراع في تكمل باقي المشروع

    عبدالله الحاشدي الحاشدي
  2. جميل جدا أين الباقي

    1. مرحبا مصطفي
      المشروع يتبع بأذن الله

      Mohammed Abdalkreem M. Haroon
      1. سيتبع متى رجاء لاني محتاجه الآن
        لو متاح روابط يكون فيها شرح يبقى جزاكم الله خيرا كثيرا

        1. مرحبا يا عزيزي..
          سيتم متابعة المشروع بأذن الله لاحقاً.
          ان كنت الان بحاجة الي تنفيذ مشروع او طلب اي خدمات يمكنك مراسلتنا من قسم طلب المشاريع..
          تحياتنا لك بالتوفيق

          Mohammed Abdalkreem M. Haroon

اترك تعليقاً



لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *