پروژه R2D2: چطور تلویزیون هوشمند webOS را به یک نمایشگر ساده و شخصیسازیشده تبدیل کنیم — Show HN: Making a smart TV dumb and then smart
خلاصه
پروژه R2D2 ابزاری متنباز است که سیستمعامل سنگین و پر از تبلیغات تلویزیونهای webOS را دور میزند. این پروژه با انتقال پردازش به یک هاست لینوکسی مجزا و استفاده از WebRTC، محیطی امن، سریع و مبتنی بر صدا برای تلویزیون فراهم میکند.
در یک نگاه
- نام مخزن: anubhavmalhotra/r2d2-tv
- زبان اصلی: پایتون (Python)
- مجوز: MIT و GPL-3.0-or-later
- سیستمعامل هدف: تلویزیونهای مبتنی بر webOS
- امتیاز هکرنیوز: ۱۵ ستاره با ۱ دیدگاه
داستان پروژه R2D2 و حل یک مشکل آزاردهنده
بسیاری از توسعهدهندگان از بهروزرسانیهای اجباری، نرمافزارهای پُر از bloatware و رابطهای کاربری کند تلویزیونهای هوشمند مدرن خسته شدهاند. انتشار یک بهروزرسانی ناخواسته روی سیستمعامل webOS باعث شد سازنده پروژه (anubhavmalhotra) به فکر نوشتن نرمافزار جدیدی برای تلویزیون خود بیفتد. نتیجه کار پروژهای به نام R2D2 است که تلویزیون هوشمند را به یک «نمایشگر اصطلاحاً کند (Dumb) اما هوشمند در لایه کنترل» تبدیل میکند.
نکته جالب در مورد توسعه این ابزار این است که کدهای آن با کمک مدلهای هوش مصنوعی نوشته شدهاند، اما تصمیمات معماری کلیدی نظیر استفاده از WebRTC برای کاهش تاخیر، بازطراحی بافر صدا و تجربه کاربری توسط انسان مدیریت شدهاند.
معماری و نحوه کارکرد فنی
این سیستم از بخشهای مجزایی تشکیل شده است که وظایف پردازشی را از نمایشگر جدا میکنند:
- هاست پردازشی (Compute Host): یک ماشین لینوکسی aarch64 (با اکانت غیر روت) است که وظایف سنگین را به دوش میکشد. این بخش شامل یک نمونه سَندباکسشده از مرورگر Chromium در یک دیسپلی و صوتی اختصاصی، مدلهای تشخیص گفتار محلی و رجیستری دستورات است.
- سمت تلویزیون (TV): شامل اپلیکیشن Home و نمایشگر مرورگر است که ورودیهای ریموت کنترل را به هاست ارسال میکند. یک ماژول کپچر روتداده نیز کلید صوتی ریموت را گرفته و صدای محدودشده را از طریق mutual TLS به هاست میفرستد.
- امنیت محتوا (Protection): قوانین فیلترینگ و مسدودسازی محتوا روی پروفایلهای مرورگر اعمال میشوند تا حریم خصوصی حفظ شود.
پیشنیازها و راهاندازی
پیادهسازی این پروژه کار سادهای نیست و نیاز به دسترسی روت به تلویزیون webOS و دانش فنی بالا دارد:
- ماشین بیلد: پایتون ۳.۱۰ به بالا و Node.js نسخه ۲۰ به بالا.
- هاست پردازشی: لینوکس aarch64، کارت گرافیک سازگار با CUDA برای مدلهای محلی (حدود ۱۰ گیگابایت وزن مدلها)، ابزارهایی نظیر PipeWire و WirePlumber برای مسیر WebRTC و FFmpeg.
- شبکه: تلویزیون و هاست باید روی یک LAN باشند و وضعیت جیتر و پهنای باند اهمیت بالایی دارد.
برای بیلد کردن محلی کدهای مخزن، میتوانید از ابزار ساخت پایتونی استفاده کنید:
cp config/example.json config.local.json
python3 tools/build.py --config config.local.json --output dist/local --include-tests
سیگنالهای بلوغ و دیدگاه جامعه مهندسی
این پروژه نسبتاً جدید است و در گیتهاب با مجوزهای MIT و GPL توسعه داده میشود. مستندات هشدار میدهند که دستکاری سیستمسیستمعامل تلویزیون خطر بریک شدن دستگاه یا ابطال گارانتی را به همراه دارد و کدهای پَچ صرفاً روی بیلد خاصی از فریمور تست شدهاند.
در بحثهای هکرنیوز، یکی از کاربران اشاره کرد که روشهای سادهتری مانند اتصال یک مینیکامپیوتر (مثل Raspberry Pi) از طریق کابل HDMI که Kodi را اجرا میکند، برای خیلیها کفایت میکند و دردسرهای روت کردن فریمور تلویزیون را ندارد. با این حال، R2D2 بیشتر یک اثبات مفهوم جذاب برای افرادی است که میخواهند کنترل کامل سختافزار موجود خود را به دست بگیرند و از شر نرمافزارهای رسمی و سنگین خلاص شوند.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل