شبیه سازی مش بلوتوث سیل آسا در شبکه WSN با متلب

تصویر simulation-bluetooth-mesh-flooding-wsn-matlab_7250_1 شبیه سازی مش بلوتوث سیل آسا در شبکه WSN با متلب

شبیه سازی مش بلوتوث سیل آسا در شبکه WSN با MATLAB

این مقاله آموزشی شبکه نشان می دهد که چگونه تکنیک سیل آسا (Flooding) مدیریت شده شما را قادر می سازد تا بتوانید با استفاده از جعبه ابزار Bluetooth در نرم افزار MATLAB ارتباطات را در یک شبکه مش بلوتوث (Bluetooth Mesh) بر پایه شبکه حسگر بی سیم (WSN) برقرار کنید. شما با استفاده از این مثال می توانید:

  • یک شبکه مش بلوتوث ایجاد و پیکربندی کنید.
  • بصری سازی و تجزیه و تحلیل اینکه چگونه تکنیک Flooding مدیریت شده ارتباط بین گره های مبدا و مقصد را حتی پس از غیرفعال سازی برخی گره های رله میانی امکان پذیر می کند.
  • جریان پیام ها از مبدا به گره های مقصد را مصور سازی کنید.
  • معیار های عملکرد مانند نسبت تحویل بسته شبکه (PDR) ، تأخیر انتها به انتها ، توان عملیاتی و سایر معیارهای مربوط به گره را تجزیه و تحلیل کنید.

همچنین این مثال به شما نشان می دهد که چگونه شبیه سازی های مونت کارلو (Monte Carlo) را در شبکه مش بلوتوث انجام دهید تا گره های رله بحرانی بین منبع و مقصد را شناسایی کنید.

تصویر simulation-bluetooth-mesh-flooding-wsn-matlab_7250_2 شبیه سازی مش بلوتوث سیل آسا در شبکه WSN با متلب

پشته مش بلوتوث

مشخصات هسته بلوتوث شامل یک نسخه انرژی کارا برای شبکه های شخصی بی سیم است که به آن بلوتوث کم انرژی (LE) یا بلوتوث هوشمند گفته می شود. بلوتوث LE به استاندارد دستگاه هایی با انرژی پایین اضافه شده که مقادیر داده کمی تولید می کنند، مانند هشدار های اعلان که در برنامه هایی مانند اتوماسیون خانگی، مراقبت های بهداشتی، تناسب اندام و اینترنت اشیا (IoT) استفاده می شوند. برای اطلاعات بیشتر در رابطه با این موضوع، مقاله آموزشی پشته پروتکل بلوتوث LE را ببینید. نمایه مش بلوتوث، الزامات اساسی برای پیاده سازی راه حل شبکه مش برای بلوتوث LE را تعریف می کند. شبکه مش بلوتوث، شبکه های دستگاهی در مقیاس بزرگ را در برنامه هایی مانند روشنایی هوشمند، اتوماسیون صنعتی، شبکه حسگر و ردیابی دارایی را قادر می سازد. شکل زیر پشته مش بلوتوث (Bluetooth mesh stack) را نشان می دهد.

تصویر simulation-bluetooth-mesh-flooding-wsn-matlab_7250_3 شبیه سازی مش بلوتوث سیل آسا در شبکه WSN با متلب

سناریو های شبکه مش بلوتوث سیل آسا

این مثال از حامل تبلیغ (Advertising bearer) برای نشان دادن Flooding مدیریت شده استفاده می کند. همچنین این مثال شما را قادر می سازد تا دو سناریو شبکه مش بلوتوث را ایجاد و پیکربندی کنید. هر سناریو یک شبکه مش شامل چند گره است. هر سناریو گره های مش را به عنوان گره، گره رله، گره مبدا و گره مقصد طبقه بندی می کند.

  • Node : هر دستگاهی که در شبکه مش داریم نود شناخته می شود
  • گره رله: گرهی که از قابلیت رله پشتیبانی می کنه و فعال شده است
  • گره منبع: گره ای است که بسته ها را منشا ارسال می کند
  • گره مقصد: گرهی که بسته های گره مبدأ را دریافت می کند

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

  • PDR شبکه: نسبت تعداد بسته های دریافتی در تمام گره های مقصد به تعداد بسته های ارسال شده توسط تمام گره های مبدا در شبکه مش.
  • تأخیر بسته انتها به انتها را در چند ثانیه اعمال کنید
  • توان عملیاتی لایه پیوند (LL) در کیلوبیت بر ثانیه
  • زمان صرف شده در حالت گوش دادن، وضعیت انتقال، حالت بیکار و حالت خواب در ثانیه
  • آمار بسته در لایه کاربردی، لایه شبکه، لایه انتقال، لایه پیوند و لایه فیزیکی

پیکربندی پارامترهای شبیه سازی

تعداد گره ها (numNodes) را به همراه موقعیت آنها و زمان شبیه سازی برای هر دو سناریو مشخص کنید. seed را برای مولد اعداد تصادفی روی 1 تنظیم کنید. مقدار seed الگوی تولید اعداد تصادفی را کنترل می کند. برای نتایج شبیه سازی با دقت بالا، مقدار seed را برای هر اجرا تغییر دهید و نتایج را در چندین شبیه سازی میانگین بگیرید.

موقعیت گره ها را از فایل MAT دریافت کنید. موقعیت گره های مش بلوتوث را به عنوان یک آرایه numNodes-by-2 مشخص کنید، قسمت numNodes مربوط به تعداد گره های شبکه است. هر ردیف مختصات دکارتی یک گره را مشخص می کند که از اولین گره شروع می شود.

شبیه سازی شبکه مش – سناریو اول

اولین سناریوی شبکه مش از 21 گره مش تشکیل شده است. برخی از گره ها را به عنوان گره های رله و جفت گره مبدا-مقصد تنظیم کنید.

گره های مش بلوتوث ایجاد کنید. از bluetoothMeshProfileConfig برای ایجاد آبجکت و پیکربندی پروفایل مش استفاده کنید. برای ایجاد یک گره مش بلوتوث، از آبجکت bluetoothLENode استفاده کنید. نقش را به عنوان پخش کننده-ناظر (broadcaster-observer) مشخص کنید و نمایه مش را به MeshConfig اختصاص دهید.

در این بخش ترافیک برنامه را به گره های منبع اضافه کنید. یک آبجکت networkTrafficOnOff برای ایجاد الگوی ترافیک برنامه On-Off ایجاد کنید. الگوی ترافیک برنامه On-Off را با تعیین نرخ داده برنامه، اندازه بسته، مدت زمان حالت روشن و خاموش پیکربندی کنید. ارتباط مش را بین جفت های منبع و مقصد مشخص شده در شبکه مش شبیه سازی کنید.

در این بخش شبکه مش را تجسم یا بصری سازی کنید. سناریوی شبکه مش را با استفاده از آبجکت HelperBLEMeshVisualizeNetwork تجسم کنید.

آبجکت کمکی را به پارامتر NetworkPlot در آبجکت کمکی helperBLEMeshEventCallback اختصاص دهید.

مسیر و جریان پیام بین منبع و گره های مقصد را با اضافه کردن listeners در نظر بگیرید. برای اطلاعات بیشتر، مقاله آموزشی eventlisteners را ببینید.

مقدار دهی اولیه شبکه بی سیم و اجرای شبیه سازی:

تمام گره های شبکه را برای زمان شبیه سازی مشخص شده اجرا کنید.

پیشرفت شبیه سازی را در پایان شبیه سازی به روز رسانی کنید.

تصویر simulation-bluetooth-mesh-flooding-wsn-matlab_7250_4 شبیه سازی مش بلوتوث سیل آسا در شبکه WSN با متلب

شبیه سازی شبکه مش – سناریو دوم

سناریوی شبکه مش دوم از 21 گره مش تشکیل شده است. در این سناریو، قابلیت رله در Node7، Node12 غیرفعال شده و Node15 از شبکه حذف می شود.

با استفاده از آبجکت helperBLEMeshSimulateScenarioTwo شبکه مش را برای سناریوی دو ایجاد، پیکربندی و شبیه سازی کنید.

 

تصویر simulation-bluetooth-mesh-flooding-wsn-matlab_7250_5 شبیه سازی مش بلوتوث سیل آسا در شبکه WSN با متلب

نتایج شبیه سازی

جدول آمار هر دو سناریو را با استفاده از تابع helperBLEMeshStatistics مشاهده کنید.

PDR و مسیر را برای هر دو سناریو محاسبه کنید.

تصویر simulation-bluetooth-mesh-flooding-wsn-matlab_7250_6 شبیه سازی مش بلوتوث سیل آسا در شبکه WSN با متلب

تصویر simulation-bluetooth-mesh-flooding-wsn-matlab_7250_7 شبیه سازی مش بلوتوث سیل آسا در شبکه WSN با متلب

نتایج به دست آمده نشان می دهد که مسیری بین گره های مبدا و مقصد وجود دارد، حتی اگر گره ها به طور تصادفی در شبکه از کار بیفتند.

کاوش بیشتر

برای به دست آوردن میانگین نتایج عددی در شبیه سازی های چندگانه، مثال ارائه شده در مرجع [4] روش مونت کارلو را پیاده سازی می کند. برای پیاده سازی شبیه سازی مونت کارلو، از تابع helperBLEMeshMonteCarloSimulations استفاده کنید. هر اجرای شبیه سازی این مراحل را انجام می دهد.

  • از یک seed جدید برای تولید یک عدد تصادفی استفاده کنید
  • به طور تصادفی گره های رله را تا زمانی که مسیری بین گره های مبدا و مقصد وجود داشته باشد غیر فعال کنید
  • PDR را ذخیره کنید

شبیه سازی های مونت کارلو (Monte Carlo) گره های رله حیاتی مورد نیاز برای اطمینان از تحویل پیام از مبدا به مقصد را در خروجی نشان می دهد. مثال شبیه سازی مونت کارلو، با استفاده از این پارامترهای پیکربندی انجام می شود.

برای مشاهده نتایج شبیه سازی، فایل MAT bleMeshMonteCarloResults را ببینید.

کاوش بیشتر: گره های [9 6 7 8 14] 5 رله اصلی برای برقراری ارتباط بین Node1 و Node10 هستند.

نکته پایانی: این مقاله آموزشی متلب از مثال های آماده خود نرم افزار MATLAB است که اگر تولباکس بلوتوث (Bluetooth Toolbox) بر روی متلب شما نصب باشد، می توانید با تایپ دستور زیر در پنجره کامند متلب به این کدها و دستورات دسترسی داشته باشید.

منبع: mathworks

 

مطالب مرتبط
ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است