Embedded Networks

Our world is rapidly moving away from a PC-centric view

Mô phỏng mạng Zigbee với OPNET 14.5 (tt – P2)

Posted by Quốc Đính on 15/01/2010

Mô phỏng mạng hình sao – star topology in Zigbee network, tiếp theo phần trước.

Như giới thiệu ở bài trước, mạng hình sao là một trong ba loại cấu hình mạng mà Zigbee cung cấp. Ưu điểm chính của mạng sao là có khả năng cung cấp kết nối có đảm bảo (Guarantee Time Slot) ở chế độ đồng bộ (tuy nhiên rất tiếc là phiên bản 14.5 của OPNET chưa cung cấp cơ chế đồng bộ này).

Mục tiêu của phần 2 này là:

  • Tạo một dự án – project – với OPNET về mạng Zigbee.
  • Thiết lập các thông số cần thiết cho điều phối viên mạng (ĐPVM) – Zigbee Coordinator, và điểm cuối mạng (ĐCM) – Zigbee Device; đây là hai thành phần của mạng hình sao.
  • Phân tích kết quả.

 

1. Tạo giao diện mô phỏng

Nếu chưa chạy OPNET, bạn khởi động nó. File –> New, chọn Project trong thanh kéo xuống. Nhập tên của dự án là testZigbee như hình sau

opnet enter name

Hiện lên khung Startup Wizard. Chọn Next cho đến khi mục Choose Network Scale, chọn Office. Nhấn Next. Chọn kích thước mặc định là 100 x 100 m. Chọn Next cho đến khi hoàn thành.

Trên thanh công cụ chọn Open Object Palette, mục đích là để tìm thư viện Zigbee. Đánh Zigbee vào ô “Search by name”, thư viện gồm 8 thiết bị như hình bên dưới.

opnet palette zigbee

Vào thời điểm hiện tại chúng ta chỉ mô phỏng với mạng tĩnh, tức là làm việc với các fixed node. Lấy ra 5 node gồm 1 ĐPVM4 ĐCM.

opnet choose devices

Để đổi tên của mỗi nốt, kích chuột phải vào nốt đó, chọn Set Name, rồi đánh vào tên mong muốn. Để có được hình như trên, chỉ cần sửa lại tên của ĐPVM thành “Coordinator”.

Mục tiêu là tạo ra các liên kết dữ liệu như hình dưới đây.

node 1 –> node 0, node 2 –> coordinator, node 3 –> coodinator

opnet star topology flow 1

Vì theo chuẩn của Zigbee, trong mỗi mạng hình sao, các ĐCM không thể trực tiếp trao đổi dữ liệu với nhau được mà phải thông qua trung giang mạng là ĐPVM. Dữ liệu từ node 1 sang node 0 phải đi đường vòng (nét nhạt như hình trên), do đó độ trễ của nó sẽ gấp đôi so với các liên kết khác (như kết quả mô phỏng ở sau).

2. Cấu hình mạng, tạo các đường truyền dữ liệu.

Để thiết lập mạng hình sao, kích chuột phải vào ĐPVM, chọn Edit Attribute. Trong cửa sổ Attributes chọn thông số như sau:

opnet attribute zc

Trong đó ở giá trị Network Parameters, kích phải chọn Default Star Network. Khi đã thành thạo và am hiểu những thông số trong này, chúng ta có thể thay đổi tùy theo từng ứng dụng. Như mong muốn ở trên, ĐPVM không tạo ra bất cứ dữ liệu nào nên chọn là “No Traffic” ở hàng Destination. Các giá trị khác để ở mặc định.

Với Node 1, cũng làm tương tự như với ĐPVM, kết quả như sau:

opnet attribute node1

Ý nghĩa các thông số trong Application Traffic như sau: Node-1 gởi các gói dữ liệu có độ lớn 1024 bits đến Node 0 cứ mỗi 1 giây. Node-1 sẽ bắt đầu gởi các gói dữ liệu vào thời điểm bất kì giữa 20 và 21 giây (uniform (20,21)) tính từ thời gian bắt đầu mô phỏng, và sẽ tiếp tục gởi dữ liệu điều đặn cho đến khi dừng mô phỏng (Stop Time = infinity).

Với 3 ĐCM còn lại, làm tương tự.

 

3. Mô phỏng chương trình.

Khi mô phỏng, dĩ nhiên chúng ta mong muốn quan sát một đại lượng, hay một quá trình nào đó. Cụ thể trong dự án này là kích thước, tốc độ gởi/nhận các gói dữ liệu, độ trễ của các gói dữ liệu khi truyền từ điểm này đến điểm khác.

Kích chuột phải vào Coordinator, chọn Choose Individual DES Statistics. Phần số liệu mô-đun  (Module Statistic) thống kê lại một số giá trị của nốt đang làm việc. Để ý kỹ, chúng ta thấy có tổng cộng 4 lớp được “thâu tóm” lại trong quá trình mô phỏng: lớp vật lý (wireless_tx_channel & wireless_rx_channel), lớp MAC, lớp mạng, và lớp ứng dụng.

opnet individual des

Trong mỗi lớp này có thông số khác nhau; phần Statistic information bên cạnh đưa ra lời giải thích về các dữ liệu được con trỏ chỉ vào. Trong lần mô phỏng này, chúng ta chỉ quan tâm đến lớp ứng dụng (application layer) nên chỉ chọn như hình ở trên; những lựa chọn khác để dành cho bạn từ tìm hiểu sau.

Trong 4 ĐCM còn lại, chúng ta làm tương tự, và chỉ cần chọn trích xuất dữ liệu phân tích từ lớp mạng là đủ.

Đến đây, bước chuẩn bị xem như là đã hoàn thành.

Để bắt đầu mô phỏng, từ DES –> Configure/Run DES, hoặc nhấn Ctrl – R. Chọn thời gian mô phỏng là 30 phút như hình bên dưới

opnet run config

Nhấn Run, mô phỏng sẽ kết thúc sau vài giây. Quá trình mô phỏng kết thúc khi trên màn hình hiện ra chữ “Simulation Completed”.

4. Quan sát và phân tích kết quả.

Để quan sát kết quả, từ màn hình chính của project, kích phải rồi chọn View Result. Màn hình hiện ra trống trơn, vì lúc này chưa có thông số nào được chọn cả.

Bắt đầu từ Coordinator.

Như thiết lập ban đầu, ĐPVM không tạo ra gói dữ liệu nào nên Traffic Sent = 0 trong suốt quá trình, nhưng nhận 2 luồng dữ liệu từ Node-2 và Node-3, kết quả tốc độ dữ liệu nhận được ở lớp mạng là 2packets/s, tương đương 2048bits/s.

opnet result pc

Đến lượt bạn tự tìm hiểu ở các nốt mạng còn lại.

Có một câu hỏi thú vị được đặt ra là tại sao Node-1 truyền dữ liệu sang Node-0 thông qua trung gian là Coordinator, như vậy trong hình trên lẽ ra dữ liệu thu được vẽ ra của  ĐPVM là 3packet/s thay vì 2packet/s, và dữ liệu truyền đi cảu ĐPVM là 1 packet/s thay vì 0???

Câu trả lời đúng là ĐPVM làm trung gian, khi nhận được 1 gói dữ liệu từ Node-1, nó lập tức gởi đến Node-0, nhưng dữ liệu này không đi đến lớp ứng dụng mà chỉ dừng lại tại lớp mạng, như hình vẽ sau:

gateway

Nếu quan sát lớp mạng, chúng ta sẽ thấy được sự khác biệt đó, đây là việc thú vị cho bạn để hiểu rõ hơn cơ chế hoạt động của mạng máy tính.

Và như vậy có nghĩa là một gói dữ liệu từ Node-1 đến Node-0 sẽ có độ trễ gấp đôi so với từ Node-2 và Node-3 đến Coordinator. Điều đó được minh chứng bằng giá trị End-to-end Delay.

opnet delay compare

Độ trễ của hai trường hợp có giá trị trung bình là 0,006 giây và 0,012 giây.

Đến đây chúng ta xem như đã hoàn thành cơ bản việc mô phỏng mạng hình sao Zigbee trên nề OPNET.

Phần tiếp theo sẽ là mô phỏng mạng mắt lưới và mạng hình cây, những cấu hình mang lại  sức mạnh cho mạng ad-hoc.

29 phản hồi to “Mô phỏng mạng Zigbee với OPNET 14.5 (tt – P2)”

  1. phucanh đã nói

    Hay, OPNET 14.5
    bạn có link tải 14.5 ko cho mình xin cái
    Mình cũng đang rất quan tâm tới vấn đề này.
    Mình đang nghiên cứu OPNET cho BcN(4G All IP convergence)
    Mong được hồi đáp.
    Thank,

  2. maianh đã nói

    Bạn có thể post tiếp những mô phỏng về giao thức tree và mesh ko?Mình cần tìm hiểu thêm, cảm ơn bạn về bài viết hay !!!

  3. DEVIDAS đã nói

    Hello sir,

    i m now well familiar with zigbee simulation due to this information.
    i want to know simulation for mobile end devices and routers.
    also suppose one of the router fails then actually traffic is routed from other router but i m not getting this during simulation.

    • quocdinh đã nói

      Hi Devidas,

      I am not sure what did you implement to make one route fail on relaying traffic. This could be achieved by, for example, moving this router out of other nodes range, or setting energy of that router so that after a certain time it runs out of power.

      When I simulated (with opnet version 14.5), I found out that this version handle quite poorly with mesh & tree network, and also with mobility; it is the reason I stopped writing this series.
      Btw, I will try with Opnet version 16, hope that the newer version make some sense.

      • DEVIDAS đã nói

        Thanks sir for reply,
        actually for router attributes,we have to set parameter of trajectory.
        and there r so many options are available for this,
        so which one option i choose for simulation.

  4. tpsl400 đã nói

    Hi a Quocdinh
    Bài viết của anh rất hay và bổ ích
    Em cũng đang tìm hiểu về Zigbee và thực hiện mô phỏng với topo mắt lưới trên OPNET
    nhưng không hiểu em cấu hình làm sao mà lưu lượng toàn đi qua Coordinator mà không đi qua các router
    với em xin hỏi phần Display Route to destination có tác dụng như thế nào anh nhỉ
    Mong anh chỉ cho e với
    Em xin cảm ơn rất nhiều!

    • quocdinh đã nói

      Câu hỏi đầu tiên không cho tôi manh mối nào để lần theo dấu vết cả. Trong OPNET thì bạn có thể chọn router với chức năng định tuyến được hay không, không biết bạn có kích hoạt chức năng này chưa?

      Display route to destination là công cụ trực quan vẽ ra đường đi của gói dữ liệu. Theo tôi biết thì công cụ này cứ vào thời điểm đặt trước sẽ “chớp ảnh” định tuyến vào thời điểm đó. Bạn có thể đặt nhiều thời điểm khác nhau để quan sát định tuyến theo thời gian.

      • tpsl400 đã nói

        Cảm ơn anh đã hồi âm

        Câu hỏi đầu tiên của em ý muốn nói đến tường hợp mạng mesh như trong hình
        http://tinyurl.com/3cfu3he
        node 12 mặc dù nằm xa ZC nhưng khi Visualize Zigbee Tree lên thì nó lại nối với ZC chứ không nối với các router ở gần?!

        Em thử chức năng Display route to destination nhưng chỉ dùng được cho router và nó chỉ thẳng từ nguồn tới đích không qua kết nối của mạng mesh.
        http://tinyurl.com/442rdsg
        Có cách nào làm hiện đường đi thực của luồng dữ liệu từ đầu cuối này đến đầu cuối khác không a nhỉ

        Trong bài của anh có một phần giải thích về dữ liệu thu được của ĐPVM là 3packet/s thay vì 2packet/s. khi quan sát lớp mạng mới thấy rõ nhưng trong các tham số lớp mạng của ĐPVM em không thấy tham số nào thể hiện được điều này mà chúng ta phải quan sát các tham số của lớp Data Link, không biết có đúng không mong anh chỉ giùm

  5. quocdinh đã nói

    Chương trình mô phỏng không nhìn khoảng cách dưới con mắt xa-gần mà là kết nối được hay không (liên lạc trực tiếp). Với mức năng lượng phát là 0.05W, khoảng cách phát của các node có thể lên tới vài Km đấy, bạn làm vài mô phỏng nhỏ để thấy. Node 12 trong hình đầu nằm trong phạm vi liên lạc trực tiếp được nên chỉ cần 1 hop, bạn ko thể đo bằng trực giác rồi bảo là nó xa được.

    Câu thứ 2 liên quan tới câu đầu. Bạn muốn có nhiều hop, hãy giảm công suất phát hoặc đưa các node ra xa hơn.

    Câu 3, nhận xét của bạn đúng rồi. Với chương trình cung cấp bởi OPNET, bạn chỉ có thể quan sát từ lớp số 2. Muốn xem từ lớp 3, bạn chỉnh sửa lại mã nguồn vậy :).

  6. Andrew đã nói

    Dear Sir,

    The link for the file of modeler_docs_02-Sep-2008_win.exe (http://ifile.it/vmf7drz/modeler_docs_02-Sep-2008_win.exe) id invalid. Would you mind give me a copy of the file or a valid link for the file? My email is office70 at gmail.com. Thanks very much.

    Andrew

  7. kimptit đã nói

    Anh Quocdinh ơi, em làm theo hướng dẫn như trên mà khi Ctrl + R nó luôn báo lỗi.
    Em đã mail cho anh theo địa chỉ: nqdinhddt@zing.vn Rất mong anh sẽ giúp em.

  8. kimptit đã nói

    Anh ơi, em làm theo hướng dẫn như trên mà khi chạy mô phỏng toàn báo lỗi.
    Em đã mail cho anh theo địa chỉ: nqdinhddt@zing.vn Rất mong anh sẽ giúp em. Em cảm ơn.

  9. macco đã nói

    Chào Anh,
    Các link Anh post đã bị removed ùi, không download được.
    Anh có thể vui lòng cho em xin link khác được không ạ.
    Em cám ơn rất nhiều.
    Thân

  10. Quốc Đính đã nói

    Bạn có thể tải về phiên bản 16 tại đây http://www.mediafire.com/?8uyuiiycyh6qu

    Thời gian tới tôi sẽ gởi lên lại phiên bản 14.5

  11. tuan đã nói

    Chào anh,
    anh cho em hỏi: khi em chọn cấu hình lưới và enable Mesh routing ở Coordinator rồi mà sau khi chạy mô phỏng, để xem đường tới đích vẫn bị báo là phải enable mesh routing. Khi em làm ở phạm vi nhỏ 100.100m thì hiện đường tới đích thì lại hiện được và chỉ hiện 1 đường, em muốn hiện nhiều đường từ nhiều thiết bị tới nút đích thì phải làm thế nào. Giải quyết được 2 vấn đề này, em muốn làm rõ hơn về khả năng tự hàn gắn của Zigbee.
    Em cảm ơn anh.

    • Quốc Đính đã nói

      Hiện nay tôi không còn dùng, và cũng không có tài khoản, để dùng OPNET nữa nên không chạy lại mô phỏng để trả lời câu hỏi của bạn được. Tốt nhất là bạn xem phần help (F1).

  12. tranthinhictu đã nói

    các bạn ơi cho mình hỏi, bản opnet 14.5 ở trên có support cho mạng wireless ko vậy, hôm mình cài bản R&D nó ko hỗ trợ 2 giao thức AODV và OLSR và 1 số giao thức trong mạng ko dây, bạn nào có bản support for wireless thì cho mình xin , mình đang rất cần để thực tập, nếu có thì cho mình xin theo email : tranthinh08@gmail.com , thanks to all

  13. Phan Đình Hiệp đã nói

    Anh ơi em mô phỏng mà nó báo lỗi như thế này nè :
    “comp_msvc: Unable to execute compiler (Win32 error code: 2)
    Check that Visual C++ has been installed correctly, and that
    its BIN directory is included in the Path environment variable.”
    Em dùng win 64-bit. Mới tập tọe dùng OPNET nên cũng không biết nó như thế nào. Anh giúp em với! Em cảm ơn nhiều!

  14. Tuấn Anh đã nói

    OPNET có hỗ trợ mô phỏng mạng ad-hoc không bạn nhỉ? Nếu được bạn có thể hướng dẫn mình được không? Mình cám ơn!

  15. Tuấn Anh đã nói

    Em chỉ mới đang tìm hiểu về cấu hình, các giao thức cũng như mô phỏng 1 mạng MANET. Nếu anh có tài liệu về hướng này có thể cho em xin được không ạ? Em đang công tác tại HVKTQS, nếu anh có thể bố trí được thời gian, em muốn gặp anh để hỏi thêm kinh nghiệm ạ! Em cám ơn!

    • Quốc Đính đã nói

      Để mô phỏng trong lĩnh vực này, tôi thấy tài liệu lớn nhất là F1 (help) và các bài báo. Không rõ anh định làm cái gì của MANET (thực nó khá rộng). Hiện tại tôi ở tp HCM. Nếu muốn gặp thì pm :)

Gửi phản hồi

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Thay đổi )

Twitter picture

You are commenting using your Twitter account. Log Out / Thay đổi )

Facebook photo

You are commenting using your Facebook account. Log Out / Thay đổi )

Google+ photo

You are commenting using your Google+ account. Log Out / Thay đổi )

Connecting to %s

 
Follow

Get every new post delivered to your Inbox.

%d bloggers like this: