پلتفرم ها و ابزارهای Iot مهمترین مولفه اکوسیستم اینترنت اشیا (Iot Ecosystem) محسوب می شوند. هر دستگاه Iot برای تبادل اطلاعات می تواند از طریق پروتکل های استاندارد اینترنت به اپلیکیشن ها و دستگاه های دیگر متصل شود.
در حقیقت پلتفرم های اینترنت اشیا نقش واسطه بین سنسورهای دستگاه و شبکه دیتا را ایفا می کنند و دیتا را به سیستم سنسور متصل می کنند. به عبارت دیگر Iot با استفاده از اپلیکیشن های بک اند (Back-End)، دیتای ایجاد شده توسط سنسورها را برای کاربران قابل درک می کند.
اینترنت اشیا (Internet Of Things) آینده دنیای تکنولوژی به شمار می رود و به هوش مصنوعی (AI) در راستای درک بهتر و کنترل اشیا کمک می کند. ما در این مقاله برخی از بهترین پلتفرم ها و ابزارهای Iot را معرفی خواهیم کرد تا به شما در روند توسعه پروژه های Iot کمک کرده باشیم.
۱- Zetta
نرم افزار Zetta یک پلتفرم API محور به شمار می رود که مبتنی بر فریم ورک Node.js طراحی شده است. این پلتفرم به عنوان ابزاری جامع به منظور توسعه HTTP API در دستگاه های دیجیتالی مورد استفاده قرار می گیرد. پلتفرم Zetta با ترکیب پروتکل WebSocket و رابط برنامه نویسی API REST، اپلیکیشن هایی داده محور و Real-Time تولید می کند. ویژگی های بارز این نرم افزار عبارتند از :
- قابلیت اجرا در کامپیوتر، فضای ابری (Cloud) و بردهای توسعه (Development Boards)
- دارای رابط کاربری ساده و برنامه نویسی لازم برای کنترل سنسورها، محرک ها و کنترلگرها
- امکان توسعه اپلیکیشن های موبایل، وب و Cloud
- مناسب برای اپلیکیشن های داده محور و Real-Time
- تبدیل دستگاه های مختلف به یک API
۲- Arduino
اگر به دنبال تقویت کامپیوتر معمولی خود هستید تا از طریق آن کنترل بیشتری روی دنیای واقعی داشته باشید، نرم افزار Arduino انتخاب هوشمندانه ای برای شما به شمار می رود.
این ابزار یک پلتفرم IOT بسیار ساده است که ترکیبی از سخت افزار و نرم افزارهای Iot را در اختیارتان قرار می دهد. فعالیت این پلتفرم می تواند از طریق ماژول های سخت افزاری درون دستگاه های الکترونیکی تعاملی صورت پذیرد یا اینکه به صورت نرم افزار یا IDE در اختیار کاربران قرار می گیرد.
۳- Node-RED
نرم افزار Node-RED بر پایه فریم ورک Node.js ساخته شده و یک ابزار بصری برای پوشش اینترنت اشیا به شمار می رود، این ابزار دستگاه های سخت افزاری، API و سرویس های آنلاین را از طریق یک ویرایشگر (مرورگر محور) به یکدیگر متصل می کند. این ابزار در کامپیوتر تک برد Raspberry Pi اجرا می شود و برای عملکرد بهتر آن نیز می توان از ۶۰ هزار ماژول جانبی استفاده کرد.
۴- Flutter
فلاتر یک هسته پردازنده قابل برنامه ریزی است که برای پروژه های الکترونیکی مورد استفاده دانش آموزان و مهندسین قرار می گیرد. ویژگی شاخص فلاتر عملکرد دوربرد آن است. در حقیقت این برد الکترونیکی مبتنی بر Arduino شامل یک فرستنده وایرلس است که تا بیش از نیم مایل را پشتیبانی می کند. علاوه بر این بردهای فلاتر بدون نیاز به روتر می توانند به سرعت با یکدیگر تعامل داشته باشند. این ابزار همچنین شامل سیستم رمزنگاری پیشرفته ۲۵۶ بیتی AES است. ویژگی های دیگر این ابزار عبارتند از :
- عملکرد پرسرعت
- رابط کاربری ظریف و انعطاف پذیر
- عملکردی Native
- دارای پایانی Visual و ویژگی های ویجت های Existing
۵- M2MLabs Mainspring
نرم افزار M2MLabs Mainspring فریم ورکی است که برای توسعه اپلیکیشن های ماشین به ماشین (M2M) نظیر ریموت کنترل، مدیریت ناوگان یا ترمینال های هوشمند مورد استفاده قرار می گیرد. این نرم افزار امکانات مختلفی مانند طراحی انعطاف پذیر دستگاه و ساختار آن، برقراری ارتباط بین ماشین و اپلیکیشن، اعتبارسنجی و نرمال سازی (Normalization) دیتا، نگهداری طولانی مدت از دیتا و بازیابی داده را در اختیار برنامه نویسان قرار می دهد.
این ابزار مبتنی بر جاوا و سیستم مدیریت دیتابیس آپاچی کسندرا NoSQL طراحی گردیده است. توسعه دهندگان می توانند اپلیکیشن های M2M را با سرعت بسیار بالا مدلسازی کرده و آنها را به محیط اجرایی قدرتمند مبتنی بر استانداردهای J2EE و پایگاه داده Apache Cassandra منتقل کنند.
۶- ThingsBoard
ابزار ThingsBoard به منظور جمع آوری دیتا، پردازش، تصویرسازی و مدیریت دستگاه طراحی گردیده است. این ابزار علاوه بر سازگاری با فضای ابری و توسعه های پیش فرض (Deployment Premise)، از تمام پروتکل های استاندارد Iot نظیر CoAP، MQTT و HTTP پشتیبانی می کند. این ابزار جریان کار (Workflow) را بر اساس طراحی رویدادهای چرخه عمر (Life Cycle Events)، رویدادهای REST API و ریکوئست های RPC توسعه می دهد. برخی از ویژگی های ابزار ThingsBoard عبارتند از :
- دارای یک پلتفرم پایدار که ترکیبی از مقیاس پذیری، تولید و تحمل خطا است.
- ورودی های دستگاه را نرمال سازی و تغییر می دهد و فعالیت های مختلف دستگاه از قبیل کنترل از راه دور، بازیابی یا عدم تحرک را از طریق آلارم اعلام می نماید.
- قابلیت ایجاد ویژگی های Use-State از طریق مجموعه ای از قوانین قابل تنظیم
- قابلیت کنترل میلیون ها دستگاه به طور همزمان
- هر کامپیوتر متصل به نرم افزار در جای معینی قرار گفته است بنابراین هیچ گونه خطایی رخ نخواهد داد.
- قابلیت Multi-tenant installations
- دارای ۳۰ ویجت سفارشی برای دسترسی بهتر کاربران
۷- Kinoma
این ابزار در واقع یک پلتفرم سخت افزاری نیمه رسانا متعلق به شرکت Marvell است که ۳ پروژه منبع باز مختلف را شامل می شود. کیت Kimona Create در واقع یک ابزار “خودت انجامش بده” یا DIY است که برای مدلسازی دستگاه های الکترونیکی مورد استفاده قرار می گیرد. در حقیقت Kimona Studio یک محیط توسعه نرم افزار محسوب می شود که با Set Up و Runtime پلتفرم Kinoma کار می کند. اپلیکیشن Kimona Connect نیز یک نرم افزار رایگان برای گوشی های اندروید و iOS محسوب می شود که امکان اتصال گوشی به دستگاه های Iot را در اختیار کاربران می گذارد.
۸- kaa iot platform
پلتفرم Kaa یک میان افزار چندکاره و انعطاف پذیر است که برای ایجاد راه حل های end-to-end، نرم افزارهای متصل و دستگاه های هوشمند مورد استفاده قرار می گیرد. این ابزار در واقع قابلیت برقراری ارتباط موثر و مشترک در دستگاه های هوشمند و متصل را در اختیار کاربران قرار می دهد. پلتفرم Kaa دارای مدل های پیشرفته استقرار راه حل Iot مولتی کلاد (Multi-Cloud) است که در استارت آپ های کوچک یا سازمان های بزرگ قابلیت اجرایی دارد.
علاوه بر این پلتفرم Kaa در درجه اول مبتنی بر میکروسرویس های انعطاف پذیر است که به راحتی با هر نوع اپلیکیشن مطابقت دارد. ویژگی های دیگر این میان افزار عبارتند از:
- میسر نمودن فعالیت مشترک دستگاه های مختلف با یکدیگر
- قابلیت کنترل Real-Time دستگاه، تعمیر از راه دور دستگاه و ساختار آن
- ساخت سرویس Cloud برای دستگاه های هوشمند
- قابلیت ارسال پیام در فرمت های مختلف توسط کاربر نهایی (End-User) به نقاط پایانی (Endpoint) از طریق سیستم های هشدار دهنده موضوع محور (Topic-Based)
- نظارت Real-Time دستگاه
- مدیریت همزمان چندین دستگاه متصل
- قابلیت جمع آوری و تحلیل داده های سنسور
۹- SiteWhere
پلتفرم SiteWhere جذب، پردازش، ذخیره سازی و ادغام دیتای ورودی دستگاه را کنترل می کند. این پلتفرم بر روی کانتینر Apache Tomcat اجرا شده و پیاده سازی دیتابیس MongoDB و HBase را در اختیار کاربران قرار می دهد. علاوه بر این می توان پلتفرم SiteWhere را بر روی سرویس های ابری نظیر AWS، Azure، GCP و on-premises مستقر کرد. این ابزار همچنین از پلتفرم کلاستر کوبرنیتز (Kubernetes cluster) نیز پشتیبانی می کند. برخی از ویژگی های بارز پلتفرم SiteWhere عبارتند از :
- قابلیت اجرای هر نوع اپلیکیشن Iot در یک Instance از پلتفرم SiteWhere
- قابلیت پیکربندی (Configuration) از طریق فریم ورک Spring
- اضافه کردن ویجت ها از طریق Self-Registration، Batch و سرویس های REST
- ذخیره سازی دیتا و رخداد (event) در دیتابیس InfluxDB
- قابلیت اتصال به پروتکل های MQTT، Stomp و AMQP
- قابلیت ادغام با فریم ورک های ثالث (Third-Party Frameworks)
- فریم ورک Eclipse Californium برای ارسال پیام های پروتکل برنامه های محدود شده (CoAP)
- استفاده از HBase به عنوان پایگاه داده غیر ارتباطی
- استفاده از پلتفرم Grafana برای تصویرسازی دیتا SiteWhere
۱۰- DSA
معماری سرویس های توزیعی یا همان DSA برای ایجاد ارتباطات بین دستگاه، منطق (Logic) و زیرساخت های Iot مورد استفاده قرار می گیرد. با این ابزار همکاری غیرمتمرکز بین دستگاه های مختلف امکان پذیر می شود، علاوه بر این با ایجاد تکنولوژی مهندس شبکه (Network Engineer) عملکرد کلی را بین سیستم های رایانشی Discrete تقسیم می کند. شما همچنین می توانید ویژگی Node ها، مجوزها و لینک ها را از DSLinks مدیریت کنید.
۱۱- Thinger
این ابزار یک فضای ابری (Cloud) مقیاس پذیر برای اتصال دستگاه های Iot در اختیار کاربران قرار می دهد. شما می توانید با اجرای کنسول Admin دستگاه های مختلف را کنترل کرده یا از طریق REST API آنها را با پروژه خود ترکیب کنید. این ابزار همچنین از هکر بردهای (Hackers Boards) مختلفی نظیر Raspberry Pi، Intel Edison و ESP8266 پشتیبانی می کند. ابزار Thinger قابلیت سازگاری با تکنولوژی IFTT را نیز دارد و از طریق داشبوردی بسیار زیبا، دیتا را به صورت Real-Time در اختیار کاربران قرار می دهد.