آموزش ESP32 37/55 - استفاده از برنامه بلوتوث با ESP32 BLE | کیت آموزشی اینترنت اشیاء SunFounder برای ESP32
در این آموزش، ما بررسی خواهیم کرد که چگونه میتوان از ESP32 به عنوان یک سرور بلوتوث برای ارسال و دریافت پیامها از یک برنامه موبایل استفاده کرد. این امکان ارتباط تعاملی بین بورد ESP32 شما و دستگاه موبایلتان را فراهم میکند و آن را به یک افزودنی چندمنظوره برای پروژههای اینترنت اشیا شما تبدیل میکند. در پایان این درس، شما قادر خواهید بود متن را از دستگاه موبایلتان به ESP32 ارسال کنید و آن را در نمایشگر مسلسل مشاهده کنید.
ما از اپلیکیشن LightBlue Explorer که در دسترس هر دو سیستمعامل iOS و Android است، برای ارتباط با ESP32 استفاده خواهیم کرد. این آموزش بنیادی برای درک ارتباطات Bluetooth Low Energy (BLE) است و زمینه را برای پروژههای پیشرفتهتر فراهم میکند. برای راهنمایی بصری، لطفاً به ویدیو در (در ویدیو در 02:00) مراجعه کنید.
توضیح سختافزار
عناصر اصلی این پروژه میکروکنترلر ESP32 است که قابلیتهای Wi-Fi و Bluetooth را در خود ادغام کرده است. این امکان را برای ESP32 فراهم میآورد که به عنوان یک سرور عمل کرده و دادهها را به صورت بیسیم دریافت و ارسال کند. قابلیت بلوتوث داخلی ESP32 از BLE پشتیبانی میکند که آن را برای برنامههای کممصرف کارآمد میسازد.
علاوه بر ESP32، ما از یک دستگاه موبایل با اپلیکیشن LightBlue نصب شده استفاده خواهیم کرد. این اپلیکیشن به کاربران اجازه میدهد که به ESP32 متصل شده و دادهها را از طریق بلوتوث ارسال کنند. ادغام این اجزا ارتباط بیوقفهای بین ESP32 و دستگاههای موبایل ایجاد میکند و تعامل کاربر را بهبود میبخشد.
جزئیات دادهبرگ
| تولید کننده | اسپرسف سیستمز |
|---|---|
| شماره قطعه | ESP32-WROOM-32 |
| ولتاژ منطق/ورودی و خروجی | ۳.۳ ولت |
| ولتاژ تغذیه | ۳.۰ - ۳.۶ ولت |
| جریان خروجی (به ازای هر کانال) | ۴۰ میلیآمپر |
| جریان اوج (به ازای هر کانال) | ۱۶۰ میلیآمپر |
| راهنمای فرکانس PWM | ۱ کیلوهرتز |
| آستانههای منطقی ورودی | ۰.۲ ولت (پایین)، ۰.۸ ولت (بالا) |
| افت ولتاژ / RDS(on)/ اشباع | 0.1 ولت |
| محدودیتهای حرارتی | 125 درجه سانتیگراد |
| بسته | QFN48 |
| یادداشتها / واریانسها | ESP32-WROOM-32، ESP32-WROVER |
- تأمین منبع برق پایدار (3.3 ولت) برای جلوگیری از خاموشی موقتی.
- از خازنها برای جداسازی نزدیک پایههای قدرت استفاده کنید.
- در صورت استفاده از جریان بالا، از تبادل حرارت مناسب اطمینان حاصل کنید.
- با سطوح ولتاژ پایه GPIO احتیاط کنید؛ آنها ۳.۳ ولت تحمل میکنند.
- از مقاومتهای pull-up یا pull-down بسته به نیاز برای تنظیمات GPIO استفاده کنید.
- اتصالات BLE را زیر نظر داشته باشید؛ اطمینان حاصل کنید که برنامه به درستی جفت شده است.
- UUIDهای خدمات و ویژگیها را برای یکتا بودن بررسی کنید.
- بهطور منظم نمایشگر مسلسل را برای پیامهای اشکالزدایی بررسی کنید.
- استفاده از تحلیلگر منطقی برای عیبیابی سیگنالهای پیچیده را در نظر بگیرید.
راهنمای سیمکشی
نصب سیمکشی برای این پروژه ساده است زیرا ESP32 عمدتاً از طریق USB برای تأمین برق و برنامهریزی متصل میشود. ESP32 را با استفاده از یک کابل میکرو USB به کامپیوتر خود متصل کنید. اطمینان حاصل کنید که پورت USB برق کافی (معمولاً ۵ ولت) را تأمین میکند. از نمایشگر مسلسل برای اشکالزدایی استفاده خواهد شد، بنابراین برای این برنامه به هیچ اتصالات سختافزاری اضافی نیاز نیست.
زمانی که از ESP32 با اجزای خارجی در پروژههای آینده استفاده میکنید، به یاد داشته باشید که پایههای زمین را به یک زمین مشترک متصل کنید. این اطمینان میدهد که ESP32 و هر حساس(حس کننده) یا ماجیول متصل شده، نقطه مرجع یکسانی را به اشتراک میگذارند. علاوه بر این، اگر از باتری استفاده میکنید، پایانه مثبت را به پایه ۳.۳ ولت و پایانه منفی را به یک پایه زمین روی ESP32 متصل کنید.
نمونههای شِفر (کود) و راهنما
شِفر (کود) ارائه شده سرور بلوتوث را راهاندازی میکند، خدمات و ویژگیهای لازم را تنظیم میکند و پیامهای ورودی را مدیریت میکند. شناسههای کلیدی شاملbleName، که نام دستگاه بلوتوث را تعریف میکند، وreceivedText، که پیام ورودی از برنامه موبایل را ذخیره میکند.
const char *bleName = "ESP32_Bluetooth";
String receivedText = "";
متن:setup()تابع ارتباط سریال و تنظیم BLE را راهاندازی میکند. این برای برقراری ارتباط با برنامه LightBlue حیاتی است.
void setup() {
Serial.begin(115200); // Initialize the serial port
setupBLE(); // Initialize the Bluetooth BLE
}
داخلloop()تابع، شِفر (کود) برای بررسی پیامهای ورودی طراحی شده است. اگر یک پیام جدید دریافت شود، آن در نمایشگر مسلسل چاپ میشود و یک اعلان به دستگاه BLE متصل ارسال میشود.
if (receivedText.length() > 0 && millis() - lastMessageTime > 1000) {
Serial.print("Received message: ");
Serial.println(receivedText);
pCharacteristic->setValue(receivedText.c_str());
pCharacteristic->notify();
receivedText = "";
}
برای درک کامل، به شِفر (کود) کامل که در زیر مقاله بارگذاری میشود مراجعه کنید. این اطلاعات لازم را برای پیادهسازی موفق پروژه در اختیار شما قرار میدهد.
نمایشگاه / چه انتظاری داشته باشیم
پس از پیادهسازی موفقیتآمیز، شما باید قادر باشید پیامهایی از اپلیکیشن LightBlue به ESP32 ارسال کنید. زمانی که شما پیامی را تایپ میکنید، مانند "سلام"، این پیام در نمایشگر مسلسل ظاهر خواهد شد. علاوه بر این، شما میتوانید پیامهایی را به اپلیکیشن بازگردانید و تأییدکننده ارتباط دوطرفه باشید. اگر با مشکلاتی مانند عدم ظاهر شدن پیامها مواجه شدید، اطمینان حاصل کنید که ESP32 به درستی با اپلیکیشن جفت شده و UUIDها مطابقت دارند.
زمانبندی ویدیو
- ۰۰:۰۰ شروع
- مقدمهای بر پروژه ۲:۱۰
- صفحه مستندات ۲:۴۵
- ۴:۰۴ شِفر (کود) آردوینو
- ۶:۳۱ نصب برنامه بلوتوث
- :12 انتخاب برد ESP32 و پورت COM
- ۸:۵۴ نمایش پروژه
Common Course Links
Common Course Files
منابع و مراجع
-
مستنداتآموزش ESP32 37/55 - صفحه مستندات SunFounder برای برنامه بلوتوثdocs.sunfounder.com
فایلها📁
هیچ فایلی موجود نیست.