آموزش نصب Castalia در OMNET برای شبکه WSN و BAN
در این بخش آموزش تصویری نصب Castalia در OMNET برای شبیه سازی شبکه های حسگر بی سیم و شبکه های ناحیه بدن را آماده کرده ایم که امیدواریم برای دانشجویان و محققان علاقه مند به نرم افزار شبیه ساز شبکه OMNET مفید واقع گردد.
شبکه حسگر بدن (BAN)
شبکه ناحیه بدن (BAN) که به آن شبکه بی سیم ناحیه بدن (WBAN) یا شبکه حسگر بدنی (BSN) و یا شبکه ناحیه بدن پزشکی (MBAN) نیز گفته می شود، یک شبکه بی سیم از دستگاه های محاسباتی پوشیدنی است [3].
کاستالیا (Castalia)
کاستالیا یک شبیه ساز برای شبکه های حسگر بی سیم (WSN) شبکه های ناحیه بدن (BAN) و به طور کلی شبکه های دستگاه های تعبیه شده کم مصرف می باشد [1]. این ابزار بر اساس یک نسخه قدیمی نرم افزار OmNet++ ساخته شده است. جدید ترین نسخه کاستالیا Castalia (3.3) با نسخه های قدیمی امنت بین 4.3 و 4.6 کار می کند. توجه داشته باشید که نسخه های بالاتر نرم افزار شبیه ساز امنت با ابزار Castalia سازگار نیستند. این ابزار می تواند توسط محققان و توسعه دهندگانی که می خواهند الگوریتم ها یا پروتکل های توزیع شده خود را در مدل های کانال بی سیم و رادیویی واقعی، با رفتار گره های واقع گرایانه به ویژه در ارتباط با دسترسی به رادیو، آزمایش کنند، مورد استفاده قرار بگیرد. این مقاله نحوه نصب نسخه قدیمی OmNet++ با Castalia 3.3 را بر روی chrooted 64 bit Debian 8 (Jessie) تحت میزبانی سیستم عامل لینوکس Debian 11 نشان می دهد.
ویژگی های Castalia
با توجه به اسناد موجود در [1]، ویژگی های اصلی Castalia عبارتند از:
مدل کانال
- مدل یک نقشه از دست دادن مسیر را تعریف می کند، نه فقط ارتباط بین گره ها
- مدل پیچیده برای تغییرات زمانی از دست دادن مسیر
- به طور کامل از تحرک گره ها پشتیبانی می کند
- تداخل به عنوان قدرت سیگنال دریافتی مدیریت می شود، نه به عنوان ویژگی جداگانه
مدل رادیویی
- احتمال دریافت بسته بر اساس SINR، اندازه بسته، نوع مدولاسیون، پشتیبانی از PSK FSK، مدولاسیون سفارشی با تعریف منحنی SNR-BER مجاز است
- چندین سطح توان TX با تغییرات گره جداگانه مجاز است
- حالت هایی با مصرف انرژی مختلف و تاخیر در تعویض بین آنها
- سنجش حامل انعطاف پذیر (مبتنی بر رای گیری و مبتنی بر وقفه)
قابلیت های قابل گسترش
- مدل فرآیند فیزیکی بسیار انعطاف پذیر است
- سنجش نویز دستگاه، بایاس و مصرف توان
- سنجش دریفت گره، سنجش مصرف انرژی CPU
- برای انطباق و گسترش طراحی شده است
در دسترس بودن MAC و پروتکل های مسیریابی
- در Castalia چهار ماژول MAC اصلی پیاده سازی شده است که شامل TunableMAC ، TMAC ، IEEE 802.15.4 MAC و IEEE 802.15.6 MAC می باشد که این استاندارد 15.6 MAC برای شبکه های ناحیه بدن (BAN) پیشنهاد می شود.
- simpleTreeRouting و multipathRingsRouting در نسخه های قدیمی و multipathRingsRouting فقط در نسخه های جدید موجود است.
- مک پیش فرض (BypassMAC) و مسیریابی (BypassRouting) در دسترس است.
مراحل نصب OmNet
شما می توانید نسخه قدیمی مورد نیاز OmNet++ را از مرجع [2] دانلود کنید.
مرحله اول: نصب پیش نیاز ها
طبق دستورات زیر پیش نیاز ها و وابستگی های لازم OmNet را نصب کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 | # refresh the database of available packages $ apt-get update #install the dependencies – if you only wish to use Castalia, then your will not require some of the following packages $ apt-get install wget build-essential gcc g++ bison flex perl python python3 qt5-default libqt5opengl5-dev tcl-dev tk-dev libxml2-dev zlib1g-dev default-jre doxygen graphviz libwebkitgtk-3.0-0 # If needed, add extra GIS repo – the osg related installation may fail – just ignore it $ apt install software-properties-common $ apt-get update $ add-apt-repository ppa:ubuntugis/ppa $ apt-get update # install osgearth development package and OpenSceneGraph $ apt-get install openscenegraph-plugin-osgearth libosgearth-dev # for parallel simulation support $ apt-get install openmpi-bin libopenmpi-dev |
مرحله دوم: دانلود نرم افزار OmNet++ 4.6
از لینک زیر OmNet++ 4.6 را دانلود کنید:
https://github.com/omnetpp/omnetpp/releases/download/omnetpp-4.6/omnetpp-4.6-src.tgz
مرحله سوم: استخراج فایل از حالت فشرده
1 2 | $ cd /home/your_home/ $ tar -xvf omnetpp-4.6-src.tgz |
تصویر زیر فایل های استخراج شده را نشان می دهد که با استفاده از File Manager در سیستم عامل میزبان نمایش داده می شود.
مرحله چهارم: کامپایل کردن OMNET
1 2 3 | $ cd /home/your_home/omnetpp-4.6 #configure make file according to the environment $ ./configure |
تصویر زیر عملیات پیکربندی موفقیت آمیز را نشان می دهد (فراموش نکنید که قبل از اجرای make و OmNet++ مسیر را در فایل .bashrc تنظیم کنید).
اکنون مسیر را تعیین کنید:
1 2 | # export the OmNet++ path (make it permanent by adding this line in .bashrc file $ export PATH=/home/omnetpp-4.6/bin:$PATH |
سپس می توانید OmNet++ را کامپایل کنید.
1 2 | #speeding the make using multiple processors ( the -j option) $ make -j9 |
تصویر ترمینال زیر کامپایل موفقیت آمیز OmNet ++ را نشان می دهد.
مرحله پنجم: اجرای نرم افزار OMNET
برای آزمایش نصب OmNet++ می توانیم رابط کاربری گرافیکی omnetpp را از chroot jail با استفاده از نمایشگر سیستم عامل میزبان اجرا کنیم. تصویر زیر از سیستم عامل مهمان (Debian 11) شروع رابط کاربری OmNet++ را از chrooted Debian 8 نشان می دهد.
1 | $omnetpp |
مرحله ششم: دانلود Castalia
1 2 | $ cd /home/your_home/omnetpp-4.6 $ git clone https://github.com/boulis/Castalia.git |
مرحله هفتم: کامپایل کردن Castalia در حالت خط فرمان (ترمینال)
1 2 | $ cd /home/your_home/omnetpp-4.6/Castalia/Castalia $ ./makemake |
اکنون یک خروجی مشابه خروجی زیر خواهید دید (فقط در محیط chroot) – فقط هشدارها را نادیده بگیرید.
اکنون Castalia را به صورت زیر کامپایل کنید:
1 2 | $ cd /home/your_home/omnetpp-4.6/Castalia/Castalia $ make -j9 |
در پایان کامپایل خروجی های زیر را مشاهده خواهید کرد:
مرحله هشتم: کامپایل کردن Castalia در رابط کاربری گرافیکی OmNet++
میتوانیم Castalia را تحت رابط کاربری گرافیکی OmNetpp پس از وارد کردن پروژه به فضای کاری موجود یا جدید کامپایل کنیم.
بخش زیر مراحل وارد کردن و کامپایل حالت GUI را نشان می دهد:
تصویر 10 | تصویر 9 |
تصویر 12 | تصویر 11 |
تصویر 14 | تصویر 13 |
تصویر 16 | تصویر 15 |
تصویر 18 | تصویر 17 |
تصویر 20 | تصویر 19 |
تصویر 22 | تصویر 21 |
تصویر زیر نمونه شبیه سازی شبکه BAN را نشان می دهد:
همچنین انیمیشن زیر خروجی متحرک آن شبیه سازی ساده BAN را نشان می دهد:
در مقاله ای دیگر شاهد شبیه سازی واقعی تر BSN خواهیم بود.
محدودیت های Castalia
ابزار Castalia مختص پلتفرم های سنسوری نیست. کاستالیا به منظور ارائه یک چارچوب عمومی قابل اعتماد و واقعی برای اعتبار سنجی مرتبه اول یک الگوریتم قبل از حرکت به سمت پیاده سازی واقعی بر روی یک پلت فرم حسگر خاص است و اگر کسی بخواهد کد کامپایل شده برای یک پلت فرم گره حسگر خاص را آزمایش کند مفید نخواهد بود [1].
در پایان امیدواریم که کار کردن با فریم ورک Castalia بر روی نسخه های اخیر OmNet++ نیز امکانپذیر باشد که نیازمند به روز رسانی ها و تغییرات اساسی ماژول های آن است.
منابع:
- https://github.com/boulis/Castalia
- https://omnetpp.org/download/old.html
- https://en.wikipedia.org/wiki/Body_area_network
هیچ نظری ثبت نشده است