SensorLog 4+

Log and Stream Sensor Data

Bernd Thomas

    • 4.4 • 36 Ratings
    • $5.99
    • Offers In-App Purchases

Description

Log and stream iPhone, iPad and Watch sensor data.

With SensorLog you can read sensor data from the iPhone, iPad and Apple Watch.

The sensor data can be saved as a file in CSV or JSON format, streamed via TCP/UDP or sent as an HTTP request.

The most important functions for iPhone and iPad:

- Sensor data can be recorded at up to 100Hz (depending on the iOS device version and sensor type).
- Sensor data can be streamed in server or client mode using TCP or UDP. Depending on the network speed and the server or client configuration used, this is possible with up to 100Hz.
- Via HTTP(S) GET/POST request, sensor data in JSON format (POST) or form-url encoded (POST and GET) can be transmitted to a REST API with up to 20Hz.
- With the SensorLog Remote Client/Server function, an iPad or iPhone can connect as a SensorLog Remote Client to an iPhone or iPad, which takes on the role of SensorLog Remote Server. The client's sensor data can be visualized on the server, and the server can control the clients (start/stop logging, start/stop sending data).
- Logging can be started and stopped using Siri and shortcuts.
- SensorLog supports Core ML models created with Apple's Create ML app. Log data with SensorLog, train a model with the data in Create ML, load exported models in SensorLog and log the model prediction. Supported Create ML models are: Activity Classifier, Tabular Regressor and Tabular Classifier.
- If you have an Apple Watch, HealthKit data such as heart rate, energy used, sleep and movement data can be exported on the watch as a csv or json file and then transferred to your iPhone.

Sensor data iPhone / iPad:
For sample log files, please visit the SensorLog homepage (link App Support).
- CLLocation, CLHeading, CMAccelerometer, CMGyroData, CMMagnetometer, CMDeviceMotion, CMActivity, CMPedometer, CMAltimeter, WLAN and network provider IP addresses, device orientation, battery info, decibels.


The most important functions for Apple Watch:

- Logging Option 1: Logging duration up to 1 hour
Simultaneous logging of all selectable sensor data is supported in the background with up to 50Hz. Individual sensors can be logged with a higher frequency of up to 100Hz. Sending data via HTTP requests is supported.
- Logging option 2: Logging duration greater than 1 hour
In the background only logging of the accelerometer data with max. 50Hz is supported. In the foreground all sensor data with up to 100Hz. Sending data via HTTP requests is only supported when the app is in the foreground.
- Via HTTP(S) GET/POST request, sensor data can be transmitted to a REST API with up to 10Hz in JSON format (POST) or form-url encoded (POST and GET).
- The Health Store data feature off the SensorLog Watch app allows you to export HealthKit data like heart rate, energy burned, sleep, and movement data. This data is automatically recorded by your Watch and can be read out and exported by SensorLog as csv or json file and transferred to your iPhone.
- Logging can be started and stopped using Siri and Shortcuts.

Sensor Data Watch:
For sample log files, please visit the SensorLog homepage (link App Support).
- CLLocation, CMAccelerometer, CMDeviceMotion, CMActivity, CMPedometer, CMAltimeter, battery info

What’s New

Version 5.3.1

- bug fixes

iPhone/iPad:
- SensorLog configuration files. Support for saving, and loading SensorLog configuration files. Downloading of configuration settings from Web server via HTTP.
- SensorLog Remote client supports incoming JSON requests:
{"request":"status"}
{"request":"startLogging"}
{"request":"stopLogging"}
{"request":"startSendingSensorData"}
{"request":"stopSendingSensorData"}
{"request":"setDataLabel", "label":0..5}

- SensorLog Remote server supports incoming JSON requests:
{"request":"status"}
{"request":"startLogging"}
{"request":"stopLogging"}
{"request":"setDataLabel", "label":0..5}
{"request":"startLoggingAllConnectedClients"}
{"request":"stopLoggingAllConnectedClients"}
{"request":"loadConfiguration", "url":"URL_SENSORLOG_CONFIG_FILE"}
{"request":"setDataLabelAllConnectedClients", "label":0..5}

