Logs and visualises movesense
heart rate-enabled (HR+) sensor IMU data at 104 Hz and 1-lead ECG at 256 Hz. Can also log the device-reported heart rate and rr-intervals.
- Switch on GPS (required to scan for bluetooth sensors) and Bluetooth
- Start the app, grant access to hard drive (logging), location, and power savings exemption (remains active in when off focus)
- Click scan, and click on the sensor you'd like to log
- Wait about 10 s for the connection to initalise, should start seeing visualisation at which point you can switch out of the app, which will log on the background
- When done logging, start the app and click shutdown. This will clean up and disconnect
- Data will be stored in /moveSenseLog/ and folders within on your smartphone internal drive. The files are tab delimited text files with an UTC timestamp (milliseconds since midnight 1/1/1970 in Greenwich), and eight samples for for each timestamp with a corresponding index to indicate sample order with a given timestamp.
The sensor is capable of sampling at various sample rates, and measurement ranges and has many more capabilities. I have included hard coded optional sample rates, which can be modified through a settings page ("move" icon in the taskbar of the app). Selecting "OFF" will disable recording the sensor. Also includes the option to save device-reported heart rate and R-R intervals. My smartphone was unable to record at high sample rates, 208 was the highest that worked for the IMU if I turned off the 1-lead ECG. The default sample rates, and hard coded measurement ranges settings will work to record physical activity based on the inertial signals, and to evaluate heart rate based on the 1-lead ECG.
The app is based on Movesense data log sample, and includes their mdslib version 1.39 aar library.
Bluetooth is managed with RxAndroidBle2 library version 1.10.2, and rxjava version 2.2.8
Data serialization for transfer as broadcasts from the service to the app is handled with Google GSON library version 2.8.0