زمانی که در حال توسعه پروژههای اینترنت اشیا (Intrnet of Things) هستیم، روشهای اتصال یکی از مهمترین مسائلی است که باید در ذهن داشته باشیم. وقتی با یک پروژه جدید اینترنت اشیا روبرو میشویم چند سؤال همواره باید مورد توجه باشد: روشهای اتصال این پروژه چگونه است؟ آیا محدودیت توان یا بُرد وجود دارد؟ نرخ انتقال داده چه قدر خواهد بود؟ کدام زیرساختهای شبکهای هماینک در دسترس هستند؟
تاریخچه iot
نظریه اینترنت اشیا برای نخستین بار در سال ۱۹۹۹ توسط کوین اشتون بیان شد اما چند سالی است که پیدایش اینترنت اشیا به طور جدی روی دنیای IT تاثیر گذاشته و در حال حاضر اکثر کسبوکارها در حال حرکت به سمت استفاده وسیع از این تکنولوژی هستند.
Internet of Things به اختصار IOT و یا همان اینترنت اشیا چیز جدید و نا آشنایی نیست چون اولین نمونه استفاده از این تکنولوژی؛ تولید و رونمایی از توستر متصل به اینترنت توسط یک کمپانی در کنفرانسی در سال 1989 بود.
اینترنت اشیا به عنوان انقلاب صنعتی بعدی نامیده میشود و پیاده سازی پروژه های اینترنت اشیا، روش تعامل تمام کسب و کارها، دولت ها و مصرف کنندگان را با دنیای فیزیکی تغییر خواهد داد.
اینترنت اشیا – iot چیست؟
معنی iot چیست؟ امروزه نصب و راه اندازی شبکه و ارتباط بین کامپیوترها و اشیا نیازی رایج و مرسوم است که به بهبود کیفیت زندگی افراد کمک شایانی میکند. اینترنت اشیا یعنی اتصال دستگاههای مختلف به یکدیگر از طریق اینترنت. به کمک اینترنت اشیا برنامهها و دستگاههای مختلف میتوانند از طریق اتصال اینترنت با یکدیگر و حتی انسان تعامل و صحبت کنند. مثلا یخچال های هوشمندی که به اینترنت متصلند و شما را از موجودی و تاریخ انقضا مواد خوراکی داخل آن با خبر میکنند. در واقع، اینترنت اشیا شما را قادر می سازد تا اشیا مورد استفاده خود را از راه دور و به کمک زیرساختهای اینترنتی مدیریت و کنترل کنید.
اینترنت اشیا برای ادغام مستقیم دنیای فیزیکی و سیستمهای مبتنی بر کامپیوتر فرصت هایی ایجاد میکند؛ سیستم هایی مانند؛ خودروهای هوشمند، یخچالهای هوشمند، خانههای هوشمند، اسکنرهای امنیت سایبری بیومتریک، تجهیزات کارخانه هوشمند، مثال هایی از اینترنت اشیا هستند که این روزها زیاد به گوشتان میخورد. همه این دستگاه ها در زیر مجموعه اینترنت اشیا قرار میگیرند.
در تکنولوژی iot در اشیای فیزیکی، نرم افزارها، تکنولوژیها و سنسورهایی تعبیه شده تا اتصال و تبادل اطلاعات با دیگر دستگاهها و سیستمها، روی اینترنت فراهم شود.
علاوه بر IoT، عبارت دیگری هم وجود دارد که به مربوط به همین موضوع اینترنت اشیا است!
IIoT چیست و چه فرقی با IoT دارد؟
همانطور که گفتیم، IoT مخفف Internet of Things است. IIoT یک I بیشتر دارد که برگرفته از کلمه Industrial است؛ یعنی با مفهوم اینترنت اشیا برای کارهای صنعتی و بزرگ سروکار داریم!
به IIoT نسل چهارم انقلابهای صنعتی (Industry 4.0) هم میگویند؛ اتفاقاً این تعریف بسیار برازنده این عبارت هم هست.
خط تولید یک کارخانه بزرگ را درنظر بگیرید. مثلاً خط تولید کمپانی مرسدس بنز! مسلماً هرچقدر این خط تولید هوشمندتر باشد و بدون دخالت انسان کار کند، کیفیت نهایی کار هم افزایش پیدا خواهد کرد.
یکی از اصلیترین اهداف IoT و IIoT همین کاهش دخالت انسان در امور است. اصلاً مگر هدف هوشمندسازی همین نیست؟ اینکه بشر پا را روی پای دیگر بیندازد و پیش رفتن کارها را تماشا کند؟
به این منظور، IIoT ماشینها را بههم متصل میکند. اصطلاحاً به این کار M2M میگویند که از عبارت Machine 2 Machine گرفته شده است.
وقتی سر تا ته یک خط تولید، به سنسورهای مختلف مجهز شود، رویای IIoT هم به واقعیت میپیوندد. سنسورهایی که هرکدام وظیفه گزارش عملکردی خاص را دارند، تمام امور را رصد میکنند و کارها خودکار انجام پیش میروند.
مثلاً سنسورهایی هستند که دما را کنترل میکنند؛ یعنی اگر دما از مقدار مشخصی بالاتر یا پایینتر برود، ایراد گزارش میشود تا با رفع آن، سیستم درستی عملکردش را حفظ کند.
کنترل فشار، بررسی دائم برق سیستم، حسگرهای حرکتی و … جزو وظایفی هستند که سنسورها برعهده دارند.
تفاوت بین IoT و IIoT، در این است که یکی از آنها به کاربرد اینترنت اشیا برای مصارف شخصی و حتی کسبوکارها اشاره دارد (IoT) و دیگری به کاربرد این پلتفرم برای فعالیتهای بزرگ صنعتی میپردازد (IIoT)، مثل همان خط تولید مرسدس بنز!
نکته: لزوماً استفاده هر کسبوکاری از این فناوری، در دسته IIoT قرار نمیگیرد! مثلاً یک فروشگاه معمولی و کوچک را درنظر بگیرید. صاحب فروشگاه میتواند از دوربینهای امنیتی که به سنسورهای مختلف مجهز هستند استفاده کند. مسلماً این کار به منظور تامین امنیت فروشگاه انجام میشود؛ اما آیا در این نوع استفاده، با IIoT طرف هستیم؟ قطعا خیر!
زیرساخت شبکه و پروتکل های ارتباطی اینترنت اشیا
- وای فای (WiFi)
- ترد (Thread)
- زیگبی (ZigBee)
- بلوتوث (Bluetooth)
- RFID و NFC
فهرست فوق کاملترین فهرست انواع اتصالها نیست اما برای شروع اغلب پروژههای اینترنت اشیا کافی است.
توپولوژی شبکه
درک انواع پروتکلهای مختلف شبکه که به آنها اشاره میکنیم حائز اهمیت است. توپولوژی شبکه به روشی گفته میشود که اجزای مختلف در هر شبکهای چیده میشوند. این مفهوم، ساختار شبکه را چه به صورت فیزیکی و چه منطقی توصیف میکند. توپولوژی شبکه را میتوان به عنوان نمایش تصویری اجزای شبکه و نحوه انتقال دادهها بین آنها دانست.
در این مورد هم تعداد زیادی توپولوژی شبکه وجود دارند ولی ما در این بحث تنها به انواعی که در پروژههای اینترنت اشیا بیشتر مشاهده میشوند اکتفا میکنیم.
- نقطه به نقطه (P2P)
- ستارهای (Star)
- توری (Mesh)
- ترکیبی یا هیبرید (Hybrid)
پروتکل نقطه به نقطه
توپولوژی نقطه به نقطه سادهترین نوع است که یک لینک دائمی بین دو انتهای شبکه ایجاد میکند. سادهترین نمونه P2P اتصال از نوع کاردستیهای تلفن با قوطی و نخ بود که زمانی که بچه بودیم درست میکردیم. در این اتصال دو گره (انتها) یک کانال اختصاصی برای ارتباط با هم دارند. P2P با استفاده از فناوریهای سوئیچینگ میتواند به صورت دینامیک تنظیم شود. توپولوژی P2P سوئیچ دار، اساس کار تلفنهای اولیه بوده است.
پروتکل ستارهای
در پیکربندی شبکه ستارهای، هر گره (انتها) به یک دستگاه مرکزی منفرد متصل میشود. گرهها نمیتوانند به طور مستقیم با همدیگر ارتباط داشته باشند؛ آنها از طریق دستگاه مرکزی به هم متصل میشوند. دستگاه مرکزی به عنوان یک سرور عمل میکند و گرهها به عنوان کلاینت ظاهر میشوند. این پروتکل یکی از رایجترین پیکربندیهای شبکه است و تنظیم آن جزو سادهترین انواع است. به راحتی و بدون اختلال در شبکه میتوان یک گره را حذف یا اضافه کرد. بزرگترین چالش در این نوع شبکه این است که تنها یک نقطه شکست (یعنی رایانه مرکزی) وجود دارد؛ اگر رایانه مرکزی خراب شود، شبکه نیز از کار میافتد.
پروتکل توری
شبکه توری نوعی از شبکه است که در آن هر گره به همه گرههای دیگر متصل میشود. وقتی لینکهای شبکه را بررسی میکنیم، میبینیم که شبکه توری مقدار بالایی افزونگی ایجاد میکند. دراین پیکربندی اگر یک لینک خراب شود گرهها میتوانند با استفاده از لینک دیگری با هم ارتباط برقرار کنند. بدیهی است که به دلیل افزایش هزینه برای برپایی لینکهای مضاعف و ماهیت پیچیدهی شبکه، این توپولوژی جزو متداولترین انواع پروتکل در شبکهها نیست.
پروتکل ترکیبی
شبکه ترکیبی همانطور که از نامش پیداست ترکیبی از توپولوژیهای سادهتر شبکه است. این شبکه ممکن است شامل شبکه ستاره ای-توری یا ستاره ای-حلقه ای باشد. شبکههای ترکیبی منعطفتر و مطمئنتر هستند چون مزیتهای هر دو شبکه زیرمجموعه خود را دارند. اما درعینحال پیچیدگی بالایی دارند که برپایی آنها را پرهزینه میکند و مدیریتشان دشوارتر است. با این حال، زمانی که به شبکهای با قابلیتهای بیشتر از یک توپولوژی شبکهای نیازمندیم، شبکه ترکیبی مزیتهای زیادی دارد.
شبکههای زیرساختی و موردی (Ad-Hoc)
از آنجا که موضوع مطلب حاضر شبکههای بیسیم است میبایست دو وضعیت اساسی (که توپولوژی نیز نامیده میشوند) را بررسی کنیم که شبکههای بیسیم در این در این وضعیتها عمل میکنند. وضعیت زیرساختی زمانی است که شبکه نیازمند زیرساخت فیزیکی برای پشتیبانی است. این مسئله اساساً بدین معنی است که باید واسطهای باشد که کارکردهای شبکه را مدیریت کند و زیرساختی ایجاد شود که شبکه پیرامون آن برپا شود.
پروتکلهای اختصاصی اتصالات اینترنت اشیا
ما شاهد هستیم که چگونه اینترنت نحوه ارتباط و همکاری ما را دگرگون ساخته است. عصر جدید اینترنت تنها به افراد مربوط نمیشود، بلکه همه دنیای پیرامون ما را در بر گرفته است و این شامل دستگاههای هوشمند متصلبههم نیز میشود. پروتکلهایی که در این سلسله مطالب بررسی کردیم همگی به منظور استفاده در اینترنت اشیا طراحی نشدهاند، اما ثابت کردهاند که بهخوبی قابلیت استفاده برای پروژههای اینترنت اشیا را دارند.
با رشد اینترنت اشیا، ناگزیر پروتکلهای جدیدتر و اختصاصیتر ایجاد شده اند که به طور خاص برای شبکههای اینترنت اشیا طراحی شدهاند. این دستگاههای هوشمند متصلبههم الزاماتی دارند که شاید از اینترنت امروزی که داریم و برای انسانها طراحی شده است متفاوت باشد. در ادامه سه نوع مختلف ارتباط در این پروتکلها را بررسی کردهایم:
دستگاه به دستگاه (D2D): در این اتصال دستگاهها با یکدیگر ارتباط میگیرند.
دستگاه به سرور (D2S): در این اتصال دادههای دستگاه گردآوری شده و به سرور ارسال میشود.
سرور به سرور (S2S): در این اتصال دادههای سرور در میان سرورهای دیگر برای تحلیل و ارسال مجدد به دستگاه به اشتراک گذاشته میشود.
ما در مورد چهار مورد از این پروتکلها صحبت خواهیم کرد که به همه انواع مختلف اتصالهایی در بخش بالا اشاره کردیم وصل میشود:
- MQTT (انتقال تلهمتری صف پیامها)- این پروتکل برای گردآوری دادههای دستگاه و انتقال به سرور استفاده میشود.
- XMPP (پروتکل حضور و پیامرسانی قابلگسترش) – این پروتکل برای اتصال دستگاهها به افرادی که به سرورها متصل هستند استفاده میشود.
- DDS (خدمات توزیع داده) – این پروتکل برای ارتباط سریع بین دستگاههای هوشمند استفاده میشود.
- AMQP (پروتکل صفبندی پیشرفته پیام) – این پروتکل برای ارتباط مؤثر بین سرورهای مختلف استفاده میشود.
MQTT
وبسایت MQTT تعریفی از MQTT (Message Queuing Telemetry Transport) ارائه کرده است: پروتکل ارتباطی دستگاه به دستگاه (M2M) (Machine to Machine)در اینترنت اشیا. این پروتکل به عنوان یک پروتکل انتقال پیام بسیار سبک انتشار/ثبتنام طراحی شده است. ین پروتکل برای اتصالهایی به مکانهای دور که کدنویسی اندکی مورد نیاز است و/یا پهنای باند گران است استفاده میشود. برای نمونه، این پروتکل میتواند در حسگرهایی که از طریق یک لینک ماهوارهای با یک بروکر ارتباط میگیرند، اتصال دایالآپ موردی که با خدمات دهنده خدمات سلامت برقرار میشود و در برخی سناریوهای اتوماسیون خانگی و دستگاههای کوچک استفاده میشود. این پروتکل همچنین برای کاربردهای سیار مناسب است، زیرا اندازه کوچکی دارد، توان مصرفی آن کم است، بستههای داده کوچکی دارد و توزیع اطلاعات کارآمدی به یک یا چند گیرنده دارد.
هدف MQTT گردآوری دادهها از دستگاههای زیاد و انتقال دادهها به زیرساخت فناوری اطلاعاتی است. این پروتکل در مواردی که دادههای حسگر از هزاران حسگر باید به یک مکان واحد برای تحلیل انتقال یابد، میتواند یکی از بهترین راهحلها باشد.
XMPP
وبسایت XMPP این پروتکل را چنین تعریف کرده است: پروتکل حضور و پیامرسانی قابلگسترش، مجموعهای از فناوریهای باز برای پیامرسانی آنی، حضور، چت چند طرفه و تماسهای ویدیویی، همکاری، میانافزارهای سبک، گردآوری محتوا، و مسیریابی عمومی دادههای XML.
XMPP به عنوان ابزاری برای دستگاههای متصل جهت کشف همدیگر و شروع گفتگو است، برای آغاز مبادله اطلاعات به همان شیوهای که ما انجام میدهیم.
DDS
DDS از MQTT و XMPP که پروتکلهای دستگاه به سرور هستند متفاوت است. DDS از دستگاههایی استفاده میکند که به طور مستقیم از دادههای دستگاه استفاده میکنند. DDS یک پروتکل برای توزیع دادههای یک دستگاه به دستگاه دیگر است. DDS میتواند به طور کارآمدی میلیونها پیام را در ثانیه به بسیاری از گیرندههای همزمان تحویل دهد.
DDS یک ارتباط همتا به همتا است. حذف سرورها و بروکرهای پیام باعث سادهتر شدن ارتباط، کاهش تأخیر و کاهش پیچیدگی شده است. این پروتکل برای استفادههای اینترنت اشیا که نیازمند معماری مطمئن و با عملکرد بالا هستند مناسب است.
AMQP
AMQP یک نوع پروتکل سرور به سرور است. این پروتکل پیامها را بین سرورها منتقل میکند. خصوصیت اصلی AMQP پایداری بالای آن است که آن را قادر میسازد تا هزاران تراکنش صفبندی شده را بدون از دست رفتن هیچ دادهای ارسال کند.
وبسایت AMQP این پروتکل را چنین تعریف کرده است: یک استاندارد باز برای تبادل پیامهای تجاری بین برنامهها و سازمانها. این پروتکل سیستمها را به هم متصل میکند، اطلاعات مورد نیاز فرایندهای تجاری را وارد آنها میکند و دستورالعملهایی که به اهداف آنها منتهی میشود را ارسال میکند.
این پروتکل نخستین بار به عنوان یک میانافزار برای ردگیری و تحویل پیامهای بسیار مهم برای صنعت بانکداری توسعه یافت. در زمینه اینترنت اشیا، AMQP برای کارکردهای تحلیل سمت سرور که در آنها دادهها از چندین سرور باید برای تحلیل کارآمد مبادله شوند بسیار مناسب است.
در مجموع باید گفت که نمیتوان گفت کدام پروتکل برای اینترنت اشیا بهترین است چون در مرحلهای هستیم که هنوز نتوانستهایم آن را استاندارد کنیم و شاید هرگز هم نتوانیم. ماهیت متنوع کاربردها و میلیونها نوع مختلف دستگاههای متصل این حوزه به حوزهای منحصربهفرد تبدیل کرده است. بنابراین بهترین پروتکل به نوع کاربرد بستگی دارد.
Web of things چیست؟
web of things یعنی استاندارد وب در IoT که ارتباطات بین اشیای هوشمند و برنامههای مبتنی بر وب را برقرار میکند. بدین ترتیب، واسط مبتنی بر وب برای کنترل و نظارت دستگاهها روی وب فراهم میشود. WoT در واقع پروتکلهای لازم برای برقراری ارتباط بین دستگاههای مختلف اینترنت اشیا را مشخص میکند. مطابق استاندارد WoT، رفتار هر شی را تعامل کاربر و شی مشخص میکند.
در بسیاری برنامههای IoT، وب سرور نعبیه شده HTTP/WebSocket روی دستگاه برای انجام کار، کافی است و غالبا راهکاری سریعتر، سادهتر و بهصرفهتر است. انتخاب وب سرور مناسب کار سختی است. در ادامه نکاتی در زمینه خصوصیات وب سرورهای iot میخوانید:
- در برنامه نویسی اینترنت اشیا میتوان با افزودن چند خط کد، یکپارچگی با محصول پیاده سازی شود.
- دسترسی از راه دور از طریق ایجاد داشبورد سرور برای کاربر فراهم میشود.
- از طریق برنامههای سروری RESTful API، مانیتورینگ و نگهداری در سطوح مختلف فراهم میشود.
- ارتباطات Websocket برای انتقال اطلاعات، برقرار میشود.
لینک های مفید که در حوزه اینترنت اشیا اطلاعات خوبی در اختیار شما قرار می دهند:
معرفی پروتکل های LoRaWAN و LoRa
۱۱ ابزار رایگان برای اینترنت اشیا Iot
منابع:
Linkap.net
datacenteriot.ir
https://blog.faradars.org/connectivity-of-the-internet-of-things-1
https://falnic.com/blog/what-is-the-internet-of-things.html