1. معرفی
موضوع و OTNS است
موضوع مش یک تجربه بی سیم کم قدرت مبتنی بر IP پروتکلی است که قادر می سازد امن دستگاه به دستگاه و ارتباطات دستگاه به ابر شبکه. شبکه های موضوع می تواند به تغییرات توپولوژی انطباق برای جلوگیری از نقطه از یک شکست.
OpenThread منتشر شده توسط گوگل یک پیاده سازی منبع باز از موضوع است. با وجود اندازه کد و حافظه رد پای کوچک آن، OpenThread پشتیبانی از تمام ویژگی های تعریف شده در مشخصات موضوع .
OpenThread شبکه شبیه ساز (OTNS) را می توان به شبکه های موضوع شبیه سازی در حال اجرا توسط گره OpenThread شبیه سازی شده بر روی سیستم عامل های POSIX استفاده می شود. OTNS AN-آسان برای استفاده و رابط کاربری وب (OTNS وب) برای تجسم و عامل شبکه موضوع شبیه سازی فراهم می کند.
چه شما باید یاد بگیرند
- نصب OTNS و وابستگی های آن
- ساخت OpenThread برای OTNS
- چگونه برای اضافه کردن / حرکت / گره حذف در OTNS وب
- دیگر ویژگی های مفید استفاده از OTNS وب به کار شبیه سازی شبکه
- بررسی OpenThread هیچ تک نقطه از شکست
این codelab است OTNS-CLI و OTNS وب متمرکز شده است. ویژگی های دیگر OTNS، مانند برنامه نویسی پایتون، پوشیده نیست.
آنچه شما نیاز
- لینوکس ی x86_64 یا سیستم عامل مک.
- دستگاه گوارش .
- برو 1.11+ .
- مرورگر اینترنت. OTNS وب با استفاده از یک مرورگر وب برای نمایش شبیه سازی.
- موضوع پرایمر . شما باید بدانید که در مورد مفاهیم اولیه موضوع به درک آنچه که در این Codelab تدریس می شود.
2. نصب و راه اندازی
نصب برو
OTNS نیاز به برو 1.11+ برای ساخت.
- نصب برو از https://golang.org/dl/
- اضافه کردن
$(go env GOPATH)/bin
(به طور معمول$HOME/go/bin
) به$PATH
:
$ export PATH=$PATH:$(go env GOPATH)/bin
مطلع کد OTNS
$ git clone https://github.com/openthread/ot-ns.git ./otns $ cd otns
نصب وابستگی
$ ./script/install-deps grpcwebproxy installed: /usr/local/google/home/simonlin/go/bin/grpcwebproxy
شما ممکن است به یک رمز عبور ورودی برای خواسته sudo
.
نصب otns
نصب otns
به $GOPATH/bin
:
$ ./script/install otns installed: /usr/local/google/home/simonlin/go/bin/otns
چک بیایید اگر otns
به درستی نصب شده
- اجرای
which otns
برای بررسی اگرotns
اجرایی جستجو در$PATH.
- اگر
otns
فرمان یافت نمی شود، بررسی کنید که شما اضافه شده اند$(go env GOPATH)/bin
به$PATH.
3. OpenThread ساخت برای OTNS
مطلع کد OpenThread از GitHub
$ mkdir -p ~/src $ git clone https://github.com/openthread/openthread ~/src/openthread
ساخت OpenThread با OTNS=1
$ cd ~/src/openthread $ ./script/bootstrap $ ./bootstrap $ make -f examples/Makefile-simulation OTNS=1
شما می توانید فایل های اجرایی OpenThread در پیدا output
دایرکتوری:
لینوکس
$ ls ~/src/openthread/output/simulation/bin ot-cli-ftd ot-cli-mtd ot-ncp-ftd ot-ncp-mtd ot-rcp
سیستم عامل مک
$ ls ~/src/openthread/output/simulation/bin ot-cli-ftd ot-cli-mtd ot-ncp-ftd ot-ncp-mtd ot-rcp
حالا وقت آن است به OTNS اجرا ...
4. اجرای OTNS
اجرا otns
:
$ cd ~/src/openthread/output/simulation/bin $ otns > ← OTNS-CLI prompt
هنگامی که با موفقیت آغاز شده، OTNS یک کنسول CLI (را وارد کنید OTNS-CLI
) و راه اندازی یک مرورگر وب برای تجسم شبکه و مدیریت ( OTNS-Web
):
اگر شما فقط می توانید یک صفحه خالی برای OTNS-وب را ببینید، شانس هستند از WebGL در مرورگر شما فعال نیست. لطفا به https://superuser.com/a/836833 در نحوه فعال کردن WebGL.
در بخش بعد، شما در حال رفتن به یادگیری برای مدیریت شبیه سازی OTNS طریق OTNS-CLI
و OTNS-Web
.
5. دریافت به دانستن OTNS-CLI و OTNS وب
OTNS-CLI
OTNS-CLI
فراهم می کند یک رابط خط فرمان (CLI) برای مدیریت OTNS شبیه سازی.
$ cd ~/src/openthread/output/simulation/bin $ otns > ← OTNS-CLI prompt
شما می توانید در دستورات از طریق تایپ OTNS-CLI
. به مراجعه مرجع OTNS CLI برای یک لیست کامل از دستورات. نگران نباشید، شما تنها قصد استفاده از تعداد کمی از این دستورات در این Codelab.
OTNS وب
OTNS-Web
OTNS تجسم شبکه و ابزار مدیریت است. این یک نمایش تصویری از گره ها، پیام ها، و لینک از شبکه موضوع شبیه سازی فراهم می کند. توجه داشته باشید که عناصر مختلف OTNS-Web
:
6. اضافه کردن گره
اضافه کردن گره از طریق OTNS-CLI
اضافه کردن یک روتر در موقعیت (300، 100)
> add router x 300 y 100 1 Done
شما باید یک گره در را مشاهده کنید OTNS-Web
. گره به عنوان یک روتر شروع می شود و به یک رهبر در چند ثانیه می شود:
اضافه کردن گره های بیشتر از طریق OTNS-CLI
> add fed x 200 y 100 2 Done > add med x 400 y 100 3 Done > add sed x 300 y 200 4 Done
چند ثانیه صبر کنید برای گره به ادغام به یک پارتیشن. شما باید گره ها در دیدن OTNS-WEB
:
اضافه کردن گره ها توسط OTNS-Web
شما همچنین می توانید از طریق گره های اضافه OTNS-Web
. با کلیک بر روی New Router
دکمه از Action Bar
. شما باید ببینید که یک گره بودن درست بالای ایجاد New Router
را فشار دهید. کشیدن گره به نزدیکی رهبر شما را از طریق ایجاد شود OTNS-CLI
. تمام گره در نهایت باید به یک پارتیشن ادغام:
همچنین با کلیک بر روی دکمه FED، MED، و SED در نوار اقدام به ایجاد انواع دیگر گره ها. کشیدن آنها را به موقعیت های نزدیک گره های موجود به آنها متصل به آن شبکه موضوع:
در حال حاضر شما یک شبکه موضوع از یک پارتیشن که شامل بسیاری از گره های ایجاد کرده اند. در بخش بعدی، ما می رویم برای تنظیم سرعت شبیه سازی را به اجرا شبیه سازی سریع تر.
7. تنظیم سرعت
در حال حاضر، شبیه سازی باید در حال اجرا در 1X
سرعت، به این معنی که زمان شبیه سازی تا کنون سپری شده همان زمان واقعی از آنجایی که ما اولین گره ایجاد شده است.
تنظیم سرعت از طریق OTNS-CLI
شما می توانید سرعت شبیه سازی از طریق تنظیم OTNS-CLI
.
تنظیم شبیه سازی سرعت به 100X
> speed 100 Done
شما باید ببینید که گره ارسال پیام خیلی بیشتر اغلب از قبل.
تنظیم شبیه سازی سرعت به MAX
> speed max Done
در حال حاضر، OTNS در تلاش است آن را به شبیه سازی به عنوان سریع به عنوان آن می توانید، بنابراین شما باید گره ارسال تعداد زیادی از پیام را مشاهده کنید.
شبیه سازی مکث
> speed 0 Done
تنظیم سرعت شبیه سازی برای 0
مکث شبیه سازی.
بازگرداندن شبیه سازی در سرعت عادی
> speed 1 Done
تنظیم سرعت شبیه سازی را به یک مقدار بزرگتر از 0
از سر گرفته شبیه سازی.
تنظیم سرعت از طریق OTNS-Web
دکمه های کنترل سرعت
پیدا کردن دکمه های کنترل سرعت در
Action Bar
. دکمه های نشان دادن سرعت شبیه سازی جریان و می توان مورد استفاده برای تنظیم سرعت شبیه سازی و مکث / از سر شبیه سازی.
سرعت تا شبیه سازی
شما می توانید با کلیک کردن بر سرعت بخشیدن به شبیه سازی را فشار دهید تا به سرعت می رسد
MAX
: .
شبیه سازی پایین آهسته
شما می توانید با کلیک کردن بر کم کردن سرعت شبیه سازی دکمه.
شبیه سازی مکث
کلیک کنید بر روی دکمه را به تامل در شبیه سازی هنگامی که آن را در حال اجرا. دکمه خواهد شد به تغییر
.
شبیه سازی رزومه
کلیک کنید بر روی را فشار دهید تا از سر شبیه سازی هنگامی که آن را متوقف شد. دکمه را دوباره به تغییر
.
تنظیم شبیه سازی سرعت به 10X
به منظور صرفه جویی در وقت، استفاده از
OTNS-CLI
برای تنظیم سرعت شبیه سازی برای
10X
به طوری که ما می توانیم تغییرات توپولوژی در شبکه بسیار سریع تر مشاهده کند.
> speed 10 Done
8. روشن / خاموش رادیو
در حال حاضر، شبیه سازی باید 2 روترها (شکل شش ضلعی) و بسیاری از کودکان و اجرا می شود در سرعت 10X باشد.
یافتن رهبر فعلی (مرز قرمز) از 2 روترها، یک کلیک آن را انتخاب کنید:
خاموش کردن رادیو
کلیک کنید بر روی دکمه را بر روی نوار اقدام به خاموش کردن رادیو گره رهبر:
رهبر نخواهد بود قادر به ارسال و یا دریافت پیام با استفاده از رادیو است.
صبر کنید در مورد 12S (120s و در زمان شبیه سازی) برای روتر دیگر برای تبدیل شدن به رهبر:
از بهبود شبکه موضوع از شکست رهبر به طور خودکار با تشکیل یک پارتیشن جدید با یک رهبر جدید. پارتیشن جدید همچنین دارای یک رنگ پارتیشن جدید.
روشن کردن رادیو
رهبر که رادیو خاموش شد را انتخاب کنید. کلیک کنید بر روی دکمه را بر روی
Action Bar
برای بازگرداندن اتصال رادیویی:
رهبر باید به شبکه را دوباره نصب پس از اتصال به رادیو دوباره بازسازی شده است.
9. حرکت گره
OTNS کاربران را قادر می سازد به حرکت گره به راحتی از طریق OTNS-CLI
یا OTNS-Web
.
حرکت گره را از طریق OTNS-CLI
حرکت گره 5 را به مکان جدید:
> move 5 600 300 Done
از آنجا که در حال حاضر گره 5 است به دور از روتر دیگر، آنها باید اتصال به یکدیگر از دست دادن، و پس از حدود 12S (120s و در زمان شبیه سازی) هر دو برای رهبر شدن از پارتیشن خود را دارند:
حرکت گره را از طریق OTNS وب
حرکت گره 5 تماس به محل اصلی با کشیدن. دو پارتیشن باید به یک پارتیشن ادغام:
10. گره حذف
گره حذف طریق OTNS-CLI
گره حذف 8:
> del 8 Done
گره 8 باید از شبیه سازی ناپدید می شوند:
گره حذف طریق OTNS-Web
گره 5 انتخاب کنید و با کلیک بر روی را فشار دهید در
Action Bar
به گره حذف 5:
Node 1
باید تبدیل به رهبر و Node 7
باید جدا از آن نمی تواند هر روتر برسد.
شبیه سازی پاک (حذف همه گره ها)
شما می توانید شبیه سازی با حذف تمام گره از طریق روشن OTNS-Web
.
کلیک دکمه را بر روی
Action Bar.
تمام گره ها در یک بار ناپدید می شوند.
قبل از ادامه ...
اضافه کردن برخی از گره به شبیه سازی توسط خودتان به طوری که شما می توانید در این آموزش ادامه خواهد داد.
متن 11. OTNS-CLI گره
OTNS-CLI
فراهم می کند حالت بافت گره برای تعامل آسان با گره به توسعه دهندگان کمک به تشخیص وضعیت یک گره است.
حالت بافت گره را وارد کنید
زمینه گره از گره 1 را وارد کنید:
> node 1 Done node 1>
از CLI سریع تغییر به node 1>
، نشان می دهد زمینه گره فعلی. شما می توانید نوع در دستورات OpenThread CLI به در گره اجرا شود به عنوان اگر شما در حال تعامل با گره به طور مستقیم.
اجرای دستورات در زمینه گره
node 1> state leader Done node 1> channel 11 Done node 1> panid 0xface Done node 1> networkname OpenThread Done node 1> ipaddr fdde:ad00:beef:0:0:ff:fe00:fc00 fdde:ad00:beef:0:0:ff:fe00:d800 fdde:ad00:beef:0:2175:8a67:1000:6352 fe80:0:0:0:2075:82c2:e9e9:781d Done
تغییر به بافت گره دیگر
node 1> node 2 Done node 2>
خروج از چارچوب گره
node 1> exit Done >
12. تبریک
تبریک می گویم، شما با موفقیت اجرا اولین شبیه سازی OTNS خود را!
شما به دست آوردید نحوه نصب OTNS و وابستگی های آن. شما ساخته شده است OpenThread برای OTNS و شبیه سازی OTNS با نمونه شبیه سازی OpenThread. شما به دست آوردید چگونه به دستکاری شبیه سازی به روش های مختلف از طریق هر دو OTNS-CLI
و OTNS-Web
.
شما هم اکنون می دانید که چه OTNS است و چگونه شما می توانید OTNS برای شبیه سازی شبکه های OpenThread استفاده کنید.
گام بعدی چیست؟
را بررسی کنید برخی از این codelabs ...
- شبیه سازی یک شبکه موضوع با OpenThread
- شبیه سازی یک شبکه با استفاده از موضوع OpenThread در کارگر بارانداز
- ساخت یک شبکه موضوع با بک nRF52840 و OpenThread