MWKit is a Cocoa/CocoaTouch framework for communicating with the MetaWatch.

It works on both, Mac OSX and iOS (jailbroken)

Features

  • Implements the MetaWatch Message Protocol
  • Modular Architecture
    • Mac OSX support via IOBluetooth or IOCTL
    • iOS support via btstack
  • Device Inquiry or direct connections
  • Image rendering
  • Text rendering
  • Button configuration and events

Todo

Large parts of the MW Message Protocol are implemented already, but many minor messages are still missing.

Issues

Due to issues with the watch’s internal bluetooth stack connections may become slow (really slow) after sending a few messages.

In detail, the issue is related to a power-saving feature on the bt link-layer that goes by the name “sniff mode”. It’s enabled automatically after a few seconds of inactivity, and makes the radio listen only in a preconfigured interval to reduce power consumption. In the event of incoming data, sniff mode should be exited automatically until the connection becomes inactive again, this however seems to be not working with various bt stack implementations, including the Mac OSX one, leading to long delays(1-2s) between delivery of messages.

Source

For source code and documentation head over to github

3 comments
  1. Vince Star said:

    Looks very cool. Why do you have to jailbreak your phone?

    • ka010 said:

      thanks, the watch makes use of SPP (serial port profile) which unfortunately is not available on the default iOS stack,
      so the jailbreak is required to enable use of a different stack, in this case btstack

  2. Brian said:

    Hi,

    I just came across your work as I was trying to see if the metawatch would work with my iPhone. Are you planning to complete the work so that it functions like the Openwatch app on Android? Would be great…I’d love to help but I’m a layperson with no programming skill 😦

    Thanks!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: