شروع کار با ESP32/ مقدمه ای بر ماژول بلوتوث esp32
در این آموزش، ما در مورد ماژول بلوتوث esp32 ، یک MCU هسته دوگانه از سیستمهای Espressif با بلوتوث و Wi-Fi یکپارچه مطالبی را یاد خواهیم گرفت. اگر با ESP8266 کار میکنید، پس ESP32 یک ارتقا قابلتوجه با ویژگیهای بسیار بیشتر است. این شروع کار با هادی ESP32 برای مبتدیان، با یا بدون تجربه قبلی در IoT یا ESP8266 است.
مقدمه ماژول بلوتوث esp32
آردینو یک پلتفرم بزرگ برای مبتدیان در دنیای میکروکنترلرها و سیستمهای توکار است. با بسیاری از سنسورها و ماژول های ارزان، شما میتوانید پروژههای متعددی را به عنوان سرگرمی و یا حتی تجاری بسازید.
با پیشرفت تکنولوژی، ایدهها و پیادهسازیهای پروژه جدید وارد عمل شدند و یک مفهوم خاص اینترنت اشیا یا IoT است. این یک پلتفرم متصل است، که در آن چندین “شیء” یا دستگاه برای تبادل اطلاعات از طریق اینترنت به هم متصل میشوند.
در جامعه DIY، پروژههای IOT عمدتا بر کاربردهای Home Automation و Smart Home تمرکز دارند اما پروژههای تجاری و صنعتی IoT پیادهسازیهای بسیار پیچیدهای مانند یادگیری ماشینی، هوش مصنوعی، شبکههای سنسور بیسیم و غیره دارند.
نکته مهم در این مقدمه مختصر این است که آیا این یک پروژه کوچک DIY توسط یک علاقمند یا یک پروژه صنعتی پیچیده است، هر پروژه IoT باید اتصال به اینترنت داشته باشد. این جایی است که امثال ESP8266 و ESP32 به تصویر کشیده میشوند.
اگر میخواهید اتصال Wi- Fi را به پروژههای خود اضافه کنید،ESP8266 گزینه خوبی است. اما اگر میخواهید یک سیستم کامل با اتصال Wi – Fi، اتصال بلوتوث، ADCها با وضوح بالا، DAC، اتصال سریال و بسیاری از ویژگیهای دیگر بسازید، پس ESP32 انتخاب نهایی است.
ماژول بلوتوث esp32 چیست؟
ماژول بلوتوث esp32 یک سیستم کمهزینه بر روی تراشه (SoC)میکروکنترلر از سیستمهای Espressif، توسعه دهندگان مشهور ESP8266 SoC است. این جایگزین ESP8266 SoC است و در هر دو تغییرات تک هستهای و دو هستهای Xtensa LX6 میکروپردازنده ۳۲ بیتی Tensilica با Wi – Fi یکپارچه و بلوتوث قرار دارد.
نکته خوب در مورد ESP32، مانند ESP8266 اجزای RF یکپارچه آن مانند تقویتکننده توان، تقویتکننده پایین دریافت نویز، Antenna Switch، فیلترها و RF Balun است. این امر طراحی سختافزار در اطراف ESP32 را بسیار آسان میکند چون شما به اجزای خارجی بسیار کمی نیاز دارید.
نکته مهم دیگری که باید در مورد ESP32 بدانید این است که با استفاده از تکنولوژی توان بسیار پایین TSMC با توان ۴۰ نانومتر ساخته شدهاست. بنابراین، طراحی کاربردهای باتری مانند گجت های پوشیدنی، تجهیزات صوتی، مانیتورهای کودک، ساعتهای هوشمند و غیره، با استفاده از ESP32 باید بسیار آسان باشد.
مشخصات ESP32
ESP32 مشخصات بسیار بیشتری نسبت به ESP8266 دارد و در نظر گرفتن تمام مشخصات در این شروع کار با هادی ESP32 دشوار است. بنابراین، من در اینجا لیستی از برخی از مشخصات مهم ESP32 را تهیه کردم.
• میکروپروسسور LX6 تک یا دو هستهای ۳۲ بیتی با فرکانس ساعت تا ۲۴۰ مگاهرتز
• ۵۲۰ کیلوبایت از 448، SRAMکیلو بایت از ROM و ۱۶ کیلوبایت از RTC SRAM
• پشتیبانی از اتصال Wi-Fi 802.11 b/g/n با سرعتهای تا ۱۵۰ مگابایت در ثانیه.
• پشتیبانی برای هر دو بلوتوث کلاسیک .V4
• ۳۴ GPIO قابل برنامه ریزی.
• تا ۱۸ کانال SAR ADC 12 بیتی و ۲ کانال DAC 8 بیتی
• اتصال سریال شامل 4 x SPI, 2 x I2C, 2 x I2S, 3 x UART است.
• اترنت MAC برای ارتباطات LAN فیزیکی (نیاز به PHY خارجی دارد).
• یک کنترلکننده Host برای SD / SDIO / MMC و یک کنترلکننده Slave برای SDIO / SP
• موتورPWM و تا ۱۶ کانال از LED PWM.
• راهاندازی امن و رمزگذاری فلاش.
• تسریع سختافزار رمز نگاری برای AES، Hash (SHA-2)، RSA، ECC و .RNG
روش های مختلف برای برنامه نویسی
یک سختافزار خوب مانند ESP32 در صورتی کاربرپسند خواهد بود که بتواند به بیش از یک روش برنامه نویسی شود (کد نوشتن). و جای تعجب نیست که ESP32 از محیطهای برنامه نویسی چندگانه پشتیبانی میکند.
برخی از محیطهای برنامه نویسی که به طور معمول مورد استفاده قرار میگیرند عبارتند از:
• Arduino IDE
• پلتفرم IO IDE(کد VS )
• LUA
• MicroPython
• Espressif IDF(چارچوب توسعه IoT)
• JavaScript
از آنجا که Arduino IDE یک محیط آشنا است، ما از همان محیط برای برنامهنویسی ESP32 در پروژههای آینده خود استفاده خواهیم کرد. اما شما قطعا میتوانید موارد دیگر را نیز امتحان کنید.
ESP32 Devkit – برد توسعه ESP32
سیستمهای Espressif چندین ماژول را بر اساس ESP32 منتشر کردند و یکی از گزینههای محبوب، ماژول ESP – WROOM – 32 است. این سیستم شامل ESP32 SoC، یک نوسانساز کریستال ۴۰ مگاهرتز، فلش IC 4 مگابایت و برخی اجزای غیرفعال است.
نکته خوب در مورد ESP – WROOM – 32، این است که PCB خوشه های کناره دارد. بنابراین، کاری که تولید کنندگان بخش سوم انجام میدهند این است که ESP – WROOM – 32 را برداشته و یک break-out برای این ماژول طراحی کنند.
یکی از این بردها، برد ESP32 DevKit است. این سیستم شامل ESP – WROOM – 32 به عنوان ماژول اصلی و همچنین برخی سختافزار اضافی است تا به راحتی ESP32 را برنامه نویسی کرده و با پین های GPIO ارتباط برقرار کند.
طرح بندی
ما خواهیم دید که یک برد توسعه ماژول بلوتوث esp32 معمولی شامل بررسی طرح بندی یکی از سایتهای رایج ESP کمهزینه موجود در بازار به نام ESP32 DevKit Board است.
تصویر زیر طرح یک ماژول بلوتوث esp32 را نشان میدهد که من دارم.
نکته مهم: بردهای ESP32 زیادی براساس ESP – WROOM – 32 در بازار موجود است. طرح بندی، جزئیات و ویژگیهای آن از یک صفحه به صفحه دیگر متفاوت است.
بردی که من دارم ۳۰ پین (۱۵ پین در هر طرف)دارد. تعدادی برد با ۳۶ پین و برخی با پین کمتری وجود دارند. بنابراین، پینها را قبل از ایجاد اتصالات و یا حتی تقویت برد بررسی کنید. علاقمندان به کسب اطلاعات بیشتر در مورد کلاس آموزش رباتیک و دوره های هوشمند سازی و اینترنت اشیا میتوانند با همکاران ا در بخش آموزش تماس بگیرند.
همانطور که میتوانید از تصویر ببینید، ماژول بلوتوث esp32 شامل موارد زیر است:
• ماژول ESP – WROOM – 32
• دو ردیف از پین های IO (با ۱۵ پین در هر طرف)
• CP2012 USB – UART Bridge IC
• اتصال کننده میکرو USB (برای توان و برنامه نویسی)
• IC رگلاتور AMS1117 3.3 ولت
• دکمه فعال کردن(برای راه اندازی مجدد)
• دکمه بوت یا خود راه اندازی(برای چشمک زدن)
• LED توان(قرمز)
• LED کاربر(آبی- متصل شده به GPIO2)
• برخی اجزای غیرفعال
یک نکته جالب در مورد USB-to-UART IC این است که پین های DTR و RTS برای تنظیم خودکارESP32 در حالت برنامه نویسی و همچنین سکون برد بعد از برنامه نویسی استفاده می شود.
پایه های ماژول بلوتوث esp32
من یک برنامه آموزشی جداگانه در مورد اتصال دهنده ESP32 خواهم داشت. اما در حال حاضر، به نمودار دقیق برد توسعه ESP32 نگاه کنید.
این اتصال دهنده مربوط به نسخه ۳۰ پین برد ESP میباشد. در این آموزش اتصال دهنده، اتصال دهنده ۳۰ پین و همچنین نسخه ۳۶ پین بردهای ESP را توضیح خواهم داد.
نتیجه گیری
این یک آموزش کامل برای مبتدیان در مورد ESP32، یک SoC عالی با WiFi یکپارچه و اتصال بلوتوث است. شما در مورد میکروکنترلر ESP32، مشخصات آن، طرح بندی برد توسعه و همچنین جزئیات آن یاد گرفتید.