خانه > مقالات > اینترنت اشیا

شبیه ساز ها و پلتفرم های اینترنت اشیا

امیرحسین فرحزادی  

اینترنت اشیا از جمله تکنولوژی های نوظهور و پر سر و صدای فعلی محسوب می شود. فرصت های سرمایه گذاری بیشمار و راحتی در سبک زندگی افراد باعث شده تا سازمان ها، شرکت ها و استارت اپ های مختلف به فکر ارائه محصول و سرویس در این حوزه باشند. یکی از مهم ترین فازهای ارائه این سرویس ها، بخش تحقیق و توسعه است. در این بخش سعی می کنیم برخی از شبیه ساز های مهم و کاربردی حوزه اینترنت اشیا را معرفی کنیم.

۱- Matlab

این نرم افزار قدرتمند و شناخته شده دارای یک ماژول اینترنت اشیا است که به شما اجازه می دهد تا تجهیزات هوشمند را ایجاد و تست کنید همچنین، داده ها را جمع آوری و آنالیز کنید. شایان ذکر است که ارتباط با فضای ابری نیز ممکن است. اشیا موجود در محیط عملیاتی داده های خود را به پلتفرم های اینترنت اشیا ارسال می کنند که این داده ها در محلی مانند فضای ابری جمع آوری می شوند تا به صورت بلادرنگ مورد تحلیل قرار بگیرند. سپس الگوها و الگوریتم ها استخراج می شوند و کارشناسان بر اساس این داده ها الگوریتم های نمونه را شکل می دهند و در فضای ابری اجرا می کنند. از طریق Matlab شما می توانید سیستم های اینترنت اشیا را نمونه سازی و شکل دهید. به صورت دقیق تر می توان گفت امکان توسعه الگوریتم ها در Simulink و انتقال آن به تجهیزات تعبیه شده وجود دارد. از جمله ویژگی های جالب این شبیه ساز امکان ایجاد و طراحی تکنولوژی های لبه است. به طور کلی شبیه ساز Matlab به شکل جامع طراحی و ایجاد راه حل های اینترنت اشیا را فراهم می کند ولی حداکثر پتانسیل آن زمانی نمایان می شود که راه حل و موضوع مدنظرتان با علوم داده قرابت دارد.

شبیه ساز matlab

 

۲- NS3

از جمله شبیه سازهای بسیار پر کاربرد شبکه های کامپیوتری محسوب می شود. کارکرد آن بر حسب زبان برنامه نویسی C/C++ است. نکته قابل ذکر آن است که نوع شبیه سازی شبکه ها در این نرم افزار متفاوت از شبکه های اینترنت اشیا است. بنابراین، غالب کتابخانه ها و ابزار NS3 سازگاری زیادی با پروتکل ها و ابزار مورد نیاز شبکه های اینترنت اشیا ندارد. این مسئله در کنار سختی ذاتی طراحی و توسعه ایده ها بر روی آن باعث می شود که زمان بیشتری صرف آن شود. NS3 دارای یک رابط کاربری بسیار ساده است. به طور کلی می توان گفت NS3 از جمله قدرتمندترین و معتبرترین شبیه سازهای موجود است که تسلط بر روی آن تخصص ارزشمندی محسوب می شود ولی چنانچه قصد انجام کارهای سنگین و پیچیده را ندارید، جایگزین های ساده تر وجود دارد و یا زمان کمی دارید بهتر است از استفاده از آن صرف نظر کنید.

شبیه ساز ns3

 

۳- Contiki Cooja

