وبلاگ و اخبار

طراحی سیستم های IOT با استفاده از ابزار های متن باز

وبلاگ و اخبار

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

علاوه بر این سیستم های IOT باید کم هزینه باشند و مقادیر کمتری از انرژی را مصرف کنند. اصطلاح سیستم IOT همه چیز را از کنترل درب ورودی تا کنترل ماشین الات صنعتی از طریق شبکه را شامل می شود. بر اساس پیچیدگی این سیستم ها توسعه دهندگان باید حداقل دانش پایه در زمینه های طراحی سخت افزار،توسعه نرم افزار،سیستم عامل،شبکه و ارتباطات،تعامل انسان و کامپیوتر و طراحی کمترین مصرف انرژی را داشته باشند. هر کدام از رشته ها یک دوره کاملی را در بر می گیرند در حالی که طراحی IOT خیلی از این رشته ها را پوشش می دهد و می تواند تا ۱ سال هم ادامه داشته باشد.

در ادامه بخش های کوتاهی مطرح خواهد شد که بر اساس متد و ابزار های open source توسط دو دانشگاه از کشورهای  اسپانیا و یونان ارائه شده است.مدت این دوره یک هفته (۵ساعت در روز) است و هر مهندس کامپیوتر با دانش در زمینه های مطرح شده می تواند سیستم های IOT را توسعه بدهد و از ۵ قسمت تقسیم شده اند. لازم به ذکر است که برای مطالعه بیشتر حتما به مقاله اصلی که در منبع آمده است مراجعه شود.

IOT system Case Study

Project Management

Verification and Validation

Hardware Design

Software Design

مزایایی که در این روش وجود دارد عبارتند از: ۱-این روش شامل ابزارها ونرم افزار های open-source است که شخص می تواند طراحی کامل یک سیستم IOT فرا گیرد.۲- به همراه این روش که برای ساخت سیستم های IOT  مطرح شده است شخص می تواند کار خود را در محیط واقعی تست کند برای مثال می توان به  استفاده از سنسور های حسگر بیسیم برای اندازه گیری رطوبت و دما و ارسال آنها به سرور اصلی اشاره کرد.۳- زمانی که برای این بخش آموزشی در نظر گرفته شده است ۲۵ ساعت است.

طراحی سیستم های IOT

در شکل بالا روند طراحی سیستم IOT نمایش داده شده است.که در این بخش آموزشی برای یک سیستم صنعتی بسیار کارآمد می باشد. برای مدل سازی از سطح بالای سیستم شروع می کنند و بعد از آن به سطح شبیه سازی می پردازند که شاید در این دوره خیلی پوشش داده نشود.و بعد از آن نوبت به پارتیشن بندی سیستم می رسد و بعد ترکیبی از سخت افزار و نرم افزار را خواهند داشت. ودر نهایت به طراحی اعتبار و تایید سیستم می پردازند.

شرح مفصل ۵ قسمت آموزشی:

IOT system Case Study

در این قسمت سیستم  IOT پیچیده بوده و سامانه مونتاژ و هر کدام از اجزا آن (نرم افزار و سخت افزار) آنالیز می شوند. این قسمت بیشتر بر روی رشته های مهندسی مورد نیاز تمرکز دارد که برای توسعه هر کدام از زیر ماژول ها مورد استفاده قرار می گیرد که برای مثال می توانیم به توسعه سیستم های کم قدرت اشاره کرد. در اینجا یک نمونه را مطرح می کنند و به شرح اجزا آن می پردازند (برای مثال TV set-top box). در اینجا مشخصات فنی وغیر فنی سیستم مشخص می شود. و از آن به عنوان پوشش مشخصات سیستم یاد می شود تا وظایف فرآیند ها را در طول طراحی مشخص کند. (برای مثال set-top box به  حداقل جریان اطلاعاتی ۹٫۸ Mbps برای TV set نیاز دارد. در حالی که باید هزینه کمتر از ۳۰ یورو را برای بازار رقابتی داشته باشد). و یک مدل سطح بالایی از محصول ایجاد می شود و یکی از بخش های مهم و اساسی در طراحی سیستم های IOT است. سپس به تجزیه و تحلیل هر کدام از اجزا آن می پردازند که می توان به۱-عملکرد(سرعت، زمان،تاخیر)۲-مصرف انرژی۳-هزینه۴-فناوری اجرا۵- Interface هایی که برای سیستم نیاز است اشاره کرد.

برای مثال در سیستم های set-top box قسمت  MPEG2/MPEG4 Decoder می تواند داده ها را با سرعت حداقل ۳۰ فریم بر ثانیه در سیستم های NTSC با ۷۲۰x480 پیکسل تجزیه و تحلیل کند. و برای سیستم های PAL با ۷۲۰x576 پیکسل با سرعت ۲۵ فرم بر ثانیه آنالیز را انجام میدهد. و مصرف برق ان نباید بیشتر از ۵ وات باشد و یا باید در هزینه کلی ساخت سیستم هم صرفه جویی شود.

نکته مهم این است که این ابزار باید بر روی تعداد زیادی از دستگاه ها نصب شود و از آن به عنوان یک نرم افزار مدار مجتمع یا به عبارتی  (Application Specific Integrated Circuit (ASIC استفاده شود که می تواند ۲۰ میلیون یورو برای توسعه هزینه در برداشته باشد اما پس از آن هزینه واقعی هر ابزار کمتر از۱ یورو می باشد. این سیستم شامل چند high-end interface می باشد که عبارتند از:

۱- interface 16 بیت به همراه کلاک ۵۰MHZ که حافظه SDRAM به آن متصل است.

۲-باس ۱۶بیت به همراه کلاک ۵۰MHZ که به این سیستم به همراه NTSC/PAL/HD/UHD Encoder متصل می شود

۳- باس ۱۶بیت به همراه کلاک ۵۰MHZ برای Audio DAC

۴- interface 16 بیت به همراه کلاک ۱MHZ به همراه یک میکروکنترلر که تنظیمات MPEG decoder را برعهده دارد.

۵- – interface 16 بیت که برای ماژول کنترل کانال استفاده می شود.

Project Management

شامل تکنیک اساسی مدیریت پروژه می باشد که شامل چگونگی نظارت بر روی طراحی و قسمت های درگیر سیستم های IOT است. و همچنین تمرکز ویژه ای را  بر روی ابزار های منبع باز دارد تا فرایند های مدیریت را پشتیبانی کند.

این بخش نشان می دهد که چرا مدیریت پروژه در راه اندازی و توسعه یک سیستم IOT  اهمیت ویژه ای دارد. این بخش ابتدا ضرورت اهمیت مدیریت پروژه را پررنگ می کند و بعد از آن چگونگی برنامه ریزی آن را شرح می دهد.آغاز مدیریت پروژه با شناسایی قطعات سیستم همراه است. وبه دنبال آن تمامی زیر بخش ها درگیر می شوند.و پس از آن باید برآوردهای زمانی برای هر کدام از بخش ها و زیربخش ها انجام بگیرد.و برای این کار می توان از ابزارهای تنظیم Gantt Charts استفاده کرد. هدف نهایی در این قسمت برنامه ریزی برای توسعه یک سیستم IOT می باشد.

Verification and Validation

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

ابزارهایی که برای این قسمت می توان استفاده کرد شامل gEDA و OpenDesign می باشد. ابزارهای این بخش باید بسیار تخصصی باشند برای مثال می توان از شبیه ساز های Thermal و Electromagnetic نام برد.و باید از الگوهایی برای تست و آنالیز استفاده کردکه ابزار gEDA شامل این ابزار ها است و توضیح داد که به چه صورت این ابزار ها بخش validation طراحی سیستم های IOT را متوجه می شوند.

همین طور می توان از ابزارهای منبع باز Open watcom استفاده کرد که عمل self test را انجام می دهند و به وسیله کامپایلر Retarge table ایجاد می شود. در نهایت از طریق این بخش به مفهوم Design for Testability خواهیم رسید که به معنای طراحی برای تست می باشد. به طور خاص بخش سخت افزاری سیستم های IOT را می توان با ابزارهای open-source از قبیل VPlanet toolset  در این بخش معرفی کرد و برای بخش نرم افزار از کتابخانه های open-source از قبیل libfiu استفاده کرد.

Hardware Design

بخش چهارم طراحی سخت افزار در سیستم های IOT می باشد. این بخش به تنهایی یک دوره کامل را در بر میگیردو فرض بر این است که خوانند آشنایی کاملی با طراحی سخت افزار دارد. در اینجا بر روی استفاده از مهارت های بالا برای طراحی سخت افزار تمرکز شده است.

این کار را می توان با ابزارهای Synthesis(HLS) High-Level  انجام داد که در دسترس هستند. و تمرکز ویژه در این ابزار ها چگونگی استفاده و اجرا شبکه های کم قدرت می باشد. واین ابزار ها به عنوان یک ورودی برای برنامه های سطح بالا از قبیل C++ در نظر گرفته می شود. ابزار های منبع باز زیادی برای این بخش وجود دارد که می توان به OSMOSIS اشاره کرد.پس از گرفتن خروجی از پارتیشن بندی سخت افزار باید با استفاده از ابزار های open-source synthesizer  یا ترکیب کننده به ترکیب کردن آنها پرداخت این عمل به اصطلاح synthesize  گفته می شود.که در ابزار OSMOSIS موجود می باشد. و کد نهایی که به عنوان زبان توصیف سخت افزار یا به عبارتی (Hardware Description Language (HDLمی باشد به دست می آید. علاوه بر این سیستم سخت افزاری باید طوری طراحی شود تا کمترین مصرف انرژی را داشته باشد

این فرآیند به طور کامل در شکل زیر توضیح داده شده است که قسمت خاکستری بیشتر بر روی طراحی سخت افزار تمرکز کرده است و همین طور این قسمت اطلاعات مخصوصی را برای بخش validation فراهم می کند.

طراحی سیستم های IOT

Software Design

این بخش بر روی چگونگی استفاده از نرم افزار های open-source  برای سیستم های IOT تمرکز کرده است. و باید یک پیش زمینه ای از طراحی نرم افزار را داشت. بنابراین در این قسمت میلیاردها خط code موثر وجود دارد که باید آنها را در پیاده سازی سیستم های IOT در نظر گرفت. به وسیله نرم افزار های open-source و سیستم عامل های مبتنی بر هسته UNIX بسیاری از نرم افزار ها برای سیستم IOT می توان طراحی کرد.

سیستم عامل هایی که در این بخش وجود دارند عبارتند از: eCosو MINIX3و Android که باید مزایا و معایب آنها را هم در نظر گرفت.سپس باید یک محیط توسعه نرم افزار را در نظر گرفت که می تواند به طور موثری اجرای ماژول های نرم افزار مورد نیاز در سیستم های IOT را تسهیل کند.که می توان به مجموعه  ابزار های ODE اشاره کرد همچنین  میتوان به ابزار Eclipse که دارای محیط گرافیکی است اشاره کرد که دارای صدها ابزار برای توسعه نرم افزار است.

باید بر روی پلتفرم میان افزار منبع باز و یا open-source middle ware platforms نیز تمرکز کرد که می توان بر روی بعضی از سیستم های IOT نصب کردکه میان افزار های شبکه مانند NTP و یا پایگاه داده های IOT مانند MySQL و PostgreSQL  نمونه هایی هستند که می توان به آنها اشاره کرد. نکته ای که وجود دارد این است که زمانی که از این ابزار های open-source استفاده میکنیم به محدودیت آن پی برده و باید از نرم افزار های distinct یا مجاز برای توسعه سیستم IOT مورد دلخواه استفاده کنیم.

تعداد زیادی نرم افزار های  open-source برای توسعه زیر سیستم های IOT وجود دارد که می توانند تمام نیاز های سیستم را پوشش دهند می توان از بانک نرم افزاری SourceForge برای این کار استفاده کرد که بیشتر نرم افزارهای open-source را برای طراحی سیستم های IOT در بردارد و با یک جستجوی ساده می توان به کد مورد نظر دست یافت.

بعد از سپری کردن این ۵ بخش می توان سیستم های زیر را طراحی کرد:

طراحی Bluetooth Access Point

طراحی سیتم های کنترل ربات ها

طراحی سیستم های IOT voice recognition system

طراحی نود های WSN کم مصرف

بیشتر سخت افزار ها آماده طراحی شده اند و توسعه دهنده گان می توانند یک ماژول خاص سخت افزاری روی مدارهای FPGA و یا یک برنامه خاص را بر روی CPU ها توسعه دهند

طراحی سیستم های IOT

شکل بالا نودهای WSN کم مصرف را نشان می دهد. که شامل یک CPU 16 بیتی است و از یک برد کم مصرف FPGA تشکیل شده است و با این نود ها ۹۰ درصد در انرژی صرفه جویی شده است و می تواند کاربردهای زیادی داشته باشد.


منبع:

IEEE- I. Papaefstathiou, “IoT design course using open-source tools,” 2016 IEEE Global Engineering Education Conference (EDUCON), Abu Dhabi, 2016

شرکت پرساتک  می تواند در زمینه راه اندازی اینترنت اشیاء  برای صنایع خدمات منحصر به فردی را ارائه دهد.

نوشته‌های مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تعدادی از پروژه های پرساتک