OpenWrt و کارهای جانبی آن

اینم یه تجربه پراکنده دیگه!

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

به نظرم لیست کارهای ایناست:
– بخاطر داشتن پکیجهای aria2 و transmission به همراه داشتن usb گزینه مناسبی برای دانلود کردن اتوماتیک هست
– میشه کارهای مدل Internet of Things انجام داد. مثلا میشه یه سری کلید تحت شبکه رو کنترل کرد. این کلیدها با گرفتن یه دستور خاص خاموش یا روشن میشن. پس میشه کلی کار جذاب تو مایه‌های اتوماسیون خانگی و خانه هوشمند و اینا انجام داد.
– میشه بصورت ساده دسترسی به اینترنت رو به ساعاتی محدود کرد. مثلا میشه گفت که فلان دستگاه فقط تو این ساعات به اینترنت درسترسی داره. این به درد دستگاه‌هایی میخوره که امکان زمانبندی کارها توشون وجود نداره
– میشه با کمک minidlna یا emby تبدیلش کرد به یه media server برای اشتراک گذاری فیلم و موسیقی

و کلا چون یه لینوکس با کلی پکیج هست کارهایی بسیار دیگه‌ای هم میشه انجام داد.

همین!

پ. ن. من واسه اینکه usb رو روی یکی از مدلهای tp-link راه بندازم یکبار روتر رو تا دم مرگ بردم و با روشهایی سخت افزاری که تو عکس هست دوباره زندش کردم!

ماجراهای تکنولوژیک خانه من: برنامه بروزرسانی بعد از دو سال

اینم یه تجربه پراکنده دیگه!

همینطور که قبلا نوشته بودم(لینک، لینک، لینک) من تقریبا دوسال میشه که یه سیستم تمام وقت روشن توی خونه دارم که باهاش کارهای بسیاری میکنم که لیست اون کارها از این قراره:

  1. یه ماشین مجازی کوچک دارم و pfsense مسئولیت مسیریابی خونه رو به عهده داره
  2. روش minidlna دارم  که مسئولیت تفریحات فیلمی خونه رو برعهده داره
  3. روش یه samba server دارم که مسئولیت اشتراک فایل رو برعهده داره
  4. روش یه seafile سرور دارم که مسئولیت بک آپ اتوماتیک از تصاویر تلفن‌ها و اطلاعات مهم لپ تاپ‌ها رو برعهده داره.
  5. روش یه deluge دارم که شبها تورنتها رو دانلود و آپلود میکنه
  6. روش یه سرور taskwarior دارم که نقط بک آپ مدیریت لیست کارهایی هست که در هفته انجام میدم

کانفیگ سیستم هم اصلا جدید نیست و یه سیستم میشه گفت بسیار قدیمیه

  1. سی پی یو: AMD sempron 3000+ AM2
  2. رم : ابتدا ۱ گیگ و سپس ارتقا به ۲٫۵ گیگ
  3. هارد: ۵۰۰ گیگ
  4. سیستم عامل: اوایل ubuntu server و mint

این سیستم تقریبا با ثبات بسیار خوبی این دو سال گذشته رو خدمت رسانی کرده و من ازش راضیم خدا هم ازش راضی باشه! توی این دو سال من تجربه بسیاری خوبی در مورد مدیریت یه سیستم تنها به کمک ssh داشتم. همچنین توی این دوسال خانمم هم به مدت کوتاهی از این سیستم به عنوان دسکتاپ استفاده کرده.

اما این سیستم بعد از دوسال نیاز به بروزرسانی داره و من میخوام به دلایل زیر این سیستم رو از نظر سخت افزاری و نرم افزاری ارتقا بدم

  1. پرشدن هارد بر اثر دانلود زیاد
  2. نیاز به راه‌اندازی یک NAS به دلیل نزدیک شدن به پایان عمر مفید هارد دیسک‌های اکسترنال(حدودا سال ۸۷ خریداری شده اند)
  3. یادگیری تکنولوژی‌های جدید
  4. بهینه سازی سیستم فعلی

اما طرح من برای بهینه کردن این سیستم از این قراره که:

  1. علی الحساب میخوام سه تا هارد دو ترا به سیستم اضافه کنم که یکیش بک آپ اون دوتای دیگه باشه. همچنین نمیخوام از کارت raid استفاده کنم و ترجیحم اینه که از سیستم فایل zfs استفاده کنم.
  2. میخوام بتونم روی این سیستم از مجازی سازی سبک یا همون container های استفاده کنم که این استفاده هم کلی چیز جدید به من یاد میده
  3. میخوام سیستم عامل رو سبک کنم و میزان مصرف منابع کاهش بدم. برای این کار به نظر میرسه باید از لینوکس به یه سیستم عامل دیگه مهاجرت کنم که این مهاجرت کلی مطالب جدید به من یاد میده
  4. در صورتی که پولم برسه میخوام یه ssd بخرم و اون رو به عنوان cache به zfs اضافه کنم,

