نمای کلی میزبان USB و لوازم جانبی

اندروید از انواع لوازم جانبی USB و لوازم جانبی USB اندروید (سخت افزاری که پروتکل لوازم جانبی اندروید را پیاده سازی می کند) از طریق دو حالت پشتیبانی می کند: لوازم جانبی USB و میزبان USB. در حالت لوازم جانبی USB، سخت افزار USB خارجی به عنوان میزبان USB عمل می کند. نمونه هایی از لوازم جانبی ممکن است شامل موارد زیر باشد:

  • کنترلرهای رباتیک
  • ایستگاه های اتصال
  • تجهیزات تشخیصی و موسیقی
  • کیوسک ها
  • کارتخوان ها

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

شکل 1 تفاوت بین دو حالت را نشان می دهد. هنگامی که دستگاه مجهز به اندروید در حالت میزبان است، به عنوان میزبان USB عمل می کند و گذر را تغذیه می کند. هنگامی که دستگاه مجهز به Android در حالت لوازم جانبی USB است، سخت افزار USB متصل (در این مورد یک لوازم جانبی USB Android) به عنوان میزبان عمل می کند و گذرگاه را تغذیه می کند.

نمودار تفاوت بین حالت میزبان و لوازم جانبی را نشان می دهد

شکل 1. حالت های میزبان و لوازم جانبی USB

حالت‌های جانبی USB و میزبان مستقیماً در Android 3.1 (سطح API 12) یا پلتفرم‌های جدیدتر پشتیبانی می‌شوند. حالت لوازم جانبی USB نیز به اندروید 2.3.4 (سطح API 10) به عنوان یک کتابخانه الحاقی برای پشتیبانی از طیف وسیع تری از دستگاه ها پشتیبانی می شود. سازندگان دستگاه می توانند انتخاب کنند که آیا کتابخانه افزونه را در تصویر سیستم دستگاه قرار دهند یا خیر.

توجه: پشتیبانی از حالت‌های میزبان USB و لوازم جانبی، بدون در نظر گرفتن سطح پلت فرم، در نهایت به سخت‌افزار دستگاه بستگی دارد. می‌توانید دستگاه‌هایی را که از میزبان و لوازم جانبی USB پشتیبانی می‌کنند، از طریق عنصر <uses-feature> فیلتر کنید. برای جزئیات بیشتر به لوازم جانبی USB و مستندات میزبان مراجعه کنید.

ملاحظات اشکال زدایی

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

  1. دستگاه مجهز به Android را با استفاده از USB به رایانه خود وصل کنید.
  2. از دایرکتوری SDK platform-tools/ ، adb tcpip 5555 در خط فرمان وارد کنید.
  3. adb connect <device-ip-address>:5555 اکنون باید به دستگاه مجهز به Android متصل شده باشید و می توانید دستورات adb معمولی مانند adb logcat را صادر کنید.
  4. برای تنظیم دستگاه خود برای گوش دادن در USB، adb usb را وارد کنید.