IPv6 over Bluetooth Smart lays IoT foundations
Vendors are introducing Bluetooth Smart sensors that promise to accelerate the roll out of the Internet of Things. These new devices leverage existing Internet standards for end-to-end compatibility. By John Leonard, Tactical Marketing Manager, Nordic Semiconductor.
Much of the raw data gathered and manipulated by a future IoT will come from inexpensive, compact sensors, ideally powered by energy harvested from their immediate environment, or at worst from small batteries that last for years (to limit size, cost and maintenance). These sensors might operate as standalone devices monitoring their surroundings or embedded into products, appliances and machines to report on the performance of their hosts.
There are a few low power wireless technologies that are up to the job. For example, some IEEE 802.15.4-based products could be an option or low power versions of WiFi could be deployed; but one technology stands out - Bluetooth Smart. Formerly known as Bluetooth low energy, Bluetooth Smart was designed from the outset to consume as little power as possible. It is now a proven, ‘ultra low power’ wireless technology based on an open standard and available from several major silicon vendors. The technology operates by periodically sending a burst of data very quickly and then returning to a low power sleep state. Such operation is ideal for the wireless sensors connected to the IoT.
But the Bluetooth Smart familiar to consumers of wireless peripherals such as remote control toys, heart rate monitors and smartwatches suffers a significant drawback as a technology for connecting directly to the Internet. To make such a connection, contemporary Bluetooth Smart devices require the resources of a sophisticated gateway such as a smartphone, tablet, or WiFi bridge. That’s not really a problem for consumers as most people own such a device, but for commercial IoT implementations it’s hardly a practical solution as gateways are expensive and (particularly in the case of smartphones) can move out of range. What’s needed for the IoT is Cloud-connectivity via inexpensive ‘headless’ routers that simply forward data directly from Bluetooth Smart sensors to the Internet without the need for protocol translation.
The power of the Internet (Protocol)
Without the Internet Protocol (IP) the Internet as we know it would not exist. IP is the principal communication protocol in the Internet Protocol Suite and defines how computers and other devices connected to the Internet locate each other and exchange information.
The Internet Protocol Suite comprises four layers: Application, Transport, Internet and Link. The Internet layer is the part of the Internet Protocol Suite that is used to transport IP packets (or, using technical jargon, ‘facilitate packet-switched internetworking’) from the originating host to the destination host located by an IP (or network) address. IP version 4 (IPv4) is currently the dominant protocol used by the Internet layer.
Unfortunately the number of addresses available under the IPv4’s 32-bit decimal-based addressing scheme is limited to 2 exp32 (a little over 4.2 billion). With the rapid expansion in the number of devices connected to the Internet, this reservoir is rapidly being depleted. Consequently, IPv4 is gradually being replaced by IP version 6 (IPv6), a 128-bit hexadecimal-based scheme that facilitates 2 exp128 addresses (or well over 3.4 x 10 exp38) - which should be about enough to provide an IP address for all the things that are likely to connect to the IoT for a few years hence.
While engineers can still use IPv4, the majority are now (albeit slowly) building IPv6 into new devices being connected to the Internet. The packet headers of IPv4 and IPv6 are different so the two protocols are not interoperable––which has slowed the latter’s introduction, but there are several ‘transition mechanisms’ that allow them to communicate.
Apart from increasing the number of available addresses, IPv6 has several other advantages over IPv4. Included among these are greater packet payload, multicasting (the transmission of a packet to multiple destinations in a single send operation, something that’s optional in IPv4), simplified processing and improved mobility.
Once a device adopts IPv6 and is connected to the Internet, either directly via a wired connection or a wireless one relayed by a headless router, it is able to seamlessly communicate and exchange information with every other IPv6-enabled device. In the case of the IoT, those devices range from powerful Cloud servers that can crunch the data from millions of sensors and make intelligent decision based on the information — for example to optimise traffic control in a large city — to PCs, tablets and smartphones. It also means that IPv6-enabled things can talk to other IPv6-enabled things without requiring the services of a computer. Consequently sensors can talk to other sensors even if they use different wireless- and wired-protocols (for example, Bluetooth Smart, ZigBee, ‘classic’ Bluetooth, Ethernet or WiFi) and, for example, optimise their operation to take into account the performance of their peers.
The SIG’s helping hand
But how easy is it to add IPv6 capability to a Bluetooth Smart device? The answer is that it’s far from trivial. But the Bluetooth Special Interest Group (SIG) has made things a little easier with the introduction of the Internet Protocol Support Profile (ISPS). IPSP is compatible with Bluetooth Version 4.1 (v4.1), and later versions. In the SIG’s own words, ‘The Internet Protocol Support Profile (IPSP) allows devices to discover and communicate to other devices that support IPSP. The communication between the devices that support IPSP is done using IPv6 packets over the Bluetooth low energy transport’.
It’s important to note that what IPSP doesn’t do is specify how IPv6 packets are transmitted over Bluetooth Smart. The profile simply facilitates the communication between ISPS-equipped Bluetooth Smart devices. The Internet Engineering Task Force’s (IETF) Request for Comment (RFC) document entitled Transmission of IPv6 packets over Bluetooth Low Energy specifies precisely how to do it. But it’s still a tricky process.
Nordic’s engineering group has cracked the problem with its ‘IPv6 over Bluetooth Smart’ technology. Nordic is proud to be the first company to offer this technology as a commercial solution. The company has based the solution on its proven nRF51 series hardware and built a complete IP stack on top of its Bluetooth Smart software, releasing it to developers in December 2014. The complete stack comprises the nRF51 series SoC, the company’s S110 or S130 ‘SoftDevice’ (the Bluetooth Smart stack), IPSP, 6LoWPAN adaption layer, IPv6 Internet routing layer, User Datagram Protocol (UDP) and Transmission Control Protocol (TCP) transport layers, plus Constrained Application Protocol (CoAP) and Message Queuing Telemetry Transport (MQTT) application layers.
With Nordic’s nRF51 IoT SDK, which is compatible with Arduino and Raspberry Pi computers (allowing these inexpensive devices to be used as headless routers) developers can experiment with nRF51 series Bluetooth Smart devices talking directly to Cloud-based servers and other Bluetooth Smart sensors as part of a heterogeneous IP network. A working system was demonstrated at the Consumer Electronics Show (CES) earlier this year.
Previously, industry observers doubted it was possible to run IP to the end node because it would make the node too complex and unacceptably increase power consumption. However, these people thought that end nodes would use proprietary solutions connecting to the Internet via gateways. But since the release of the nRF51 series three years ago, Nordic has supplied a low cost, ultra low power System-on-Chip (SoC) that’s capable of doing the job. Nordic’s IP stack’s compact memory footprint also means that the complete protocol stack can be run on the nRF51 series SoC’s embedded ARM processor (which also has plenty in reserve to run an associated application), enabling developers to minimise power, size, and cost of end products. Only with such a compatible, capable SoC and optimised software will customers be able to run IP to the node and eliminate expensive gateways.
Thanks to the addition of IPSP in the Bluetooth specification and some innovative work by Nordic’s engineers, Bluetooth Smart devices will be able to communicate with any other IPv6-enabled device via connection to the Internet using headless routers. Because the router will simply act as a neutral device, relaying IPv6 packets to other devices on the Internet without performing any analysis or manipulation, millions of devices that are already in service but were previously incompatible with Bluetooth Smart sensors –– such as STBs or WiFi routers –– will be able to act as routers. Additional routers will not require sophisticated operating systems so can be inexpensive to produce and deploy. In this way, Bluetooth Smart technology will enable seamless wireless connections of things-to-things and things-to-the-Internet using open standards – thus forming a practical and cost-effective foundation technology for the IoT.