Tel: +45 29 89 07 82
it@picatek.dk
Picatek
  • Home
  • Embedded Programming
  • Contact
  • References

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.
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 :)
Powered by Create your own unique website with customizable templates.