Bluetooth Low Energy project
Introduction
The aim of this project was to build a wireless sensors aggregator that will receive measurements from several different sensors and will upload the data to central database where the data can be viewed on or off line and for documentation purposes.
Technology and platform
We decided to use Bluetooth Low Energy and TIs BLE1.4 stack. The reasons for this selection:
BLE sounds like the name of the game these days and the specs really suits our needs. We could also used Zigbee, Wi-Fi or sub Ghz systems but if you don't need the power and the range BLE is low cost, low power and widely available hardware (both BLE based sensors and central devices).
Ti tool chain and BLE stack is both mature and well documented (tons of documents and examples), large, responsive supporting community, friendly and positive TI support personal.
BLE sounds like the name of the game these days and the specs really suits our needs. We could also used Zigbee, Wi-Fi or sub Ghz systems but if you don't need the power and the range BLE is low cost, low power and widely available hardware (both BLE based sensors and central devices).
Ti tool chain and BLE stack is both mature and well documented (tons of documents and examples), large, responsive supporting community, friendly and positive TI support personal.
Architecture
What we needed was to collect several temperature measurements from different but very near zones, barometric pressure, heart rate and a few other parameters. A Ti BLE Central device can connect to 3 peripherals at the same time. This was exactly enough for our project. The central device will discover the peripherals of interest, connect and then enable notification for the data required. On the sensors side, we used one SensorTags(CC2541), one no name heart rate and another BLE sensor. On the central side we used an HM-10(CC2541) with breakout board that collect the data from the sensors and send it serialy to the next level which then sent it to the server. The SimpleBleCentral project was our starting point.
Comment about the stack and the embedded ecosystem
We found the Ti ecosystem (HAL OSAL etc.) fun to work with. The combination of BLE stack events and user defined events is very powerful. We had to shave the SimpleBLECentral example from the original state structure because our central device is doing scanning for new peripherals, while already connected to other peripherals and receiving notifications at the same time. For reliable operation we must scan even if we are already connected to all our peripherals in case any of them was disconnected for some reason.
Conclusion
This was a positive experience and as mentioned before a fun project. If you need some wireless in your project, the path we took is greatly recommended. It simply works according to the documentation (as newcomer to BLE we where not sure we knew how to read the docs :)