پروتکلهای ارتباطی بسیار زیادی وجود دارد ولی یکی از سادهترین پروتکلهای ارتباطی بلوتوث Bluetooth میباشد. ارتباطات بلوتوثی، از قدیم و همان بدو تولد این پروتکل، دوست داشتنی بوده است. بلوتوث Bluetooth برای برقراری ارتباط باید Pair شود. یکی از پرکاربردترین ماژولهای بلوتوث در زمینه آموزشهای DIY ماژول بلوتوث HC05 Bluetooth میباشد. در آموزشهای قبلی روش کار با ماژول بلوتوث HC-05 را فرا گرفتید. در این آموزش قصد داریم از طریق بلوتوث ارتباطی بین آردوینو Arduino و رزبری پای Raspberry pi ایجاد کنیم. در ادامه این آموزش با وب سایت مرجع آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
هدف آموزش مدیریت رزبری پای با آردوینو
توسط برد آردوینو به برد رزبری پای Raspberry Pi فرمان میدهیم. خب این کار از چندین روش قابل پیاده سازی است. ولی در این آموزش من از پروتکل بلوتوث استفاده کردهام. با استفاده از ماژول بلوتوث HC05 به بلوتوث برد رزبری پای Raspberry Pi متصل شده و یک ارتباط دوطرفه برقرار میکنیم. این مدار باعث میشود که از برد رزبری پای البته به تعبیر برخی از کاربران رسپبری پای! به عنوان برد اصلی و در محیطی دور از آردوینو استفاده شود. برد آردوینو به علت کوچکتر بودن و ارزانتر بودن برای درگیر شدن در قسمتهای فیزیکی مناسبتر است. به عنوان مثال یک میکروسوئیچ که در اثر باز شدن یک در ورودی هر بار تحریک میشود. پارامتر مورد نظر را با بلوتوث روی برد رزبری پای Raspberry Pi ارسال میکند. با این روش رزبری پای میتواند در محیطی دورتر و مشغول به کاری دیگر باشد و در عین حال به عنوان یک سورس با برد آردوینو Arduino تبادل ارتباطی داشته باشد.
اتصالات مدار آردوینو Arduino
پینهای آردوینو پرو مینی Arduino Pro Mini با بقیه آردوینوها از جمله Arduino Uno یکسان است. جهت سادگی در اتصالات من یک شماتیک ساده از این اتصالات در تصویر زیر قرار دادهام.
- پایه VCC ماژول بلوتوث HC05 را به پایه ۵ ولت آردوینو متصل میکنیم.
- پایه GNS ماژول بلوتوث HC05 را به پایه GNS آردوینو متصل میکنیم.
- پایه TXD ماژول بلوتوث HC05 را به پایه ۱۰ آردوینو متصل میکنیم.
- پایه RXD ماژول بلوتوث HC05 را به پایه ۱۱ آردوینو متصل میکنیم.
- یکی از پایههای میکروسوئیچ را به پایه GND آردوینو متصل میکنیم.
- پایه دیگر میکروسوئیچ را به پایه ۲ آردوینو متصل میکنیم.
کد آموزش مدیریت رزبری پای با آردوینو
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
وسایل مورد نیاز
بورد آردوینو – در این آموزش از آردوینو پرو مینی استفاده شده
برد رزبری پای Raspberry pi
ماژول بلوتوث HC-05
سوئیچ فشاری
ال ای دی
اتصالات مدار رزبری پای Raspberry Pi
جهت سادگی در اتصالات من یک شماتیک ساده از این اتصالات در تصویر زیر قرار دادهام. چنانچه با پینهای رزبری پای آشنایی ندارید و یا ترتیب آنها را نمیدانید در قسمت نظرات مطرح کنید، تا راهنمایی کنم.
- پایه مثبت ال ای دی را به یک مقاومت ۲۲۰ اهمی اتصال میدهیم.
- پای دیگر مقاومت ۲۲۰ اهمی را به GPIO23 رزبری پای اتصال میدهیم.
- پایه منقی ال ای دی LED را به پایه ۶ رزبری پای یا همان GND اتصال میدهیم.
تنظیمات برد رزبری پای
برنامه نویسی که ما برای برد رزبری پای Raspberry pi انجام دادهایم به زبان پایتون میباشد. ابتدا پیشنیازهای برنامه نویسی را از طریق ترمینال رزبین نصب میکنیم. البته دقت داشته باشید که ممکن است برخی از این بستهها از قبل روی سیستم عامل شما نصب شده باشند. به ترتیب دستورات زیر را در ترمینال یا Command Line رزبری پای وارد کنید. مانند تصویر زیر
sudo apt-get update sudo apt-get install bluetooth sudo apt-get install pi-bluetooth sudo apt-get install bluez sudo apt-get install python-bluez sudo apt-get install python-pip sudo pip install pybluez
عملیات Pair بلوتوث BT
قبل از شروع به برنامه نویسی، باید ماژول بلوتوث را با برد رزبری پای Raspberry Pi جفت یا همان Pair کنیم. از طریق پنل بلوتوث رزبین در بالای دسکتاپ با ماژول بلوتوث جفت میشویم. دقت داشته باشید که رمز پیش فرض ماژول بلوتوث HC-05 عدد ۱۲۳۴ میباشد. به تصاویر زیر دقت کنید.
ایجاد فولدر در زبین Raspbian
پس از Pair کردن بلوتوثها با یکدیگر، باید یک فولدر ایچاد کنیم. این کار برای اجرا شدن برنامه پایتون Python نیاز است. با استفاده از سه دستور زیر فولدر bl را برای اجرا فایل پایتون ایجاد میکنیم. به تصویر زیر دقت کنید.
sudo mkdir bl cd bl sudo nano bl.py
دقت کید که برای ساخت فولدر علاوه بر دستور nano میتوانید از leafpad یا هر ادیتور دیگری استفاده کنید. حالا برنامه پایتون را داخل فایلی که ساختهایم، مینویسیم. دقت کنید فاصلهها در زبان برنامه نویسی پایتون Python بسیار مهم هستند.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
تغییر مک آدرس بلوتوث
در این کد شما باید مک آدرس بلوتوث خود را جایگزین MAC کنید. برای یافتن مک آدرس میتوانید از کد زیر در ترمینال استفاده کنید
sudo hcitool scan
نکته: اگر از ادیتور nano استفاده میکنید با استفاده از کلید میانبر Ctrl+X و سپس Y و Enter فایل را ذخیره کنید. حال با دستور زیر در ترمینال برنامه پایتونی که نوشتهایم را اجرا میکنیم.
sudo python bl.py
حال اگر برد آردوینو Arduino روشن باشد، ماژول بلوتوث hc-05 باید به بلوتوث رزبری پای Raspberry pi متصل شده باشد. اکنون میتوانید با تحریک میکروسوئیچ، ال ای دی متصل به رزبری پای Raspberry pi را کنترل کنید. شما میتوانید پروژه را توسعه دهید و پروژه دلخواه خود را پیاده سازی کنید…
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
سلام اگه بخواهم برعکس این پروژه را پیاده سازی کنم به چه صورتی باید عمل کرد
با سلام
میتوانید از دستور
sock.send(str)
استفاده کنید.همچنین جهت کسب اطلاعات بیشتر به صفحه افزونه پایتون pybluez مراجعه کنید.
برای کنترل تجهیزات زیگبی یا زدویو آیا رزبری میتونه نقش هاب یا گیت وی رو ایفا بکنه؟!
با سلام
بله اگه ماژول های XBee ویا Z-Wave تهیه بشه که بصورت شیلد برای رزبری پای موجود هستش؛ میتونید رزبری و وسیله ای دیگر با این ارتباط را به هم متصل کنید و بسته به موارد مورد نیازتون برنامه نویسی را انجام دهید.
با سلام بسیار مفید واقع شد……
بخشید آیا در سیستم عامل رزبری پای یا اورنج پای می توان بازی های سنگین و نیمه سنگین را از نظر گرافیک اجرا کرد؟
آیا کار یک کامپیوتر کامل را انجام می دهد؟
سلام
متاسفانه گرافیک رزبری پای ها ضعیف بوده و برای بازی های سنگین و نیمه سنگین مناسب نیست.
البته نسخه ای از minecraft سبک برای رزبری تعبیه شده که میتوان از آن استفاده کنید.
عیول آموزش باحالی بود. بهش فکر نکرده بودم. مچکرم
سپاس
امیدوارم آموزش براتون مفید واقع شده باشه…
پست جالبی بود
ممنون از شما، بخاطر ویدیو هم بیشتر مفهوم شد. میشه اینکارو برعکس هم کرد؟ یعنی با رسپری به آردو فرمان بدیم.
سلام
سپاس
در نظرات قبلی توضیح داده شد که با استفاده از دستور
sock.send(str)
میتوانید دستور از رزبری پای ارسال کنید و با آردوینو آن را دریافت کنید.سلام
کد پایتون پروژه در لینک زیر موجود است و کد آردوینو مانند همان کد در آموزش است.
https://paste.ubuntu.com/p/RQdFsRpTjB/
من پروژه رو به صورت واقعی آزمایش نکردم ولی به صورت انتزاعی کد اون رو نوشتم.
با تشکر
چرا پروژه رو نمی بینید
با سلام
کاربر گرامی اگر پروژه اعلام شده در آموزش را جهت دریافت بن تخفیف ارسال کردهاید، میبایست خودتان تست کرده باشید و مطابق مراحل آموزش باشد، نه اینکه از یک روش دیگر
نکته دیگر اینکه شما جوری نوشتهاید که انگار گذرا و برای تکمیل اطلاعات کاربران پروژه را نشر دادهاید. لطفا اصلاح و مجددا ارسال کنید.
سلام
این دفعه واقعی انجام دادم و فیلمش رو هم گرفتم
http://s9.picofile.com/file/8325512584/project.zip.html
منتظر پاسخ هستم
با تشکر
احسنت بر شما، بسیار از این پروژه لذت بردم. هماهنگیها جهت ارسال بن خرید شما انجام خواهد شد. چنانچه در فروشگاه دانشجو کیت حساب کاربری ندارید، بسازید و از همین طریق اعلام کنید.
سلام
حساب با همین ایمیل ساخته شده است.
با تشکر
سلام مجدد
بنده اطلاع رسانی کردم، موارد در حساب کاربری شما فعال شده است. ایمیلتان را بررسی کنید. لطفا پس از استفاده از بن خرید در همین قسمت اطلاع رسانی کنید.
سلام
چرا کامنتم رو نمی گذارید.
با تشکر
با سلام
بابت تاخیر در این موضوع عذرخواهی میکنم. بنده بایستی موارد را بررسی میکردم. از توجه شما سپاسگزارم.
سلام
من با آردوینو یه پروژه درست کردم که توش از تعداد زیادی سنسور برای خواندن دما و شدت نور و… استفاده شده از طرفی نمایش دادن داده ها روی ال سی دی کارکتری اصلا ظاهر جذابی نداره.
دنبال آموزشی هستم که بتونم مقادیر رو از آردوینو با اتصال سیمی (بدون بلوتوث)دریافت کنم و به صورت گرافیکی و شکیل با صفحه نمایش تاچ رزبری پای به نمایش دربیارم.
اگه بشه یه حالت AutoRun همایجاد کرد ک رزبری وقتی روشن میشه خودش بره تو این نرم افزار ک دیگه عالی میشه.
تو اینترنت دنبال مطالب آموزش GUI گشتم ولی همشون آموزش های اولیه بودن و سطح پایینی از گرافیک داشتن.
تو این سایت پروژه های مشابه هست؟یا یه نقطه شروع؟
تو کار با رزبری پای خیلی آماتورم چون تازه تهیش کردم
لطفا راهنمایی کنید ممنون
سلام
چرا از صفحه نمایش های مخصوص arduino استفاده نمیکنید؟