Mit SensorLog können sie Sensordaten des iPhone, iPad und der Apple Watch auslesen.
Die Sensordaten können im CSV oder JSON Format als Datei gespeichert, mittels TCP/UDP gestreamt oder als HTTP request gesendet werden.
iPhone und iPad Logging:
- Sensordaten können mit bis zu 100Hz erfasst werden (abhängig von der Version des iOS Geräts und Vorder- oder Hintergrundbetrieb).
- Sensordaten können im Server oder Client Modus mittels TCP oder UDP gestreamt werden. Abhängig von der Netzwerkgeschwindigkeit und der verwendeten Server- bzw. Client-Konfiguration ist dies mit bis zu 100Hz möglich.
-Per HTTP(S) GET/POST request können mit bis zu 20Hz Sensordaten im JSON Format (POST) oder form-url encoded (POST und GET) an eine REST API übertragen werden.
Apple Watch Logging:
- Logging Option 1: Loggingdauer bis zu 1 Stunde
Gleichzeitiges Loggen aller auswählbaren Sensordaten wird im Hintergrund mit bis zu 50Hz unterstützt. Einzelne Sensoren lassen sich mit höherer Frequenz bis zu 100Hz loggen. Streaming (nur client modus, TCP) und HTTP requests werden unterstützt.
- Logging Option 2: Loggingdauer größer 1 Stunde
Im Hintergrund wird nur das Loggen der accelerometer Daten mit max. 50Hz unterstützt. Im Vordergrund alle Sensordaten mit bis zu 100Hz. Streaming und HTTP requests werden nur unterstützt wenn die App im Vordergrund ist.
- Abhängig von der Netzwerkgeschwindigkeit, der verwendeten Server-Konfiguration und gewählten Logging Option ist streamen mit bis zu 100Hz möglich. Ein verbundenes iPhone mit LAN/WAN Verbindung ist erforderlich.
- Per HTTP(S) GET/POST request können Sensordaten mit bis zu 10Hz im JSON Format (POST) oder form-url encoded (POST und GET) an eine REST API übertragen werden.
Sensordaten:
SensorLog stellt die folgenden Daten des iOS Framework auf iPhone und iPad zur Verfügung (abhängig von der Geräteversion):
- CLLocation: latitude, longitude, altitude, speed, course, verticalAccuracy, horizontalAccuracy, floor (Achtung: dies sind keine GPS raw Daten)
- 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, heading, magneticField.accuracy
- AVAudioRecorder: peakPower, averagePower (decibels)
- Core ML Model output (supported type int, double, string, dictionary)
- CMMotionActivity: Activity, activity.startDate, activity.confidence
- CMPedometer: numberOfSteps, startDate, distance, endDate, floorsAscended, floorsDescended, pedometerAverageActivePace, pedometerCurrentPace, pedometerCurrentCadence
- CMAltimeter: relativeAltitude, pressure
- loggen der WLAN und Netzbetreiber IP Adressen
- loggen der Orientierung des Geräts
- loggen des Batteriezustands
- labeln der Logdaten
Auf der Apple Watch unterstützt SensorLog das Speichern der folgenden Sensordaten:
- 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, heading, magneticField.accuracy
- CMMotionActivity: Activity, activity.startDate, activity.confidence
- CMPedometer: numberOfSteps, startDate, distance, endDate, floorsAscended, floorsDescended
- CMAltimeter: relativeAltitude, pressure
- Battery Information
Machine Learning:
SensorLog unterstützt mit Apples Create ML App erstellte Core ML models. Logge Daten mit SensorLog, trainiere ein Modell mit den Daten in Create ML, lade exportierte Modelle in SensorLog und logge die model prediction. Unterstütze Create ML models sind: Activity Classifier, Tabular Regressor und Tabular Classifier.