راهنمای جامع روشهای اتصال در اینترنت اشیا (Internet of Things) — بخش چهارم: بلوتوث (BlueTooth)
در این مطلب به معرفی فناوری رادیوی قدیمی و همیشه حاضر بلوتوث و نیز بلوتوث جدید و کم انرژی (BLE) که به طور خاص برای دستگاههای توان پایین مورد استفاده در اینترنت اشیا طراحی شده است میپردازیم.
معرفی بلوتوث (BlueTooth)
بلوتوث نیز همانند دیگر فناوریهای رادیویی از طیف 2.4 گیگاهرتز در باند ISM استفاده میکند. برد بلوتوث از 10 متر تا 100 متر (در توانهای انتقال بالا که به معنی مصرف توان بیشتر نیز هست!) است. بلوتوث نیز یک شبکه از نوع موردی است و اتصال نقطه به نقطه P2P فراهم میکند.
بلوتوث کلاسیک در هر پیکونت از یک گره اصلی (Master) و هفت گره پیرو (Slave) پشتیبانی میکند. همچنین دارای شبکهبندی ستارهای است، بدین معنی که گرههای پیرامونی نمیتوانند مستقلاً با یکدیگر ارتباط داشته باشند.
چند نکته که باید مدنظر داشت: یک گره اصلی در یک پیکونت نمیتواند در پیکونت دیگری نیز گره اصلی باشد اما یک گره اصلی در یک پیکونت میتواند در گره دیگر پیرو باشد. بلوتوث کلاسیک میتواند برای انتقال صدا و داده استفاده شود ولی نمیتوان ویدیو ارسال کرد.
اینک در مورد پروتکل BLE و چگونگی متحول کردن بلوتوث از طریق BLE صحبت میکنیم.
سه نوع بلوتوث
بلوتوث کم انرژی نسخه کاملاً متفاوتی از رادیوی قدیمی بلوتوث است. این فناوری با یک پروتکل و معماری جدید و به طور خاص برای اجرا روی منابع توان پایین مانند باتریهای سکهای طراحی شده است. باید درک کرد که این فناوری رادیویی نسخه جدیدتر بلوتوث قدیمی یا جایگزین آن نیست. این فناوری سه نوع بلوتوث جدید طراحی کرده است که با همدیگر مرتبط هستند.
فناوری بلوتوث را میتوان به سه نوع دستگاه تقسیم کرد:
بلوتوث کلاسیک: بلوتوث سنتی نرخ انتقال داده بالاتری دارد که اغلب برای انتقال صوت و فایل بیسیم استفاده میشود. این رادیوی قدیمی از بلوتوث هوشمند پشتیبانی میکند.
بلوتوث هوشمند: بلوتوث کم انرژی که به نام بلوتوث هوشمند برندسازی شده است و تنها اطلاعات حالت را منتقل میکند. این بلوتوث به طور خاص برای کاربردهایی با چرخههای کم-وظیفه طراحی شده است (یعنی رادیو به طور مؤثر تنها زمان اندکی روشن باشد). دستگاههای بلوتوث هوشمند نمیتوانند با دستگاههای بلوتوث کلاسیک ارتباط بگیرند.
بلوتوث پیشهوشمند: این دستگاهها اساساً دستگاههای هاب هستند مانند رایانه، گوشی تلفن همراه و … . این دستگاهها از دستگاههای دارای بلوتوث قدیمی و هوشمند پشتیبانی میکنند برای مثال گوشیهای تلفن همراهی که میتوانند به یک بلندگوی بلوتوث متصل شوند و صوت را منتقل کنند و هچنین میتوانند با دستبند سلامتی نیز ارتباط برقرار کنند.
بلوتوث قدیمی یا بلوتوث کم انرژی
BLE نیز همانند دیگر دستگاههای بیسیم از همان باند ISM 2.4 گیگاهرتز استفاده میکند. برخلاف بلوتوث قدیمی که 79 کانال با پهنای باند 1 مگاهرتز دارد، BLE 40 کانال با پهنای باند 2 مگاهرتز دارد.
همچنین BLE از مدولاسیون GFSK 1 مگابیت بر ثانیه استفاده میکند که برد بیشتری نسبت به بلوتوث سنتی به آن میدهد.
BLE از الگوریتم پرش فرکانسی تطبیقی برای پرش در میان کانالهای موجود استفاده میکند که تنها زیرمجموعهای از فرکانسهای موجود هستند و بدین ترتیب میتواند به سرعت از اتلاف بستهها به دلیل وجود یک کانال بد جلوگیری کند. این تکنیک مصرف انرژی کمتر در رادیو را موجب میشود. بلوتوث سنتی از یک توالی پرش شبهتصادفی استفاده میکند که فرکانس انتقال را 1600 بار در ثانیه تغییر میدهد.
یکی از نکاتی که باید به آن توجه داشت این است که BLE امکان اتصال تا 128 دستگاه به یک گره اصلی را فراهم میکند در حالی که بلوتوث سنتی تنها از اتصال هفت گره پشتیبانی میکند.
BLE در مقایسه با دیگر پروتکلهای بیسیم با توجه به کاربرد بیسیم
پشته BLE
پشته BLE به طور خاص برای کاربردهای توان پایین طراحی شده است.
کارکرد های اصلی BLE در نمایههای GAP و GATT است. ما بحث خود را به این دو محدود میکنیم.
نمایه دسترسی نوعی (Generic Access Profile) به اختصار GAP و نمایه خصوصیت نوعی (Generic Attribute Profile) به اختصار GATT، مشابه روش ارتباط معمولی ما با افراد پیرامونمان عمل میکنند. وقتی کسی را میبینیم خود را معرفی میکنیم و اطلاعات مختصری در مورد خودمان ارائه میدهیم. اگر بخواهیم با این شخص متصل شویم، اطلاعات شخصی دیگرمان را مبادله میکنیم مانند تلفن شخصی یا آدرس ایمیل تا بتوانیم ارتباط برقرار کنیم. دیگر نیازی به شناسایی یا معرفی خودمان در زمان ملاقات دوباره شخص وجود ندارد و میتوانیم اطلاعات دیگر را به اشتراک بگذاریم. GAP فاز نخست ملاقات است که خود را معرفی میکنیم و GATT مرحلهای است که با شخص اتصالی برقرار میکنیم و شروع به ارتباط میکنیم.
نمایه دسترسی نوعی GAP
GAP سازوکارهایی که یک وسیله BLE میتواند برای ارتباط با دنیای خارج استفاده کند را تعریف میکند.
مزیت
در این مرحله دستگاه میتواند در یکی از دو فاز زیر باشد:
- فاز انتشار: در این فاز دستگاه، بستههای داده آگاهی عمومی مانند نام وسیله، شدت سیگنال، جزییات ساخت و … را منتشر میکند.
- فاز مشاهده: در این فاز دستگاه، بستههای منتشر شده را دریافت میکند. هنوز اتصالی بین دستگاهها وجود ندارد. در یک زمان ممکن است بیش از یک دستگاه، اطلاعات دستگاهی که در فاز انتشار است را دریافت کنند.
در فرایند ایجاد اتصال، دستگاهها ممکن است نقشهای زیر را نیز داشته باشند:
- پیرامونی: دستگاه انتشاردهنده نقش پیرامونی بر عهده میگیرد و یک شبکه اتصال به دستگاه برقرار میکند و به تقاضای اتصال دستگاه مرکزی پاسخ میدهد تا پیش از اتصال، اطلاعات بیشتری در اختیار آن قرار دهد.
- مرکزی: دستگاه مشاهدهکننده وقتی یک اتصال با دستگاه انتشاردهنده را آغاز میکند، نقش یک دستگاه مرکزی را بر عهده میگیرد. همچنین میتوان آن را مستر در نظر گرفت که هر زمان میتواند به بیش از یک دستگاه پیرامونی متصل شود.
زمانی که اتصال بین دستگاههای پیرامونی و مرکزی برقرار شد، بسته انتشاری دیگر وجود نخواهد داشت. اینک نمایه GATT باید شروع به ارتباط در هر دو جهت کند.
نمایه خصوصیت نوعی GATT
نمایه GATT روشی است که دو دستگاه BLE با استفاده از خصوصیاتی همچون خدمات و مشخصات که در پروتکل خصوصیات تعریف شدهاند با همدیگر ارتباط میگیرند.
همانند GAP نقشهای مشخصی تعریف شدهاند که دستگاههای ارتباطی بر عهده میگیرند:
- کلاینت: معمولاً دستگاههای مرکزی نقش کلاینت را بر عهده دارند. به طور معمول یک درخواست به سرور GATT میفرستند. این دستگاهها میتوانند خصوصیات را در سرور بخوانند/ بنویسند.
- سرور: معمولاً دستگاههای پیرامونی به عنوان سرور در نظر گرفته میشوند. به این دلیل سرور نامیده میشوند که این خصوصیات را نگهداری میکنند. سرور به درخواست کلاینت پاسخ میدهد و خصوصیات مورد نظر را به آن میفرستد.
دستگاههای مرکزی یا پیرامونی، بسته به گردش دادهها هر دو میتوانند به عنوان سرور و کلاینت عمل کنند.
وقتی اتصال ایجاد شد دستگاههای مرکزی و پیرامونی در مورد «بازه اتصال» تصمیم میگیرند که زمان بین رویدادهای مختلف ارتباطی است.