اهداف این آموزش
- شناساندن یک هارد دیسک داخلی به OpenWrt
- تبدیل هارد دیسک به یک Share Drive روی شبکه
- راهاندازی DLNA Server (مدیا سنتر) برای پخش انواع ویدئو، موزیک و عکس روی تلویزیون و دستگاههای مجهز به DLNA
مقدمه
DLNA Server چیست؟ بطور خلاصه DLNA Server محتوای چند رسانهای شامل ویدئو، موزیک و عکسهای موجود روی هارد دیسک را روی شبکه پخش (Broadcast) میکند. دیوایسهای مجهز به DLNA که به شبکه متصل هستند بدون نیاز به عملیات خاصی، به این محتوا دسترسی خواهند داشت.
تقریباً تمام تلویزیونهای ساخت ۱۰ سال اخیر، DLNA را دارند و میشود گفت تمام Smart TV ها این قابلیت را دارند. این امکان، یعنی شما فیلم و سریالهایتان را روی هارد دیسک OpenWrt ذخیره میکنید ولی از تلویزیون آنها را با بالاترین کیفیت مشاهده میکنید و دیگر برای فیلم دیدن نیازی به نشستن پای لپتاپ و کامپیوتر نیست. فنآوری بسیار کاربردی و مفیدی است!
برای این کار باید ابتدا یک هارددیسک را به OpenWrt معرفی کنیم تا بتوانیم از فضای هارد دیسک برای DLNA Server و Share Drive استفاده کنیم.
برای حذف خطاهای احتمالیِ عملیات، ابتدا روی یک PC قدیمی با CPU اینتل Core2 Quad 8400 و با 4GB رم DDR2 و یک کارت شبکه 100Mbps و هارد دیسک 500GB سیستمعامل OpenWrt را نصب کرده و فضای پارتیشن Root را افزایش داده و همچنین در پنل از منوی System و Software سیستم OpenWrt را آپدیت کردهام. یعنی یک OpenWrt تازه.
آموزش نصب OpenWrt را از این لینک (با ۲ کارت شبکه) و این لینک (با یک کارت شبکه) دریافت نمائید.
از آنجایی که از ابتدای مجموعه آموزشهای “راهاندازی سرور خانگی”، هدفم آموزشِ مخاطبان و کاربران عمومیِ کامپیوتر بوده است، تا اکثریت را بتوانم پوشش دهم که بتوانند این غول چراغ جادو را با سهولت راهاندازی کنند، همواره در سادهسازی مطالب کوشیدهام. امیدوارم ثمربخش بوده باشد.
در این مقاله هم، برای سادهسازی آموزش و پرهیز از برخی ناسازگاریها و دستورات پیچیده، مجبور شدم فرض را بر این بگیرم که شما محتوای هارد دیسک قبلی را نیاز ندارید.
پس اگر دیتای ارزشمندی دارید، قبل از ادامه، از آنها روی دیسک دیگری Backup بگیرید. سپس در پایان کار میتوانید دیتای خود را به همین دیسک برگردانید و دیتای روی دیسک را برای بقیه هم به اشتراک بگذارید و یا فقط برای خودتان بطور اختصاصی دسترسی ایجاد کنید.
پارتیشنبندی هارد دیسک در OpenWrt
با یک ترمینال SSH به OpenWrt متصل میشویم. در این آموزش IP دستگاه OpenWrt من ۱۹۲.۱۶۸.۱۰۰.۲۰۰ است. شما مطابق IP دستگاه خود، دستورات را تغییر دهید.
ابتدا ویدئو را با دقت و با حوصله و Pause/Play ببینید، سپس دست به کار شوید.
طبق معمول ابتدا دستور زیر را میزنیم:
opkg update
با دستور زیر fdisk را نصب میکنیم:
opkg install fdisk
با دستور زیر دیسکهای متصل به OpenWrt را لیست میکنیم:
fdisk -l
حجم هارد دیسک کمک میکند تا لیبل هارد دیسک مان در OpenWrt را بیابیم، چیزی شبیه به
sda یا sdb یا sdc
همانگونه که در ویدئو هم مشاهده میکنید هارد دیسک من نام sda دارد.
با دستور زیر کلیه پارتیشن های روی دیسک را حذف می کنیم.
dd if=/dev/zero of=/dev/sda bs=۵۱۲ count=۱
در ادامه ما قصد داریم کل هارددیسک را فقط به یک پارتیشن تبدیل کنیم. در ویدئو، دقایق ۴:۲۶ الی با ۶:۳۶ با دقت ملاحظه و انجام شود.
fdisk /dev/sda
پس از پایان کار با fdisk، با دستور زیر تنها پارتیشن موجود روی هارد دیسک را فرمت میکنیم. دستور را تایپ و Enter و کمی صبر کنید. خودش کار را تمام میکند و به خط فرمان بر میگردد.
mkfs.ext4 /dev/sda1
سوار کردن (Mount) هارد دیسک روی OpenWrt
ابتدا ویدئو را مشاهده کنید.
حالا برای Mount هارد دیسک دستورات زیر را به ترتیب بزنید.
opkg install block-mount
block detect | uci import fstab
uci show fstab
uci set fstab.@mount[۰].enabled='۱'
uci commit fstab
reboot
با دستور آخر OpenWrt ریبوت میشود. صبر میکنیم تا سیستم کامل بوت شود.
خب الان هارد دیسک ما برای OpenWrt قابل شناسائی شده است و میتوانیم به مراحل بعد برویم.
راهاندازی Share Drive و تعریف آن برای کامپیوترهای شبکه
ویدئو را مشاهده کنید و سپس یا همزمان دستورات:
ابتدا با دستور زیر ویرایشگر nano را نصب میکنیم.
opkg install nano
برای دسترسی به هارد دیسک و اشتراک گذاری فضای آن (نوشتن و خواندن) نیاز به نصب اپ Samba داریم.
با دستورات زیر آن را نصب میکنیم:
opkg install samba4-server
opkg install luci-app-samba4
باید یک کاربر و رمز عبور تعیین کنیم تا از طریق آن بتوانیم از روی شبکه به محتوای هارد دیسک متصل شده به OpenWrt دسترسی داشته باشیم.
با دستور زیر وارد فایل passwd میشویم
nano /etc/passwd
با اضافه کردن خط زیر به فایل فوق، برای کاربری به نام kevin دسترسی ایجاد میکنیم.
kevin:*:۱۰۰۰:۶۵۵۳۴:kevin:/var:/bin/false
فایل را ذخیره کرده و خارج میشویم.
حالا با دستور زیر یک پسورد برای کاربر kevin تعیین میکنیم:
smbpasswd -a kevin
و با دستور زیر سرویس Samba4 را ریاستارت میکنیم.
service samba4 restart
وارد پنل OpenWrt شوید. (پنل OpenWrt را Luci هم مینامند.) از منوی Services گزینهی Network Shares را انتخاب کنید. در پائین صفحه در قسمت Shared Directories روی دکمهی Add بزنید. سه فیلد را باید پر کنید:
۱- یک نام برای هارد دیسک بگذارید. هر نامی که دوست دارید. به عنوان مثال من Kevin Drive گذاشتم.
۲- مسیر هارد دیسک را باید بصورت زیر بدهید:
/mnt/sda1
۳- نام کاربری که چند خط بالاتر تعریف کردید. به عنوان مثال من در بالا نام کاربر را kevin تعیین کردم.
گزینهی Force Root را تیک بزنید و تیک گزینهی Allow guests را بردارید. بقیه را تغییر ندهید.
نهایتاً دکمهی Save & Apply را میزنیم.
برای دسترسی به درایو مشترک (Share Drive):
ویندوز ۱۰ و ۱۱: در پنجرهی This PC کلیک راست کنید. گزینهی Add a network location را بزنید. دکمهی Next را بزنید، دوباره Next. در قسمت Internet or network address آدرس درایو مشترک را بصورت زیر وارد کنید و Next بزنید. در این صفحه یک نام برای درایو پیشنهاد میشود که میتوانید تغییر دهید. دوباره Next و در صفحهی بعد دکمهی Finish را بزنید. درایو شیر به This PC شما اضافه میشود.
\\۱۹۲.۱۶۸.۱۰۰.۲۰۰\Kevin Drive
مکبوک: Finder را باز کنید به منوی Go رفته و گزینهی Connect to Server را انتخاب کنید. مثل تصویر آدرس را با فرمت زیر وارد کنید.
روی Connect بزنید. در پنجرهی جدید در نام کاربری و رمز را مطابق چیزی که برای Samba تعریف کردهاید، وارد کنید و متصل شود.
راهاندازی DLNA Server
برای راهاندازی DLNA روی OpenWrt ابتدا ویدئو را مشاهده کنید. سپس به سراغ کدها بروید و یا همزمان انجام دهید:
مثل همیشه اول opkg update و سپس دستورات زیر:
opkg install libffmpeg-full
opkg install luci-app-minidlna
خب، پس از دستورات بالا به پنل luci میرویم. اگر در پنل هستید، باید از پنل خارج شده (log out) و دوباره وارد (log in) شوید.
میبینیم که در منوی Services اپ miniDLNA اضافه شده است. کلیک میکنیم.
در حال حاضر روی این هارد دیسک ۴ ویدئو دارم و هیچ موزیک و یا عکسی روی آن نیست. همانطور که در ویدئو هم مشاهده میکنید، قبل از فعالسازی DLNA تعداد هر سه را صفر نشان میدهد.
حالا تیک گزینهی Enable را میزنیم و سپس Save & Apply میکنیم. مشاهده میکنید که در بالای صفحه، برنامه ۴ ویدئو را شناسایی کرده است. اگر تعداد فیلم و سریال شما زیاد باشد، در حدود یک دقیقه طول میکشد تا همه را ایندکس کند. فعلاً به گزینههای دیگر دست نزنید.
📌 نکتهی مهم: اگر OpenWrt را با یک کارت شبکه راهاندازی کردهاید، تلویزیون هم به همان مودم یا روتر متصل باشد. اگر OpenWrt را با ۲ کارت شبکه راه انداختهاید و پس از OpenWrt از روتر دوم استفاده میکنید، لازم است روتر دوم در حالت Access Point باشد (همان رنج IP مودم اینترنت) تا کلیهی دیوایسهای متصل به آن (متصل به روتر دوم) بتوانند DLNA را دتکت کنند. اگر روتر دوم در حالت Router باشد، دستگاههای متصل به آن DLNA را شناسایی نخواهند کرد. (چون رنج IP متفاوت خواهد شد.)
به سراغ تلویزیون بروید و مطمئن شوید که به شبکه وصل است. بگردید گزینهی DLNA را پیدا کنید. معمولاً این گزینه در قسمت انتخاب ورودیها است. احتمالاً یک آیکون پنگوئن با نام OpenWrt DLNA Server به لیست ورودیها اضافه شده است. وارد شده و از این فنآوری لذت ببرید!
به زودی در آموزش دیگری DLNA را به اپلیکیشن Plex ارتقاء خواهیم داد و چیزی شبیه به تصویر زیر را در تلویزیون هوشمند خواهیم داشت.
باید این مسیر را تا اینجا میآمدیم تا پس از آن چند امکان و سرویس جذاب دیگر را روی OpenWrt پیاده کنیم.
تهیهی این آموزش بیش از ۳۰ ساعت زمان برد. لطفاً از طریق دکمههای زیر به اشتراک بگذارید.
پایان آموزش.
سلام
خیلی ممنون، واقعاً اموزش عالی و کاربردی بود. فقط اگر بخواهیم یک هارد اکسترنال رو به Openwrt معرفی کنیم، باید از کدوم مرحله جلو بریم؟ نیازی به پارتیشنبندی هست؟
درود بر شما، برای هارد اکسترنال و کلا پورت USB روش دیگهای هست که امیدوارم بتونم در موردش زودتر بنویسم.
خیلی ممنون. پس منتظر اونم هستیم. فقط فعلاً اگر ممکنه یکسری سرنخ بهم بدی که اگه خودم بخوام انجام بدم باید از کجا شروع کنم. ایا به نصب پکیج خاصی نیاز هست؟
پکیج زیاده باید تست کنی.
سلام و خسته نباشی بابت آموزشای عالی.
تا اینجا که واقعا عالی بود . منتظر قسمتهای بعدی هستیم. راه اندازی plex بشدت جذاب بنظر میرسه
درود بر شما. خواهش میکنم. سعی میکنم پلکس رو تا آخر هفته آینده حتما منتشر کنم. قبلش باید Share Drive رو فعال کرده باشید.
قسمت fdisk /dev/sda در فایل ویدیویی وجود داره اما دستورات متنیش نیست . من که با فایل ویدیویی انجامش دادم و راه اندازیش کردم . بقیه دوستان شاید فقط به دستورات متنی اکتفا کنن ، هارد رو در قسمت mounted نمیاره و به مشکل برخوردن میکنن
ازتون خیلی تشکر می کنم. اصلاحش کردم. 👍
سلام وقت بخیر ، ممنون از زحماتتون با موفقیت انجام شد و روی کامپیوترم بدون مشکل فرایند کار میکنه ولی روی لبتاب با ارتباط بی سیم روی همین شبکه نمیتونم هارد مشترک رو اضافه کنم اررور میده مشکل بعدی روی گوشی هست با چه نرم افزاری میشه مدیریت و کار کرد باهاش روی ios چیز خاصی پیدا نکردم راستی پورتش چنده روی گوشی گورت میخواست بازم ممنون خیلی خوشحالم
سامان جان سلام. وقت شما هم بخیر. چه اروری میده؟ اینجا برام بنویس. توی ios برای DLNA میتونید از VLC استفاده کنید و برای درایو و فایلها از این لینک را ببینید:
https://support.apple.com/guide/iphone/connect-external-devices-or-servers-iph8d8f0f1a0/ios
و یا اپ های FTP Manager, FE File Explorer
برای گوشی سامسونگ در اپ My Files گزینه Network Storage رو بزن و آدرس OpenWrt رو بده. پورت اگر جایی خواست ۴۴۵ رو بده.
درود بر شما روی گوشی هم اوکی شد ولی همچنان روی لبتاب متصل نمیشه با همون دستور
Error
The folder you entered does not appear to be valid.please choose another.
ولی فولدر وجود داره و تمام دستگاه ها روی یه شبکه هستند با ای پی های یه رنج الان روی کامپیوتر و گوشی ها متصل هستند. چطوری میتونم عکس و اینها رو واستون بفرستم
درود. به [email protected] ایمیل کنید.