An easy way to get your Bluetooth devices on the Internet
Bluetooth protocol is today the most common option in the segment of wearable electronics, in particular for fitness trackers and smart watches. It is well suited for direct communication of devices at short distances, when it is necessary to ensure minimum energy consumption and long battery life, but there are no high speed requirements. A plus is the low cost of products.
However, this protocol is increasingly found in stationary devices such as lamps, various sensors, control devices and even locks. Some manufacturers, in particular Archos, use it to implement a home automation system. His support appears in professional controllers such as Evika LogicMachine Wall. However, in such scenarios, remote monitoring and control is also required, which cannot be done using only Bluetooth, since this protocol is exclusively local and cannot be routed through the Internet. This issue can be resolved, in particular, using a smartphone or tablet at the installation site of wireless devices, but this option is clearly difficult to consider convenient.

The Bluetooth SIG organization, which deals with the development, certification and promotion of Bluetooth protocols, not wanting to miss the growth of the IoT segment and automation systems, in early February proposed a toolkit for creating gateways for connecting Bluetooth devices to the Internet and cloud services. It is focused on developers and OEM, and is capable, according to the creators, to provide access to the Internet for "billions of devices." The kit includes server codes and documentation that allows you to quickly implement the basic version of the device.
The proposed example uses the well-known Node.js environment and is not demanding on computing resources. The documentation covers the creation of a gateway and Frontend Web server based on the Raspberry Pi platform. To start, you need a Bluetooth adapter for it. True, a model with BLE support can be difficult to find. In this case, you can suggest using other platforms, for example Intel Edison, where this interface is built-in.
The gateway scans the Bluetooth devices present on the air, caches information about them, including features and available services. When an external request is received, it gives a response either on the basis of previously collected data or requests the current values from the device. The gateway interface works with GAP and the GATT RESTful API, brief descriptions of which can be found on the Bluetooth SIG website, and JSON is used to exchange information. In particular, features such as requesting a list of devices, requesting device services, requesting service characteristics, reading and writing data are implemented here.

Frontend is implemented by the NaviBLE Web application, which allows the user to work with Bluetooth devices connected to the gateway. In the examples, the interfaces to the above gateway capabilities are available. In addition, the developer can create his own pages, including those with CSS and built-in JavaScript data processing functions, for more convenient work with specific devices. For example, for the lamp, you can provide buttons on and off, as well as color selection.

These examples can be useful both for developers of automation systems who plan to include support for the Bluetooth protocol in their products, and for enthusiasts. In particular, you can implement the processing of such a scenario as the appearance of a Bluetooth device at home, for example, to automatically turn on the light or change the alarm mode.

Note that on the Bluetooth SIG website you can also find documentation and examples of working with Bluetooth devices (for example, tags) to integrate support for this protocol on various platforms, including the source code of applications for Android, iOS and Windows.
However, this protocol is increasingly found in stationary devices such as lamps, various sensors, control devices and even locks. Some manufacturers, in particular Archos, use it to implement a home automation system. His support appears in professional controllers such as Evika LogicMachine Wall. However, in such scenarios, remote monitoring and control is also required, which cannot be done using only Bluetooth, since this protocol is exclusively local and cannot be routed through the Internet. This issue can be resolved, in particular, using a smartphone or tablet at the installation site of wireless devices, but this option is clearly difficult to consider convenient.

The Bluetooth SIG organization, which deals with the development, certification and promotion of Bluetooth protocols, not wanting to miss the growth of the IoT segment and automation systems, in early February proposed a toolkit for creating gateways for connecting Bluetooth devices to the Internet and cloud services. It is focused on developers and OEM, and is capable, according to the creators, to provide access to the Internet for "billions of devices." The kit includes server codes and documentation that allows you to quickly implement the basic version of the device.
The proposed example uses the well-known Node.js environment and is not demanding on computing resources. The documentation covers the creation of a gateway and Frontend Web server based on the Raspberry Pi platform. To start, you need a Bluetooth adapter for it. True, a model with BLE support can be difficult to find. In this case, you can suggest using other platforms, for example Intel Edison, where this interface is built-in.
The gateway scans the Bluetooth devices present on the air, caches information about them, including features and available services. When an external request is received, it gives a response either on the basis of previously collected data or requests the current values from the device. The gateway interface works with GAP and the GATT RESTful API, brief descriptions of which can be found on the Bluetooth SIG website, and JSON is used to exchange information. In particular, features such as requesting a list of devices, requesting device services, requesting service characteristics, reading and writing data are implemented here.

Frontend is implemented by the NaviBLE Web application, which allows the user to work with Bluetooth devices connected to the gateway. In the examples, the interfaces to the above gateway capabilities are available. In addition, the developer can create his own pages, including those with CSS and built-in JavaScript data processing functions, for more convenient work with specific devices. For example, for the lamp, you can provide buttons on and off, as well as color selection.

These examples can be useful both for developers of automation systems who plan to include support for the Bluetooth protocol in their products, and for enthusiasts. In particular, you can implement the processing of such a scenario as the appearance of a Bluetooth device at home, for example, to automatically turn on the light or change the alarm mode.

Note that on the Bluetooth SIG website you can also find documentation and examples of working with Bluetooth devices (for example, tags) to integrate support for this protocol on various platforms, including the source code of applications for Android, iOS and Windows.