پلتفرم ها، راهکار ساده سازی توسعه پروژه اینترنت اشیاء
راهنمایی برای درک اهمیت استفاده از پلتفرم های اینترنت اشیاء
توسعه سیستم های اینترنت اشیاء به خودی خود پیچیده است و نیاز به کنترل و سازماندهی طیف وسیعی از قطعات متصل، شبکه ها، سرویس های ابری و تلفن های همراه و اپلیکیشن های تحت وب دارد.
پلتفرم های اینترنت اشیاء میان افزاری را برای اتصال و مدیریت سخت افزار ها و داده های جمع آوری شده آنها ، از طریق رابط های کاربری تلفن های همراه و یا اپلیکیشن های تحت وب، فراهم می کنند.
این پلتفرم ها معمولا برای برقراری ارتباط پایدار بین قطعات، سرویس ها و اپلیکیشن ها طراحی شده اند و نیز مراحل توسعه پروژه های اینترنت اشیاء را نیز آسان تر و سریعتر می کنند. پلتفرم های اینترنت اشیا به گونه ای طراحی می شوند که قابل اتکا و با سازگاری بالا باشند؛
برای مثال، پلتفرم ها اغلب به صورتی طراحی می شوند که در صورت از دست رفتن موقت و یا بروز خطا در قطعه، شبکه یا سرویس های ابری، قادر به ادامه کار باشند (Fault Tolerance).
با بهره گیری از استاندارد های API و SDK مناسب، پلتفرم های اینترنت اشیاء امکان یکپارچه سازی قطعات، اپلیکیشن ها و سرویس های گوناگونی را در راستای افزایش قابلیت انعطاف پذیری پروژه شما، فراهم می کنند؛ در نتیجه می توانید اجزای مختلف سخت افزاری خود را به دلخواه و بر حسب تغییر نیاز های پروژه ، بدون مشکل تعویض کنید.
اینترنت اشیاء در مسیر پیشرفت و گسترش کارایی گام بر می دارد، برای کاهش مدت زمان پروژه ها و ماندن در بازار رقابت، باید توسعه پروژه خود را سریع و موثر به انجام برسانید. اگرچه هرکدام از ایده های اینترنت اشیاء نیازهای ویژه خود را دارند اما در اغلب پروژه ها، نیازهای اساسی مانند مدیریت قطعات متصل، ارتباطات، ذخیره سازی، آنالیز و پردازش داده های گرد آوری شده، مشترک هستند. پلتفرم های اینترنت اشیاء با فراهم آوردن امکانات و سرویس های اساسی و قابل شخصی سازی، به این نیازهای پایه پروژه ها پاسخ می دهند.
با مرور ویژگی های اساسی پلتفرم های اینترنت اشیاء و در نظر داشتن اهداف کلی و کاربرد های آنها، متوجه خواهید شد که چرا باید برای بدست آوردن با ارزش ترین اطلاعات از داده های گرد آوری شده در کمترین زمان و پیشبرد سریع پروژه اینترنت اشیاء خود ، از پلتفرم های اینترنت اشیاء استفاده کنید.
ویژگی های پلتفرم اینترنت اشیاء
– مدیریت دیوایس
– پروتکل های ارتباط داده ها
– ذخیره سازی داده ها
– پایگاه قوانین و تحلیل ها
– توسعه سریع اپلیکیشن ها
– یکپارچه سازی
– امنیت
– هزینه توسعه و نگهداری پروژه ساخته شده با پلتفرم اینترنت اشیاء
اهمیت نسبی هرکدام از این ویژگی ها به موارد استفاده شما بستگی دارد. برای مثال یک سیستم خانگی هوشمند در مقیاس کوچک را در نظر بگیرید؛ مدیریت قطعه در این مورد چندان پر اهمیت نیست، چرا که تعداد بسیار محدودی قطعه برای کنترل کردن در پروژه ما وجود دارد؛ همچنین از آنجا که این سیستم خانگی خودکار به ندرت ممکن است واکنشی (Reactive) باشد، بنابراین نیاز به قابلیت ذخیره سازی و تحلیل داده ها در پلتفرم اینترنت اشیاء برای ذخیره و آنالیز تاریخچه داده های گرد آوری شده سنسور ها ، چندان مهم نمی باشد.
البته، پلتفرم اینترنت اشیاء باید از پروتکل های ارتباط داده با سرعت و قابل اتکا پشتیبانی کند تا از ارسال لحظه ای اطلاعات دریافت شده سنسورها و پاسخ های مناسب سیستم ، اطمینان حاصل شود.
در کاربرد های صنعتی اینترنت اشیاء ، که هزاران سنسور، تجهیزات کارخانه ها را برای تشخیص بروز خطا کنترل و زمان مناسب تعمیر یا تعویض قطعات را پیش بینی می کنند، ویژگی های مدیریت قطعه و تحلیل داده های پلتفرم اینترنت اشیاء قطعا بسیار مهم خواهند بود.
مدیریت قطعه
یکی از بخش های اصلی هر پلتفرم اینترنت اشیاء ، مدیریت قطعات سخت افزاری است که در تمام طول عمر پروژه، شامل مراحل تأمین قطعات جدید، کنترل و نگهداری قطعات در حال کار و در نهایت از رده خارج کردن قطعاتی که به پایان عمر مفیدشان رسیده اند ، کاربرد دارد.
پلتفرم های اینترنت اشیاء امکاناتی برای رجیستر کردن، پیکربندی و یا به روز رسانی های بی سیم (Over-the-air) فراهم می آورد. با پلتفرم اینترنت اشیاء می توانید هشدار های وضعیت قطعه را دریافت کنید و آمار کاربرد و وضعیت سلامت دستگاه را کنترل نمایید.
پلتفرم های اینترنت اشیاء همچنین امکان اشکال زدایی (debugging) را فراهم می کنند. امکان لیست کردن و جستجو میان قطعات متصل شده، جستجو و ویرایش و مدیریت Metadata قطعه، همه در زیر چتر مدیریت قطعه امکان پذیر است.
به دنبال پلتفرم هایی که مستقل از نوع قطعه هستند و می توانند با ERP موجود سیستم شما یکپارچه شوند، بگردید.
پروتکل های ارتباطی داده ها
برقراری ارتباط امن و قابل اتکا میان قطعات اینترنت اشیاء ، درگاه ها ، برنامه ها و سرویس های مبتنی بر فضای ابری برای مدیریت و کنترل از راه دور ضروری است. همچنین به روز رسانی قطعات متصل و ارسال و دریافت داده ها ، نیاز به برقراری ارتباط امن دارند. .
اگرچه برخی داده ها می توانند ذخیره و سپس توسط تکنیک تحلیل لبه (Edge Analytics) در سرور های محلی پردازش شوند، اما معمولا نیاز است که مقداری از داده ها برای پردازش های بیشتر به سرور های ابری و برنامه های کاربردی مبتنی بر آن ارسال شوند.
از آنجا که اغلب ممکن است هزاران قطعه متصل در یک سیستم اینترنت اشیاء صنعتی وجود داشته باشد، بسیاری از پلتفرم های اینترنت اشیاء از سرویس های واسط پیامرسان (Message Broker Services) استفاده می کنند تا امکان ارسال و دریافت داده ها در قطعه و درگاه ها ، با تأخیر زمانی کمتر فراهم شود. این سرویس های واسط معمولا از پروتکل های ارتباط داده استانداردی مانند MQTT ، CoAP یا XMPP استفاده می کنند.
برخی پلتفرم ها نیز از اتصال های باسیم برای برقراری ارتباط لحظه ای پشتیبانی می کنند.
ذخیره سازی داده ها
با وجود میلیارد ها قطعه متصل به شبکه که در حال تولید نرخ بسیار بالایی از داده ها هستند، هنگام انتخاب پلتفرم مناسب، محل ذخیره سازی این حجم از داده ها مسئله قابل توجهی است.
دریاچه های داده (Data Lakes) برای ذخیره انواع فرمت های داده مانند داده خام (Raw) ، ساخت یافته (Structured) و نیمه ساخت یافته (Semi-Structured) استفاده می شوند. این دریاچه های داده برای رسیدن به بیشترین مقیاس پذیری و انعطاف، معمولا بر مبنای فناوری های NoSQL و یا Hadoop ساخته می شوند.
دریاچه ها و یا انبار های داده استفاده شده در پلتفرم های اینترنت اشیاء معمولا بسیار در دسترس هستند و از ارسال و دریافت همزمان پشتیبانی می کنند؛ همچنین دارای شاخص های قابل پیکربندی برای افزایش کارایی جستجو و دسترسی داده توسط اپلیکیشن اینترنت اشیاء شما هستند.
پایگاه قوانین و تحلیل ها
پس از ذخیره مطمئن داده ها ، قدم بعدی بدست آوردن اطلاعات مفید و مورد نیاز از داده های اینترنت اشیاء است. بسیاری از پلتفرم های اینترنت اشیاء قابلیت های تحلیل آنی و بی درنگ (Real-Time Analytics) و پردازش دسته ای (Batch Processing ) را عرضه می کنند.
موتور قوانین (Rules Engine) با کدگذاری شرایطی که برای اقدامات راه اندازی استفاده می شود، قدرت تحلیل آنی برای تولید نتایج مورد نظر را نشان می دهد.
برخی پلتفرم ها، اپلیکیشن هایی برای تحلیل های فوری عرضه می کنند؛ اگرچه استفاده از پلتفرم هایی که از امکان شخصی سازی گزارش ها و شبیه سازی داده ها پشتیبانی می کنند ، گزینه بهتر و انعطاف پذیر تری خواهد بود.
توسعه سریع اپلیکیشن ها
سرعت بخشیدن به توسعه پروژه ها و ساخت اپلیکیشن های هدفمند از اصلی ترین انگیزه های استفاده از پلتفرم های اینترنت اشیاء است. بنابراین منطقی است که پلتفرم اینترنت اشیایی را انتخاب کرد که امکان استفاده از کد های استاندارد، الگو ها و ویجت ها و سایر اپلیکیشن ها را برای پیشبرد خودکار و توسعه سریع پروژه فراهم کند.
یکپارچه سازی
با وجود گستره بسیار بزرگی از قطعات متصل و سرویس های گوناگونی که تاکنون عرضه شده اند، داشتن قدرت هماهنگی و انطباق پذیری (Interoperability ) از مسائل بسیار مهم در زمینه اینترنت اشیاء است؛ نیاز به توضیح نیست که میلیارد ها قطعه و سرویس دیگر طی سال های آتی تولید خواهند شد. با رشد روز افزون اینترنت اشیاء ، تضمین آینده سیستم شما امری حیاتی خواهد بود.
پلتفرم های اینترنت اشیاء می توانند با تعریف استاندارد های معتبر و افزودن ساختار ها و لایه های بیشتر به فناوری استفاده شده ، این قدرت انطباق پذیری را به سیستم شما بدهند.
برای مثال ، در صورت استفاده از پلتفرم مناسب، هنگام تعویض سنسور های قدیمیتان با سنسور های جدید با دقت بیشتر، امکان عدم مطابقت سنسورها با اپلیکیشن و از کار افتادن آن بسیار کاهش می یابد.
پلتفرم های اینترنت اشیاء امکان همگام سازی و یکپارچگی با سایر پلتفرم ها ، قطعات، سرویس های تحت وب و اپلیکیشن های دیگر را با استفاده از SDK ها و API ها فراهم می آورند. ( REST API ها متداول تر هستند)
امنیت
امنیت بخش اساسی طراحی سیستم ها در پروژه های اینترنت اشیاء است. امنیت سیستم شامل برقراری ارتباط امن بین شبکه و قطعه و همچنین برقراری سطوح امنیتی برای سرویس های ابری و اپلیکیشن ها می شود.
پلتفرمی را انتخاب کنید که از سرویس های تعیین هویت و اجازه دسترسی پشتیبانی کند؛ بهتر است که پلتفرم شما با سیستم های موجود که از فناوری تشخیص هویت LDAP و استاندارد های X.509 برای اجازه دسترسی استفاده می کنند ، هماهنگ و قابل یکپارچه سازی باشد.
برای ارتباط امن، پلتفرم اینترنت اشیاء شما باید برای حفظ امنیت داده ها ، از استاندارد های کدگذاری امن مانند TLS پشتیبانی کند. همچنین پلتفرم های اینترنت اشیاء ممکن است دارای سطوح دسترسی مختلف برای کاربران، قطعات ، درگاه ها و سرویس های دیگر باشند و نیز ابزار ها و اپلیکیشن های مدیریت کنترل و بررسی سیستم را پشتیبانی کنند.
هزینه ها
سرعت بخشیدن به ساخت و توسعه پروژه اینترنت اشیاء از مزایای اصلی استفاده از پلتفرم های اینترنت اشیاء است؛ هرچند که استفاده از پلتفرم ها می تواند موجب کاهش هزینه های ساخت و توسعه نیز بشود. هزینه های جاری پلتفرم ها مانند حق اشتراک های دسترسی به پلتفرم اینترنت اشیاء (Hosted IoT Platform) و یا تأمین هزینه های یک پلتفرم Self-Host ، معمولا کمتر از هزینه های تولید و توسعه شخصی سیستم های مورد نیاز است.
بسیاری از پلتفرم های اینترنت اشیاء امکان استفاده رایگان از دوره های آزمایشی (Trial Period) و یا دسترسی رایگان با امکانات محدود را برای کاربران فراهم می آورند؛ بنابراین برای آغاز به کار پروژه تقریبا هزینه ای را متقبل نخواهید شد، هرچند باید از هزینه های خرید اشتراک پس از اتمام دوره آزمایشی اولیه اطمینان حاصل کنید.
مقایسه پلتفرم های اینترنت اشیاء
صدها پلتفرم مختلف اینترنت اشیاء در فروشگاه های مختلف موجود می باشد. برخی پلتفرم ها تنها برای مقاصد خاصی طراحی شده اند. برای مثال در فروشگاه GE Predix ، پلتفرم Paas IoT تنها برای پروژه های صنعتی اینترنت اشیاء مناسب است.
برخی دیگر از پلتفرم ها ممکن است به جای تأمین تمام قابلیت های یک پروژه اینترنت اشیاء ، تنها بخشی از قابلیت های مورد نیاز شما را پشتیبانی کنند؛ در نتیجه لازم است که برای پیشبرد پروژه ، از بیش یک پلتفرم استفاده کنید.
برای مثال، Cisco و SAS Edge-to-Enterprise IoT Analytics تنها بر روی آنالیز و تحلیل داده ها تمرکز دارند.
برای شروع، پنج مورد از پرکاربرد ترین پلتفرم های اینترنت اشیاء که برای طیف وسیعی از کاربرد ها مناسب هستند را معرفی خواهیم کرد :
IBM Watson IoT
پلتفرم IBM Watson ساخته شده بر پایه سیستم ابری IBM ، یک پلتفرم پیشرفته با رابط کاربری ساده و امکانات قدرتمند در تحلیل آنی و محاسبات شناختی (Cognitive Computing) و یادگیری ماشین است.
این پلتفرم از قابلیت های مدیریت قطعه، سیستم های تعیین هویت و اجازه دسترسی ، ذخیره سازی و ارتباط امن داده ها و همچنین پروتکل های استانداردی مانند MQTT و HTTPS ، پایگاه های قوانین، SDK و REST API ها پشتیبانی می کند.
براساس گزارش شرکت تحقیقات بازاریابی IDC ، پروژه ی اینترنت اشیاء IBM Watson ، پلتفرم برتر اینترنت اشیاء شناخته شده است.
Amazon Web Services IoT
پلتفرم اینترنت اشیاء AWS قابلیت انطباق پذیری بالایی دارد. این پلتفرم شامل یک SDK ، سیستم تعیین هویت و اجازه دسترسی ، رجیستر قطعه، درگاه ارتباطی قطعه با پروتکل های MQTT ، سوکت وب برای ارتباط باسیم و HTTP و موتور قوانین یکپارچه با سرویس های AWS و همچنین Dynamo DB است.
نکته جالب درباره این پلتفرم ها تکنولوژی Device Shadows است که یک نسخه پایدار مجازی از هر قطعه و وضعیت فعلی آن را ایجاد می کند.
Microsoft Azure IoT Suite
Microsoft Azure Suite پلتفرم پرکاربرد دیگری است که از قابلیت مدیریت قطعه و همچنین قطعات دوگانه
(مانند تکنولوژی Device Shadow) پشتیبانی می کند. پروتکل های ارتباطی استاندارد مانند MQTT ، AMQP و HTTP و همچنین ذخیره سازی امن داده ها، موتور های تحلیل و پیشبینی و شبیه سازی داده ها و پایگاه قوانین از دیگر امکانات این پلتفرم است.
ThingWorx
PTC ThingWorx یک پلتفرم پیشرفته اینترنت اشیاء است که بیشتر برای مدل سازی و توسعه سریع پروژه استفاده می شود. مدیریت قطعه ، مدل سازی اپلیکیشن ها ، استفاده از پروتکل های استانداردی مانند MQTT ، AMQP ، XMPP ، CoAP و امکان برقراری ارتباط با سیم و تحلیل و پیشبینی داده ها و همینطور پشتیبانی از SDK ها و REST API ها برای بالا بردن امکان انطباق پذیری پلتفرم ، از ویژگی های این پلتفرم می باشد.
Kaa
Kaa یک پلتفرم اینترنت اشیاء رایگان و متن باز (Open-Source) است که تحت لیسانس Apache 2.0 عرضه می شود که به پلتفرم امکان خود میزبانی (Self-Host) را می دهد. Kaa شامل پروتکل های SDK و REST API برای جاوا ، C و C++ است؛ همچنین دارای قابلیت های مدیریت قطعه، جمع آوری داده، مدیریت پیکربندی، متعادل سازی بار (Load Balancing) و پردازش داده می باشد.
جمع بندی
با وجود تعداد بسیار زیاد پلتفرم های موجود، انتخاب پلتفرم مناسب در ابتدا ممکن است سخت به نظر برسد. نیازمندی های پروژه خود و ویژگی های هر پلتفرم را بررسی کنید تا بهترین مورد را بیابید.
استفاده از پلتفرم اینترنت اشیاء می تواند به ساده سازی پروژه شما کمک کرده و سرعت توسعه آن را بالا ببرد ؛ با استفاده از پلتفرم های اینترنت اشیاء می توانید تمرکز خود را روی ویژگی های خاص کاربردی و برطرف کردن نیازهای پروژه خود گذاشته و به سرعت ایده اینترنت اشیاء خود را به مرحله عمل درآورید.
منبع: IBM
سلام وقت بخیر . عالی توضیح دادین سپاسگذارم.
یه سوال داشتم. انطباق پذیری یعنی چه .
سلام. باتشکر از توجهتون
همون طور که توی مثالی که اورده شده هم اشاره کردیم، انطباق پذیری یعنی اینکه شما چه از نسخه های قدیمی و چه از نسخه های جدید هر سخت افزار که استفاده می کنید، همچنان پلتفرم از اون ها پشتیبانی کنه و خطایی برای معرفی و استفاده از اونها نداشته باشه.
شاد و پیروز باشید