مقدمه
- رزبریپای ۳ با یک ویژگی روبردی عالی، یعنی بلوتوث روی برد عرضه میشود. بنابراین، نیازی به دانگل USB خارجی ندارد. بدین ترتیب یک پورت USB برای کاربردهای دیگر آزاد میشود، که در غیراین صورت میبایست توسط دانگل بلوتوث خارجی اشغال میشد.
- رزربری پای ۳ دارای یک چیپ منفرد BCM43438 با قابلیت یکپارچهسازی بالا است که شامل WLAN 2.4 گیگاهرتزی، بلوتوث و گیرندهی FM میباشد.
- پیش از شروع به ارتباط با بلوتوث روبردی رزبریپای، باید تنظیمات مربوط به آن را روی رزبریپای انجام دهیم.
نحوه تنظیم بلوتوث روبردی برای رزبریپای
رزبریپای دارای یک بلوتوث روبردی میباشد که میتوان از آن برای برقراری ارتباط یا ارسال یا دریافت فایل استفاده کرد.
قبل از برقراری ارتباط بین رزبریپای و یک دستگاه دارای بلوتوث فعال، باید آنها را مزدوج یا به اصطلاح pair کنیم.
مزدوج سازی یک دستگاه بلوتوثی روی رزبریپای مشابه انجام این کار روی لپتاپ یا موبایل است.
بلوتوث را به شکل زیر روشن کنید.
سپس آن را برای دیگر دستگاهها قابل مشاهده سازید.
حال گزینهی Add Device را انتخاب کنید.
پس از انتخاب آن Add Device، یک پنجره پاپ-آپ به شکل زیر باز میشود.
در پنجره بالا، میتوان یک دستگاه موبایل دارای بلوتوث با نام «ZUK Z1» مشاهده کرد. آن را انتخاب کرده و سپس روی pair کلیک کنید. یک درخواست برای مزدوج سازی ارسال میشود، و پین از رزبریپای به دستگاه بلوتوثی (پینی که به صورت تصادفی توسط رزبریپای تولید میشود) نمایش داده میشود، و باعث میشود که دستگاه به شما درخواست تایید اتصال را بدهد.
پس از اینکه دستگاه اتصال با گزینهی pair را پذیرفت، رزبریپای و دستگاه بلوتوثی مزدوج خواهند شد و اتصال بین آنها برقرار میشود. اکنون رزبریپای ما آماده ارتباط با دستگاه مزدوج شده میباشد.
فایلها چگونه از طریق بلوتوث بین رزبریپای و دستگاه دیگر انتقال مییابند؟
دو روش برای ارتباط بین رزبریپای و دستگاه دیگر به وسیلهی بلوتوث وجود دارد.
- رابط گرافیکی بلوتوث (GUI)
- رابط خط فرمان (CLI)
پیش از استفاده از GUI یا CLI برای دسترسی به انتقال بلوتوثی، باید پکیجهای زیر را نصب کنیم.
Blueman: یک پکیج مدیریت بلوتوث پر امکانات میباشد. این پکیج یک پنل مدیریت بلوتوث گرافیکی فراهم آورده است.
Bluz: این پکیج همهی افزونههایی که پشته BluezBlutooth ساپورت میکند را مهیا میسازد.
حالا برای استفاده از سرویس بلوتوث، پکیجهای بالا را با استفاده از دستور زیر نصب کنید.
sudo apt-get install bluemanbluez Bluetooth
پس از نصب این پکیجها، رزبریپای را مجدداً راهاندازی کنید.
استفاده از رابط گرافیکی کاربر برای سرویس بلوتوث
رزبریپای همانند لپتاپ یا موبایل رابط گرافیکی برای سرویس بلوتوث فراهم نمیآورد. برای داشتن GUI برای بلوتوث، پکیجهایی که در بالا به آن اشاره شد را نصب کردیم.
اکنون، میتوان از طریق رابط گرفیکی به سرویس بلوتوث (ارسال/دریافت) دسترسی داشت. بدین منظور، وارد منو شده و preferences را انتخاب کنید. در preference، گزینهی Blutooth Manager را انتخاب کنید. اکنون، میتوان پنجرهی مدیریت بلوتوث را مشاهده کرد که در آن دستگاههای بلوتوث قابل مشاهده لیست شده است.
ما باید بلوتوث را قابل مشاهده سازیم تا برای دستگاههای دیگر قابل کشف باشد. برای این منظور، گزینهی Adapter à preferences را همانند شکل زیر انتخاب کنید.
میتوان فایلها را از رزبریپای به دستگاه انتخاب شده انتقال داد. برای ارسال فایل، روی دستگاه مورد نظر راست کلیک کرده و گزینهی send a file را انتخاب کنید.
مسیر فایل را پیموده و آن را ارسال کنید. همچنین میتوان یک فایل را از رزبریپای دریافت کرد.
رابط خط فرمان برای سرویس بلوتوث
پکیجهایی که پیش از این نصب کردیم برای استفاده از رابط خط فرمان نیز ضروری هستند.
مزدوج سازی یک دستگاه بلوتوث از طریق shell سادهترین و پایدارترین گزینه میباشد.
-
اتصال بلوتوث با استفاده از bluetoothctl
در ادامه مراحل مزدوج سازی و اتصال بلوتوث رزبریپای به دستگاه بلوتوثی آمده است. از ابزار blutoothctl برای مزدوج سازی و برقراری اتصال بین رزبریپای و دستگاه بلوتوثی استفاده میکنیم.
دستور زیر را برای شروع به کار bluetoothctl وارد کنید.
bluetoothctl
با استفاده از دستور زیر کنترلر را روشن کنید.
power on
عبارت devices را برای دریافت آدرس مک دستگاهی که میخواهیم مزدوج کنیم وارد کنید. این دستور لیستی از دستگاههای موجود را نشان میدهد.
devices
اگر هیچ دستگاهی در لیست موجود نباشد، آنگاه جستجو را به شکل زیر انجام دهید.
scan on
agent را فعال کنید.
agent on
دستگاه بلوتوث را مزدوج کنید.
pair <mac address>
مثال: pair 01:02:03:04:05:06
اگر از یک دستگاه بدون PIN استفاده میکنیم، باید دستگاه را به صورت دستی به عنوان یک دستگاه قابل اعتماد (trusted) تعیین کنیم.
trust <mac address>
در پایان بین دستگاه با بلوتوث فعال اتصال را برقرار کنید.
Connect <mac address>
برای راهنمایی بیشتر دربارهی دستورات، دستور help را وارد کنید.
-
دریافت/ارسال داده از طریق بلوتوث با استفاده از CLI
با استفاده از CLI میتوان دادهها را از طریق بلوتوث روی رزبریپای ارسال/دریافت کرد. زمانی که نیاز داشته باشیم که دستگاه متصل به رزبریپای را از طریق لپتاپ یا موبایل کنترل کنیم، این نوع ارتباط بسیار سودمند است. برای چنین کاربردهایی، CLI موثرترین روش ارتباط میباشد. در اینجا، از یک پروتکل بلوتوث RFCOMN (ارتباط فرکانس رادیویی) استفاده میکنیم.
مثال
بیایید از طریق بلوتوث و با استفاده از CLI بین گوشی هوشمند (موبایل) و رزبریپای داده رد و بدل کنیم. برای استفاده از CLI برای ارتباط بین دو دستگاه بلوتوثی، مراحل زیر را دنبال کنید، یک دستگاه را از قبل به وسیلهی bluetoothctl مزدوج کردهایم.
در اینجا، از hciconfig برای پیکربندی دستگاههای بلوتوثی جهت انتقال داده بین آنها استفاده کردهایم.
دستور زیر را برای دریافت اطلاعات بلوتوث رزبریپای وارد کنید.
hciconfig
این دستور آدرس مک بلوتوث رزبریپای را برمیگرداند. همچنین، اطلاعاتی راجع به اینکه پورت بالا (UP) یا پایین (DOWN) است ارائه میدهد.
اگر پورت DOWN است، دستور زیر را وارد کرده تا UP شود.
hciconfig hci0 up
نکته: گاهی اوقات خطایی مانند «operation not possible due to RF-Kill» (عملیات به دلیل RF-Kill امکانپذیر نیست) نمایش داده میشود، برای حل این مشکل دستور زیر را وارد کرده،
rfkill unblock all
و پروفایل بلوتوث را به صورت زیر ایجاد کنید.
sdptool add sp
برای دریافت داده از گوشی هوشمند، باید گوشی را به رزبریپای وصل کنیم. برای اتصال گوشی و برقراری ارتباط (ارسال/دریافت داده)، باید از یک اپلیکیشن بلوتوث روی گوشی هوشمند استفاده کنیم. در اینجا، اپلیکیشن Blueterm را به کار بردهایم.
برای برقراری ارتباط بین رزبریپای و گوشی هوشمند از طریق بلوتوث، از دستور زیر استفاده کنید.
sudo rfcomm listen hci0&
این دستور رزبریپای را وارد حالت انتظار برای درخواست اتصال دستگاه (گوشی هوشمند) میکند.
باید برنامهی Blueterm را باز کرده و دستگاه بلوتوث (رزبریپای) را انتخاب کنیم.
وقتی که اتصال با موفقیت انجام شد، میتوان از گوشی هوشمند پیام دریافت کرد.
اکنون، میتوان از گوشی هوشمند به رزبریپای کارکتر یا پیام ارسال کرد اما نمیتوان آنها را روی ترمینال رزبریپای مشاهده کرد. برای مشاهده کارکتر یا پیام دریافت شده، دستور زیر را وارد کنید.
cat /dev/rfcomm0
حال میتوان پیامهایی که دریافت میشوند را در ترمینال ملاحظه کرد.
اگر بخواهیم از طریق بلوتوث، از رزبریپای به گوشی هوشمند پیام ارسال کنیم دستور زیر را به کار میگیریم.
echo “type character/message here” >/dev/rfcomm0
اکنون، میتوان با موفقیت از طریق بلوتوث بین موبایل و رزبریپای پیام رد و بدل کرد. این پیام انتقالی را میتوان برای کاربردهای مبتنی بر رزبریپای، مانند کنترل لوازم خانگی (هیتر، روشنایی، درها، فن) از طریق موبایل به کار بست. تنها با ارسال پیام از موبایل، میتوان دستگاه متصل به رزبریپای را کنترل کرد.
- منبع: ترجمه از سایت electronicwings.com
- منبع: عکس شاخص از سایت hackster.io
امیدواریم این آموزش براتون مفید واقع شده باشه. توصیه میکنیم دیگر آموزشهای رزبریپای را هم مطالعه کنید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.