احیای جاروبرقیهای هوشمند نیتو با سرور متنباز Vacuula — Custom server to revive neato bots
خلاصه
پروژه Vacuula یک سرور سفارشی مبتنی بر TypeScript است که به مالکان جاروبرقیهای رباتیک Neato اجازه میدهد پس از قطع سرویسهای رسمی شرکت سازنده، کنترل دستگاههای خود را به دست بگیرند. این پروژه با ارائه ابزارهای نصب و پشتیبانی از نسلهای مختلف، راهکاری عالی برای جلوگیری از تبدیل شدن سختافزارهای سالم به زباله الکترونیکی است.
معرفی پروژه Vacuula و مشکل آن
بسیاری از کاربران دستگاههای هوشمند خانگی با پدیدهای تلخ به نام «مرگ ابری» (Cloud Death) آشنا هستند؛ زمانی که شرکت سازنده، سرورهای ابری پشتیبان یک محصول سختافزاری را خاموش میکند و دستگاه عملاً به یک ززباله الکترونیکی گرانقیمت تبدیل میشود. جاروبرقیهای رباتیک Neato نیز از این قاعده مستثنی نبودند. پروژه Vacuula دقیقا برای حل همین مشکل شکل گرفته است. این ابزار یک سرور سفارشی و همهکاره است که به شما اجازه میدهد ربات Neato از کارافتاده خود را احیا کنید و کنترل کامل آن را بدون نیاز به سرورهای ابری اصلی دوباره به دست بگیرید.
پسزمینه و اهمیت برای مهندسان نرمافزار
این پروژه نشاندهنده اهمیت معماری مستقل از فضای ابری (Self-Hosted) و مهندسی معکوس پروتکلهای اینترنت اشیاء (IoT) است. هنگامی که یک شرکت بزرگ تصمیم به توقف پشتیبانی از محصولات قدیمی خود میگیرد، جامعه توسعهدهندگان متنباز وارد عمل میشوند تا با بازپسگیری کنترل سختافزار، چرخهعمر محصولات را افزایش دهند. در بخش نظرات Hacker News نیز یکی از کاربران با اشاره به تجربههای قدیمیتر در زمینه مهندسی معکوس سنسورهای LIDAR رباتهای Neato، از پیشرفت اینگونه پروژهها در احیای سختافزارهای قدیمی ابراز شگفتی کرد.
مشخصات فنی و معماری
این پروژه با استفاده از TypeScript توسعه یافته است و با داشتن ستارههای نسبتاً خوب در گیتهاب و استفاده از لایسنس AGPL-3.0، پویایی مناسبی دارد.
از نظر معماری، سرور Vacuula برای ارتباط با نسلهای مختلف رباتهای Neato به پورتهای خاصی نیاز دارد:
- پورت ۸۰: برای وباپلیکیشن و سرور (قابل شخصیسازی)
- پورت ۴۴۳: مخصوص رباتهای نسل سوم (مدلهای D3 تا D7) به دلیل الزامات سختافزاری خود ربات
- پورت ۳۴۴۳: مخصوص رباتهای نسل چهارم (مدلهای D8 تا D10)
این سرور از قابلیت کشف خودکار (mDNS) پشتیبانی میکند و مدلهای مختلفی از جمله سریهای D (نسل ۳ و ۴) را پوشش میدهد.
نحوه راهاندازی و استفاده
برای راهاندازی این سیستم به دو بخش اصلی یعنی راهاندازی سرور و پیکربندی ربات نیاز دارید. سادهترین راه برای اجرای سرور، استفاده از Docker Compose است.
۱. ابتدا فایل docker-compose.yaml را از مخزن پروژه دانلود کنید:
wget https://github.com/vacuula/vacuula/releases/latest/download/docker-compose.yaml
۲. سپس کانتینر را در حالت جدا از ترمینال اجرا کنید:
docker compose up -d
برای پیکربندی ربات نیز تیم توسعهدهنده نصبکنندههای اختصاصی برای سیستمعاملهای مختلف (ویندوز، لینوکس و مک) فراهم کرده است که با اتصال ربات به سیستم از طریق کابل، تنظیمات شبکه و اتصال به سرور محلی را انجام میدهند.
در یک نگاه
- نام مخزن: vacuula/vacuula
- زبان اصلی: TypeScript
- لایسنس: AGPL-3.0
- سازگاری: پشتیبانی کامل از مدلهای نسل ۳ (D3 تا D7) و نسل ۴ (D8 تا D10)
- روشهای نصب: Docker Compose، افزونه Home Assistant و LXC
- وضعیت پروژه: فعال با استقبال خوب جامعه توسعهدهندگان متنباز
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل