محصولات اینترنت اشیا از یک لامپ ساده تا تجهیزات تخصصی یک کارخانه را شامل میشوند. بنابراین، عجیب نیست که تا سال 2030 ارزش این فناوری در جهان به بیش از 5 تریلیارد دلار خواهد رسید. اما، چالشهای بزرگی در مسیر موفقیت این فناوری وجود دارند که عمدتا به نحوه طراحی محصولات مبتنی بر IoT و چالشهای امنیتی آن مرتبط هستند.
پس، مهم نیست که شما به عنوان کاربر نهایی چقدر از رویهها پیروی کنید و اطلاعات خود را محفوظ نگاه دارید؛ محصولاتی که بر اساس معماری استاندارد اینترنت اشیا توسعه نیافته باشند یا مسائل امنیتی را در هر لایه از توسعه این فناوری رعایت نکنند، محکوم به شکست خواهند بود.
اما معماری اینترنت اشیا چیست و از چه اجزایی تشکیل شده است؟ در این مقاله با 4 لایه اصلی معماری اینترنت اشیا آشنا خواهید شد تا:
برای شناخت معماری اینترنت اشیا، ابتدا باید با مفهوم اینترنت اشیا و کاربردهای ملموس آن آشنا شوید. پس حتما پست «هر چیزی که باید درباره اینترنت اشیا بدانید» را مطالعه کردید؛ مگر نه؟
بسیار عالی! برای درک بهتر معماری اینترنت اشیا هم بهتر است با یک مثال کار را شروع کنیم. حدس میزنیم یا خودتان ساعت هوشمند دارید یا حداقل یکبار ساعت هوشمندی را از نزدیک دیدید! با پوشیدن این ساعتهای هوشمند میتوانید اطلاعاتی مانند تعداد قدمهای برداشته شده، ضربان قلب و موقعیت جغرافیایی خود را از طریق اپلیکیشن موبایل این ساعت مشاهده کنید. به عنوان کاربر، شما از کل معماری اینترنت اشیا فقط با دستگاه فیزیکی (ساعت هوشمند) و اپلیکیشن کاربری در ارتباط هستید. در حالی که مراحل جمعآوری اطلاعات توسط این ساعت، ارسال آنها از طریق شبکههای ارتباطی و پردازش و تجمیع اطلاعات از چشم شما پنهان است.
بنابراین، منظور از معماری اینترنت اشیا فرآیند و ساختاری است که دستگاههای متصل به اینترنت میتوانند اطلاعات خود را به صورت استاندارد با انسان یا سایر دستگاهها به اشتراک بگذارند. این معماری معمولا به 3 تا 7 لایه قابل تقسیم است، اما معماری اینترنت اشیا را معمولا با 4 لایه اصلی میشناسند.
با توجه به پیچیدگی، عناصر معماری اینترنت اشیا را میتوان به 3 الی 7 لایه تقسیم کرد. اما در تقسیمبندی اکثر محصولات استاندارد اینترنت اشیا، 4 لایه اصلی زیر دیده میشود:
توجه داشته باشید که لایههای معماری اینترنت اشیا کاملا به صورت دو طرفه با یکدیگر در ارتباط هستند تا امکان نظارت و کنترل برقرار شود. در ادامه مقاله، به طور مفصل به تشریح هر لایه از این معماری خواهیم پرداخت.
اشیایی از جمله یخچال، ماشین، ساعت، چراغ و هر نوع دستگاهی که به سنسورهای خاص مجهز شود میتواند اطلاعاتی را از محیط اطراف خود دریافت کند. مثلا، یخچال شما با استفاده از سنسور میتواند کمبود مواد غذایی داخل یخچال را تشخیص داده و شما را مطلع کند.
لایه فیزیکی معماری اینترنت اشیا شامل اشیایی است که به سنسورها و عملگرهای متنوع مجهز شدند. سنسورها قابلیت دریافت اطلاعات از محیط اطراف و عملگرها امکان کنترل اشیا از راه دور را به وجود میآورند. این سنسورها و عملگرها به تنهایی امکان ارسال اطلاعات به شبکه را ندارند و برای این کار باید به سختافزارهایی مانند آردوینو، رزبری پای یا بوردهای سختافزاری سفارشی متصل شوند. این سختافزارها قابلیت تبادل اطلاعات با شبکه را خواهند داشت.
لایه فیزیکی، ابتداییترین و بنیادیترین جزء معماری اینترنت اشیا است و در طراحی سختافزارهای اینترنت اشیا باید دقت کنیم که این دستگاهها امکان دریافت دقیق اطلاعات از محیط، برقراری ارتباط موثر با شبکه، توان مصرف برق مناسب و قابلیتهای پردازشی اطلاعات را داشته باشند.
به مجموع اشیا، سنسورها، عملگرها و سختافزارها در لایه فیزیکی اصطلاحا دستگاه هوشمند یا دستگاه متصل به اینترنت گفته میشود.
منظور از شبکه ارتباطی یا گیتوی، واسطهایی هستند که اطلاعات را از دستگاههای مختلف جمعآوری و به صورت تجمیعی به لایه پردازشی ارسال میکنند. شبکههای ارتباطی میتوانند بیسیم یا سیمی باشند. از انواع شبکههای ارتباطی محبوب میتوان به موارد زیر اشاره کرد:
در هر شبکه ارتباطی، از پروتکلهای ارتباطی استاندارد آن شبکه مثل LoRaWAN، MQTT، HTTP یا پروتکلهای صنعتی مثل Modbus استفاده میشود. همچنین، گیتوی برای تبدیل اطلاعات به فرمت قابل فهم برای موتور پردازشی، از سرورهایی مانند HTTP Server و MQTT Broker به تبع پروتکل بکار رفته، استفاده میکند.
هدف اصلی در انتخاب شبکه ارتباطی، قابلیت انتقال ایمن و موثر اطلاعات به اینترنت است. از آنجایی که هر شبکه دارای نقاط ضعف و قوت منحصر به فرد خود میباشد، بهتر است برای انتخاب شبکه ارتباطی مناسب به موارد زیر توجه کنید:
لایه پردازش اطلاعات، موتور پردازشی، پردازش ابری، میانافزار؛ لایه سوم معماری اینترنت اشیا را به تمامی این اسامی میشناسند. عناصر این لایه پس از دریافت اطلاعات دستگاهها به پردازش، ذخیره و تحلیل آنها میپردازند. به این لایه میتوان به عنوان پلی میان لایه شبکه ارتباطی و لایه اپلیکیشن هم نگاه کرد که اطلاعات دستگاهها را به فرمتی قابل فهم و موثر برای نمایش در اپلیکیشن تبدیل میکند.
دادههای خام و بدون ساختار در بخش پردازش ابری به صورت منظم و ساختار یافته تبدیل خواهند شد و قابلیت ذخیرهسازی، انجام محاسبات، تجزیه و تحلیل و ادغام فناوریهای دیگر مانند یادگیری عمیق (Deep Learning)، هوش مصنوعی، ماشین لرنینگ و الگویابی در این لایه رقم میخورد.
به دلیل پیچیدگی فرآیندهای لایه پردازشی، معمولا در این لایه از پلتفرمهای اینترنت اشیا استفاده میشود. به طور مثال، پلتفرم اینترنت اشیا تینگزپاد قابلیت پردازش، ذخیره و نمایش اولیه اطلاعات را دارد و میتوانید با حداقل کدنویسی و با استفاده از المانهای گرافیکی، داده خود را پردازش و برای نمایش در اپلیکیشن آماده کنید که نسبت به نمونههای خارجی مشابه به صرفهتر و دارای خدمات پشتیبانی بهتری میباشد. از سایر پلتفرمهای محبوب اینترنت اشیا میتوان به Azure، ThingsBoard و AWS اشاره کرد.
در آخرین لایه، اطلاعات در قالب یک اپلیکیشن موبایل یا وب به کاربر نمایش داده میشود. هدف این لایه، نمایش اطلاعات در فرمت قابل فهم و پردازش شده به مخاطب است و برای این کار معمولا از المانهای گرافیکی مانند نمودارها و جداول برای ساختارمندی اطلاعات استفاده میشود. در اکثر محصولات اینترنت اشیا، این لایه صرفا نمایشگر اطلاعات است و پردازش اصلی در لایه سوم رقم میخورد. اما لایه اپلیکیشن را میتوان به نحوی طراحی کرد که قابلیت پردازش جزئی برخی اطلاعات را داشته باشد.
از نمونههای ملموس اپلیکیشنهای کاربری میتوان به اپلیکیشنهای موبایل خانه هوشمند، داشبوردهای مدیریتی کارخانههای هوشمند و اپلیکیشن ساعت هوشمند اشاره کرد.
این 4 لایه معماری اینترنت اشیا به عنوان استانداردی در بین فعالین حوزه IoT شناخته میشود. البته در منابع مختلف میتوان تا 7 لایه شامل لایه امنیت، لایه بیزینس و لایه پردازش در لبه (Edge Computing) را نیز مشاهده کرد. تمامی ارتباطات بین لایههای فوق میتوانند به صورت یک طرفه یا دو طرفه طراحی شوند. برای آشنایی با مهارتهای لازم برای توسعه هر کدام از لایههای اینترنت اشیا، مقاله «نقشه راه یادگیری اینترنت اشیا» را مطالعه کنید.
از یک توسعهدهنده محصولات اینترنت اشیا به یک توسعهدهنده دیگر نصیحت! پیشنهاد میکنیم علاوه بر بروزرسانی مستمر دانش فنی خود در هر کدام از لایهها، به نکات زیر برای ایجاد یک معماری اینترنت اشیای مناسب توجه کنید:
معماری سیستم خود را به نحوی تعریف کنید که انعطاف لازم را جهت افزودن دستگاههای جدید و افزایش تعداد دستگاهها و حجم اطلاعات داشته باشد و بتوان به راحتی و در لحظه مقیاس آن را افزایش داد.
همانطور که در این مقاله مطالعه کردید، معماری اینترنت اشیا از اجزای متنوعی تشکیل شده است و حفظ امنیت هر کدام از لایهها نیازمند دقت و تخصص است. بنابراین، باید سیستم را به گونهای طراحی کنید که در مقابل سرقت اطلاعات، هک شدن و دسترسی نامجاز ایمن باشد.
در پروژههای بزرگتر اینترنت اشیا ممکن است اطلاعات دستگاهها از تولیدکنندگان و پروتکلهای مختلفی ارسال شود. در این صورت، باید زیرساختی را طراحی کنید که امکان ارتباط میان دستگاههای مختلف و ادغام اطلاعات را فراهم سازد.
دریافت و نمایش داده دستگاهها میتواند در کسب و کارهای تشنه اطلاعات ما بسیار موثر باشد، اما کافی نیست! سعی کنید از ابتدای ترسیم معماری اینترنت اشیای خود، ابزارهای مدیریتی و تحلیل داده را در ماموریت خود قرار دهید تا ظرفیت آنالیز داده توسط الگوریتمهای هوش مصنوعی برای تصمیمگیری بهتر فراهم شود.
با اینکه لازم است به عنوان یک توسعهدهنده اینترنت اشیا، اطلاعات جامعی از تمام بخشهای این فناوری داشته باشید، اما توسعه یک راهحل جامع هوشمند نیازمند تخصصهای مختلف در هر بخش است. برای آشنایی با مهارتهای لازم برای توسعه هر کدام از لایههای اینترنت اشیا، مقاله «نقشه راه یادگیری اینترنت اشیا» را مطالعه کنید.
حالا که فرآیند اتصال اشیای مختلف به اینترنت را بهتر درک میکنید و با هدف هر لایه از معماری اینترنت اشیا آشنا شدید، شاید علاقه داشته باشید که شما هم آستین خود را بالا بزنید و یک محصول اینترنت اشیا بسازید.
ما در آکادمی تینگزپاد، مقالات آموزشی و پروژههای ساده تا پیشرفتهای را در هر لایه از معماری اینترنت اشیا منتشر کردیم که میتوانید به طور رایگان استفاده کنید. همچنین، پلتفرم اینترنت اشیای تینگزپاد فرآیندهای پیچیده توسعه محصول را برای شما بسیار ساده خواهد کرد تا بتوانید در کوتاهترین زمان نتیجه محصولتان را مشاهده کنید.
نظر شما راجع به معماری اینترنت اشیا چیست؟ اگر فکر میکنید توضیحات و تجارب شما مقاله را کاملتر میکند، لطفا آن را در بخش کامنتها با ما به اشتراک بگذارید.