The Internet of Things (IoT) is the most talked about, and unquestionably, the most exciting technology trend in many years. It’s expected to have an impact across numerous sectors and is forecast to become a multi-trillion dollar industry.
In the future, I think historians will rank it alongside the creation of the World Wide Web and the emergence and adoption of the smartphone in terms of importance and the impact each of these technological phenomena had on business and on society in general.
Precise definitions of IoT vary, though most commentators agree on what IoT is at a conceptual level. Opinion regarding IoT technologies has started to stabilize, however, and Bluetooth® Smart technology has become regarded as one of the key enablers of IoT. The SIG designed Bluetooth Smart specifically for the IoT. It is an ultra-low power wireless networking technology that can be used to monitor the physical world using sensors. It has excellent security, it is flexible and developer-friendly and, as this article will show, it can connect devices to the Internet too.
While there is no standard end-to-end IoT architecture, we can make some observations about both the architectures and technologies involved. IoT scenarios will be serviced by multi-tier architectures. Furthermore, it is possible to identify an “edge tier” which may be likened to the leaves of an IoT tree. Bluetooth Smart devices exist within this edge tier.
Standards must play a part in the IoT. Without appropriate standards applied to the right parts and aspects of IoT, it is hard to imagine how IoT will realise the potential that is currently envisaged for it. And, while there may be no single standard for all IoT architectures and technologies, there are standards in place that will serve this space, Bluetooth Smart being chief among them.
In December 2014, the Bluetooth SIG released version 4.2 of the Bluetooth core specification and a number of important new profiles. We made Bluetooth Smart both smarter and faster while adding important capabilities aimed at IoT scenarios—there are more in the pipeline for release in early 2015. We defined and standardized the ways in which the Bluetooth Smart IoT edge tier can connect and communicate with the Internet and with IP-based devices in general. I will review each of the key new features in this article.
Discovering and Communicating with Bluetooth Smart Devices Using HTTP
The first of the new features is the ability to discover, access, and control any Bluetooth® Smart device, securely from the Internet using standard HTTP.
Imagine living in a Smart Home. You have Bluetooth Smart locks and sensors on all your doors and windows and each can indicate the state of a door or window—locked or unlocked, open or closed. From a mobile application or web browser, you will be able to securely review the status of all the Bluetooth devices in your home, wherever you are in the world using a standard Internet connection. The same principle applies to any Bluetooth Smart device be it a lock, a light bulb or a smart plant pot!
To accomplish this, the SIG’s Bluetooth Internet Working Group defined a series of standard RESTful APIs relating to both Bluetooth GAP (Generic Access Profile) and GATT (Generic Attribute Profile). One way in which you’ll see these APIs implemented is in a type of device we call a “gateway.” In real terms, the gateway feature is embedded in devices such as a broadband router or a Smart TV.
To start, all you need is a gateway device that supports the new APIs. The other Bluetooth Smart devices can use any version of Bluetooth Smart—4.0, 4.1 or 4.2—so all of your existing devices will become remotely, securely accessible once you’ve equipped your home with the new gateway capability. Since you are using Bluetooth® Smart, you can control all of these devices directly from your phone, tablet, or PC as well without going through a gateway when you are in your home.
Bluetooth Smart Devices and Web Services in the Cloud
The second IoT feature relates to a new GATT service called the HTTP Proxy Service (HPS). The specification for HPS will be available in Q1 2015. With HPS, manufacturers can give Bluetooth Smart devices the ability to “reach out” and communicate with standard web servers in the cloud. For example, you could have temperature sensors positioned all around your Smart Home reporting temperature readings to a cloud-based energy efficiency service.
Figure 2 depicts the overall HPS architecture. Devices such as our example temperature sensor implement the HPS client component, while a Bluetooth Internet gateway (implemented in a router) contains the HPS service. The availability of the HPS service in the router is indicated to potential clients using standard GAP procedures. The temperature sensor indicates the target URL, HTTP header values and HTTP operations it wants to invoke, to the HPS service by writing to the various GATT characteristics that the HPS service contains. HTTP operations HEAD, GET, POST, PUT and DELETE are all supported and either HTTP or HTTPS may be specified. When an HTTP operation is complete, the HPS service sends a GATT notification relating to a HTTP Status Code GATT characteristic back to the HPS client in the temperature sensor.
HPS may also be exposed over Bluetooth BR/EDR, and to that end, has a Service Discovery Protocol record defined for it.
Bluetooth and IPv6
The third and final feature is called the Internet Protocol Support Profile (IPSP). IPSP makes it possible for a Bluetooth® Smart device to support 6LoWPAN (IPv6 over Low power Wireless Personal Area Networks) and to have an IPv6 address. In short, this means that IP packets can be sent and received by Bluetooth Smart devices, in addition to retaining their core Bluetooth Smart capabilities.
The groundwork for this radical new capability was laid down in Bluetooth 4.1 where we introduced support for fixed, connection oriented L2CAP (Logical Link Control and Adaptation Protocol) channels.
The RESTFul API and HPS features I’ve talked about are both based upon HTTP which is generally a good choice for many use cases. It’s very comquite simple and widely understood. But it’s not the best protocol for all use cases. IPSP allows devices to use other protocols and to communicate with other smart objects that do not use Bluetooth at all but do support IP.
It’s Game on for the Internet of Things
All of these features are genuinely “game changing.” Taken in conjunction with the other changes in 4.2, Bluetooth® Smart now offers an ultra-low power wireless networking capability, with FIPS-compliant security features and standardized mechanisms for integrating small wireless devices which will often be equipped with sensors, with the Internet, and other IP devices in a whole range of ways—and it’s natively supported by almost all smartphones on the planet.
With Bluetooth 4.2, it really is “game on” for the IoT!
Martin is on the Bluetooth Developer Relations team. He specializes in mobile applications and technology, with over 30 years of experience in software development.