Wearables and Internet of Things are the new big words of the recent technological developments worldwide. In the past few years, the embedded systems manufacturers shifted their efforts into developing low power/cost Integrated Circuits (ICs) and Systems on Chip (SoCs) capable of providing always connected capabilities to the most varied devices, providing data and analytics for a multitude of tasks like health companions and motion trackers with the desired outcome of improving the general well-being or monitoring our day-to-day lives.
It is estimated that by 2020, approximately 26 billion objects will be connected together within the internet, directly or indirectly by using different protocols such as Bluetooth Smart for the low level devices (’things’) and WiFi/GSM for the higher level ones (gateways).
Generally, these ’things’ need a big effort into developing robust firmware for their controllers that can be exceptionally diverse, with each having their development environment. Half of this time is spent into developing higher level protocols of communication that will promote the trade of information between the ’thing’ and the gateway. Most of the time, this trade is limited to what is implemented in the controller and adding new functionalities leads to updates in both the gateway and the ’thing’. This can be really expensive since, normally, higher level developers don’t have the knowledge necessary to work at the lower level and vice-versa.
In order to allow a centralized development, it would be interesting that some kind of abstraction is added to this controller to allow a more transparent integration of new functionalities and even allow higher level developers to create a complete application without being concerned with hardware details, and simply taking advantage of their interfaces like Inter-Integrated Circuit (I2C), Universal Asynchronous Receiver/Transmitter (UART) and General Purpose Input/Output (GPIO) to get information from sensors and alike.
Fraunhofer AICOS is working on this area and already created a customizable sensing ’thing’ named Pandlet that can be used in diverse contexts. It possesses several sensors and interfaces that make the connection of new ones easy and sends information to the gateways by using Bluetooth Smart.
Using this concept of abstraction, the project aims to develop a set of Bluetooth Smart profiles and a companion API that will allow the interaction of a gateway with the peripherals (I2C, UART, GPIO, Serial Peripheral Interface (SPI), Analog to Digital Converter (ADC)) of the pandlet seamlessly. This will allow the high level developer to see the peripherals as an extension of the gateway and not a separated device. The developed profiles will be as generic as possible to allow their implementation in micro-controllers other than the pandlet.
The project is planned to design a well-thought set of profiles with error handling, understand the bandwidth limitations of the protocol and its effects on the data rate of the peripherals and implement the proposed solution within the Pandlet platform. This solution should envisage an Android enabled device as the gateway.
Author: António Sousa
Type: MSc thesis
Partner: Faculdade de Engenharia da Universidade do Porto