Took way more hours than strictly necessary to get linux working. Bluez is really difficult to work with especially for someone who rarely touches C/C++. Sharing boilerplate code I used to get working to hopefully save next person the hassle.
* Fedora 21.
* bluez (5.29)
* metawear C++ library to drive the device
* gattlib library which I built from source. https://github.com/labapart/gattlib
Significant gotchas around threading model within gattlib. BT notifications need to be dispatched to metawear library on a separate thread.
use hcitool lescan to find the device id and then feeds into following C script as a command line arg. Make lights flash waits 5 secs and then wraps up.