|
1 | 1 | <h2 id="connectivity-tech">Network connectivity in Mbed OS</h2>
|
2 | 2 |
|
3 |
| -Mbed OS supports a wide range of connectivity options. This section helps you to understand how to connect Mbed OS based devices to the outside world. |
| 3 | +### Supported connectivity technologies |
4 | 4 |
|
5 |
| -<span class="images"><span>Connectivity options</span></span> |
| 5 | +Mbed OS offers a strong, integrated stack of standards-based technologies: |
6 | 6 |
|
7 |
| -Below is a brief introduction of the different connectivity technologies that we support. |
| 7 | +For IP devices: |
8 | 8 |
|
9 |
| -#### Bluetooth low energy |
| 9 | +* Arm Mbed Thread. |
| 10 | +* 6LoWPAN. |
| 11 | +* Cellular. |
| 12 | +* NB-IoT. |
| 13 | +* Bluetooth Low Energy (BLE). |
10 | 14 |
|
11 |
| -<span class="images"><span>Bluetooth</span></span> |
| 15 | +Non-IP devices require a gateway: |
12 | 16 |
|
13 |
| -Bluetooth low energy (BLE) is a low power wireless technology standard for personal area networks. Typical applications of BLE are health care, fitness trackers, beacons, smart homes, security, entertainment, proximity sensors, industrial applications and automotives. |
| 17 | +* LoRaWAN. |
14 | 18 |
|
15 |
| -To learn how to use Bluetooth low energy on Mbed OS, please refer to the [Bluetooth](../apis/ble.html) user API reference. |
| 19 | +### Choosing your connectivity method |
16 | 20 |
|
17 |
| -#### IP networking |
| 21 | +There is a wide variety of possibilities for connected devices, and there is no globally correct connectivity method. Choose a method that fits your application needs, then choose a device that can support that method. If you're already committed to a device type, you may need to adjust your application to work within that device's connectivity constraints. |
18 | 22 |
|
19 |
| -Arm Mbed OS supports various IP based connectivity options and IP stacks. |
| 23 | +### Internet protocol (IP) networking |
| 24 | + |
| 25 | +Mbed OS supports various IP-based connectivity options and IP stacks. |
20 | 26 |
|
21 | 27 | <span class="images"></span>
|
22 | 28 |
|
23 |
| -Our Socket API is an API that standardizes all of our connectivity options. It supports both IPv4 and IPv6. Applications are therefore portable and easy to develop regardless of final connectivity option. |
| 29 | +Our Socket API standardizes all of our connectivity options. It supports both IPv4 and IPv6. Applications are portable regardless of final connectivity option. |
24 | 30 |
|
25 | 31 | Mbed OS provides network drivers, such as Ethernet, Wi-Fi and cellular.
|
26 | 32 |
|
27 | 33 | You can find descriptions of supported interfaces and protocols in the [IP networking](ip-networking.html) section.
|
28 | 34 |
|
| 35 | +#### Wi-Fi |
| 36 | + |
| 37 | +Wi-Fi has a relatively high throughput of up to 1 gbps, which is suitable for data-heavy applications. The cost of this throughput is high power consumption. Wi-Fi is not ideal for long-term deployments of battery-powered devices. It can also prove problematic where other devices compete for the same bandwidth. |
| 38 | + |
| 39 | +It works for proof of concept devices because the infrastructure is in place in most offices, and its WPA2 security is familiar to developers. |
| 40 | + |
| 41 | +End devices for Wi-Fi are complicated due to hardware requirements and limitations. The network cost depends on whether the deployment location already includes a well maintained Wi-Fi infrastructure. Wi-Fi is ubiquitous indoors, and Wi-Fi devices have a range of tens of meters, so for certain applications, like those for homes and offices, the infrastructure likely already exists. |
| 42 | + |
| 43 | +#### Cellular |
| 44 | + |
| 45 | +Cellular has a variable throughput, reaching 10 mbps. Its coverage is extensive, and its range is 25-100km, so it is commonly used in transportation and logistics. It is also well suited for proof of concept, because, like Wi-Fi, it relies on an existing infrastructure. It's suitable for a wide variety of use cases, from monitoring temperature sensors, to streaming video. |
| 46 | + |
| 47 | +Cellular coverage, load balancing, and reliability are the responsibility of the providers, not the application. However, network access is subscription-based, so there is a direct correlation between usage and cost. |
| 48 | + |
| 49 | +The new cellular technologies, NB-IoT and CAT-M1, are designed for IoT devices. They offer some advantages, but there are also risks and costs. |
| 50 | + |
| 51 | +**Narrow-band-IoT** (NB-IoT) relies on a simple waveform and therefore requires the lowest power consumption of all the cellular methods. It also has fewer components and offers better signal penetration through walls (thanks to lower bitrates and better link budgets). It needs a country-specific chip, because each country uses its own spectrum, which complicates production. It also experiences problems with large transfers, because of its reduced bandwidth. |
| 52 | + |
| 53 | +**CAT-M1** has a higher data rate than NB-IoT (closer to existing cellular behaviour), but is not proven to be more power efficient. Any efficiency gains can be lost because of operator configurations. |
| 54 | + |
| 55 | +It can be deployed on a single spectrum, reducing antenna configuration complexity, but isn't deployed world-wide, and can take years to be deployed in countries using 3G. |
| 56 | + |
| 57 | +#### Bluetooth Low Energy (BLE) |
| 58 | + |
| 59 | +BLE is optimised for cheap, battery-based devices, and has a low memory footprint. It is widely adopted for connected spaces, but requires setting up an infrastructure. Its range is up to 100 meters, with 1 mbps bandwidth. You need an edge gateway so devices in your network can connect to the internet. |
| 60 | + |
| 61 | +Typical applications of BLE are health care, fitness trackers, beacons, smart homes, security, entertainment, proximity sensors, industrial applications, and automotives. |
| 62 | + |
| 63 | +To learn how to use BLE on Mbed OS, please refer to the [Bluetooth overview](../apis/ble.html). |
| 64 | + |
| 65 | +#### IP-based mesh (Thread and Wi-SUN) |
| 66 | + |
| 67 | +As a technology designed with large-scale deployment in mind, mesh is optimized for long battery life and low cost. |
| 68 | + |
| 69 | +**Thread** is designed for indoor use, with a range of only a few meters. **Wi-SUN** has a range of up to one kilometer, and is therefore better suited for external use. Both technologies have a low throughput of up to 200 kbps and experience delays. |
| 70 | + |
| 71 | +Mesh networks are self-healing, with no single point of failure. They are more suitable for limited spaces because of the expense in infrastructure setup and maintenance. |
| 72 | + |
| 73 | +Additionally, Mbed OS Thread stack is certified using pre-defined test sets for stability, reliability, and performance to ensure high quality, production-ready delivery for application and product creation. |
| 74 | + |
29 | 75 | #### 6LoWPAN Mesh networking
|
30 | 76 |
|
31 | 77 | <span class="images"><span>Tree type mesh</span></span>
|
32 | 78 |
|
33 | 79 | 6LoWPAN is a compression method for IPv6 packets. Mbed OS supports 6LoWPAN-ND and Thread protocols for forming IPv6 based mesh networks. Both protocols use the same 6LoWPAN compression method but different routing protocols to achieve wireless mesh network.
|
34 | 80 |
|
35 |
| -Applications running on 6LoWPAN based mesh networks use the same Mbed OS Socket API for connectivity. |
| 81 | +Applications running on 6LoWPAN-based mesh networks use the same Mbed OS Socket API for connectivity. <!--same as what?--> |
36 | 82 |
|
37 | 83 | For descriptions of mesh networks, please see the [6LoWPAN Mesh](mesh-tech.html) section.
|
38 | 84 |
|
39 |
| -#### LoRa |
| 85 | +### Non-IP networking |
40 | 86 |
|
41 |
| -<span class="images"><span>LoRa</span></span> |
| 87 | +#### LoRaWAN |
42 | 88 |
|
43 |
| -[LoRaWAN](http://lora-alliance.org) is a long range wide-area network technology that combines long range with low power consumption. LoRaWAN is not IP based. |
| 89 | +LoRaWAN is optimized for low power consumption and a low memory footprint (allowing low-cost devices). The downside is a low throughput of no more than 50 kbps, as well as delays. It is a non-IP-based technology. |
| 90 | + |
| 91 | +Because of its long range (up to 20 km) and low power, it is suitable for low data rate, outdoors solutions. |
44 | 92 |
|
45 | 93 | The [LoRa](lora-tech.html) section and [LoRa tutorial](../tutorials/LoRa-tutorial.html) describe LoRA networking.
|
46 | 94 |
|
| 95 | + |
47 | 96 | #### NFC
|
48 | 97 |
|
49 | 98 | <span class="images"><span>NFC</span></span>
|
50 | 99 |
|
51 | 100 | Near-field communication (NFC) is a short range (few centimeters) wireless technology standard for personal area networks. Typical uses of NFC are commissioning, easy sharing of small content and Bluetooth connection initiation/out-of-band pairing.
|
52 | 101 |
|
53 |
| -To learn how to use NFC with Mbed OS, please refer to the [NFC](../apis/nfc.html) user API reference. |
| 102 | +To learn how to use NFC with Mbed OS, please refer to the [Mbed OS NFC overview](../apis/nfc.html). |
| 103 | + |
| 104 | +#### Memory needs for Pelion-connected devices |
| 105 | + |
| 106 | +Mbed OS's baseline memory footprint, without Pelion connectivity, is 2.8kb of RAM and 8.2kb of flash. When you add connectivity and full functionality, the footprint grows: |
| 107 | + |
| 108 | +* For **Device Management Client Lite**, the smaller of the two connectivity libraries: A total of 20 KB RAM, 210 KB flash. This includes not just Ethernet connectivity, but also startup and runtime demands, the size of Client Lite itself and additional drivers. Client Lite is currently available only to certain customer account types. |
| 109 | +* For **Device Management Client**: A total of 137 KB RAM, 330 KB flash. This adds FileSystem and the full Client to the functionality. |
| 110 | + |
| 111 | +These two connectivity libraries give you the choice of a range of devices. Mbed OS with Client Lite can work on devices with only 64kb RAM and 256kb flash. Mbed OS with the full Client fits comfortably on devices with 128 KB RAM and 1024 KB flash. |
0 commit comments