فهرست مطالب:

ESP32 Code Generator - Wifi ، BLE ، بلوتوث: 9 مرحله
ESP32 Code Generator - Wifi ، BLE ، بلوتوث: 9 مرحله

تصویری: ESP32 Code Generator - Wifi ، BLE ، بلوتوث: 9 مرحله

تصویری: ESP32 Code Generator - Wifi ، BLE ، بلوتوث: 9 مرحله
تصویری: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, سپتامبر
Anonim
ESP32 Generator Code - Wifi ، BLE ، بلوتوث
ESP32 Generator Code - Wifi ، BLE ، بلوتوث

معرفی

ESP32 یک تراشه ارزان قیمت دو پردازنده است که از WiFi ، Bluetooth Classic و BLE (بلوتوث کم مصرف) پشتیبانی می کند. اگرچه چندین سال است که تراشه موجود است ، پشتیبانی کد برای Arduino هنوز کامل نیست (در آوریل 2018) ، اما این دستورالعمل و تولید کننده کد توابع BLE و analogWrite گم شده را پر می کند.

نکته: ESP32 تابع analogWrite استاندارد Arduino ندارد. با این حال این تولید کننده کد ، کدی تولید می کند که آن را برای شما شبیه سازی می کند

نکته: نصب کد ESP پشتیبانی BLE را شامل نمی شود. نصب توضیح داده شده در اینجا شامل پشتیبانی از BLE است

این صفحه وب راه اندازی Arduino IDE را برای برنامه ریزی ESP32 برای اتصالات BLE ، بلوتوث یا WiFi پوشش می دهد. pfodDesigner برای هریک از این انواع اتصال کد تولید می کند و همچنین کد را برای شبیه سازی عملکرد analogWrite از دست رفته تولید می کند.

ESP32 یک تراشه ارزان قیمت دو پردازنده است که از WiFi ، Bluetooth Classic و BLE (بلوتوث کم مصرف) پشتیبانی می کند. اگرچه چندین سال است که تراشه موجود است ، پشتیبانی کد برای Arduino هنوز کامل نیست (در آوریل 2018) ، اما این آموزش و تولید کننده کد توابع BLE و analogWrite گم شده را پر می کند. این صفحه وب راه اندازی تنظیمات را پوشش می دهد Arduino IDE برای برنامه ریزی ESP32 برای اتصالات BLE ، بلوتوث یا WiFi. pfodDesigner برای هریک از این انواع اتصال کد تولید می کند و همچنین کد را برای شبیه سازی عملکرد analogWrite از دست رفته تولید می کند.

افزونه آردوینو از 31 برد ESP32 پشتیبانی می کند. هنگام استفاده از pfodDesigner ، باید اتصالات پینی را انتخاب کنید که با اتصالات موجود در برد خاص شما مطابقت داشته باشد. Sparkfun ESP32 Thing (یا Adafruit HUZZAH32 Feather) در اینجا به عنوان مثال برد ESP32 استفاده می شود ، اما می توانید از کد برای هر 31 برد ESP32 پشتیبانی شده استفاده کنید.

برنامه رایگان pfodDesignerV3 Android برای ایجاد منوی کنترل (WYSIWYG) و سپس ایجاد کد برای ESP32 ، چه برای اتصال BLE ، WiFi یا بلوتوث استفاده می شود. پس از برنامه ریزی برد ESP32 خود ، می توانید از برنامه pfodApp Android (پولی) برای اتصال به ESP32 خود (از طریق BLE یا WiFi یا بلوتوث) استفاده کنید و منوی کنترل خود را نمایش داده و ESP32 خود را کنترل کنید. اگر نمی خواهید از pfodApp استفاده کنید ، همچنان می توانید از کد تولید شده به عنوان پایه ای برای اتصالات WiFi ، BLE (Nordic UART) یا بلوتوث خود استفاده کنید زیرا رابط جریان (چاپ/خواندن) را برای هر یک از این انواع اتصال فراهم می کند. به

مرحله 1: نکته: نصب پشتیبانی Arduino برای ESP32 با پشتیبانی BLE

در آوریل 2018 ، نصب پشتیبانی Arduino ESP32 بیشتر از بقیه تابلوها است و کتابخانه های کد ارائه شده کامل نیستند. برای نصب پشتیبانی ESP32 نمی توانید از مدیر برد Arduino استفاده کنید. برای راه اندازی Arduino برای برنامه نویسی ESP32 این مراحل را دنبال کنید. این ESP32 و همچنین پشتیبانی BLE را نصب می کند.

1 مسیر دایرکتوری محل Arduino Sketchbook خود را پیدا کنید. Arduino IDE را باز کرده و در قسمت File-> Preferences نگاه کنید و در بالای آن صفحه ، Sketchbook location را مشاهده خواهید کرد.

2 این فایل ESP32_hardware.zip را بارگیری کرده و در محل Sketchbook از حالت فشرده خارج کنید. آنجا یک زیر شاخه سخت افزاری ایجاد می کند. در صورت احتمال نامعلوم ، زیر پوشه سخت افزاری در محل Sketchbook خود دارید ، محتویات آن را با این فهرست ادغام کنید.

3 Xtensa و ESP32 Tools را نصب کنید. توجه: این بارگیری و نصب مدتی طول می کشد تا 0.5Gig فایل را پردازش کنید. به پوشه سخت افزار / espressif / esp32 / tools بروید و سپس برای ماشین های Windows فایل get.exe را اجرا کنید. برای کاربران مک و لینوکس ، اسکریپت get.py پایتون را برای بارگیری ابزارها اجرا کنید. با استفاده از ترمینال ، به پوشه سخت افزار/espressif/esp32/tools بروید. سپس تایپ کنید: python get.py اسکریپت python "get.py" ابزارهای Xtensa GNU و کیت توسعه نرم افزار ESP32 (SDK) را بارگیری کرده و آنها را در مکان مناسب از حالت فشرده خارج می کند.

پس از اتمام کار ، باید چند پوشه جدید در فهرست "tools" ، از جمله "sdk" و "xtensa-esp32-elf" مشاهده کنید.

پس از اتمام این کار ، Arduino IDE خود را ببندید و دوباره باز کنید و اکنون باید یک لیست طولانی از بردهای ESP32 را در منوی Tool-> Boards انتخاب کنید. "SparkFun ESP32 Thing" (یا "Adafruit ESP32 Feather") را انتخاب کنید

سپس می توانید لیست File-Examples را باز کنید تا تعدادی از فایل های نمونه ESP32 را مشاهده کنید

فرآیند بالا یک تصویر فوری از کد github را برای پشتیبانی ESP32 و BLE نصب می کند که در یک فایل فشرده ادغام شده اند. کد تولید شده pfodDesigner و نمونه های زیر از این نسخه از آن کتابخانه ها استفاده می کنند. اگر آخرین نسخه را می خواهید ، با مجموعه ای از ویژگی ها و اشکالات متفاوت ، سپس زیپ آخرین نسخه https://github.com/espressif/arduino-esp32 را بارگیری کرده و آن را از حالت فشرده به سخت افزار/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 برای نصب آنها استفاده کنید. (اگر آردوینو به شما اجازه نصب آن را نداد زیرا کتابخانه موجود است ، پوشه های قدیمی pfodParser ، pfodCmdParser یا pfodCHAP و غیره را پیدا کرده و حذف کنید و سپس این پوشه ها را وارد کنید)

ج) IDE Arduino را متوقف کرده و راه اندازی مجدد کنید و در قسمت File-> Examples باید کتابخانه های pfodParser ، pfodDwgControls و pfodESP32BufferedClient و تعدادی مثال را مشاهده کنید.

مرحله 3: استفاده از PfodDesignerV3 برای ESP32

برنامه رایگان pfodDesignerV3 (V3291+) از تولید کد برای تراشه ESP32 برای اتصال از طریق BLE ، WiFi یا Bluetooth Classic به pfodApp (پولی) پشتیبانی می کند.

بسیاری از آموزش های موجود در مورد نحوه ایجاد کنترل برای تلفن همراه Android خود برای کنترل طیف گسترده ای از تخته ها با استفاده از pfodDesignerV3 وجود دارد. با pfodDesignerV3 می توانید کنترل هایی ایجاد کنید که خروجی ها را خاموش/روشن کرده یا آنها را پالس کند ، خروجی ها را از طریق PWM کنترل کنید ، وضعیت مقدار ورودی یا آنالوگ را نمایش دهید ، داده ها و زیر منوها را ثبت و ترسیم کنید و موارد دیگر.

نکته: پشتیبانی از ESP32 Arduino شامل پشتیبانی از 31 برد مختلف ESP32 است. pfodDesignerV3 به شما امکان دسترسی به همه پین های ورودی/خروجی ESP32 را می دهد اما همه بردها همه پین های ESP32 را به پین های برد متصل نمی کنند. اسناد هیئت مدیره خود را که پین ها در دسترس هستند بررسی کنید و فایل pins_arduino.h را در زیر پوشه سخت افزار / espressif / esp32 / variant های برد خود مشاهده کنید.

لیست پین pfodDesignerV3 شامل نظرات در مورد در دسترس بودن و استفاده از پین مخصوص Sparkfun ESP32 Thing and 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 BLEE Generator Code

ESP32 ژنراتور کد BLE
ESP32 ژنراتور کد BLE
ESP32 ژنراتور کد BLE
ESP32 ژنراتور کد BLE
ESP32 ژنراتور کد BLE
ESP32 ژنراتور کد BLE
ESP32 ژنراتور کد BLE
ESP32 ژنراتور کد BLE

شروع یک منوی جدید

برای تغییر دستگاه مورد نظر روی دکمه Target کلیک کنید.

اولین نمونه هدف ESP32 BLE خواهد بود بنابراین روی دکمه Bluetooth Low Energy کلیک کنید.

ESP32 متصل از طریق BLE را انتخاب کنید و سپس دکمه برگشت تلفن همراه را فشار دهید تا به صفحه اصلی برگردید.

مرحله 5: طراحی منو - سریع

طراحی منو - سریع
طراحی منو - سریع
طراحی منو - سریع
طراحی منو - سریع
طراحی منو - سریع
طراحی منو - سریع

این مثال ساده فقط یک فرمان سریع و یک کنترل واحد دارد. روی دکمه ویرایش سریع و سپس دکمه ویرایش متن سریع کلیک کنید تا متن فوری تنظیم شود.

در اینجا اعلان روی "ESP32 Led" تنظیم شده است. روی دکمه تیک کلیک کنید تا ویرایش ها ذخیره شوند و به صفحه قبلی بازگردید. سپس روی Set background background (رنگ پس زمینه) کلیک کنید تا بیش از همه رنگ منوی کنترل ها انتخاب شود.

برای هر کنترل می توانید رنگ های مختلف را انتخاب کنید. فرمت های مختلف دیگری برای اعلان موجود است. در اینجا پس زمینه روی آبی تنظیم شده و اندازه فونت +5 و متن Bold است. پیش نمایش پیغام قالب بندی شده در پایین صفحه ویرایش سریع نشان داده می شود.

مرحله 6: طراحی منو - PWM Led Control

طراحی منو - PWM Led Control
طراحی منو - PWM Led Control
طراحی منو - PWM Led Control
طراحی منو - PWM Led Control
طراحی منو - PWM Led Control
طراحی منو - PWM Led Control
طراحی منو - PWM Led Control
طراحی منو - PWM Led Control

برای بازگشت به منوی اصلی از دکمه بازگشت تلفن همراه استفاده کنید و سپس برای افزودن یک مورد کنترل یا نمایش ، روی افزودن آیتم منو کلیک کنید.

مورد PWM Output را انتخاب کنید. پیش نمایش کنترل در بالای صفحه نمایش داده می شود.

نکته: ESP32 تابع analogWrite استاندارد Arduino ندارد. با این حال ، این مولد کد ، کدی تولید می کند که آن را برای شما شبیه سازی می کند

روی دکمه Edit Leading Text کلیک کنید و "PWM Setting" را به "Led" تغییر دهید. به فضای عقب توجه کنید تا "Led" را از نشانگر٪ جدا کنید.

برای ذخیره ویرایش ، روی دکمه تیک کلیک کنید و سپس به دکمه "متصل به پین ورودی/خروجی" نزول کنید.

روی آن دکمه کلیک کنید تا لیستی از پین هایی که می توانند به عنوان خروجی استفاده شوند نمایش داده شود.

این نشان می دهد پین استفاده ویژه برای تخته Sparkfun ESP32 Thing و Adafruit HUZZAH32. پین 5 را انتخاب کنید تا کنترل لغزنده روشنایی لامپ داخلی Sparkfun ESP32 Thing را کنترل کند. اگر از تخته پر Adafruit HUZZAH32 استفاده می کنید ، به جای آن پین 13 را انتخاب کنید. برای سایر تابلوها ، اسناد بردهای خود و فایل pins_arduino.h را در زیر پوشه سخت افزار / espressif / esp32 / variants برد خود بررسی کنید.

