With the rapid development of Internet of Things (IoT), it is an inevitable trend that all things will get connected to the Internet to form various intelligent services such as Industry 4.0, smart home, smart medical care, etc. To make such intelligent IoT services practicable, it is vital to have a low-power link-layer technology that can accommodate a diversity of upper-layer networking protocols. Currently, there are many popular low-power wireless networking technologies for IoT such as ZigBee and Bluetooth Low Energy (BLE). Because of the ubiquity of BLE-enabled smartphones nowadays, BLE has gained much attention in the IoT industry recently. In this research, we aim at implementing an IPv6 over BLE experimental system using Raspberry Pi 3 and nRF51-DK development boards, and then run the Message Queuing Telemetry Transport for Sensor Networks (MQTT-SN) protocol and the Constrained Application Protocol (CoAP) over the protocol stack of IPv6/BLE. Specifically, in our experimental system every BLE node is IPv6-addressable and accessible through the MQTT/CoAP protocols from anywhere over the Internet. Moreover, to ease user accesses from ordinary web browsers, we build two gateways as the web servers for end users, which receive real-time sensor data via CoAP or MQTT-SN protocols and then push the data to end users' browsers. The gateways are also designed to routinely request sensor data and then forward the data to cloud database platforms, which serve as the data sources for historical sensor data. Preliminary results showed that our system is capable of achieving the designed goals and is user-friendly. Compared with the non-IP based BLE sensor networks, our implementation can be integrated into a variety of existing and widely used IP-based applications easily.
Journal of Universal Computer Science 24(9), p.1170-1191