nRF51 IoT SDK
Transcription
nRF51 IoT SDK
nRF51 IoT SDK SDK for IoT applications using IPv6 over Bluetooth Smart Overview This SDK is a complete IPv6 capable Bluetooth® Smart software stack with examples for the nRF51 Series SoCs. It supports the Internet Protocol Support Profile (IPSP) and also supports 6LoWPAN over Bluetooth Smart. Internet of Things, IPv6 and Bluetooth Smart Up until now Bluetooth Smart enabled products have been able to connect to the Internet via gateway devices such as a smartphone or tablet, see fig 1. In this scenario the App in the gateway device carries out the necessary task of bridging Bluetooth Smart to IP-based messages for internet communication to the cloud. Wi-Fi It is desirable to have ‘things’ that can communicate with other ‘things’ using native IP directly. In this scenario Bluetooth Smart devices can connect directly to the Internet via Bluetooth smart enabled headless routers, see fig 2. Smart Phone Bluetooth Smart KEY FEATURES 6LoWPAN and IPSP library: • 6LoWPAN compression/decompression. • 6LoWPAN Node role. • Packet flow control. • IPv6 prefix management. • Can use a third-party IPv6 stack Nordic’s IPv6 stack: • Support for multiple IP addresses • ICMPv6 module • UDP socket APIs Nordic’s CoAP library: • CoAP message types CON, NON, ACK, and RESET • Token matching on responses to a local client generated request • Endpoint creation as resources • Automatic lookup of requested endpoint on remote request • Endpoint resource function callback • Endpoint permission setting APPLICATIONS: • Internet of Things applications IPS end-to-end IPS over Bluetooth Smart IPv6 enabled Bluetooth Smart Things IPS over Ethernet,Wi-Fi, Fiber etc. “Headless” Router IPv6 significantly expands the number of available IP addresses for use and makes available 2128 addresses. This means that if necessary every device can have its own unique IPv6 address. Standards such as 6LoWPAN have made it possible to integrate sensors in a transport agnostic manner. 6LoWPAN enables sensors to talk to IP Protocols natively. Furthermore, new application layer protocols such as Constrained Application Protocol (CoAP), and Message Queue Telemetry Transport (MQTT) etc., ensure optimal use of bandwidth and resources of constrained sensors. Bluetooth Smart is an open standard that is specifically designed for the needs of battery powered sensors and wearables, and now powered with the 6LoWPAN IETF draft Bluetooth Smart is well placed to address evolving needs of sensors connecting to the cloud without the need for intelligent gateways. nRF51 IoT SDK Product Brief Version 1.0 Heterogeneous IP networks and Bluetooth Smart This SDK allows development of Bluetooth Smart applications that form a part of heterogeneous IP networks. These networks can be solely between ‘things’, between ‘things’ and the cloud, and between ‘things’ via the cloud. Native IP with Bluetooth Smart means there can be seamless communication via headless routers that support a number of different transport and physical layers such as Bluetooth Smart, 802.15.4, WiFI etc, see fig 3. The nRF51 IoT SDK supports 6LN role only. The examples use a Raspberry Pi in the 6LBR role and this is fully covered in the supporting documentation. While the documentation describes Raspberry PI, any Linux based computing system could be setup for the purpose. IPSP defines establishing and managing the L2CAP connection oriented channel.The various layers of IPv6 are mapped to enable an IPv6 enabled Bluetooth Smart node on the nRF51 Series SoC, see fig 4. Layers marked in red are commonly referred to as an IP stack. Nordic provides an implementation of IP stack (without TCP). It is acknowledged that there may be reasons to use other embedded IP stacks. Therefore, by design the nRF51 IoT SDK provides clear interfaces to port any third party IPv6 stack to an nRF51 Series device. As an example of such a third party port, Lightweight IP (lwIP) is ported to nRF51 Series SoC with examples for UDP and TCP. Thing to Cloud Cloud Service Wi-Fi IPv6 over Bluetooth Smart IPv6 over Bluetooth Smart IPv6 over Bluetooth Smart Other IPv6 enabled technologies Thing to Thing via Gateways Thing to Thing via Cloud Integrating various wired and wireless technologies using Internet protocols and IPv6 is not just to enable sensors to talk a common language with the cloud, but also with sensors that may or may not be connected to the Internet of Things using the same physical transport as the other sensors. These heterogenous IP networks will likely be comprised of various technologies that employ IP for communication and could be Bluetooth Smart, 802.15.4, WiFi etc. nRF51 IoT SDK IPv6 stack Internet Protocol Support Profile (IPSP) and Bluetooth Smart 6LoWPAN standard ensures optimal IP stack performance over Bluetooth Smart as a physical layer. 6LoWPAN defines the creation an IPv6 address of a device from its Bluetooth Smart device address. It also compresses the IP header where possible to ensure optimal use of RF bandwidth for power saving purposes. 6LoWPAN also defines roles called the 6LN (6LoWPAN node), 6LR (6LoWPAN Router) and 6LBR (6LoWPAN Border router). Application Layer Transport Layer Network Layer Adaptation Layer Physical and Link Layer CoAP MQTT UDP TCP IPv6 ICMPv6 RPL A CoAP library referred to as nCoAP is supplied with the SDK. This library provides implementation of Client and Server with the ability to play concurrent roles. The library is designed to be agnostic of IP stack used as transport and can be used with Nordic’s IPv6 stack, lwIP stack or any other stack implementation ported to the nRF51 Series SoC. An example implementation of MQTT over lwIP TCP transport is included in the SDK. This implementation assumes lwIP TCP application interface and is not transport agnostic. All examples in the SDK that require TCP as transport use the lwIP IPv6 stack. nRF51 IoT SDK and SoftDevice LE L2CAP connection oriented channels provide an optimal logical transport to transmit IPv6 packets which may not fit into the default application level MTU of 23 bytes. LE Credit Mode, the mode defined for connection oriented channels for Bluetooth Smart, provide in-built mechanism of segmentation and reassembly of IPv6 packets and provide flow control mechanism. LE Credit Mode was adopted as a part of Bluetooth 4.1 core specification. Implementation of this feature is provided by the SoftDevice that is distributed with the nRF51 IoT SDK. This SoftDevice can play GAP peripheral role only. This SoftDevice is not a production quality SoftDevice but built as a proof of concept for technology prototype. RELATED PRODUCTS nRF51822 Bluetooth Smart and 2.4GHz proprietary multi-protocol SoC nRF51422 ANT/Bluetooth Smart multi-protocol SoC nRF51 DK Bluetooth Smart/ANT/2.4GHz Development Kit nRF51 Dongle USB Dongle for development and test of nRF51 Series SoC nRF51822-EK Evaluation Kit for nRF51822 Bluetooth Smart 6LoWPAN IPSP SoftDevice Visit our Devloper Zone to ask questions, share knowledge and interact with other engineers. devzone.nordicsemi.com nRF51 IoT SDK Product Brief Version 1.0