ارتباط دستگاه های اینترنت اشیا (IoT) از روشهای مختلف و با استفاده از صدها پروتکل متفاوت انجام میگیرد، زیرا نحوه ارتباط آنها با یکدیگر به عوامل مختلفی بستگی دارد از جمله نوع دستگاه، مکان قرار گرفتن آن، نوع دستگاهی که میخواهد با آن ارتباط برقرار کند و پیامهایی که رد و بدل میشوند. پروتکل یک زبان مشترک است که برای ارسال پیام از یک دستگاه IoT به دیگری استفاده میشود. از طرفی نمیتوان یک پروتکل را به عنوان بهترین در همه کاربردها انتخاب کرد. بدین منظور و با توجه به نیازهای خاص برنامه، یک پروتکل صحیح انتخاب میشود.
اگر با اینترنت اشیا آشنایی ندارید پیشنهاد میکنیم مقاله اینترنت اشیا به زبان ساده را مطالعه کنید.
البته محدودیتهایی نیز وجود دارد از جمله اینکه مصرف انرژی دستگاه چقدر است؟ چه مقدار محدودیت هزینه وجود دارد؟ چه مقرراتی برای اندازه فیزیکی، امنیت، زمان ورود به بازار، مناطق جغرافیایی و تعمیر و نگهداری از راه دور وجود دارد؟ در این مقاله به اجزای تعبیه شده در یک سیستم ارتباطی IoT نگاهی خواهیم داشت و در مورد اینکه چگونه مشخصات و نیازهای هر پروژه، بهترین روش ارتباطی را مشخص میکند بحث خواهیم کرد.
اجزای مورد نیاز برای ارتباط دستگاه های IoT
سیستمهای اینترنت اشیا در ساختارهای متفاوتی ارائه میشوند ولی اکثر آنها شامل اجزای زیر میباشند:
1- دستگاه IoT – هر قطعه یا دستگاه از کوچکترین حسگر دما گرفته تا یک ربات صنعتی غولپیکر
2- ارتباطات محلی – روشی که دستگاه برای صحبت یا ارتباط با دستگاههای مجاور استفاده میکند
3- پروتکل برنامه – چهارچوبی که نحوه انتقال اطلاعات را تعیین میکند
4- درگاه (gate way) – ترجمه و انتقال مجدد اطلاعات را انجام میدهد و معمولا اتصال شبکه دستگاه محلی به اینترنت را بر عهده دارند.
5- سرورهای شبکه – سیستمهایی که پذیرش و انتقال اطلاعات را مدیریت میکنند و معمولا در مراکز داده ابری قرار دارند
6- برنامههای کاربردی ابری – دادههای IoT را به اطلاعات مفید برای ارائه به کاربر پردازش میکنند
7- رابط کاربری – جایی که کاربران اطلاعات IoT را مشاهده میکنند، در آن تغییر ایجاد میکنند و دستوراتی را به دستگاههای IoT باز میگردانند
دستگاههای IoT
زمانی که در مورد دستگاههای IoT صحبت میکنیم معمولا وسایلی مانند سنسورهای محیطی، دستگاههای متصل، ردیابهای خودرو یا حتی ماشینهای خط مونتاژ را توصیف میکنیم. با اینکه هر دستگاه الکترونیکی که میتواند با اینترنت ارتباط برقرار کند یک دستگاه IoT است، منظور ما تلفنهای همراه یا کامپیوترهای معمول مورد استفاده نیست و بر روی دستگاههایی با اهداف محدودتر تمرکز خواهیم کرد، مانند کنترل چراغهای خانه یا ردیابی سطوح تانکر مخزن برای تولید مواد شیمیایی. برای مثال شکل زیر اتصال یک سنسور تانکر صنعتی با استفاده از ماژول رادیویی Digi XBee را نشان میدهد که با درگاهی ارتباط برقرار میکند که یک سیستم روی ماژول Digi ConnectCore (SOM) را در خود جای داده است.
اتصال دستگاههای بیسیم
بسیاری از دستگاههای قدیمی، به خودی خود قابلیت اتصال به اینترنت ندارند و برای اتصال باید تغییراتی روی آنها صورت گیرد. با این حال به طور افزایندهای قابلیتهای IoT در دستگاههای جدید مستقیما طراحی میشوند که در حد قابل توجهی باعث کاهش هزینه و بهبود عملکرد میشوند.
دستگاههای IoT بسته به نیازی که برای رفع آن طراحی شدهاند متفاوت هستند اما برخی اجزای اساسی را تقریبا همه آنها شامل میشوند. برای مثال:
- معمولا برای تشخیص وقایع فیزیکی یک سنسور وجود دارد، مانند حرکت یا نشت آب
- محرکهایی برای ایجاد تغییرات فیزیکی مانند روشن کردن چراغ یا بستن شیر
- سنسورها و محرکها به یک یا چند ریزپردازنده متصل میشوند که منطق عملکرد دستگاههای IoT را اجرا میکنند.
- یک دستگاه برای اتصال حداقل به یک جزء ارتباطی نیاز دارد که میتواند به صورت رادیویی یا سیمی مانند اترنت باشد.
- دستگاههای IoT غالبا با باتری کار میکنند. در نتیجه مدیریت مصرف انرژی از نکاتی است که هنگام انتخاب تجهیزات، طراحی عملکرد و انتخاب نحوه ارتباط باید مدنظر قرار گیرد.
همه اجزای ذکر شده درون انواعی از محفظههای غالبا کوچک قرار میگیرند. بسته به محیطی که وجود دارد ممکن است محفظه به درزگیری یا آببندی نیاز داشته باشد و یا بخاطر گرما به تهویه نیاز پیدا کند. با توجه به اینکه دستگاههای IoT تیراژ بالا ساخته میشوند، کاهش هزینه ساخت بسیار مهم است و هر هزینه جزئی باید محاسبه شود چون در چند میلیون ضرب خواهد شد.
روشها و پروتکلهای ارتباطات محلی
هر دستگاه IoT به برقراری ارتباط نیاز دارد. بعضی از دستگاهها تنها اطلاعات را ارسال میکنند، بسیاری از آنها اطلاعات را ارسال و دریافت میکنند. برخی ارتباطات با دستگاههای مشابه به صورت ارتباط مستقیم است ولی ارتباطات راه دور اغلب برای رسیدن به مقصد لازم است از یک درگاه عبور کنند
شکل زیر بیانگر یک نمونه از ارتباط دستگاه های IOT به صورت بیسیم است و نشان میدهد که در شبکه بیسیم هر «گره» چگونه نقش تعیین شده خود را ایفا میکند. همانطور که در شکل زیر، که «شبکه ستاره» نام دارد، مشاهده میشود، یک ماژول بیسیم هوشمند ارتباطات را با دستگاههایی به نام مسیریاب (روتر) هماهنگ میکند و ارتباطات توسط روتر به دستگاههای نهایی منتقل میشوند.
این سناریو برای ترکیبهای مختلف دستگاهها و پروتکلهای بیسیم تغییر میکند. در نمودار زیر مشاهده میشود با استفاده از پروتکلهای بیسیم مختلف، میتوان شبکههای متفاوت ایجاد کرد که دارای رفتارهای متفاوت با یکدیگر هستند. انتخاب بهترین پروتکل به عوامل متعددی از جمله فاصله بین گرههای ارتباطی در شبکه بستگی دارد.
اولین گام در ارتباط ارتباط دستگاه های IoT، باسیم یا بیسیم بودن ارتباط است. در اتصالات سیمی ممکن است از یک پروتکل سریال ساده استفاده شود، اگرچه اغلب با استفاده از یک سیستم شبکهای مانند اترنت امکان اتصال پروتکل اینترنت “مستقیم” (TCP/IP) به یک سرور شبکه یا برنامه ابری ایجاد میشود. مزیت اتصالات سیمی، سریع و قابل اعتماد بودن آنهاست ولی معمولا کابلکشی فیزیکی پروسهای گران یا غیرعملی است. طبیعتا برای هر دستگاه قابل حملی استفاده از سیم امکانپذیر نیست. ارتباطات بیسیم برای IoT همیشه از طریق امواج رادیویی انجام میگیرد و صدها پروتکل رادیویی قابل انتخاب موجود است که چندین مورد آن بسیار محبوب هستند. در ادامه مروری بر برخی پروتکلهای ارتباطی محبوب سطح بالا خواهیم داشت:
- برخی دستگاهها از Wi-Fi استفاده میکنند که مادامی که برق آن به درستی تامین شود و پردازشهای پیچیده آن مانعی را ایجاد نکند مزیتهای زیادی دارند. وای
- فای TCP/IP را به صورت بومی اجرا میکند و میتوان پس از پیکربندی پیچیدگیهای اینترنت را از بین برد.
- در شبکههای اتوماسیون خانگی Zigbeeو Z-wave نامهای بزرگی هستند که برای ارتباطات کممصرف و پهنای باند کم بهینه شدهاند. هر دوی آنها به دستگاههای خانگی اجازه میدهند تا برای ایجاد سرعت و امنیت، مستقیماً با یکدیگر صحبت کنند. این پروتکلها مستقیماً از پروتکل اینترنت پشتیبانی نمیکنند و ارتباطات خارج از منطقه محلی با استفاده از یک درگاه صورت میگیرد.
- پروتکل LoRaWAN نیز یک پروتکل محبوب برای IoTبا پهنای باند کم است. این پروتکل با تلفیق دوربرد و پهنای باند کم، برای دستگاههایی که پیامهای بسیار کوتاهی ارسال میکنند محدوده دید چندین کیلومتری فراهم میکند.
- بلوتوث و مدل مشابه و کممصرف آن BLE پروتکل بسیار محبوبی در دستگاههای IoT ساده هستند. هیچ یک قادر به برقراری ارتباط خیلی دور نیستند و برای تسهیل پیامرسانی از راه دور از دستگاه دیگری که معمولا یک تلفن همراه است، استفاده میشود.
- امروزه شبکههای تلفن همراه به راحتی ارتباط دستگاه های IoT را در خود جای میدهند. پروتکلهای تلفن همراه جدید مانند Cat-M و NB-IoT به دستگاههایی که با باتری کار میکنند این امکان را میدهند که در پهنای باند بسیار محدود، ماهها بدون نیاز به شارژ کردن کار کنند.
- پروتکلهای دیگری مانند 4G، LTEو 5Gنیز وجود دارند که به توان بیشتری نیاز دارند و دادههای سنگینتری مانند ویدیوهای دیجیتال را میتوانند مدیریت کنند.
- پروتکلهای بسیاری نیز وجود دارد که اختصاصی و تکسازنده هستند و برای نیازهای خاصی مانند یک فاصله خاص، پهنای باند خاص، محیطهای سخت رادیویی و یا بهینهسازی هزینه تنظیم شده اند. هیچ پروتکلی وجود ندارد که برای کنترل همه شرایط قابل استفاده باشد و برای هر پروژه یک بهترین راه حل مختص آن وجود دارد.
ساختار چهارچوب شبکههای کامپیوتری معمولاً در لایههای مجازی ایجاد شدهاند. پایینترین لایه با قسمت فیزیکی، سیمها یا امواج رادیویی سروکار دارد. پس از آن لایههایی وجود دارند که نحوه شکلگیری، آدرسدهی، مسیریابی و تایید پیامها را هماهنگ میکنند که صحبت در مورد این لایههای میانی خارج از حوصله این بحث است.
بالاترین لایه وظیفه مدیریت محتوای مفید را برعهده دارد و همانطور که در تصویر «مدل شبکه OSI» نشان داده شدهاست، معمولاً به عنوان برنامه کاربردی نامیده میشود. OSI مخفف Open Systems Interconnection است و یک چهارچوب مفهومی است که اجزا یا لایههای عملکرد یک شبکه را توصیف میکند.
لایه برنامه جایی است که کار اصلی IoT انجام میشود و به روشهای مختلف رخ میدهد. در مواقعی که برای انجام یک کار خاص، دستگاههای متفاوتی که توسط تولیدکنندگان مختلف تولید شدهاند، نیاز به همکاری با یکدیگر دارند، وجود یک روش استاندارد برای برقراری ارتباط بسیار مفید است. بعضی از پروتکلهای بیسیم در مورد کارهای رایج مانند کنترل روشنایی، امنیت یا پخش صدا، پیامهای استانداردی دارند.
Zigbee، بلوتوث و Z-Wave همگی شامل پروتکلهای کاربردی هستند که یک زبان استاندارد را ارائه میدهند، برای مثال یک سوئیچ چراغ که توسط یک شرکت ساخته شده میتواند سه لامپ مختلف که ساخت شرکتهای دیگری هستند را روشن کند.
سایر پروتکلهای کاربردی کلیتر هستند. MQTT و CoAP دو پروتکل کاربردی بسیار سبکی هستند که بدون محدود کردن پیامرسانی به وظایف خاص، ارتباطات بین دستگاههای مختلف را برقرار میکنند. همچنین به دلیل ویژگی سبک وزن بودشان، پهنای باند بسیار کم و در نتیجه انرژی بسیار کمی مصرف میکنند و برای دستگاههایی که بوسیله باتری کار میکنند بسیار مناسبند.
دستگاههایی که به نیرو و پهنای باند بیشتری نیاز دارند ممکن است از ارتباطات RESTful از طریق HTTP ( پروتکلی که در وب به کار رفته است) استفاده کنند. این چهارچوب به طور گسترده پیادهسازی شده ولی با توجه به اینکه برای بازدهی بالا طراحی نشده است، در یک دستگاه کوچک IoT باتری و پهنای باند را به سرعت تمام میکند و باید با احتیاط اجرا شود.
مفهوم درگاه درارتباطات دستگاه های IOT چیست؟
هرگاه دستگاهی قادر به اجرای مستقیم پروتکل اینترنت (TCP/IP) نباشد، معمولاً پیامهای خود را به دستگاه دیگری به نام درگاه (gateway) ارسال میکند که وظیفه درگاه ارسال و پردازش پیامها هم به اینترنت و هم از اینترنت است.
درگاهها به دستگاههای اینترنت اشیا این امکان را میدهند تا کوچک و ارزان بمانند و بتوانند با باتری کار کنند، زیرا معمولاً چندین دستگاه را به عنوان یک ایستگاه پایه محلی مدیریت میکنند. در ادامه برخی از سناریوهای زندگی واقعی برای مثال بیان شده است:
- دستگاههای پوشیدنی دارای بلوتوث و BLE اغلب از تلفن همراه به عنوان درگاه خود به اینترنت استفاده میکنند و مادامیکه تلفن و دستگاهها نزدیک هم باشند به درستی عمل میکنند.
- پروتکلهای اتوماسیون خانگی مانند Zigbee، Z-Wave و LoRaWAN را مستقیماً توسط تلفن همراه نمیتوان مدیریت کرد و منطقی هم نیست چرا که تلفنهای همراه در یک مکان ثابت نیستند. این پروتکلها و پروتکلهای اختصاصی دیگر معمولاً از یک باکس درگاه متصل به برق دیوار و یکی از پروتکلهای اترنت، Wi-Fi یا تلفن همراه استفاده میکنند. آنها از دستگاههایی که از پروتکل بومی خود مانندZigbee استفاده میکنند اطلاعات را دریافت میکنند، آنها را پردازش کرده و سپس آن را با اینترنت ارسال میکنند.
- در محیطهای صنعتی، مانند میدانهای خورشیدی و مزارع بادی، برای اینکه از دستگاههای توزیع شده در سراسر شبکه دستگاههای از راه دور، ارتباطات مسیریابی شوند، به یک درگاه صنعتی سخت شده نیاز دارند، همانطور که در تصویر زیر نشان داده شده است.
فرآیند درگاه «مولتی هاپ» برای دستگاههایی با قابلیتهای محدود این امکان را فراهم میکند تا به مکانهای دوردست متصل شوند و معمولا از یک رشته پروتکل مختلف برای انجام کار استفاده میکنند. برای اتصال با یک سرور شبکه یا برنامه کاربردی ابری، که معمولاً در یک مرکز داده از راه دور قرار دارد، درگاهها غالباً از پروتکلهای کاربردی مانند MQTT، REST یا CoAP استفاده میکنند.
سرورهای شبکه و برنامههای کاربردی ابری
ارتباطات اینترنت اشیا ابتدا توسط نوعی سرور شبکه پذیرفته شده و مدیریت میشوند که برای برخی پروتکلهای خاص به منظور تکمیل کارهای سطح پایین مانند جلوگیری از تکرار شدن پیامهای اضافی و تبدیل فرمتهای پروتکل خاص، لازم است. در مواقعی که یک پروتکل به پردازش اضافی نیاز نداشته باشد نیز وجود سیستمی که علاوه بر مدیریت ارتباطات میتواند پیکربندی، ایمنسازی و گزارش دستگاهها را انجام دهد بینهایت مفید است.
از سرورهای شبکه معروف میتوان به Digi Remote Manage ،AWS و Azure اشاره کرد.این سیستمها پردازش اطلاعات اینترنت اشیا را با روش مدیریتی کلیتری انجام میدهند و با همکاری یکدیگر میتوانند راه حلهای سفارشی را ارائه دهند.
هنگامی که کار سرور شبکه انجام شد، دادهها با یک برنامه ابری مبادله میشود که دادههای اینترنت اشیا را به اطلاعات مفید تبدیل میکند، به کاربران انسانی ارائه داده و برای تجزیه و تحلیلهای بعدی ذخیره میکند. برنامههای کاربردی ابری اغلب در کنار سایر خدمات شبکه روی پلتفرمهایی مانند AWS یا Azure اجرا میشوند. آنها معمولاً با استفاده از زبانهایی مانند Node.j، پایتون یا جاوا ایجاد شده و به پایگاه داده SQL یا NoSQL متصل میشوند و دادههای بسیار زیادی را که از مجموعه دستگاههای اینترنت اشیا دریافت میشوند مدیریت میکنند.
وجود یک مرکز داده بزرگ برای هر سیستمی ضروری نیست و حتی یک کامپیوتر کوچک مانند رزبریپای نیز میتواند بیشتر کارهایی را که غولهای ابری ارائه میدهند در مقیاس محدود انجام دهد. یک شبکه زنده شامل بسیاری از مؤلفههای مرتبط به یکدیگر است که دادهها را به مکان معین و در زمان مشخص تحویل میدهند.
- سرورهای ابری فرآیند تبدیل دادهها – حقایق خام درباره جهان – به اطلاعات مفید را به پایان میرسانند
- پالسهای کنتورهای الکتریکی مبنای تصمیم گیری برای آنلاین-آفلاین کردن نیروگاهها است.
- دماهای اندازهگیری شده به پیشبینیهای آب و هوایی تبدیل میشود. جریان اطلاعات دوطرفه است و سرورهای ابری دستورات خروجی را نیز مدیریت میکنند که این دستورات همه چیز را از چراغ راهنمایی گرفته تا تغذیه کنندههای مرغداری کنترل میکنند.
با وجود همه این فناوریها، تعامل انسانی همچنان مورد نیاز است. لذا ارائه رابط کاربری، برای وارد کردن انسان به سیستم یک وظیفه مهم سرورهای ابری است.
رابط کاربری ارتباط دستگاه های IOT
آخرین مرحله در زنجیره ارتباطات اینترنت اشیا رابطهای کاربری هستند و در زنجیره دستوراتی که از طریق سیستم برای اجرای یک یا چند دستگاه اینترنت اشیا جریان مییابند اولین گام محسوب میشوند. رابط کاربری انواع مختلفی دارد و یک راه حل اینترنت اشیا معمولا بیش از یک نوع را پشتیبانی میکند.
ارتباط انسانها با سیستم از طریق وبسایت، برنامه تلفن همراه گوشی هوشمند، برنامه مخصوص دسکتاپ یا بهطور غیرمستقیم از طریق یکپارچه سازی API با خدمات تجاری مانند سرویسSalesforce امکانپذیر است. همه تعاملات از راه دور نیستند، برخی از دستگاههای اینترنت اشیابرای دسترسی و پیکربندی مستقیم طراحی شدهاند که میتواند توسط یک صفحه لمسی داخلی یا تعدادی سوئیچ رخ دهد. رابط کاربری درگاه استفاده از یک سیستم اینترنت اشیا است و اگر به درستی پیادهسازی شود امکان استفاده از پتانسیل کامل سیستم را برای افراد فراهم میکند.
مثال: کلید چراغ
در این قسمت یک مثال ساده از یک سیستم اتوماسیون خانگی که شامل همه این قطعات است بیان میشود. فرض کنید صاحب خانهای قصد دارد چراغ اتاق غذاخوری منزل خود را با استفاده از یک کلید محلی کنترل کرده و همچنین از راه دور هم قابلیت خاموش و روشن کردن چراغها را داشته باشد. سیستم انتخابی شامل یک سوئیچ دیواری اینترنت اشیا است که با باتری کار میکند و با استفاده از پروتکل بیسیم Zigbee مستقیماً با لامپها ارتباط برقرار میکند.
این پروتکل شامل یک زبان است که مختص نورپردازی طراحی شده است. با توجه به اینکه Zigbee یک پروتکل کممصرف با پهنای باند کم میباشد برد آن نیز محدود است. بنابراین برای کنترل از راه دور به یک درگاه کوچک نیاز دارد. درگاه پیامهای Zigbee را به پروتکل برنامه MQTT ترجمه کرده و به یک شبکه سرور ابری ارسال میکند که برنامه سیستم اتوماسیون خانگی را اجرا میکند. برنامه ابری با یک برنامه در تلفن همراه صاحب خانه ارتباط برقرار میکند. پس از آن صاحب خانه چه در خانه خود، چه در یک قاره دیگر میتواند وضعیت فعلی لامپ اتاق غذاخوری خود را ببیند و آن را کنترل کند.
امیدواریم از این مقاله لذت بردهباشید، در این مقاله سعی شد مفهوم برقراری ارتباط دستگاه های IOT، انواع آن توضیح داده شود و همچنین پروتکلهایی که برای این ارتباطات استفاده میشوند را به شما معرفی کنیم. شما برای تحقیق و توسعهی دنیای اینترنت اشیا باید دانش مفاهیم پایهای از قبیل این مقاله را کسب کنید، پس با ما در ادامه این راه همراه باشید. شما میتوانید نظرات و سوالاتتان را در بخش دیدگاه با ما در میان بگذارید.