Skip to content

Commit b4320a5

Browse files
author
Amanda Butler
authored
Merge pull request #433 from TeemuKultala/overview_changes
cellular update
2 parents b0578c0 + 115c7c6 commit b4320a5

File tree

1 file changed

+39
-40
lines changed

1 file changed

+39
-40
lines changed

docs/reference/api/connectivity/networksocket/networksocket.md

Lines changed: 39 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -76,67 +76,47 @@ Existing network interfaces:
7676

7777
Here are example applications that are built on top of the network-socket API:
7878

79-
* [HTTP and HTTPS](https://os.mbed.com/teams/sandbox/code/http-example/).
80-
* [MQTT](https://os.mbed.com/teams/mqtt/code/HelloMQTT/).
81-
* [CoAP](https://os.mbed.com/teams/sandbox/code/coap-example/).
82-
* [Websockets](https://os.mbed.com/cookbook/Websockets-Server).
83-
* [TCP ping-pong with a computer](https://github.com/armmbed/mbed-tcp-ping-pong).
84-
* [UDP ping-pong with a computer](https://github.com/armmbed/mbed-udp-ping-pong).
79+
- [HTTP and HTTPS](https://os.mbed.com/teams/sandbox/code/http-example/).
80+
- [MQTT](https://os.mbed.com/teams/mqtt/code/HelloMQTT/).
81+
- [CoAP](https://os.mbed.com/teams/sandbox/code/coap-example/).
82+
- [Websockets](https://os.mbed.com/cookbook/Websockets-Server).
83+
- [TCP ping-pong with a computer](https://github.com/armmbed/mbed-tcp-ping-pong).
84+
- [UDP ping-pong with a computer](https://github.com/armmbed/mbed-udp-ping-pong).
8585

8686
##### Example
8787

8888
Here is an example of an HTTP client program. The program brings up Ethernet as the underlying network interface, and uses it to perform an HTTP transaction over a TCPSocket:
8989

9090
[![View code](https://www.mbed.com/embed/?url=https://os.mbed.com/teams/mbed_example/code/TCPSocket_Example/)](https://os.mbed.com/teams/mbed_example/code/TCPSocket_Example/file/6b383744246e/main.cpp)
9191

92-
#### Arm Mbed Mesh
93-
94-
The Arm Mbed Mesh API allows the application to use the IPv6 mesh network topologies through the [Nanostack](/docs/development/tutorials/mesh.html#nanostack) networking stack.
95-
96-
Mbed OS provides two types of IPv6 based mesh networks:
97-
98-
* 6LoWPAN_ND, loosely following the Zigbee-IP specification.
99-
* Thread, following the specification from Thread Group.
100-
101-
Nanostack is the networking stack which provides both of these protocols. For more information on the stack internals, refer to [Nanostack documentation](/docs/development/tutorials/mesh.html#nanostack). Application developers use Nanostack through Mbed Mesh API.
102-
103-
The application can use the `LoWPANNDInterface` or `ThreadInterface` object for connecting to the mesh network and when successfully connected, the application can use the Mbed C++ socket APIs to create a socket to start communication with a remote peer.
104-
105-
The `NanostackEthernetInterface` is provided for Ethernet.
106-
107-
##### Supported mesh networking modes
108-
109-
Currently, 6LoWPAN-ND (neighbor discovery) and Thread bootstrap modes are supported.
110-
11192
#### Cellular
11293

113-
The [CellularBase](/docs/development/mbed-os-api-doxy/class_cellular_base.html) provides a C++ API for connecting to the internet over a Cellular device.
94+
The [CellularBase](https://os-doc-builder.test.mbed.com/docs/development/mbed-os-api-doxy/_cellular_base_8h_source.html) provides a C++ API for connecting to the internet over a Cellular device.
11495

115-
Arm Mbed OS provides a [reference implementation of CellularBase](https://github.com/ARMmbed/mbed-os/tree/master/features/netsocket/cellular/generic_modem_driver).
96+
Arm Mbed OS provides a [reference implementation of CellularBase](https://os-doc-builder.test.mbed.com/docs/development/mbed-os-api-doxy/_easy_cellular_connection_8h_source.html).
11697

11798
##### Getting started
11899

119100
1. Choose an [Mbed board that supports cellular](https://os.mbed.com/platforms/?mbed-enabled=15&connectivity=1), such as the [UBLOX-C027](https://os.mbed.com/platforms/u-blox-C027/) or [MTS-DRAGONFLY](https://os.mbed.com/platforms/MTS-Dragonfly/).
120101

121-
1. Clone [`mbed-os-example-cellular`](https://github.com/ARMmbed/mbed-os-example-cellular). Follow the instructions in the repository.
102+
1. Clone [`mbed-os-example-cellular`](https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-cellular/). Follow the instructions in the repository.
122103

123104
1. Compile the code.
124105
1. Flash the board.
125106

126107
You see output similar to the excerpt below:
127108

128109
```
129-
130-
mbed-os-example-cellular, Connecting...
131-
132-
110+
mbed-os-example-cellular
111+
Establishing connection ......
112+
133113
Connection Established.
134-
UDP: Sent 4 Bytes to echo.u-blox.com
114+
TCP: connected with echo.mbedcloudtesting.com server
115+
TCP: Sent 4 Bytes to echo.mbedcloudtesting.com
135116
Received from echo server 4 Bytes
136-
137-
117+
118+
138119
Success. Exiting
139-
140120
```
141121

142122
##### Basic working principles
@@ -151,11 +131,30 @@ You can use and extend a cellular interface in various different ways. For examp
151131

152132
<span class="images">![](https://s3-us-west-2.amazonaws.com/mbed-os-docs-images/Cell_PPP.png)</span>
153133

154-
[`mbed-os-example-cellular`](https://github.com/ARMmbed/mbed-os-example-cellular) uses [a generic modem driver](https://github.com/ARMmbed/mbed-os/tree/master/features/netsocket/cellular/generic_modem_driver). In other words, CellularInterface uses PPP. We can summarize this particular design as follows:
134+
[`mbed-os-example-cellular`](https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-cellular/) uses [an easy cellular connection](https://os-doc-builder.test.mbed.com/docs/development/mbed-os-api-doxy/_easy_cellular_connection_8h_source.html). It depends on the modem whether the application uses PPP or AT mode. We can summarize this particular design as follows:
135+
136+
- It uses an external IP stack, such as LWIP, or on-chip network stacks such as when the modem does not support PPP.
137+
- The easy cellular connection uses standard 3GPP AT 27.007 AT commands to set up the cellular modem and to register to the network.
138+
- After registration, the driver opens a PPP pipe using LWIP with the cellular modem and connects to the internet. If AT only mode is in use, then modem-specific AT commands are used for socket data control.
139+
140+
#### Arm Mbed Mesh
141+
142+
The Arm Mbed Mesh API allows the application to use the IPv6 mesh network topologies through the [Nanostack](/docs/v5.7/tutorials/mesh.html#nanostack) networking stack.
143+
144+
Mbed OS provides two types of IPv6 based mesh networks:
145+
146+
- 6LoWPAN_ND, loosely following the Zigbee-IP specification.
147+
- Thread, following the specification from Thread Group.
148+
149+
Nanostack is the networking stack that provides both of these protocols. For more information on the stack internals, please refer to the [Nanostack documentation](/docs/v5.7/tutorials/mesh.html#nanostack). Application developers use Nanostack through the Mbed Mesh API.
150+
151+
The application can use the `LoWPANNDInterface` or `ThreadInterface` object for connecting to the mesh network. When successfully connected, the application can use the Mbed C++ socket APIs to create a socket to start communication with a remote peer.
155152

156-
- It uses an external IP stack (for example, LWIP) instead of on-chip network stacks.
157-
- The generic modem driver uses standard 3GPP AT 27.007 AT commands to set up the cellular modem and registers to the network.
158-
- After registration, the driver opens up a PPP (Point-to-Point Protocol) pipe using LWIP with the cellular modem and connects to the internet.
153+
Mbed OS provides `NanostackEthernetInterface` for Ethernet.
154+
155+
##### Supported mesh networking modes
156+
157+
Currently, 6LoWPAN-ND (neighbor discovery) and Thread bootstrap modes are supported.
159158

160159
##### Module configuration
161160

0 commit comments

Comments
 (0)