Overview

Hecate has developed a smartwatch application for the Pebble focused on use of the device’s three-axis accelerometer. The Pebble app – AccelLog – offers data logging of acceleration samples.

The Pebble is a smartwatch developed by Pebble Technology Corporation. The Pebble offers programmability using the C language through CloudPebble, a cloud-based IDE for the Pebble SDK.

Pebble

http://developer.getpebble.com/getting-started/watchface-tutorial/part1/

accel diagram

http://developer.getpebble.com/guides/pebble-apps/sensors/accelerometer

Screen Image

 

The Pebble is neither designed for nor capable of persistent storage and extensive analysis of data. To address that Hecate has also developed an Android app that works in concert with the AccelLog Pebble app using the official Android IDE, Android Studio.

PebbleAccelLog listens for and parses data logging messages from the AccelLog Pebble app, recording the data to the Android’s public storage. PebbleAccelLog offers basic control of the logging interaction and storage, simple visualization of the received data, and the ability to quickly and easily transmit data logs through email (.csv formatted attachment).

AccelLog screen image

 

 

Development

The development of PebbleAccelLog/AccelLog involved three primary components

  • A primary development machine (in this case, a Windows 7 desktop)
  • An Android device
  • A Pebble smartwatch.

Development diagram

PebbleAccelLog Android app

The development starts with the Windows machine. The PebbleAccelLog Android app was developed using Android Studio. From there, the PebbleAccelLog app was deployed to the Android device through Android Studio directly over the USB developer connection. This completes the deployment process for PebbleAccelLog.

AccelLog Pebble app

The AccelLog Pebble app was developed using CloudPebble. To deploy the AccelLog Pebble app, the official Pebble Android app was first installed on the Android device. The Pebble app allows for a developer connection between all three components (Windows 7 desktop, Android phone, and Pebble) over WiFi and Bluetooth. The Pebble app was deployed from CloudPebble to the Android device over a WiFi connection and then pushed to the Pebble smartwatch using Bluetooth.

 

 

Application Data Flow

The data flow of PebbleAccelLog/AccelLog involves the three primary components discussed above: Windows development machine, Android device, and Pebble smartwatch.

Data Flow Diagram

The AccelLog Pebble app enables the Pebble DataLogging feature, collecting and logging acceleration data samples. The sampling frequency of the Pebble is configurable, offering the ability to sample at 10, 25, 50, or 100 Hertz. The AccelLog Pebble app uses the default sampling frequency of 25 Hz. The use of DataLogging means that samples are cached temporarily and flushed to any listening devices when possible. The flushing of the data is controlled entirely by the Pebble itself; the AccelLog app has no control over the actual management of the data logging procedures.

In this case, the listening device is an Android phone. The PebbleAccelLog Android app listens for Pebble DataLogging messages and collects and stores the samples. The samples are stored in .csv files in the Android’s public memory. The data can be viewed in a chart, acceleration (measured in units of g) vs. time (measured in seconds since the start of data acquisition). The data is viewable during the logging process, though not in real-time; the display is updated as samples are logged/cached and flushed in batches when both the smartwatch and phone are ready. The data can also be exported as a .csv file through email.

The final destination for the Pebble acceleration data is the original Windows development machine. The .csv files can be emailed and retrieved there after exporting from the Android, allowing for easy viewing and analysis of the data.