این شبیه ساز با هدف پشتیبانی از شبکه های حسگر بیسیم و اینترنت اشیا عرضه شده است. از مزایای قابل توجه آن می توان به محیط گرافیکی و کاربردی آن اشاره کرد که یادگیری و شبیه سازی را بسیار راحتتر می کند. نصب و اجرای آن نیز پیچیدگی زیادی ندارد.همچنین بسیاری از پروتکل ها و استانداردهای رایج و مرسوم اینترنت اشیا و شبکه های بیسیم به صورت پیش فرض تعبیه شده اند و می توان عملیات بهبود کارآیی را روی آنها انجام داد. در کنار موارد ذکر شده مثال ها و نمونه پروژه های فراوان در نرم افزار وجود دارد که الگوی مناسبی جهت پیاده سازی شبیه سازی ها محسوب می شوند. زبان مورد نیاز این نرم افزار C/C++ است. از جمله ضعف های مهم این شبیه سازی عدم وجود مستندات کافی در مورد کلاس ها و کتابخانه های آن است. همچنین جامعه کاربری آن پویایی کافی را ندارند. این باعث شده تا بسیاری از عملیات مورد نیاز از روی مثال های منتشر شده و با بررسی دقیق آنها شفاف شوند. به طور کلی این شبیه ساز با درنظر گرفتن تمامی ویژگی ها و توانمندی هایش می تواند جزو گزینه های اصلی و اولیه قرار بگیرد.

شبیه ساز Contiki Cooja

 

۴-NetSim

این نرم افزار طی سال های اخیر همواره از جمله شبیه سازهای مطرح در زمینه مدل سازی و شبیه سازی شبکه های کامپیوتری بوده است. این شبیه ساز نسخه های گوناگونی دارد که نسخه آکادمیک آن به خوبی از اینترنت اشیا و شبکه های بیسیم پشتیبانی می کند. از طریق این شبیه ساز می توان حتی شبکه ای به اندازه یک شهر را طراحی کرد. شبیه ساز NetSim دارای یک رابط کاربری بسیار کارآمد است. همچنین پشتیبانی از پروتکل ها و کتابخانه های متعدد از جمله مزایای آن است. یکی از نکات چالش برانگیز آن، خرید حق لایسنس می باشد. NetSim دارای مستندات کافی، بروزرسانی های متعدد و جامعه کاربری پویا است. به طور کلی می توان گفت از نظر کارآیی و امکانات این نرم افزار کاملترین گزینه موجود است ولی خرید حق استفاده از آن برای کاربران ایرانی کمی دشوار است که با همکاری و مشارکت دانشگاه ها و مراکز آموزشی ممکن است این مشکل هم مرتفع شود.

شبیه ساز NetSim

 

۵- Fritzing

این نرم افزار در واقع یک شبیه ساز اینترنت اشیا محسوب نمی شود ولی از طریق آن می توان تجارب و دانش قابل توجهی نسبت به SBC ها، میکروکنترلرها، PCB ها و دیگر تجهیزات الکترونیکی بدست آورد. نرم افزار Fritzing دارای مثال ها و نمونه پروژه های قابل توجه و کاربردی است. محیط گرافیکی و مجموعه ابزار عرضه شده در این نرم افزار امکانی را فراهم کرده تا قطعات مختلفی را مورد بررسی قرار دهید و حتی در صورت لزوم برای آنها کدنویسی کنید. بدین ترتیب شاید بتوان برخی از هزینه های فاز تحقیق و توسعه را کاهش داد. هر روزه به امکانات و طرفداران این نرم افزار شگفت انگیز افزوده می شود و اگر به دنیای الکترونیک، حسگرها و به طور کلی لایه انتزاع علاقه مند هستید استفاده از این نرم افزار توصیه می شود.

شبیه ساز Fritzing

 

۶- IoTIFY

یک وب سایت عالی و جامع که برای توسعه دهندگان حرفه ای و افرادی که قصد ساخت و ارائه محصولات و سرویس های تجاری را دارند. این وب سایت بخش های مختلفی دارد که هر بخش آن متناسب یکی از فازهای تولید است. از طریق این سایت می توان یک نمونه از محصول مورد نظرتان را از طریق شبیه سازی ایجاد کنید. سپس می توانید شبیه سازی انجام گرفته را از طریق آزمایشگاه اختصاصی IoTIFY بر روی تجهیزات واقعی پیاده سازی کنید. در مرحله بعد از عملیات ارزیابی و کارآیی امکان پذیر می شود و می توانید عملکرد محصول یا سرویس خود را در شرایط مختلف ( ازدحام، توسعه پذیری، انعطاف پذیری و …) مورد ارزیابی و بهبود قرار دهید. در مرحله آخر IoTIFY خدمات رایانش ابری ارائه می دهد و می تواند از طریق سرویس های این بخش راه حل شما را پشتیبانی کند. پلتفرم ابری IoTIFY پروتکل های لایه کاربرد رایج همچون HTTP، CoAP و MQTT را به خوبی پشتیبانی می کند.

شبیه ساز IoTIFY

 

۷- Thinger.io

اگر ایده خود را پیاده سازی کرده اید و نیازمند یه پلتفرم ابری هستید، Thinger.io یکی از بهترین پلتفرم های موجود است. البته شایان ذکر است که پلتفرم های معروف تر و بهتر نیز وجود دارند ولی، به علت برخی از مشکلات نظیر تحریم کاربران ایرانی استفاده از آنها عملا غیر ممکن یا بسیار پیچیده و دشوار خواهد بود. Thinger.io خدمات خود را بدون محدودیت در اختیار کاربران ایرانی قرار می دهد. از دیگر مزایای این پلتفرم رایگان بودن آن است. این پلتفرم برای اهداف علمی و تحقیقاتی بسیار مناسب است و اجازه می دهد اتصال حداکثر ۴ گره برقرار شود. همچنین از طریق داشبورد و API های مربوطه عملیات کنترل و ارزیابی بسیار آسان خواهد بود. برای ایجاد ارتباط و انجام عملیات گوناگون از زبان برنامه نویسی C++ می توان استفاده کرد. مستندات، مثال ها و آموزش ها در این پلتفرم بسیار جامع، اصولی و کاربردی است و از این لحاظ هیچ ایرادی وارد نیست.

شبیه ساز Thinger.io

 

۸- CupCarbon

این شبیه ساز اخیرا محبوبیت بسیاری پیدا کرده است و امکانات قابل توجهی ارائه می کند. این شبیه ساز به صورت اختصاصی برای اینترنت اشیا و شبکه های حسگر بیسیم طراحی شده است. در آخرین بروزرسانی صورت گرفته مستندات و آموزش های جالبی به آن اضافه شده که از پیچیدگی های گذشته می کاهد و با استفاده از نمونه پروژه ها کارکرد شبیه ساز شفاف تر می شود. از جمله ویژگی های مثبت این شبیه ساز پشتیبانی از متدهای تحرک پذیری متفاوت است که برای شبیه سازی سناریوهای مختلف مورد استفاده قرار می گیرند. محیط گرافیکی دو یا سه بعدی آن در طراحی و ساختار دهی معماری کمک زیادی می کند. همچنین در نسخه فعلی پروتکل های ارتباطی بیشتری پشتیبانی می شود که در گذشته دارای محدودیت بود. این شبیه ساز شرایطی را فراهم کرده است تا تحقیق بر روی لایه های مختلف اینترنت اشیا امکان پذیر باشد. بزرگترین مزیت این شبیه ساز رایگان بودن آن و پشتیبانی منظم توسعه دهندگانش است.

شبیه ساز CupCarbon

 

در انتها و جهت معرفی اجمالی می توانیم به Bevywise IoT Simulator، IBM Watson IoT Platform و SimpleIoTSimulator اشاره کنیم که به ترتیب به عنوان شبیه ساز پروتکل لایه کاربرد MQTT در اینترنت اشیا، پلتفرم ابری چند منظوره و قدرتمند و شبیه ساز معماری، همبندی تجهیزات و شبکه اشیا شناخته می شوند.


منابع