I’ve been developing a GATT profile for RuuviTag, essentially this provides connectable access to RuuviTag with 2-way communication channel between application and tag.
Right now the application is in extremely fluid development state and will consume battery quickly.Development firmware can be obtained from my github fork.
The profile contains standard BLE sig service for environmental data. Right now work for device information service, battery level service and transmission power service is underway.
In addition there will be support for de-facto standard Nordic UART service, which can send and receive any 20 byte long information over bluetooth.
There is no reasonable standard for acceleration data, so I’m still trying out how different implementations are usable.Currently there is “IMU Service” which contains a format byte and most recent X-Y-Z accelerations, but I feel that this does not match all usecases. User might be interested in average, impulse or peak of acceleration over certain period, for example. I’d be happy for any ideas on what you’d want to see with acceleration service.
On receiver side I’ve implemented a quick proof-of-concept web bluetooth site which can connect to RuuviTag and graph acceleration. Code is on github and site is available here. Please note that you must have web bluetooth enabled on device and I’ve tested it out only on Android 6.0.1 / Chrome
Other features can be tested with nRF Connect, for example.