PebbleMyTracks

In my previous post I described an android app for connecting google MyTracks to the Pebble smartwatch. After several days of testing some bugs are removed and features are added.

Here is a demonstration video of the app is available.

Refactoring and code cleanup

  • Added configuration screen (miles/km, update frequency)

Download the APK: PebbleMyTracks.zip

Some hints to get it working

  • Enable sharing in MyTracks (in MyTracks, select settings, sharing and enable allow access)
  • Uninstall any previous version of MyPebbleTracks

MyTracks and Pebble

Today Pebble launched the updated SDK with two way communication enabled. Hurray! The Pebble includes a built in sports watchapp which can be reached through a sports API.

Although this watchapp can only be started from the phone, and not from the pebble like demonstrated in my previous post,  it’s a good experiment to try out the new SDK. I converted the android service and broadcastreceiver so the sports API is spoken.

source: PebbleMyTracks.zip

android APK: PebbleMyTracksAPK.zip

The PebbleMyTracks app operates in the background and requires MyTracks to be installed and sharing (in the MyTracks settings) to be enabled. Whenever track recording is started on the phone, the Pebble sports watchapp should appear and start reporting data.

All data is reported in metric units only. The app displays speed (km/h) in the pace field instead of the min/km told be the watchapp.

Update: after some testing I made an update of the app. See here

 

 

 

 

MyTracks on the Pebble

I consider myself as a heavy user of the MyTracks app (android) for sports tracking. My primary goal for the Pebble smartwatch was to connect it to MyTracks. For example that track recording/pausing/viewing could be done with the watch only, and the smartphone could be left inside a (waterresistant) pocket.

The great thing is that MyTracks has a sharing feature, which makes integration with third party apps possible. This MyTracksAPI is briefly documented, and includes a working example.  With the availabillity of two-way Pebble communication time has come to connect MyTracks to the Pebble.

I made a few modifications to the MyTracks watchapp, described in this post, and modified the MyTracksAPI example into a BroadcastReceiver and Service running in the background. The BroadcastReceiver receives button presses from the Pebble and forwards these to the service. The Service is connected to MyTracks and does all the work like getting current speed, starting/stopping (with the select button), pausing/resuming (with the down button) tracks. And everything works without touching my smartphone. The MyTracks watchapp is started from the Pebble menu.

Disclaimer time! While everything seems to work ok, it is not my intention to create a full fledged WatchApp with rock solid integration with MyTracks.The communication with the Pebble is an undocumented feature, and maybe changing in an upcoming SDK update. Although my code works (at least on my pebble, and my smartphone), it is just a prototype to see if it works.

CloudPebble project export of my MyTracks watchapp: MyTracksWatchApp.zip

Java sources of the BroadcastReceiver and Service: PebbleMyTracks.zip

 

 

 

 

 

 

Pebble communication

While still waiting for the official release of the Pebble SDK that supports two communication I stumbled upon this website that claimed that two way communication is working. I made a small pebble watch app based on the button app with CloudPebble. And much to my surprise It just seems to work! Pushing data from the phone to the watch and sending data from the watch back to my android smartphone.

Video: https://www.youtube.com/watch?v=76xif5k7DPQ

Source code: test_two_way_pebble.zip

 

 

De Twizy, een smartphone op wielen?

Sommigen noemen de Tesla model S de ipad op wielen. Ik noem de Renault Twizy de smartphone op wielen.

Onder andere Maarten Steinbuch (professor autotechniek aan de TUE) noemde de auto van de toekomst een ipad op wielen. Een auto volgeladen met intelligente apps die zich zoveel mogelijk aan de bestuurder en zijn/haar wensen aanpast. Dan denk ik natuurlijk aan de Tesla model S met het grote touchscreen op de middenconsole.

Maar dan de Twizy, waar is die het beste mee vergelijken? Met behulp OVMS is de Twizy digitaal helemaal binnenste-buiten te keren. Als je wil weten hoe het met de Twizy gaat kijk je niet op het dashboard, maar op het scherm van je telefoon. Daarom is de Twizy voor mij een smartphone op wielen.