چالشهای پیش روم هم ایناست:

  1. zfs یک سیستم فایل بسیار قوی هست اما من فکر نمیکنم که هنوز به اندازه کافی اون رو بلدم که بخوام بهش اعتماد کنم و کل هاردهام رو به اون بسپارم
  2. zfs روی سیستم عامل freebsd و illumos و حتی linux وجود داره اما من نمیدونم کدوم پیاده‌سازی بهتر و با ثبات تره. البته باید بگم که پیاده‌سازی‌های موجود روی این سیستم‌ها قدیمی و با ثبات هستن
  3. تکنولوژی مجازی سازی سبک یا container‌ ها همنطور که اینجا هم بررسی کردم روی لینوکس freebsd و illumos با هم متفاوته من هیچ دید عملیاتی ندارم که کدوم بهتره.
  4. هر کدوم از این سیستم‌های یه سری کارها رو راحت کردن مثلا freebsd با freenas و nas4free کار رو برای پیاده‌سازی آسون zfs راحت کرده و شیر کردن و تورنت بازی این چیزا خیلی ساده شده. همچنین illumos با یه محصول به نام smartos مجازی سازی و مجازی سازی سبک و مدیریت اونها رو بسیار ساده کرده. که این انتخاب رو سخت میکنه

حالا با توجه به اینکه انتخاب‌های من کم نیستن بایستی یکم بیشتر بررسی کنم و انتخاب کنم.

همین!

همه ایده‌های من: سرور سرگمی خانگی

اینم یه تجربه پراکنده دیگه!

الوعده وفا! گفته بودم ایده‌هام رو مینویسم اینم اولین ایده.

خب اگه خواننده وبلاگ من بوده باشید، میدونید که من یه سری تکنولوژی‌های عجیب غریب توی خونه خودم پیاده‌سازی کردم. که ویژگی‌های زیر رو داره:

  • امکان file sharing داره
  • امکان پخش فایل‌های فیلم، صوت یا تصویر رو با استفاده از dlna داره.
  • امکان زمانبندی دانلود از طریق torrent رو داره که به درد خوره ‌های دانلود میخوره
  • من روی اون یه seafile نصب کردم که یه چیزی شبیه dropbox هست و فایل‌های مهم روی گوشی و لپ تاپم رو در چند نقطه backup میگیرم
  • همچنین آی پی من رو به صورت متناوب به  dynamic DNS گزارش میده و من میتونم از بیرون خونه به کامپیوتر خونه دسترسی داشته باشم.

حالا اگه کسی بتونه یه سیستم کوچک و ارزان تولید کنه که اول از همه یه واسط کاربری تو دل برو داشته باشه و این امکانات رو به کاربر نهایی بده احتمالا با اقبال عمومی مواجه میشه. پیشنهاد من واسه تولید این سیستم اینه:

  • استفاده از بردی مثل رزبری‌پای به عنوان اصل سیستم
  • نصب یک لینوکس خیلی سبک روی این سیستم
  • راه‌اندازی samba و مدیریتش توسط وب برای filesharing
  • راه‌اندازی minidlna یا سرویس‌های مشابه برای اشتراک فیل با تلوزیون‌های هوشمند
  • راه‌اندازی seafile و امکان تنظیم اون
  • امکان دانلود از torrent و لینک مستقیم رو داشته باشه
  • امکان اجرای دستور بصورت متناوب
  • امکان اتصال هارد دیسک یا هر سیستم usb دیگه به عنوان واسط ذخیره سازی
  • استفاده از یک usb hub برای افزایش تعداد هارد‌های متصل

از نظر من هزینه های تولید این سیستم به این شرحه

  • خرید برد با حدود ۲۰۰ هزار تومن
  • نوشتن واسط وب برای این سیستم که به نظر من بایستی با زبانی مثل python نوشته بشه که راحت بشه هم با سیستم عامل صحبت کرد و هم واسط وب ساخت. هزینه تخمینی تولید این نرم افزار از دید من عددی بین ۱۰ میلیون تومان تا ۱۵ میلیون تومان هست. یعنی اگه من به عنوان یه شرکت میخواستم این پروژه رو انجام بدم حداقل این عدد رو میگرفتم.
  • هزینه طراحی کیس و بسته بندی محصول که ایده‌ای ندارم چقدر میشه
  • هزینه کارت اس دی برای هر محصول

چالش‌های اساسی ساخت این سیستم

  • نیاز به رقابت با محصولات مشابه مثل set-top box و یا Western Digital TV و یا محصولات مشابه
  • نبود نیروی متخصص کافی برای تولید چنین محصولی
  • عدم وجود بازار فعلی برای این محصول. با توجه به شناخت شخصی من از بازار همین الان محصولات Western Digital بازار قابل توجهی ندارن
  • سخت بودن بازار رقابتی واردات محصولات الکترونیکی
  • در صورت مشتری داشتن نیاز به تعداد زیادی نیروی پشتیبانی برای محصول هست.

