sensortile is a multi-sensor device, giving us many physical data such as acceleration, temprature, etc. you can find out more about sensortile on official website. there is also an example application (android/ios) for recieving and monitoring sensortile data. the android SDK and example app source code are available on github: here!
while trying to use sensortile to catch some physical data (on a platform that's not android) i found out there is no datasheet or GATT table for using sensortile BLE; however there is some standard rules. i will attach a sample python script (uses bluepy) so you will see the raw data.
here is the GATT table:
Feature | Handle | UUID |
---|---|---|
ProximityGesture::Motion Intensity | 0x000d | 00140000-0001-11e1-ac36-0002a5d5c51b |
FeatureAcceleration::FeatureGyroscope::FeatureMagnetometer | 0x0010 | 00e00000-0001-11e1-ac36-0002a5d5c51b |
FeatureAccelerationEvent | 0x0013 | 00000400-0001-11e1-ac36-0002a5d5c51b |
FeatureMicLevel | 0x0016 | 04000000-0001-11e1-ac36-0002a5d5c51b |
FeatureMemsSensorFusionCompact | 0x0019 | 00000100-0001-11e1-ac36-0002a5d5c51b |
FeatureCompass | 0x001c | 00000040-0001-11e1-ac36-0002a5d5c51b |
FeatureActivity | 0x001f | 00000010-0001-11e1-ac36-0002a5d5c51b |
FeatureCarryPosition | 0x0022 | 00000008-0001-11e1-ac36-0002a5d5c51b |
FeatureMemsGesture | 0x0025 | 00000002-0001-11e1-ac36-0002a5d5c51b |
FeatureAudioADPCM | 0x0028 | 08000000-0001-11e1-ac36-0002a5d5c51b |
FeatureAudioADPCMSync | 0x002b | 40000000-0001-11e1-ac36-0002a5d5c51b |
each characteristic contains 3 description. you must write value 0x0100 to first description of each char (this is a standard method). then sensortile will send you data continuously as notification. you could enable multiple notifications at the same time. notifications will arrive as characteristic value. so you can distinguish notifications.
- note for two first chars, data has following patern: 2byte 2byte 2byte ... 2byte there is some more info about data structure and uuid prefixes at SDK git page
- note each char data has a time stamp at two first bytes, except stream data (audio)