SensorLog

SensorLog

With SensorLog you can read out sensor data of your iOS and watchOS device and save it as CSV or JSON file.

On iPhone and iPad streaming sensor data via tcp/ip, or sending sensor data as HTTP GET/POST request is provided. SensorLog also supports logging, streaming, and sending while it is running in background.

Sensor data of your iOS device can be sampled with up to 100Hz (depending on the version of your iOS device and fore or background mode). On the Apple Watch sampling rates from 100min up to 100Hz are supported. HTTP GET/POST request rate depending on network and server performance up to 20Hz.

Machine Learning: Appel CoreML models can be loaded, sensor data be mapped to model input features, and model output being logged.

The following data of the iOS framework (iPhone, iPad) is provided by SensorLog:
- CLLocation: latitude, longitude, altitude, speed, course, verticalAccuracy, horizontalAccuracy, floor
- CLHeading: heading.x, heading.y, heading.z, trueHeading, magneticHeading, headingAccuracy
- CMAccelerometer: acceleration.x, acceleration.y, acceleration.z
- CMGyroData: rotationRate.x, rotationRate.y, rotationRate.z
- CMMagnetometerData: raw magneticField.x, magneticField.z, magneticField.z
- CMDeviceMotion: yaw, roll, pitch, rotationRate, userAcceleration, attitudeReferenceFrame, quaternions, gravity, magneticField, magneticField.accuracy
- AVAudioRecorder: peakPower, averagePower (decibels)
- Core ML Model output (supported type int, double, string, dictionary)

iPhone 5S and following:
- CMMotionActivity: Activity, activity.startDate, activity.confidence
- CMPedometer: numberOfSteps, startDate, distance, endDate

iPhone 6 / iPhone 6 Plus and following:
- CMPedometer: numberOfSteps, startDate, distance, endDate, pedometerAverageActivePace, pedometerCurrentPace, pedometerCurrentCadence,
floorsAscended, floorsDescended
- CMAltimeter: relativeAltitude, pressure

SensorLog additionally supports:
- logging of WIFI and network carrier IP addresses
- logging of the device orientation
- logging of battery level
- tagging of the logged data with numerical values

On the Apple Watch SensorLog supports logging of the following data:
- CLLocation: latitude, longitude, altitude, speed, course, verticalAccuracy, horizontalAccuracy, floor
- CMAccelerometer: acceleration.x, acceleration.y, acceleration.z
- CMDeviceMotion: yaw, roll, pitch, rotationRate, userAcceleration, attitudeReferenceFrame, quaternions, gravity, magneticField, magneticField.accuracy
- CMMotionActivity: Activity, activity.startDate, activity.confidence
- CMPedometer: numberOfSteps, startDate, distance, endDate, floorsAscended, floorsDescended
- CMAltimeter: relativeAltitude, pressure

What's New

- JSON logging format (file,tcp,http) for iPhone, iPad, and Apple Watch
- increased HTTP upload rate
- increased Apple Watch sampling rate
- bug fixes

Screenshots