چرا Raspberry Pi استفاده می‌کنم و چه چیزهایی به آن اضافه کردم؟

رسانه کلیک – هفته‌ی گذشته از همه‌ی رزبری پای‌هایی (Raspberry Pi) که در اختیار داشتم برای ساخت یک خوشه‌ی پردازشی شش گره‌ای HexaPi استفاده کردم.از آن زمان تا به حال بارها از من پرسیده شده که این کار به چه دردی می‌خورد؟ بنابراین با اشاره‌ای کوتاه به مقاله‌ی «پروژه‌های رزبری پای – ساخت یک OctaPi» و افزودن یک مثال شخصی و ساده به آن، می‌خواهم به این سوال پاسخ دهم.

البته ضمن احترام به قانون خودم یعنی «هیچ دو سروری به هم شباهت ندارد»، یک سرور رزبری پای دیگر هم به خوشه‌ام اضافه کردم و الان عملاً یک خوشه‌ی هفت سروری HeptaPi دارم. در انتهای همین مطلب، درباره‌ی سخت‌افزارهای جدیدی که برای این پروژه استفاده کردم توضیحاتی خواهم داد.

این کار به چه دردی می‌خورد؟ بگذارید با مثال ساده‌ای به این سوال پاسخ بدهم. من زیاد سفر می‌روم و همیشه با دوربین SLR دیجیتالم عکس‌های بسیاری در طول این سفرها می‌گیرم. بعضی از این عکس‌ها تصاویر چندگانه‌ی پانوراماست (کوه‌های آلپ سوئیس منظره‌ی فوق العاده‌ای برای این نوع عکاسی است). وقتی به خانه بر می‌گردم، برای چسباندن عکس‌ها به یکدیگر از برنامه‌ی Hugin Panorama Photo Stitcher استفاده می‌کنم.

اگر پردازش این پانوراماها را روی یک کامپیوتر انجام دهم، مجبورم زمان بندی آن‌ها را خودم بر عهده بگیرم، یعنی باید حواسم باشد که وقتی کار یک پانوراما تمام شد، بعدی را در صف پردازش قرار دهم.

اگر بخواهم کمی حرفه‌ای‌تر عمل کنم، یک برنامه‌ی کنترلی تنظیم می‌کنم تا خودش تصاویر را بعد از تمام شدن پردازش فعلی برای چسباندن در صف پردازش قرار دهد. اگر برای این کار کامپیوترهای بیشتری در اختیار داشته باشم، کار توزیع تصاویر و بازیابی پانوراماها بر دوش خودم می‌افتد، و دوباره شخصاً باید زمان بندی هر کامپیوتر را انجام دهم. به هر طریق، این کار پروسه‌ای خسته کننده و زمان‌بر است، و متاسفانه هر بار قبل از این که پردازش همه‌ی تصویرها تمام شود زمان کم می‌آورم یا از کوره در می‌روم.

اما با خوشه‌ی HeptaPi، با کمک برنامه‌های پایتونی که در پروژه‌ی خوشه‌ی OctaPi قرار داده شده، می‌توانم یک پردازنده‌ی دسته‌ای داشته باشم، سپس Hugin را روی هر یک از سرورهای این خوشه نصب کنم. با این کار پردازش تصاویر بین سرورهای خوشه توزیع می‌شود و نتیجه به صورت یک تصویر پانوراما به شما بر می‌گردد.

تنها هزینه‌ای که این روش لازم دارد نوشتن یک برنامه‌ی مخصوص برای کنترل دسته‌ای تصاویر و شناسایی عکس‌هایی است که باید در کنار هم پردازش شوند. بعد از اتمام این کار، زمان لازم برای پردازش تصاویر به طرز محسوسی کاهش می‌یابد، و با افزودن هر رزبری پای جدید به این خوشه، می‌توانم این زمان را بیش از پیش کاهش دهم.

پاسخ کلی‌تر به این سوال که خوشه‌ی رزبری پای به چه دردی می‌خورد این است: هر نوع کار یا وظیفه‌ای که قابل تقسیم شدن به چندین بخش مستقل باشد با این روش قابل انجام است. یه یاد داشته باشید که برای استفاده از این روش مستقل بودن خود وظیفه‌ها کافی است، هر چند در مثال من نتیجه‌ها هم مجزا هستند، ولی خود این نتایج می‌توانند شکل دهنده‌ی یک نتیجه‌ی بزرگ‌تر باشند. در آن صورت، می‌توان نتایج را در سیستم کلاینت (Client) جمع آوری کرد، بعد برای رسیدن به خروجی نهایی (احتمالاً با ارسال مجدد آن‌ها به عنوان یک وظیفه‌ی جدید) دوباره آن‌ها را پردازش نمود.

البته این تنها استفاده‌ی کامپیوترهای خوشه‌ای نیست و مواردی چون افزونگی و تحمل خطا را هم می‌توان به حساب آورد. همچنین اگر یک سرور به دلیل خرابی یا هر چیز دیگری از دسترس خارج شود، پردازش شما از طریق سایر سرورهای موجود در خوشه انجام خواهد گرفت.

این‌ها همه مفاهیمی هستند که معمولاً به سیستم‌های خوشه‌ای بزرگ‌تر، پیشرفته‌تر و حتی به سرویس‌های دیتاسنتر ابری اتلاق می‌شوند. ولی منظور من این است که با استفاده از سیستم‌های رزبری پای ارزان قیمت می‌توانید یک خوشه‌ی ساده بسازید، و با این کار نه تنها دانش و تجربه‌ی خود را افزایش می‌دهید، بلکه در پایان کار یک منبع پردازشی قدرتمند هم در اختیار خواهید داشت.

حالا برویم سراغ سخت‌افزارهایی که در این پروژه از آن‌ها استفاده کردم. بالاتر گفتم که من یک سرور اضافه هم به خوشه‌ام اضافه کردم. این کار را کردم چون وقتی داشتم در وبسایت Pi-Shop.ch می‌گشتم چشمم به Raspberry Pi 2 V1.2 خورد.

مشخصات کلی این مدل شبیه رزبری پای ۲ است، اما در این مدل از پردازنده‌ی پای ۳ استفاده شده است (هر چند سرعت ساعت کمتری دارد). این مسئله اهمیت چندانی ندارد و احتمالاً برای اکثر مردم خیلی هم جذاب نیست، چون به هر حال امروز پای ۳ محبوبیت بیشتری دارد. ولی همین برای من کافی بود تا یک دستگاه دیگر بگیرم و آن را به خوشه‌ام اضافه کنم.

نکته‌ای که درباره‌ی این سیستم اضافه باید گفت این است که لازم نیست با سیستم (کنترل‌گر) کلاینت یا سایر سرورها کاری بکنم. صرفاً پای ۲ را دقیقاً به همان روشی که بقیه را آماده کرده بودم آماده کردم، سپس آن را به شبکه‌ی بیسیم خوشه‌ی پای‌ها وصل نمودم. بعداً که کار تازه‌ای را روی کلاینت شروع کردم، شبکه متوجه سرور جدید شد و در کنار بقیه‌ی سرورها شروع به استفاده از آن نمود.

علاوه بر این‌ها، در پروژه‌ی اصلی گفته بودم که برای وصل کردن همه‌ی رزبری پای‌هایم آداپتور وای-فای USB نداشتم، خوب، این پای جدید هم به آداپتور وای-فای نیاز داشت.از آن جایی که در فروشگاه Pi-Shop چندین آداپتور جدید اضافه شده بود، فرصت را غنیمت شمردم و تصمیم گرفتم آن‌ها را امتحان کنم.

وقتی می‌خواهید برای رزبری پای آداپتور وای-فای USB بخرید باید در نظر داشته باشید که این آداپتور باید در خارج از سیستم هم به خوبی کار کند.

می‌دانم حرفم احمقانه به نظر می‌رسد، اما این دقیقاً نقطه‌ی مقابل رویکردی است که در هنگام خرید لوازم جانبی برای کامپیوترهای رومیزی و لپتاپ‌های لینوکسی‌ام در پیش می‌گیرم. البته، می‌توانید آداپتوری بگیرید که با هر توزیع لینوکسی کار کند، ولی اگر نمی‌خواهید وقت‌تان را بیهود پای راه انداختن درایورهای مختلف هدر بدهید، می‌توانید روش ساده‌تر را انتخاب کنید و آداپتوری بخرید که از قبل با سیستم‌های مختلف آزمایش شده و کار می‌کند.

بهترین راه برای مطمئن شدن از این قضیه این است که آداپتور خود را از یکی از توزیع کننده‌های معتبر رزبری پای تهیه کنید. البته باید در سایتشان ذکر کرده باشند که این آداپتور با پای هم کار می‌کند یا نه.

رزبری پای

اولین دستگاهی که گرفتم Miniature WiFi (802.11b/g/n) 150Mbps بود. من معتقدم این دستگاه همان Miniature WiFi (802.11b/g/n) 150Mbps است، اما در تصاویر چنین به نظر نمی‌رسد؛ شاید به خاطر نوع بسته بندی یا مواردی از این دست باشد. به هر حال، دستگاهی که من خریدم شبیه تصویر بالاست، و همان طور که در توضیحات آن گفته شده، به خوبی با رزبری پای کار می‌کند. این دستگاه حدود ۱۰٫۵ دلار قیمت دارد.

Miniature مبتنی بر تراشه‌ی Realtek RTL5370 است و یک چراغ LED آبی رنگ دارد.

رزبری پای

با توجه به این که روی دور «آزمایش چیزهای جدید» افتاده بودم، و متوجه آداپتور وای-فای جدیدی شدم که توان خروجی بالاتری داشت، تصمیم گرفتم به آن هم یک شانس بدهم. این دستگاه USB WiFi Adapter for Raspberry Pi (300Mbps) بود و شبیه تصویر سمت بالا است.

قیمت این دستگاه ۲۵ دلار است، بنابراین قبل از این که به جای گزینه‌ی اول این را بخرید بهتر است کمی بیشتر فکر کنید. به یاد داشته باشید که داریم در مورد سیستم‌های رزبری پای حرف می‌زنیم، این سیستم‌ها هیچ وقت به سریع بودن ارتباطات USB خود معروف نبوده‌اند. پس شاید در عمل، سرعت این آداپتور که به عنوان مزیت اصلی آن در نظر گرفته شده چندان تفاوتی نداشته باشد.

این دستگاه هم مبتنی بر تراشه‌ی Realtek 8192SU است و یک چراغ LED دارد.

آخرین قطعه‌ی سخت‌افزاری این پروژه دستگاهی است که فکر کنم از همه کاربرد بیشتری دارد: TP-Link TL WR802N Wireless N Nano Router.

این دستگاه ارزان قیمت (۳۲ دلاری) خیلی کوچک و سبک است، و برای استفاده‌های رایج تنظیمات و حالت‌های از پیش تعریف شده دارد. من از آن برای راه‌اندازی یک شبکه‌ی WLAN ایزوله شده‌ی بدون اینترنت (Router Mode) استفاده کردم، اما به وسیله‌ی کابل شبکه‌ی RJ45 (Access Point Mode) یا یک کانکشن WISP بیسیم (Hotspot Mode) می‌توان با آن به اینترنت هم دسترسی داشت.

به علاوه، برای تکمیل شبکه‌های Wi-Fi موجود (Range Extender Mode) یا به عنوان آداپتور وای-فای برای دستگاهی که فقط از ارتباط سیمی استفاده می‌کند (Client Mode) هم می‌توان آن را به کار گرفت.

روتر WR802N برای خودش آداپتور برق جدا دارد، ولی برق آن را به وسیله‌ی آداپتور خود رزبری پای (یا هر شارژر MicroUSB دیگری) یا حتی اتصال به پورت USB کامپیوتر می‌توان هم تامین نمود.

فعلاً نظرم راجع به این روتر مثبت است، و فکر می‌کنم که چه در مسافرت و چه در خانه بسیار کاربردی باشد.

وقتی تصمیم گرفتم این خوشه را بسازم، با وجود این که می‌دانستم این کار خیلی جالب است، فکر می‌کردم کل سیستم خیلی زود کاربرد خود را از دست می‌دهد و از هم می‌پاشد. ولی حالا که می‌بینم همه چیز خیلی خوب دارد به کار خودش ادامه می‌دهد، باید آن را بهتر کنم و به فکر استفاده‌های جالب‌تری برایش باشم.

به یاد داشته باشید که برای شروع کار لازم نیست حتماً تعداد زیادی رزبری پای بخرید، دو سرور و یک کلاینت هم برای شروع کافی است. اما هشیار باشید، چون به محض این که سیستم را راه انداختید، متوجه می‌شوید که بهانه‌ی خوبی برای خرید قطعات بیشتر و بهتر پیدا کرده‌اید.

یک دیدگاه