USB হোস্ট ও অ্যাক্সেসরি ওভারভিউ

Android বিভিন্ন ধরনের USB পেরিফেরাল এবং Android USB অ্যাক্সেসরি (হার্ডওয়্যার যা Android অ্যাক্সেসরি প্রোটোকল প্রয়োগ করে) দুটি মোডের মাধ্যমে সাপোর্ট করে: USB অ্যাক্সেসরি এবং USB হোস্ট। USB অ্যাক্সেসরি মোডে, এক্সটার্নাল USB হার্ডওয়্যার USB হোস্ট হিসেবে কাজ করে। সরঞ্জামের উদাহরণের মধ্যে অন্তর্ভুক্ত হতে পারে:

  • রোবোটিক্স কন্ট্রোলার
  • ডকিং স্টেশন
  • ডায়াগনস্টিক ও বাদ্যযন্ত্রের দোকান
  • কিয়স্ক
  • কার্ড রিডার

এবং আরও অনেক কিছু। এর ফলে Android-পরিচালিত ডিভাইস, যেগুলির হোস্ট করার ক্ষমতা নেই, সেগুলি USB হার্ডওয়্যারের সাথে ইন্টার‍্যাক্ট করতে পারে। Android USB অ্যাক্সেসরি অবশ্যই Android-চালিত ডিভাইসের সাথে কাজ করার জন্য ডিজাইন করা হতে হবে এবং Android অ্যাক্সেসরি কমিউনিকেশন প্রোটোকল মেনে চলতে হবে। USB হোস্ট মোডে, Android-চালিত ডিভাইস হোস্ট হিসেবে কাজ করে। ডিভাইসের উদাহরণের মধ্যে ডিজিটাল ক্যামেরা, কীবোর্ড, মাউস ও গেম কন্ট্রোলার অন্তর্ভুক্ত। যেসব USB ডিভাইস বিভিন্ন ধরনের অ্যাপ্লিকেশন ও এনভায়রনমেন্টের জন্য ডিজাইন করা হয়েছে, সেগুলি এখনও Android অ্যাপ্লিকেশনের সাথে ইন্টার‍্যাক্ট করতে পারে যা ডিভাইসের সাথে সঠিকভাবে কমিউনিকেট করতে পারে।

ছবি ১-এ দুটি মোডের মধ্যে পার্থক্য দেখানো হয়েছে। Android-চালিত ডিভাইস হোস্ট মোডে থাকলে, এটি USB হোস্ট হিসেবে কাজ করে এবং বাসকে পাওয়ার দেয়। Android-চালিত ডিভাইস USB অ্যাক্সেসরি মোডে থাকলে, কানেক্ট করা USB হার্ডওয়্যার (এই ক্ষেত্রে Android USB অ্যাক্সেসরি) হোস্ট হিসেবে কাজ করে এবং বাসকে পাওয়ার দেয়।

হোস্ট ও অ্যাক্সেসরি মোডের মধ্যে পার্থক্য দেখানো ডায়াগ্রাম

ছবি ১. USB হোস্ট ও অ্যাক্সেসরি মোড

USB অ্যাক্সেসরি ও হোস্ট মোড সরাসরি Android 3.1 (API লেভেল ১২) বা তার পরবর্তী প্ল্যাটফর্মে কাজ করে। USB অ্যাক্সেসরি মোডও Android 2.3.4 (API লেভেল 10)-এ ব্যাকপোর্ট করা হয়েছে যাতে আরও বেশি সংখ্যক ডিভাইসে কাজ করার জন্য অ্যাড-অন লাইব্রেরি হিসেবে ব্যবহার করা যায়। ডিভাইস প্রস্তুতকারক, ডিভাইসের সিস্টেম ইমেজে অ্যাড-অন লাইব্রেরি অন্তর্ভুক্ত করবেন কিনা তা বেছে নিতে পারবেন।

মনে রাখবেন: USB হোস্ট ও অ্যাক্সেসরি মোডের জন্য সহায়তা প্ল্যাটফর্ম লেভেল নির্বিশেষে ডিভাইসের হার্ডওয়্যারের উপর নির্ভর করে। আপনি এমন ডিভাইসের জন্য ফিল্টার করতে পারেন যেগুলি <uses-feature> এলিমেন্টের মাধ্যমে USB হোস্ট এবং অ্যাক্সেসরি সাপোর্ট করে। আরও তথ্যের জন্য USB অ্যাক্সেসরি এবং হোস্ট ডকুমেন্টেশন দেখুন।

ডিবাগ সংক্রান্ত বিবেচনা

USB অ্যাক্সেসরি বা হোস্ট ফিচার ব্যবহার করে এমন অ্যাপ্লিকেশন ডিবাগ করার সময়, আপনার Android-চালিত ডিভাইসের সাথে USB হার্ডওয়্যার কানেক্ট করা থাকার সম্ভাবনা সবচেয়ে বেশি। এর ফলে আপনি USB ব্যবহার করে Android-চালিত ডিভাইসের সাথে adb কানেকশন করতে পারবেন না। আপনি এখনও নেটওয়ার্ক কানেকশনের মাধ্যমে adb অ্যাক্সেস করতে পারবেন। নেটওয়ার্ক কানেকশনের মাধ্যমে adb চালু করতে:

  1. USB ব্যবহার করে আপনার কম্পিউটারের সাথে Android-চালিত ডিভাইস কানেক্ট করুন।
  2. আপনার SDK platform-tools/ ডিরেক্টরি থেকে, কমান্ড প্রম্পটে adb tcpip 5555 লিখুন।
  3. adb connect <device-ip-address>:5555 লিখুন। এখন আপনার Android-চালিত ডিভাইসের সাথে কানেক্ট হয়ে যাওয়া উচিত এবং আপনি adb-এর মতো সাধারণ কমান্ড দিতে পারবেন, যেমন adb logcat।
  4. USB-তে শোনার জন্য আপনার ডিভাইস সেট করতে, adb usb লিখুন।