راه‌ بردهای جایگزین:

  • این سیستم که من توصیف کردم خیلی شبیه سیستم‌های NAS هست و میشه از سیستم عامل‌های اختصاصی سازی شده برای NAS استفاده کرد. این امر باعث میشه هزینه توسعه به حد یک سوم کاهش پیدا کنه اما دو تا بدی داره. اولا اینکه این سیستم‌ها معمولا  نسخه مخصوص یه برد ارزان قیمت مثل رزبری پای ندارن. دوم اینکه یادگرفتن یه سیستم که توسعه داده شده کار سختیه و روند نگهداری سیستم رو در دراز مدت کم میکنه.

امیدوارم این محصول به درد کسی بخوره و من منتظر نظرات شما اینجا هستم

همین!

ماجراهای تکنولوژیک من و خانه‌ام: انواع دستگاه‌های DLNA

خب اینم یه تجربه پراکنده دیگه!

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

به همین خاطر من یه سرچی کردم و دیدم که دستگاه‌هایی که از DLNA پشتیبانی میکنن چهار نوع هستن که لیستشون در پایین اومده:

  • Digital media servers (DMS):  این نوع مسئول پخش فایل‌هاست. این همون سروری هست که من توی خونه با استفاده minidlna راه انداختم.
  • Digital media renderers (DMR): همون دستگاه پخش کننده است که تلوزیون من مسئول پخش این بخش است. نکته قابل توجه توی این قسمت اینه که فایل‌های چندرسانه‌ای به این دستگاه فرستاده میشه!
  • Digital media controllers (DMC): این دستگاه مسئول کنترل پخش به جلو یا عقب بردنه که موبایل این آشنای ما این امکان رو داشت.
  • Digital media players (DMP): این دستگاه هم پخش کننده است با این تفاوت که خودش میره و فایل‌ها رو از سرور میگیره و پخش میکنه. باز هم این قسمت رو تلوزیون من برعهده داره.

بعد از یکم کمک گرفتن از گوگل من برنامه‌ای رو پیدا کردم میتونم که این کار رو کنن. برنامه ای که من روی لینوکسم برای اینکار پیدا کردم gUPnP بود که کارهای زیادی انجام میده اما یکی از اونا کنترل DLNA هست. واسه موبایل هم من BubbleUPnP رو پیدا کردم که علاوه بر اینکه میتونه سرور باشه، نقش کنترل کننده رو هم بازی میکنه.

همین!

منبع: اینجا

راهکارهای متن باز برای Network Attached Storage

اینم یه تجربه پراکنده دیگه!

امروز میخوام درباره Network Attached Storage یا همون NAS یکم بنویسم. خب از اونجایی که من علاقه‌مند به سیستم های متن بازم پس بازهم در مورد راهکارهایی که متن باز این سیستم رو پیاده‌سازی میکنن حرف میزنم. فکر کنم که بهتره هرچه سریعتر لیست این محصولات رو بگم:

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

پروتکل‌های ارتباطی که معمولا هر کدوم از این محصولات پشتیبانی میکنند هم توی لیست پایین اومدن:

فکر میکنم یکی دیگه از اطلاعاتی که مهمه مقایسه این محصولات با همه که با توجه به جستجوهای من در اینترنت این مقالات رو پیدا کردم که فکر کنم به درد بخوره

مقایسه FreeNAS با Openfiler توی این لینک پیدا میشه

مقایسه FreeNAS با NAS4Free توی این لینک پیدا میشه

همین!

ماجرای تکنولوژیک من و خانه ام : من و تلوزیون هوشمندم

با یه تجربه پراکنده دیگه برگشتم

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

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

کار که من کردم ساده بود. اول کلی گشتم ببینم این allShare چیه؟ وقتی پیداش کردم که همون سرور dlna هست گشتم و یه پیاده سازی لینوکسی از این سرور رو روی همون کامپیوتری که توی پست «ماجراهای تکنولوژیک من و خانه ام» گفتم نصب کردم و حالا اون کامپیوتر قدیمی من کار پخش فیلم رو هم برعهده گرفته. تنها کاری که من میکنم اینه که فیلما رو توی یه فولدر اون کامپیوتر قرار میدم و کار تمومه.

خب یه سری اطلاعات فنی هم بدم که این داستانی که تعریف کردم یکم هم با تکنولوژیک داشته باشه. اونم اینه که سرورهای dlna زیادی وجود داره که من فقط اینجا اسم میبرم و یه لیست کوچیک رو ازشون معرفی میکنم

  • سرور allshare که یه سرور تحت ویندوزه که بصورت مجانی توسط خود سامسونگ ارائه میشه
  • سرور serviio که یه سرور اپن سورسه که لایسنس پولی هم داره. بخاطر جاوایی بودنش تمام سیستم عامل‌ها رو پشتیبانی میکنه و از تغییراتی که شرکت‌های پیاده ساز این تکنولوژی در راستای محصول سازی رو استاندارد دادن بخوبی پشتیبانی میکنه
  • سرور minidlna که سرور محبوب منه چون به رم و سی پی یو کمی نیاز داره و روی کامپیوتر من که کلی چیز دیگه هم روش داره ران میشه
  • نسخه‌های جدید xbmc که یه برنامه به عنوان media center هست هم این امکان رو فراهم میکنه.

لیست بیشتر این سرورها رو میتونید توی این آدرس پیدا کنید.