سپس ، هنگامی که دیگر تنظیمات قالب بندی دیگر این لغزنده را به پایان رساندید ، از دکمه بازگشت موبایل برای بازگشت به منوی اصلی استفاده کرده و روی منوی پیش نمایش کلیک کنید تا ببینید منوی نهایی هنگام نمایش توسط pfodApp در تلفن همراه شما چگونه خواهد بود. کنترل ها فعال هستند بنابراین می توانید آنها را در پیش نمایش حرکت دهید.

مرحله 7: کد ESP32 را ایجاد کنید

کد ESP32 را ایجاد کنید
کد ESP32 را ایجاد کنید
کد ESP32 را ایجاد کنید
کد ESP32 را ایجاد کنید

به منوی اصلی برگردید و به دکمه Generate Code بروید.

روی دکمه Generate Code و سپس روی دکمه Write Code to File کلیک کنید تا کد تولید شود

از pfodDesignerV3 خارج شده و کد را در /pfodAppRawData/pfodDesignerV3.txt از تلفن همراه خود به رایانه خود منتقل کنید. برای انجام این کار به pfodAppForAndroidGettingStarted.pdf مراجعه کنید. برنامه انتقال فایل wifi pro توسط smarterDroid یکی از راه های انتقال است.

با استفاده از دکمه "تغییر هدف" در صفحه Generate Code ، می توانید بین ESP32 از طریق BLE ، ESP32 از طریق بلوتوث و ESP32 از طریق WiFi جابجا شوید.

مرحله 8: اجرای مثالها

اجرای مثالها
اجرای مثالها

با استفاده از دکمه "تغییر هدف" در صفحه Generate Code ، می توانید بین ESP32 از طریق BLE ، ESP32 از طریق بلوتوث و ESP32 از طریق WiFi جابجا شوید.

به این ترتیب سه طرح زیر از طرح فوق ایجاد شد.

اجرای مثال pfodESP32_BLE

تنظیم Target بر روی ESP32 از طریق BLE ، کد را در pfodESP32_LED_BLE.ino ایجاد می کند. این طرح نیز در زیر File-> Examples-> pfodParser موجود است. آن مثال را باز کنید ، پس از برنامه نویسی Sparkfun ESP32 Thing (یا دیگر برد ESP32) ، سپس باید در pfodApp یک اتصال به آن ایجاد کنید (برای جزئیات به pfodAppForAndroidGettingStarted.pdf مراجعه کنید) و متصل شوید و بتوانید روشنایی آن را تنظیم کنید. هیئت مدیره رهبری

نکته: ESP32 از آدرس بلوتوث یکسانی برای BLE و بلوتوث استفاده می کند ، بنابراین اگر قبلاً اتصال بلوتوث ESP32 را در pfodApp تنظیم کرده اید ، قبل از ایجاد اتصال BLE ، باید آن اتصال بلوتوث pfodApp را حذف کنید ، زیرا pfodApp اتصالات موجود را فیلتر می کند (توسط آدرس) از لیست نمایش دستگاه های موجود. همچنین ممکن است لازم باشد تنظیمات تلفن همراه خود را باز کرده و اتصال بلوتوث ESP32 را "فراموش" کرده و سپس بلوتوث تلفن همراه را خاموش کرده و تلفن خود را مجدداً راه اندازی کنید تا پشته بلوتوث پاک شود

نکته: کتابخانه ESP32_BLE_Arduino از نیل کلبان با کتابخانه BLEPeripheral از Sandeep Mistry که توسط سایر اهداف BLE تولید شده توسط pfodDesigner استفاده می شود ، سازگار نیست. بنابراین برای جمع آوری طرح های ESP32 BLE ، باید پوشه BLEPeripheral (در صورت وجود) را از فهرست Arduino/libraries خود حذف کنید.

اجرای مثال pfodESP32_Bluetooth

