Skip to content

Add Wi-SUN introduction #969

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 2, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions docs/reference/technology/mesh/wisun_intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#### Wi-SUN

The Wi-SUN Field Area Network (FAN) is based on open standards from IEEE802, IETF, ANSI/TIA and ETSI.

Wi-SUN FAN operates on license-exempt sub-GHz RF band and uses frequency hopping to lower interference. Therefore, Wi-SUN is well suited for outdoor installations and dense urban neighborhoods.

The Mbed OS Wi-SUN stack is built on IPv6 over Low power Wireless Personal Area Networks (6LoWPAN), which itself builds on IEEE 802.15.4 to offer IP-based networking. Internet Protocol (IP) provides the core mechanism for relaying datagrams across IP networks, and its routing capabilities enable internetworking.

You can find more details about Wi-SUN at the [Wi-SUN Alliance site](https://www.wi-sun.org).

#### Mbed Wi-SUN API

Mbed OS provides the [Mesh C++ API](../apis/mesh-api.html) for building Wi-SUN applications.

- To connect to the Wi-SUN network, use the [Wi-SUN interface API](https://github.com/ARMmbed/mbed-os/blob/master/features/nanostack/mbed-mesh-api/mbed-mesh-api/WisunInterface.h).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Query: Should we add a WisunInterface user API page? Or is this a background API that users don't really use?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't Wi-SUN API user API documented in #981?

Copy link
Contributor

@AnotherButler AnotherButler Mar 1, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That has config and reference information. It's not a user API for WisunInterface. Our user APIs live here: https://github.com/ARMmbed/mbed-os-5-docs/tree/development/docs/api/networkinterfaces

They include a link to the Doxygen class and an example.

Note: This doesn't block this PR. If we decide to add this, it can be in a different PR.

- For the socket communication over the Wi-SUN network, use the [Mbed sockets API](../apis/network-socket.html).

##### Nanostack Wi-SUN API

Mbed Wi-SUN is implemented in the Nanostack library that provides a set of C API headers with more functionalities. The [nanostack folder](https://github.com/ARMmbed/mbed-os/tree/master/features/nanostack/sal-stack-nanostack/nanostack) has the following header files that can be used with Wi-SUN:

- `net_interface.h` for initializing, starting and stopping a Wi-SUN interface.
- `ws_management_api.h` for configuring device behavior.
- `ws_bbr_api.h` for Wi-SUN backbone border router application interface.

#### Mbed Wi-SUN examples

Mbed Wi-SUN network consists of routers and border router(s). Mbed OS provides example applications to build Wi-SUN application.

##### Router

You can find an example using the [Mesh C++ API](../apis/mesh-api.html) for building a Wi-SUN router device in the [mesh minimal example](https://github.com/ARMmbed/mbed-os-example-mesh-minimal).

##### Border router

You can find an example using the [Nanostack API](https://github.com/ARMmbed/mbed-os/tree/master/features/nanostack/sal-stack-nanostack/nanostack) to biuld a Wi-SUN border router at [nanostack border router](https://github.com/ARMmbed/nanostack-border-router).