مقاله در مورد رزبری پای که در دانشگاه ارائه دادم
زیبایی رشته هایی مثل الکترونیک و کامپیوتر به اینکه هر روز در حال پیشرفت و توسعه هستند. توسعه دهنده ها میتوانند دانشمندان IBM باشند یا برنامه نویسان فیسبوک یا حتی من! هرکسی براساس نیازش، بخشی در دنیای تکنولوژی را توسعه میدهد.
این برد کوچیک توانایی انجام کارهای ساده بسیاری رو داره که در اخر مقاله بهش اشاره میکنم.
در سریال هایی مثل MR ROBOT هم که داستان در مورد یک هکر جوان هست، به این قطعه اشاره میشه. امیدوارم اطلاعات کاربردی و مفیدی رو جمع اوری کرده باشم.
رزبری پای چیست؟
بصورت خلاصه رزبری پای (raspberry pi) یک کیت یا قطعه هوشمند است که هدف از ساخت ان، اموزش برنامه نویسی و علوم رایانه در مدارس بوده اما امروز کاربرد بیشتری پیدا کرده است.
در ویکی پدیا اینگونه تعریف شده است:
"یک رایانه تک-برد (به انگلیسی: Single-board computer) در اندازه یک کارت اعتباری است که بنیاد رزبری پای آن را ساخته است تا آموزش علوم رایانه را در مدرسهها تشویق کند. سه نسخه از این رایانه ساخته شده.
رایانههای تک-برد رزبری پای در کارخانه شرکت سونی واقع در ولز، بریتانیا تولید میشوند. "
از این کیت تا امروز 4نسخه ساخته شده است. مدل های A+ , B , B+ , raspberry pi 2 B.
رزبری پای دارای هارد دیسک نیست و با استفاده از حافظه SD خودش رو راه اندازی میکنه.سیستم عامل های زیادی هم براش عرضه شده مثل:
Ubuntu Mate / RISC OS / Arch Linux / Pidora / Raspbian / Windows 10 / NOOBS / Android
مقایسه انواع رزبری های پرفروش:
Raspberry Pi 2 |
Raspberry Pi zero W |
Raspberry Pi 3 |
|
|
|||
900 MHZ |
1GHZ |
1.2GHZ |
CPu |
4 |
1 |
4 |
Core |
1GB |
512MB |
1GB |
Ram |
YES |
NO |
YES |
Ethernet |
NO |
YES |
YES |
Wifi |
از رزبری پای میتوان با توجه نیازمان، کاربردهای مختلفی داشت. با توجه به اینکه ماژول های زیادی هم برای این برد عرضه شده تقریبا میشود گفت این برد همه کار میکند!
میتوانید با استفاده از رزبری پای و خرید صفحه نمایش LCD مخصوص ان و محافظ یا CASE، یک تبلت بسازید.
میتوانید کوادروتور بسازید.
میتوانید حتی با استفاده از تکنولوژی شناسایی چهره، و با استفاده از یک رله، سیستم هوشمند شناسایی چهره برای باز کردن درب اتاق/شرکت بسازید.
میتوانید از ان برای اینترنت اشیا استفاده کنید.
میتوانید یک ماشین اسباب بازی (حتی بصورت هوشمند مثل ربات) بسازید.
یک جاسپر بسازید.( جاسپر رباتی است که با استفاده از فرمان های صوتی کارهای مختلفی انجام میدهد)
و کلی کارهای دیگه.
Raspberry Pi3 |
Raspberry Pi2 |
Raspberry Zero W |
نوع |
176 هزارتومان |
148هزارتومان |
68هزارتومان |
قیمت |
بله |
بله |
خیر |
موجودی در بازار |
میتوانید از سایت دانشجو کیت ، برد و یا ماژول های موردنیاز رو خریداری کنید.
بصورت پیشفرض رزبری پای سیستم عاملی نداره و در سایت خود رزبری پای توصیه شده که از NOOBS یا Raspbian استفاده کنید. اگر میخواید استفاده خاصی داشته باشید از رزبری پای، بهتره از سیستم عامل هایی که مخصوص اون کار طراحی شدن استفاده کنید.
مثلا برای استفاده از رزبری پای بعنوان یک مدیا سنتر میتونید از سیستم عامل OSMC یا RaspBMC استفاده کنید.
یا مثلا برای استفاده رزبری پای بعنوان یک کنسول بازی میتوانید از سیستم عامل Retropie استفاده کنید که با دسته بازی یا JoyStick هم مچ هست.(فقط باید درنظر گرفت که این برد کوچک توان سخت افزاری محدودی داره. یعنی انتظار اجرای بازی های سنگین مثل Call Of duty یا حتی FIFA را نباید داشت.)
یا حتی برای استفاده در کلاس درس میتوان از سیستم عامل PiNet استفاده کرد.
رزبین : رزبین سیستم عامل برپایه لینوکس نسخه دبیان است که توسط خود بنیاد رزبری ارائه و ساخته شده است. به گفته خود بنیاد، این بهترین سیستم عامل برای رزبری پای است. حجمش 4گیگابایت است.
گوگل کدر: گوگل این سیستم عامل را برای استفاده از رزبری پای بعنوان یک سرور برنامه نویسی، ارائه کرده. قابلیت های زیادی دارد مثل LIVE PREVIEW و مدیریت فایل های پروژه و NODE JS.
اندروید: اندروید هم برای رزبری پای عرضه شده و حجمش فقط و فقط 400 مگابایت است و میشه گفت بیشتر قابلیت های اندروید رو داره؛ در صورتی که ماژول سخت افزاری دوربین هم برای رزبری پای نصب کنید اندروید گزینه مناسبی است.
سیستم عامل RaspBMC: از این سیستم عامل میتونید برای ساخت یک مدیا سنتر استفاده کنید. قابلیت هایی مثل : پشتیبانی از زیرنویس فارسی،پشتیبانی از ویدئوها با کیفیت1080p،پشتیبانی از اکثر فرمت های ویدئویی و پشتیبانی از پخش انلاین فیلم از جمله قابلیت های این سیستم است.
سیستم عامل recalbox: این سیستم عامل برای استفاده از رزبری پای بعنوان یک کنسول بازی است. کنسولی که قابلیت اجرای بازی های playstation را هم دارد.
برای شروع و راه اندازی رزبری پای، از سیستم عامل رزبین که توسط خود بنیاد رزبری پای ارائه شده، استفاده میکنیم.
برای نصب ویندوز بر روی رزبری پای میتونید از اینجا شروع کنید به یادگیری.(البته هیچکس توصیه نکرد!!)
تجهیزاتی که موردنیاز است:
· رزبری پای
· فایل های سیستم عامل(که میتوانید از این لینک دانلود کنید.)
· در صورت نیاز، خرید LCD مخصوص رزبری پای. در غیراینصورت، داشتن کابل HDMI برای اتصال به مانیتور یا لپ تاپ.
· یک کارت حافظه (نکته دارد)
· یک عدد اداپتور 5ولت و2000 میلی امپر.
· موس و کیبرد
*نکته کارت حافظه SD این است که باید توجه داشت که اولا کلاس اون باید 10 و بالاتر باشد، و دوما معمولا حافظه های SD بالاتر از 32 گیگابایت از فرمت exFAT استفاده میکنند که رزبری پای این فرمت رو پشتیبانی نمیکنه.
بعد از دانلود سیستم عامل رزبین از سایت بنیاد رزبری، اون رو روی کات حافظه SD فرمت شده انتقال میدیم.(با استفاده از نرم افزار SDFORMATTED میشه کارت حافظه رو فرمت کرد.)
برای انتقال سیستم عامل باید توجه داشت که ما فایل زیپ را دانلود میکنیم و باید ایمیج را منتقل کنیم که مراحل این انتقال به اینصورت است که :
I. اماده سازی کارت حافظه :
a. نرم افزار مربوطه را دانلود میکنیم.
b. نرم افزار را بصورت run as administrator اجرا میکنیم.
c. فایل دانلود شده (فایل سیستم عامل که بصورت زیپ است) رو از حالت فشرده که خارج کنیم، یک ایمیج استخراج میشود.
d. فایل ایمیج رو توسط نرم افزار و با استفاده گزینه image file انتخاب میکنیم و در کشوی روبروش درایو کارت حافظه رو انتخاب میکنیم.
e. روی write میزنیم و سیستم عامل روی کارت حافظه نصب میشود.
II. راه اندازی رزبری پای
a. کارت حافظه sd رو به رزبری پای متصل میکنیم.
b. کابل HDMI را از یک طرف به برد رزبری پای و از طرف دیگر به مانیتور یا لپ تاپ متصل میکنیم.
i. قبل از اتصال به لپ تاپ، باید به مانیتوری، تلوزیونی چیزی وصل کنیم رزبری رو و قابلیت ssh اش رو فعال کنیم. برای اتصال رزبری به لپ تاپ 2تا راه هست. SSH و VNC . توی این روش ها باید رزبری پای به یه مانیتور وصل باشه تا بشه مثلا ip اش رو بدست اورد.
c. اداپتور را به رزبری پای متصل میکنیم.(سوکت اداپتور را به پورت مینیUSB متصل میکنیم.)
d. بعد از راه اندازی رزبری پای میتوانید کانفیگ های سیستم عامل را انجام دهید مثلا نام کاربری و پسورد را تغییر دهید. اگر هم ازتون پسورد و یوزر نیم خواست بصورت پیش فرض اینه:
username: pi
password: raspberry
در رزبری میشه با زبان های زیر، بخش هایی از سیستم عامل را توسعه داد! یا برنامه هایی رو نوشت. زبان هایی که در رزبری پشتیبانی میشه:
· پایتون
· C
· Basic
· JAVA
· Php
· ShellScript
اینجا در مورد پورت های I\O روی رزبری توضیحاتی داده شده.
دراجرای تمام پروژههای IOTیا اینترنت اشیاء ما نیاز به تعریف خروجی داریم. حال این خروجیها میتوانند رله ، LED ، بیزر و … باشند. به این صورت که با تعریف هر یک از پایههای GPIO(که روی برد رزبری هستن و حالت سوزنی شکل دارن) در رزبری پای Raspberry Pi به عنوان خروجی، دیتا و اطلاعات پروژه خود را ارسال و مشاهده میکنیم.
نمایش دیتای خروجی نیز از طریق Debugger و محیط گرافیکی UI امکان پذیر میباشد.
تمامی مراحل زیر در سیستم عامل رزبین انجام میشود.
· رزبری پای 3
· LED OVAL
· برد بورد
· سیم
اول باید NODE-Red را فعال کنیم که برنامه ای برای اینترنت اشیا است.
برای اینکار:
وارد منوی رزبری پای که شکل توت فرنگی هست میشیم و در منوی programming برنامه node red رو فعال میکنیم. یه مقدار طول میکشه.
بعد نیاز به ip داریم که از طریق دستور ifconfig در ترمینال بدست میاد. وارد مرورگر میشیم و به این ادرس میریم: ip:1880 که در اینجا منظور از ip همان ای پی است که از طریق ifconfig بدست اوردیم.
از سمت چپ نرم افزار node red که از طریق مرورگر باز شده، در تب input گزینه node inject رو کلیک میکنیم.
یه node ایجاد میشه به اسم Timestamp که بصورت پیشفرض خودش ایجاد شده.روش کلیک میکنیم
روش که کلیک کردیم یه اینجور پنجره ای وا میشه که payload برای تعیین وضعیت ورودی است (عدد،متن و...) و Topic هم یه اسم میذاره روی node
گزینه سوم repeat هست که برای زمانبندی نمایش دیتا استفاده میشود؛ شامل ۳ فسمت است.
۱: interval در این حالت نمایش دیتا با زمانبندی به صورت ثانیه ، دقیقه و ساعت قابل تنظیم خواهد بود، به این صورت که مثلا خروجی عدد یا اسم ما هر ۵ ثانیه یک بار تکرار شود.
۲: interval between times در این حالت نمایش دیتا با فواصل زمانی تعریف شده بین ساعت های مختلف و همچنین تعیین روز های هفته زمانبندی میشود.
۳: at a specific time در این حالت نمایش دیتا فقط در یک زمان مشخص با قابلیت تعیین روز زمانبندی میشود.
حال از این نود به عنوان ورودی اولیه استفاده میکنیم(همین نودی که ساختیم).
میخواهیم که ال ای دی ها به ترتیب مقادیر ۱ و ۰ را به عنوان دیتا ورودی دریافت کنه. پس از دو ، Node inject برای مقدار دهی استفاده میکنیم و برای اتصال به رزبری پای از نود Node RPI out استفاده میکنیم.
ال ای ۲ تا پایه کوتاه و بلند داره که بلندی مثبت هست و کوچکی منفی. حالا پایهی منفی ی کوتاهی LED رو به GND رزبری پای وصل میکنیم و پایهی + یا بزرگی رو به پین ۱۱ رزبری پای (GPIO 17 ) وصل میکنیم.توی شکل زیر نشون داده شماره GPIO ها رو. برای اتصال ال ای دیهای دیگر، تمام ال ای دیها از سر منفی با یکدیگر اشتراک داشته و به پایهی GND رزبری پای وصل میشوند و به ترتیب ال ای دی دوم به پین ۱۳ (GPIO27) و ال ای دی سوم به پین ۱۵ (GPIO 27) وصل میکنیم. همانند دو تصویر زیر
کلا بخوام بگم چه کاری کردم:
" روی Node inject کلیک کردم. حالت payload را روی number گذاشته و مقدار ۱ را به معنی روشن شدن ال ای دی به اون دادم. حال برای حالت دوم دوباره از node inject استفاده کرده و به آن مقدار ۰ به معنی خاموش شدن ال ای دی رو دادم. سپس از طریق Drag & Drop از دو، نود inject به خروجی Node RPI out اتصال دادم. به همین ترتیب برای ال ای دی های دیگر همین روند رو تکرار کردم که 3 تا LED داشتم."
اینجا هم یه پروژه در مورد اتصال دوربین به رزبری پای گفته.
ممنون از نگارش زیباتون