تنظیم Target بر روی ESP32 از طریق بلوتوث ، کد را در pfodESP32_LED_Bluetooth.ino ایجاد می کند. این طرح همچنین در زیر File-> Examples-> pfodParser موجود است. آن مثال را باز کنید ، سپس Sparkfun ESP32 Thing (یا دیگر برد ESP32) را برنامه ریزی کنید. شما باید ESP32 را با تلفن خود جفت کنید ، نیازی به شماره پین نیست. سپس در pfodApp یک اتصال به آن ایجاد کنید (برای جزئیات به pfodAppForAndroidGettingStarted.pdf مراجعه کنید) و وصل شوید و بتوانید روشنایی led led را تنظیم کنید.

اجرای مثال pfodESP32_WiFi

تنظیم Target بر روی ESP32 از طریق WiFi ، کد را در pfodESP32_LED_WiFi.ino ایجاد می کند. این طرح نیز در زیر File-> Examples-> pfodParser موجود است. آن مثال را باز کنید و نام و رمز شبکه خود را وارد کنید و یک IP ثابت برای این دستگاه انتخاب کنید. سپس ، پس از برنامه نویسی Sparkfun ESP32 Thing (یا سایر بردهای ESP32) ، باید در pfodApp یک اتصال به آن ایجاد کنید (برای جزئیات به pfodAppForAndroidGettingStarted.pdf مراجعه کنید) و وصل شوید و بتوانید روشنایی led را تنظیم کنید.

مرحله 9: امنیت WiFi

در صورت اتصال به ESP32 از طریق اینترنت (از طریق wifi) ، امنیت مهم است. شما نمی خواهید برای مثال کسی بتواند درب گاراژ شما را باز کند. تولید کننده کد و کتابخانه pfodParser از امنیت 128 بیتی پشتیبانی می کند. این امنیت پیام ها را رمزگذاری نمی کند بلکه در عوض یک هش رمزنگاری به هر پیام اضافه می کند تا از اتصال و کنترل غیر مجاز محافظت کند. برای اطلاع از نحوه اجرای این امنیت به SipHash Secure Challenge and Response مراجعه کنید.

افزودن امنیت 128 بیت

ایمن سازی در برابر کاربران غیر مجاز که به دستگاه شما از طریق اینترنت دسترسی پیدا می کنند ، به آسانی ویرایش#define pfodSecurityCode برای افزودن کد مخفی خود است. (حداکثر تا 32 رقم شش ضلعی)

به عنوان مثال برای تنظیم کد امنیتی 173057F7A706AF9BBE65D51122A14CEE ، از#define pfodSecurityCode "173057F7A706AF9BBE65D51122A14CEE" استفاده کنید البته شما باید از کد مخفی خود استفاده کنید. تنظیم کد خود در اتصال pfodApp به شما امکان می دهد ، و هیچ شخص دیگری ، متصل شوید.

یک کد تصادفی طولانی برای امنیت خوب لازم است. pfodApp تا 128 بیت را به عنوان رقم 32Hex پشتیبانی می کند.

برای تولید کد مخفی خود می توانید یک کلید کلید مخفی تصادفی را از اینجا بارگیری کنید این برنامه علاوه بر ایجاد کلیدهای تصادفی ، آنها را به عنوان کد QR می نویسد ، بنابراین می توانید آنها را به راحتی و با دقت در اتصال pfodApp خود تنظیم کنید.

می توانید کد QR را چاپ کرده و به pfodDevice خود وصل کنید. سپس روی صفحه اسکن QR در صفحه اتصال WiFi pfodApp کلیک کنید تا رمز عبور خوانده شود.

برای مثال دقیق استفاده از مولد کلید و کد QR ، A Simple WiFi/Arduino pfodDevice ™ با امنیت 128 بیت را ببینید.

نتیجه

این آموزش نحوه تنظیم Arduino IDE برای برنامه ریزی ESP32 را نشان داده است. سپس از برنامه رایگان pfodDesigner برای طراحی منویی برای کنترل روشنایی led و کد تولید شده برای اتصال به ESP32 از طریق BLE ، بلوتوث یا WiFi استفاده کرد. اگر سپس از طریق برنامه pfodApp apppfodApp متصل شوید ، منویی را که طراحی کرده اید مشاهده خواهید کرد و می توانید روشنایی led را از طریق یک نوار لغزنده کنترل کنید. pfodDesigner تمام کد Arduino را تولید می کند ، از جمله شبیه سازی analogWrite Arduino. نیازی به کدگذاری آردوینو نیست. pfodApp از تمام طرف های Android مراقبت می کند ، بدون نیاز به کدگذاری Android.

توصیه شده: