ایمیل وبلاگ

ایمیل وبلاگ: DaryayeElm.Blogspot@gmail.com

مرداد ۳۰، ۱۳۹۰

How to install Mannasim?



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

قبل از شروع به نکات زیر توجه کنید:
  • توجه داشته باشید که حتما باید در محیط یونیکس اقدام به نصب ماناسیم کنید. چراکه نیاز به کامپایل دوباره‌ی NS می‌باشد. محیط یونیکس می‌تواند Linux، Mac OSX و یا cygwin در ویندوز باشد.
  • لازم است NS از قبل نصب باشد.

برای شروع شما نیاز به فایل‌های ماناسیم، فایل‌های دستکاری شده‌ی NS و یک فایل با نام tcp-qs دارید که همه‌ی آنها را می‌توانید از اینجا دانلود کنید.
سپس فایل را از حالت فشرده باز کنید. دو فایل خواهید دید:
  • tcp-qs.cc
  • mannasim-src-ns2.29 - changed.zip
فایل mannasim-src-ns2.29 - changed.zip را از حالت فشرده خارج کنید. فولدر mannasim را در آدرس زیر کپی کنید:
ns2-allinone\ns2-2.30
به شاخه‌ی ns2-allinone\ns2-2.30\mannasim\ns-modified-files رفته و فایلهایی که در آن شاخه قرار دارد را طبق زیر با فایلهای اصلی ns عوض کنید:
  • ns-2.30/apps/udp.cc
  • ns-2.30/common/ns-process.h
  • ns-2.30/common/packet.cc
  • ns-2.30/common/packet.h
  • ns-2.30/mac/mac-802_11.cc
  • ns-2.30/tcl/lib/ns-lib.tcl
  • ns-2.30/tcl/lib/ns-default.tcl
  • ns-2.30/Makefile.in
 حال فایل tcp-qs.cc را در آدرس زیر کپی کنید:
ns2-allinone\ns2-2.30\tcp
حال در محیط shell به آدرس ns2-allinone\ns2-2.30 رفته و درستور زیر را اجرا کنید:
./configure
بعد از آن دستور زیر را اجرا کنید:
make
اگر در حین کار با مشکل مواجه شدید، دستور  make clean را اجرا کنید و سپس دو مرحله‌ی قبل را تکرار کنید.
اگر مشکل همچنان پابرجابود، NS را دوباره کامپایل کنید. برای اینکار به آدرس ns2-allinone رفته و دستور زیر را اجرا کنید:
./install
اگر باز هم با مشکل مواجه شدید، در قسمت نظرات مطرح کنید.

What is Mannasim?


ماناسیم چیست؟
همانطور که در پست‌های قبلی گفته شد، از NS می‌توان برای شبیه‌سازی شبکه‌های Ad-hoc هم استفاده کرد اما این شبیه‌ساز برای شبیه سازی شبکه‌های حسگر بی‌سیم مناسب نیست. چراکه خیلی از ویژگی‌های این نوع شبکه را بصورت پیش‌فرض در خود ندارد و به همین دلیل باید مسلط به زبان C باشید تا با صرف زمان و کدنویسی زیاد بتوانید WSN را در این نرم‌افزار، شبیه‌سازی کرد. اما خبر خوب این است که گروه تحقیقاتی مانا (Manna) از قبل اینکار را انجام داده و کدهایشان را به صورت open source در اختیار همه قرار دادند (۱).

منابع:
  1. http://www.mannasim.dcc.ufmg.br

مرداد ۱۴، ۱۳۹۰

How to use NS in Windows-part2

استفاده از NS توسط cygwin در ویندوز:
cygwin  در واقع یک ترمینال لینوکس، تحت ویندوز می‌باشد. یعنی بعد از نصب cygwin شما bash را در محیط ویندوز خواهید داشت و می‌توانید دستورات لینوکسی را در آن اجرا کنید.
برای نصب کافی است ابتدا فایل Setup.exe را از اینجا دانلود کنید و سپس همینطور که به اینترنت متصل هستید، setup را اجرا کنید. سپس مراحل مختلف را طبق ویدئوی آموزشی طی کنید و بسته‌های مورد نیاز را انتخاب کنید و منتظر باشید تا دانلود و نصب شوند.
مطمئن شوید که بسته‌های زیر تیک خورده باشند:

DevelopmentDocumentation optionalEditors OptionalInterpretersTextUtilsXfree86
Gcc c,c++, fortran compilerCygwin-docVIMGawkPatchutilsPatchutilsXfree86 bin
Makeman Perl PatchXfree86 prog
PatchutilsWin32apiXfree86 lib
Xfree86 etc
از اینجا هم می‌تونید مراحل نصب cygwin رو به صورت PDF دانلود کنید.
بعد از نصب cygwin، همانند روال نصب NS بر روی لینوکس، اقدام به نصب NS کنید.

لینک‌های مورد نیاز برای این پست:

How to use NS in Windows-part1

برای استفاده از NS بر روی ویندوز دو راه وجود دارد:
  1. استفاده از ورژن از قبل کامپایل شده
  2. استفاده از cygwin
توضیح راه اول:
در این روش همانطور که از نامش پیداست، از ورژنی که از قبل کامپایل شده است استفاده می کنیم. در این حالت دایرکتوریی خواهیم داشت که شامل فایل ها و بسته های مورد نیاز و کامپایل شده ی NS می باشد.
برای کد نویسی کافی است کدهای مربوطه را در notepad نوشته و با پسوند tcl ذخیره کنید و برای اجرا هم کافی است در cmd به آدرس مکانی که فایل ns.exe در آن قرار دارد رفته و با فرمان ns filename.tcl سناریوی مورد نظر را اجرا کنید و سپس به بررسی نتایج حاصله بپردازید.
اما اگر بخواهید محیطی برای کدنویسی داشته باشید که از زبان tcl هم پشتیبانی کند و امکانات متعددی برای کدنویسی در اختیارتان قرار دهد می توانید از برنامه ای که برای کدنویسی میکروکنترولرهای AVR می باشد، استفاده کنید. نام این برنامه Programmer's Notepad است. شما می توانید این برنامه را از اینجا و همچنین فیلم آموزشی کار با NS توسط این برنامه را از اینجا دانلود کنید.

لینک‌های مورد نیاز:

How to install NS in Linux

این برنامه از بسته‌های زیر تشکیل شده است یا به عبارت دیگر، برای کار با NS بسته‌های زیر را باید نصب کنید:
  1. Tcl release 8.4.18 (required component)
  2. Tk release 8.4.18 (required component)
  3. Otcl release 1.13 (required component)
  4. TclCL release 1.19 (required component)
  5. Ns release 2.34 (required component)
  6. Nam release 1.14 (optional component)
  7. Xgraph version 12 (optional component)
  8. CWeb version 3.4g (optional component)
  9. SGB version 1.0 (?) (optional component, builds sgblib for all UNIX type platforms)
  10. Gt-itm gt-itm and sgb2ns 1.1 (optional component)
  11. Zlib version 1.2.3 (optional, but required should Nam be used)
همانطور که در جلوی هر کدام از آنها توضیح داده شد،‌برخی از آنها اختیاری و برخی دیگر اجباری می‌باشند.
شبیه‌ساز NS را می‌توان به دو صورت نصب کرد.
  1. تک تک بسته‌های مورد نیاز را دانلود و سپس اقدام به نصب یکی یکی آنها کنیم.
  2. بسته‌ی All in One را دانلود و نصب کنیم که شامل همه‌ی بسته‌های مورد نیاز و حتی اختیاری می‌باشد.
مطمئنا راه دوم ساده‌تر است. کافیست فقط یک فایل فشرده شده را دانلود کنید و برای نصب هم کافی است فقط یک فایل را اجرا کنید.

برای نصب این شبیه‌ساز بر روی لینوکس به صورت زیر عمل کنید:
  1. در ابتدا توزیع All in One از نرم‌افزار NS را از اینجا دانلود کنید. (ورژن این توزیع ۲.۳۴ و حجم آن ۵۷ مگابایت می‌باشد که فعلا آخرین ورژن به حساب می‌آید)
  2. فایل PDF راهنمای نصب را از اینجا دانلود کنید و طبق آن اقدام به نصب NS کنید.
  3. فقط توجه داشته باشید که دستورات بکار برده شده برای لینوکس را معادل توزیع لینوکس مورد نظر خود تغییر دهید.
  4. همچنین توجه داشته باشید که بعد از نصب باید آدرس‌هایی را در فایل .bashrc قرار دهید. در این قسمت به عدد ورژن شبیه‌ساز و ورژن دیگر بسته‌ها دقت کنید که باید متناسب با ورژنی از NS که دانلود کردید، تغییر کند.