- SensorLogRemote server can now be started with dedicated server port
- Beta status: Support for connecting at most one external Bluetooth sensor/device to log its data into a separate log file or to merge its data with the builtin sensors' log file/stream/http. Please note this is still in a beta status.
- added configuration option to "auto set initial attitude reference" before starting to log data.
- added support to start SensorLog with a specific configuration via custom app link by using the link SensorLog://configure/?urlConfigurationServer=URL. You can set the URL and it will automatically fetch the JSON configuration file from the server.

Watch:
- Unfortunately had to remove tcp/ip streaming and Remote Sensorlog feature, due to changes in the low level networking functions of watchOS.
- SensorLog configuration files. Support for saving, and loading SensorLog configuration files. Downloading of configuration settings from Web server via HTTP.
- added configuration option to "auto set initial attitude reference" before starting to log data.
- added HealthKit Export of envAudioExposure data

Ratings and Reviews

4.4 out of 5
36 Ratings

36 Ratings

jalponcho ,

Good and easy to use app

This is a great app to log the Watch sensor data. I like the fact that you can log data on the watch for long term monitoring.

I am using this for my these to record hand motions in patients.

I wish the app could record for 24 hrs without needing to trigger it every 12 hours. Is there a work around ?

Also I wish the gyroscope was logged along with accelerometer in background logging mode.

Great app otherwise!

SomeDude4w5234 ,

Amazing

This is what software is supposed to be. It works, it’s simple, it’s to the point, and it had a simple, no tricks pay once structure. After coming up with a project a couple years ago I finally implemented a POC of integrating sensor logs with an esp32 mesh network controlled by orange pi 5 plus. Works great, incredibly simple since all the hard work of the server setup is done. What’s better is how easy the config process is. Literally all the things you want on one screen. Bonus for downloadable configs!

Apps like this are why I’ve started making more of my own apps/projects. It’s hard to argue with special purpose no frills or trying to sell regurgitated poorly modified open source software (how many camera apps does one need to pay for that all utilize the same underlying software….poorly?). This is true software. Made by someone for a purpose which wasn’t to “get rich” quick selling bad derivatives.

Bravo. 👍

Lumberton NJ ,

Output File Time Tags worthless

App measurement data collection is easy to initiate but limitations in the output measurement file time tags make the data useless for performing engineering analysis. I am using it to log time tagged earth magnetic field measurements. I tried to log the data at 100 hz but when I inspected the data file the time tags only have 1 decimal point of accuracy (0.1 sec) and there are multiple rows of data with the same time tag; thus when I collect data at say 100 hz, the data entries are not exactly 100 hz but some mismatch of approx 100 hz.

Any way I can force the output to be exactly the hz I want.

Also can you increase the time tag accuracy down to at least the hz you are collecting data at (e.g. If 100 hz data collection, then time tags accurate to 0.01 sec).

Without these fixes to you app, your app is worthless for engineers using it for engineering applications.

Developer Response ,

Hi Lumberton, please double check to correctly import the logged data. Depending on the program you use to read the log file you may have data conversion / transformation issues (for instance that may happen if you import the data in MS Excel without using the data import functionality and not defining the correct data types). For detailed information on the different sensor timestamps and therewith connected sampling rates please have a look at the explanations and links provided under the Configuration -> Info view of the app. Please feel free to contact me via email sensorlog@berndthomas.net. I would appreciate to help you via email.

App Privacy

The developer, Bernd Thomas, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy.

Data Not Collected

The developer does not collect any data from this app.

Privacy practices may vary, for example, based on the features you use or your age. Learn More

You Might Also Like

Utilities
Utilities
Utilities
Utilities
Utilities
Utilities