جدول المحتويات:
- الخطوة 1: نصيحة: تثبيت دعم Arduino لـ ESP32 مع دعم BLE
- الخطوة 2: تثبيت مكتبات PfodParser لـ ESP32
- الخطوة 3: استخدام PfodDesignerV3 لـ ESP32
- الخطوة 4: مولد كود ESP32 BLE
- الخطوة 5: تصميم القائمة - الموجه
- الخطوة 6: تصميم القائمة - PWM Led Control
- الخطوة 7: قم بإنشاء كود ESP32
- الخطوة 8: تشغيل الأمثلة
- الخطوة 9: أمان WiFi
فيديو: مولد أكواد ESP32 - Wifi ، BLE ، Bluetooth: 9 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
مقدمة
ESP32 عبارة عن شريحة معالج مزدوج منخفضة التكلفة ، مع دعم WiFi و Bluetooth Classic و BLE (Bluetooth منخفض الطاقة). على الرغم من أن الشريحة قد توقفت منذ عدة سنوات ، إلا أن دعم الكود الخاص بـ Arduino لم يكتمل (حتى أبريل 2018) ، ولكن منشئ التعليمات البرمجية هذا يملأ وظائف BLE و analogWrite المفقودة.
نصيحة: لا يحتوي ESP32 على وظيفة analogWrite القياسية في Arduino. ومع ذلك ، فإن منشئ الكود هذا ، يولد رمزًا يحاكيها لك
نصيحة: لا يتضمن تثبيت كود ESP دعم BLE. التثبيت الموصوف هنا يتضمن دعم BLE
ستغطي صفحة الويب هذه إعداد Arduino IDE لبرمجة ESP32 لاتصالات BLE أو Bluetooth أو WiFi. ينشئ pfodDesigner رمزًا لكل نوع من أنواع الاتصال هذه ويقوم أيضًا بإنشاء رمز لمحاكاة وظيفة analogWrite المفقودة.
ESP32 عبارة عن شريحة معالج مزدوج منخفضة التكلفة ، مع دعم WiFi و Bluetooth Classic و BLE (Bluetooth منخفض الطاقة). على الرغم من أن الشريحة قد توقفت منذ عدة سنوات ، إلا أن دعم كود Arduino لم يكتمل بعد (حتى أبريل 2018) ، ولكن هذا البرنامج التعليمي ومولد الشفرة يملأ وظائف BLE و analogWrite المفقودة. ستغطي صفحة الويب هذه إعداد Arduino IDE لبرمجة ESP32 لاتصالات BLE أو Bluetooth أو WiFi. ينشئ pfodDesigner رمزًا لكل نوع من أنواع الاتصال هذه ويقوم أيضًا بإنشاء رمز لمحاكاة وظيفة analogWrite المفقودة.
تدعم وظيفة Arduino الإضافية حوالي 31 لوحة ESP32. عند استخدام pfodDesigner ، سوف تحتاج إلى اختيار وصلات الدبوس التي تطابق تلك المتوفرة على لوحتك الخاصة. يتم استخدام Sparkfun ESP32 Thing (أو Adafruit HUZZAH32 Feather) هنا كمثال على لوحة ESP32 ، ولكن يمكنك استخدام الرمز لأي من 31 لوحة ESP32 المدعومة.
يتم استخدام تطبيق pfodDesignerV3 Android المجاني لإنشاء قائمة التحكم (WYSIWYG) ثم إنشاء رمز ESP32 ، إما لاتصال BLE أو WiFi أو Bluetooth. بعد برمجة لوحة ESP32 الخاصة بك ، يمكنك بعد ذلك استخدام تطبيق pfodApp Android (المدفوع) للاتصال بـ ESP32 (عبر BLE أو WiFi أو Bluetooth) وعرض قائمة التحكم والتحكم في ESP32. إذا كنت لا ترغب في استخدام pfodApp ، فلا يزال بإمكانك استخدام الترميز الذي تم إنشاؤه كأساس لاتصالات WiFi أو BLE (Nordic UART) أو Bluetooth لأنها توفر واجهة دفق (طباعة / قراءة) لكل نوع من أنواع الاتصال هذه.
الخطوة 1: نصيحة: تثبيت دعم Arduino لـ ESP32 مع دعم BLE
اعتبارًا من أبريل 2018 ، أصبح تثبيت دعم Arduino ESP32 أكثر تعقيدًا مقارنةً بمعظم اللوحات الأخرى ومكتبات الأكواد المتوفرة ليست كاملة. لا يمكنك استخدام Arduino Board manager لتثبيت دعم ESP32. اتبع هذه الخطوات لإعداد Arduino لبرمجة ESP32. سيؤدي هذا إلى تثبيت ESP32 وأيضًا دعم BLE.
1 ابحث عن مسار دليل موقع كراسة الرسم من Arduino. افتح Arduino IDE وانظر أسفل File-> Preferences وفي الجزء العلوي من تلك الشاشة سترى موقع Sketchbook.
2 قم بتنزيل ملف ESP32_hardware.zip وفك ضغطه إلى موقع دفتر الرسم. يقوم بإنشاء دليل فرعي للأجهزة هناك. إذا كان لديك بالفعل دليل فرعي للأجهزة في موقع كراسة الرسم الخاص بك ، فقم بدمج محتوياته مع هذا الدليل.
3 قم بتثبيت أدوات Xtensa و ESP32. ملاحظة: يستغرق هذا التنزيل والتثبيت بعض الوقت لمعالجة حوالي 0.5 جيجا بايت من الملفات. انتقل إلى دليل الأجهزة / espressif / esp32 / tools ثم بالنسبة لأجهزة Windows ، قم بتشغيل ملف get.exe. لمستخدمي Mac و Linux ، قم بتشغيل البرنامج النصي get.py python لتنزيل الأدوات. باستخدام Terminal ، انتقل إلى مجلد الأجهزة / espressif / esp32 / tools. ثم اكتب: python get.py سيقوم سكربت python "get.py" بتنزيل أدوات Xtensa GNU ومجموعة تطوير برامج ESP32 (SDK) ، وفك ضغطها إلى الموقع الصحيح.
من المفترض أن ترى بعض المجلدات الجديدة في دليل "الأدوات" ، بما في ذلك "sdk" و "xtensa-esp32-elf" بمجرد الانتهاء من ذلك.
بمجرد اكتمال ذلك ، أغلق وأعد فتح Arduino IDE الخاص بك ويجب أن يكون لديك الآن قائمة طويلة من لوحات ESP32 للاختيار من بينها ضمن قائمة Tool-> Boards. اختر "SparkFun ESP32 Thing" (أو "Adafruit ESP32 Feather")
يمكنك بعد ذلك فتح قائمة أمثلة الملفات لمشاهدة عدد من أمثلة ملفات ESP32
تقوم العملية المذكورة أعلاه بتثبيت لقطة من كود جيثب لدعم ESP32 و BLE الذي تم دمجه في ملف مضغوط واحد. تم إنشاء كود pfodDesigner والأمثلة أدناه تستخدم هذا الإصدار من تلك المكتبات. إذا كنت تريد أحدث إصدار ، مع احتمال وجود مجموعة مختلفة من الميزات والأخطاء ، فقم بتنزيل الرمز المضغوط لأحدث إصدار من https://github.com/espressif/arduino-esp32 وفك ضغطه إلى Hardware / espressif وأعد تسمية المجلد esp32 ثم دعم BLE ، قم بتنزيل ملف مضغوط من أحدث إصدار من https://github.com/espressif/arduino-esp32 وفك ضغطه إلى مجلد esp32 / libraries وأعد تسميته ESP32_BLE_Arduino (إذا لزم الأمر).
الخطوة 2: تثبيت مكتبات PfodParser لـ ESP32
أ) قم بتنزيل مكتبة pfodParser.zip V3.23 + ، pfodDwgControls.zip ، وبالنسبة لـ ESP32 WiFi ، pfodESP32BufferedClient.zip ، الملفات المضغوطة إلى جهاز الكمبيوتر الخاص بك ، انقلها إلى سطح المكتب أو إلى مجلد آخر يمكنك العثور عليه بسهولة.
ب) ثم استخدم خيار قائمة Arduino 1.8.2 IDE Sketch → Import Library → Add Library لتثبيتها. (إذا لم يسمح لك Arduino بتثبيته لأن المكتبة موجودة بالفعل ، فابحث عن مجلدات pfodParser أو pfodCmdParser أو pfodCHAP وغيرها ثم احذفها)
ج) قم بإيقاف وإعادة تشغيل Arduino IDE وتحت ملف-> أمثلة ، يجب أن ترى الآن مكتبات pfodParser و pfodDwgControls و pfodESP32BufferedClient وعدد من الأمثلة.
الخطوة 3: استخدام PfodDesignerV3 لـ ESP32
يدعم تطبيق pfodDesignerV3 (V3291 +) المجاني إنشاء رمز لشريحة ESP32 للاتصال عبر BLE أو WiFi أو Bluetooth Classic إلى pfodApp (مدفوع).
هناك العديد من البرامج التعليمية الحالية حول كيفية إنشاء عناصر تحكم لجهاز Android الخاص بك للتحكم في مجموعة واسعة من اللوحات باستخدام pfodDesignerV3. باستخدام pfodDesignerV3 ، يمكنك إنشاء عناصر تحكم تعمل على تشغيل / إيقاف تشغيل المخرجات أو نبضها ، والتحكم في المخرجات عبر PWM ، وعرض حالة الإدخال أو القيمة التناظرية ، وبيانات السجل والرسم والقوائم الفرعية وغير ذلك الكثير.
نصيحة: يتضمن دعم ESP32 Arduino دعمًا لحوالي 31 لوحة ESP32 مختلفة. يمنحك pfodDesignerV3 الوصول إلى جميع دبابيس ESP32 I / O ولكن لا تقوم جميع اللوحات بتوصيل جميع دبابيس ESP32 بمسامير اللوحة. تحقق من وثائق اللوحة الخاصة بك لمعرفة الدبابيس المتاحة واطلع على ملف pin_arduino.h أسفل دليل الأجهزة / espressif / esp32 / variants باللوحة.
تتضمن قائمة pfodDesignerV3 pin تعليقات حول التوفر ودبابيس الاستخدام الخاص لـ Sparkfun ESP32 Thing و Adafruit HUZZAH32 - ESP32 Feather Boards.
تستخدم هذه الأمثلة لوحة Sparkfun ESP32 Thing وتقوم بإنشاء شريط تمرير للتحكم في سطوع مصباح LED المتصل بالدبوس 5 من هاتف Android الخاص بك. إذا كنت تستخدم لوحة Adafruit HUZZAH32 - ESP32 Feather بدلاً من ذلك ، فسيتم توصيل مؤشر Led الموجود على اللوحة بالرقم 13. ولا يدعم دعم ESP32 Arduino المثبت أعلاه كتابة analogWrite الخاصة بـ Arduino مباشرةً. بدلاً من ذلك ، يحتوي ESP32 على 16 قناة PWM يمكنك التحكم فيها والاتصال بأي من المخرجات. يولد pfodDesignerV3 جميع الكودات اللازمة لتخصيص القناة وتوصيلها بالإخراج الذي اخترته. قم بتثبيت برنامج pfodDesignerV3 المجاني (V3291 +) من google play.
الخطوة 4: مولد كود ESP32 BLE
ابدأ قائمة جديدة
انقر فوق الزر "الهدف" لتغيير الجهاز الهدف.
سيكون الهدف الأول للمثال هو ESP32 BLE ، لذا انقر فوق زر Bluetooth Low Energy.
حدد ESP32 متصل عبر BLE ثم اضغط على زر الرجوع للجوال للعودة إلى الشاشة الرئيسية.
الخطوة 5: تصميم القائمة - الموجه
هذا المثال البسيط سيكون له فقط موجه وتحكم واحد. انقر فوق الزر Edit Prompt ثم الزر Edit Prompt Text لتعيين نص المطالبة.
هنا يتم تعيين الموجه على "ESP32 Led". انقر فوق زر التحديد لحفظ تعديلاتك والعودة إلى الشاشة السابقة. ثم انقر فوق تعيين لون الخلفية لتحديد كل الألوان لقائمة عناصر التحكم.
يمكنك تحديد ألوان مختلفة لكل عنصر تحكم. هناك العديد من التنسيقات الأخرى المتاحة للموجه. هنا يتم ضبط الخلفية على اللون الأزرق وحجم الخط هو +5 والنص غامق. تظهر معاينة للموجه المنسق أسفل شاشة موجه التحرير.
الخطوة 6: تصميم القائمة - PWM Led Control
استخدم زر الرجوع بالجوال للعودة إلى القائمة الرئيسية ثم انقر فوق إضافة عنصر قائمة لإضافة عنصر تحكم أو عرض عنصر.
حدد عنصر إخراج PWM. يتم عرض معاينة لعنصر التحكم في الجزء العلوي من الشاشة.
نصيحة: لا يحتوي ESP32 على وظيفة analogWrite القياسية في Arduino. ومع ذلك ، فإن منشئ الكود هذا ، يولد رمزًا يحاكيها لك
انقر فوق الزر تحرير النص الافتتاحي وقم بتغيير "إعداد PWM" إلى "Led" لاحظ المساحة اللاحقة لفصل "Led" عن مؤشر النسبة المئوية.
انقر فوق زر علامة الاختيار لحفظ تعديلك ، ثم قم بالتمرير لأسفل إلى الزر "غير متصل بمنفذ إدخال / إخراج".
انقر فوق هذا الزر لعرض قائمة بالدبابيس التي يمكن استخدامها كمخرجات.
يوضح هذا دبابيس الاستخدام الخاص للوحات Sparkfun ESP32 Thing و Adafruit HUZZAH32 Feather. حدد الدبوس 5 بحيث يتحكم شريط التمرير في سطوع مصباح Sparkfun ESP32 Thing على اللوحة. إذا كنت تستخدم لوحة Adafruit HUZZAH32 Feather ، فحدد دبوس 13 بدلاً من ذلك. بالنسبة للوحات أخرى ، تحقق من وثائق اللوحات الخاصة بك وملف pin_arduino.h أسفل دليل الأجهزة / espressif / esp32 / variants باللوحة الخاصة بك
بعد ذلك ، عند الانتهاء من إجراء أي إعدادات تنسيق أخرى لشريط التمرير هذا ، استخدم زر الرجوع للجوال للعودة إلى القائمة الرئيسية وانقر فوق قائمة المعاينة لمعرفة الشكل الذي ستبدو عليه القائمة النهائية على هاتفك المحمول عند عرضها بواسطة pfodApp. عناصر التحكم نشطة حتى تتمكن من نقلها في المعاينة.
الخطوة 7: قم بإنشاء كود ESP32
ارجع إلى القائمة الرئيسية وانتقل لأسفل إلى زر إنشاء الرمز.
انقر فوق الزر "إنشاء رمز" ثم انقر فوق الزر "كتابة الرمز إلى ملف" لإنشاء الرمز
اخرج من pfodDesignerV3 وانقل الكود في /pfodAppRawData/pfodDesignerV3.txt من هاتفك المحمول إلى جهاز الكمبيوتر الخاص بك. راجع pfodAppForAndroidGettingStarted.pdf لمعرفة طرق القيام بذلك. يعد تطبيق wifi file transfer pro بواسطة smarterDroid إحدى طرق النقل.
باستخدام زر "تغيير الهدف" على شاشة إنشاء الرمز ، يمكنك التبديل بين ESP32 عبر BLE و ESP32 عبر Bluetooth و ESP32 عبر WiFi
الخطوة 8: تشغيل الأمثلة
باستخدام زر "تغيير الهدف" على شاشة إنشاء الرمز ، يمكنك التبديل بين ESP32 عبر BLE و ESP32 عبر Bluetooth و ESP32 عبر WiFi
هذه هي الطريقة التي تم بها إنشاء النماذج الثلاثة التالية من التصميم أعلاه.
تشغيل مثال pfodESP32_BLE
يؤدي تعيين الهدف إلى ESP32 عبر BLE إلى إنشاء الكود في pfodESP32_LED_BLE.ino هذا الرسم متاح أيضًا ضمن ملف-> أمثلة-> pfodParser. افتح هذا المثال ، بعد ذلك ، بعد برمجة Sparkfun ESP32 Thing (أو لوحة ESP32 أخرى) ، يجب عليك بعد ذلك إعداد اتصال به على pfodApp (انظر pfodAppForAndroidGettingStarted.pdf للحصول على التفاصيل) والاتصال والقدرة على ضبط سطوع السطوع قاد المجلس.
تلميح: يستخدم ESP32 نفس عنوان البلوتوث لكل من BLE و Bluetooth ، لذلك إذا قمت مسبقًا بإعداد اتصال ESP32 Bluetooth في pfodApp ، فأنت بحاجة إلى حذف اتصال pfodApp Bluetooth هذا قبل إعداد اتصال BLE ، حيث يقوم pfodApp بتصفية الاتصالات الحالية (بواسطة العنوان) من قائمة عرض الأجهزة المتاحة. قد تحتاج أيضًا إلى فتح إعداد هاتفك المحمول و "نسيان" اتصال ESP32 Bluetooth ثم إيقاف تشغيل Bluetooth الخاص بالهاتف المحمول وإعادة تشغيل هاتفك لمسح مكدس Bluetooth
نصيحة: مكتبة ESP32_BLE_Arduino من Neil Kolban غير متوافقة مع مكتبة BLEPeripheral من Sandeep Mistry والتي تستخدمها بعض أهداف BLE الأخرى التي تم إنشاؤها بواسطة pfodDesigner. لذلك تحتاج إلى إزالة دليل BLEPeripheral ، (إن وجد) ، من دليل Arduino / libraries من أجل تجميع رسومات ESP32 BLE.
تشغيل مثال pfodESP32_Bluetooth
يؤدي تعيين الهدف إلى ESP32 عبر البلوتوث إلى إنشاء الكود في pfodESP32_LED_Bluetooth.ino يتوفر هذا الرسم التخطيطي أيضًا ضمن ملف-> أمثلة-> pfodParser. افتح هذا المثال ، ثم قم ببرمجة Sparkfun ESP32 Thing (أو لوحة ESP32 أخرى). تحتاج إلى إقران ESP32 بهاتفك ، دون الحاجة إلى رقم التعريف الشخصي. ثم قم بإعداد اتصال به على pfodApp (انظر pfodAppForAndroidGettingStarted.pdf للحصول على التفاصيل) وقم بالاتصال وكن قادرًا على ضبط سطوع اللوحة.
تشغيل مثال pfodESP32_WiFi
يؤدي تعيين الهدف إلى ESP32 عبر WiFi إلى إنشاء الكود في pfodESP32_LED_WiFi.ino هذا الرسم متاح أيضًا ضمن ملف-> أمثلة-> pfodParser. افتح هذا المثال وأدخل اسم الشبكة وكلمة المرور الخاصة بك واختر IP ثابتًا لهذا الجهاز. بعد ذلك ، بعد برمجة Sparkfun ESP32 Thing (أو لوحة ESP32 أخرى) ، يجب عليك إعداد اتصال به على pfodApp (انظر pfodAppForAndroidGettingStarted.pdf للحصول على التفاصيل) والاتصال والقدرة على ضبط سطوع اللوحة.
الخطوة 9: أمان WiFi
إذا كان الاتصال بـ ESP32 عبر الإنترنت (عبر wifi) ، فإن الأمان مهم. أنت لا تريد أن يتمكن أي شخص من فتح باب الجراج الخاص بك ، على سبيل المثال. يدعم منشئ الكود ومكتبة pfodParser أمان 128 بت. لا يقوم هذا الأمان بتشفير الرسائل ولكنه يضيف بدلاً من ذلك تجزئة تشفير لكل رسالة للحماية من الاتصال والتحكم غير المصرح بهما. راجع التحدي والاستجابة الآمنة لـ SipHash للحصول على تفاصيل حول كيفية تنفيذ هذا الأمان.
مضيفا 128 بت الأمن
الحماية ضد المستخدمين غير المصرح لهم بالوصول إلى جهازك عبر الإنترنت أمر سهل مثل تحرير # تحديد pfodSecurityCode "" لإضافة رمزك السري الخاص. (حتى 32 رقمًا سداسيًا عشريًا)
على سبيل المثال لتعيين كود الحماية 173057F7A706AF9BBE65D51122A14CEE يمكنك استخدام # حدد pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" بالطبع يجب عليك استخدام الكود السري الخاص بك. يتيح لك تعيين الكود الخاص بك في اتصال pfodApp الاتصال ، ولا أحد آخر.
يعد الرمز العشوائي الطويل ضروريًا للأمن الجيد. يدعم pfodApp ما يصل إلى 128 بت كـ 32 رقم سداسي عشري.
لإنشاء رمز سري خاص بك ، يمكنك تنزيل مولد مفتاح سري عشوائي من هنا. بالإضافة إلى إنشاء مفاتيح عشوائية ، يقوم هذا البرنامج بكتابتها كرموز QR حتى تتمكن من ضبطها بسهولة ودقة في اتصال pfodApp.
يمكنك طباعة رمز الاستجابة السريعة وإرفاقه بجهاز pfodDevice الخاص بك. ثم انقر فوق زر Scan QR في شاشة اتصال pfodApp WiFi لقراءة كلمة المرور.
راجع A Simple WiFi / Arduino pfodDevice مع أمان 128 بت للحصول على مثال مفصل لاستخدام منشئ المفاتيح ورمز QR.
استنتاج
أظهر هذا البرنامج التعليمي كيفية إعداد Arduino IDE لبرمجة ESP32. ثم استخدم تطبيق pfodDesigner المجاني لتصميم قائمة للتحكم في سطوع الكود الذي تم إنشاؤه على متن الطائرة والاتصال بـ ESP32 عبر BLE أو Bluetooth أو WiFi. إذا اتصلت بعد ذلك عبر تطبيق pfodApp apppfodApp ، فسترى القائمة التي صممتها وستكون قادرًا على التحكم في سطوع المصباح عبر شريط التمرير. يولد pfodDesigner جميع كود Arduino ، بما في ذلك محاكاة analogWrite في Arduino. لم يكن هناك حاجة إلى ترميز Arduino. يعتني pfodApp بجميع جوانب Android ، ولا يلزم تشفير Android.
موصى به:
مولد تيربو ترينر: 6 خطوات
مولد تيربو ترينر: توليد الكهرباء عن طريق قوة الدواسة لطالما أذهلني. هذا هو رأيي في ذلك
مولد الموسيقى المعتمد على الطقس (مولد ميدي ESP8266): 4 خطوات (بالصور)
مولد الموسيقى المعتمد على الطقس (ESP8266 Based Midi Generator): مرحبًا ، سأشرح اليوم كيفية صنع مولد الموسيقى الخاص بك الذي يعتمد على الطقس. إنه يعتمد على ESP8266 ، وهو نوع يشبه Arduino ، ويستجيب لدرجة الحرارة والمطر وشدة الضوء. لا تتوقع أن تقوم بعمل أغانٍ كاملة أو برنامج على وتر
كيفية استخدام Bluetooth (BLE) مع ESP32: 3 خطوات
كيفية استخدام Bluetooth (BLE) مع ESP32: ##### ملاحظة ##### الطريقة الموضحة في Instructables قديمة وعفا عليها الزمن. شاهد هذا الفيديو للحصول على أحدث طريقة. ############### بينما يتميز ESP32 بقائمة ميزات شاملة (ويكيبيديا) ، فإن أكبر ميزة تجذب العين هي اللون الأزرق المدمج
مولد - مولد تيار مباشر باستخدام مفتاح ريد: 3 خطوات
المولد - مولد التيار المستمر باستخدام مفتاح Reed Switch: مولد التيار المستمر البسيط مولد التيار المباشر (DC) هو آلة كهربائية تحول الطاقة الميكانيكية إلى تيار كهربائي مباشر هام: يمكن استخدام مولد التيار المباشر (DC) كمحرك DC بدون أي إنشائية التغييرات
جهاز التحكم عن بعد ESP32 Bluetooth BLE: 8 خطوات
جهاز التحكم عن بعد ESP32 Bluetooth BLE: هذا المشروع هو مثال على كيفية توصيل عصا تحكم Bluetooth BLE غير مكلفة بـ ESP32. تمت كتابة الكود باستخدام Arduino IDE الإصدار 1.8.5 مع الملحق ESP32. عصا التحكم BLE المستخدمة هي جهاز تجاري يمكنك شراؤه من Inte