کمی در باب USB و کاربردش تو اندروید

همه‌ی ما با USB آشناییم و در طول روز بارها ازش استفاده میکنیم. شارژ کردن موبایل، اتصال فلش درایو یا هارد دیسک اکسترنال به کامپیوتر، ریختن عکسای دوربین تو لپتاپ، وصل کردن حافظه فلش به ضبط ماشین برای پخش موسیقی و … کارهایی هستند که ما با استفاده از USB انجام میدیم.

اما تا به حال کنجکاو شدیم که USB چیه و چجوری کار میکنه ؟

USB یا همون Universal Serial Bus یک استاندارد جهانیه که کابل، کانکتور و پروتکلهای ارتباطی در bus، و نحوه تامین توان لازم بین کامپیوتر و سایر تجهیزات الکترونیکی رو تعریف میکنه.

US‌B طراحی شده تا یک ارتباط استاندارد بین تمام لوازم جانبی کامپیوتر مثل موس، کیبورد، دوربین، پخش کننده موسیقی، پرینتر و … ایجاد کنه. استانداردی هم برای ارتباطات متقابل و هم برای تامین انرژی این دیوایسها.

USB 2 که در آپریل سال ۲۰۰۰ معرفی شد چهار سیم داشت: دوتا برای تامین برق، و دو تا برای انتقال اطلاعات. USB 2 قابلیت انتقال ۴۸۰Mbit/s دیتا دارد.

در USB 3 که در نوامبر ۲۰۰۸ معرفی شد، تعداد سیم ها به ۹ سیم افزایش یافت. USB 3 قابلیت انتقال اطلاعات تا ۵Gbit/s دیتا دارد.

همونطور که مشخصه دستگاه های جانبی برای کار کردن نیاز به توان الکتریکی دارند و USB این توان رو تامین میکنه. در استاندارد USB ولتاژ ۵ ولت به دستگاه داده میشود و دستگاه میتواند تا ۵۰۰ میلی‌آمپر جریان بکشد. این مقدار جریان در USB3 به ۹۰۰ میلی‌آمپر افزایش یافت.

ارتباطات USB به شکل master/slave (رئیس/برده) هستند. در این سبک ارتباطات یک دستگاه (مثل لپتاپ شما) نقش master یا همون هاست رو بازی میکنه و یک دستگاه دیگه (مثل هارد دیسک اکسترنال) نقش slave رو ایفا میکنه. به این شکل که master توان الکتریکی مورد نیاز slave رو تامین میکنه و بر روی اون کنترل داره. برای مثال وقتی گوشیتون رو به لپتاپتون متصل میکنید، میتوانید با لپتاپ فایلهای گوشی رو مدیریت کنید و در عین حال لپتاپ برای گوشی ولتاژ ۵ولت فراهم میکنه که منجر به شارژ شدن گوشی میشه. اما تو این حالت از طریق گوشی هیچ کنترلی رو لپتاپ ندارید و این لپتاپه که مدیریت رو بر عهده داره. چون لپتاپ در اینجا نقش Master یا به بیان دیگری نقش هاست رو بر عهده گرفته.

اما اگر با کابلهای OTG آشنا باشید و ازشون استفاده کرده باشید، احتمالا تو پاراگراف بالا خیلی با من موافق نبودید. شما ممکنه با این کابلها کیبورد، موس، حافظه فلش و یا هر چیز دیگه‌ای رو به گوشیتون متصل کرده باشید. خب بدیهیه که وقتی مثلا حافظه فلش رو به گوشی متصل میکنید این گوشیه که نقش هاست رو به عهده میگیره. چون گوشی توان مورد نیاز برای حافظه فلش رو تامین میکنه و گوشیه که روی این حافظه کنترل داره. خب، مخالفت شما تا حدی درسته و برمیگرده به تکنولوژی‌ای که در سال ۲۰۰۱ معرفی شد.

USB On-The-Go یا USB OTG یا OTG تکنولوژی‌ای است که در سال ۲۰۰۱ به روی USB 2 تعریف شد. این تکنولوژی این امکان رو میداد که یک دیوایس هم بتونه نقش  Master و هم بتونه نقش Slave رو بازی کنه. این دقیقا همون دلیلیه که میتونید با یه کابل OTG گوشی رو تبدیل به یک USB Host کنید و مثلا بهش حافظه فلش متصل کنید.

خب حالا یه سوال: من میتونم از طریق USB گوشی دیتا رد و بدل کنم؟ اینجا منظورم از دیتا فایل نیست. منظورم مثلا دیتای سیگنالینگه. فکر کنم دارم بد توضیح میدم. اجازه بدید منظورم رو با یه مثال بگم:

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

اینجا همون جاییه که تکنولوژی OTG به کارم میاد. و خبر خوب اینکه تمام APIهای لازم برای این کار به طور پیشفرض در SDK اندروید وجود دارند. این API رو میتونید اینجا ببنید و کار باهاش رو یاد بگیرید.

اخیرا یک وبلاگ پیدا کردم که متعلق به یک تیم سوییسیه که کارای جذاب و باحالی انجام دادن. تو یکی از کارشون اومدن یک گوشی اندروید رو به یک برد Arduino متصل کردن و از طریق گوشی یکی از چراغهای برد رو کنترل کردند. توصیه میکنم اگر به این سبک کارها علاقمندید حتما این مطلب این تیم باحال سوییسی رو نگاه کنید. 

منبع توضیحاتم در مورد USB، این لینک و این لینک از ویکی‌پدیا بود.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

android application Google I/O HomeBrew ImageMagick Material Design mobile PogressBar RecyclerView splash TEDxKish ux آموزش اندروید الوین تافلر اندروید اپلیکیشن برنامه نویسی برنامه نویسی اندروید برنامه‌نویسی برنامه‌نویسی اندروید تداکس کیش تعمیر تغییر سایز عکس با ترمینال خلاصه کتاب دانش داده دانشگاه دانشگاه ایده‌آل دزد دیتا ساینس رشته مهندسی کامپیوتر ریکامندرسیستم سیستم‌های توصیه‌گر فری‌لنس لپتاپ متریال دیزاین معرفی کتاب موج سوم نوار پیشرفت همایش هوش مصنوعی ُجزیره کیش کار کسب و کار یادگیری عمیق یادگیری ماشین