BangleApps/apps/android/README.md

1.9 KiB

Android Integration

This app allows your Bangle.js to receive notifications from the Gadgetbridge app on Android

See this link for notes on how to install the Android app (and how it works).

It requires the Messages app on Bangle.js (which should be automatically installed) to display any notifications that are received.

Settings

You can access the settings menu either from the Android icon in the launcher, or from App Settings in the Settings menu.

It contains:

  • Connected - shows whether there is an active Bluetooth connection or not
  • Find Phone - opens a submenu where you can activate the Find Phone functionality of Gadgetbridge - making your phone make noise so you can find it.
  • Keep Msgs - default is Off. When Gadgetbridge disconnects, should Bangle.js keep any messages it has received, or should it delete them?
  • Messages - launches the messages app, showing a list of messages

How it works

Gadgetbridge on Android connects to Bangle.js, and sends commands over the BLE UART connection. These take the form of GB({ ... JSON ... })\n - so they call a global function called GB which then interprets the JSON.

Responses are sent back to Gadgetbridge simply as one line of JSON.

More info on message formats on http://www.espruino.com/Gadgetbridge

Testing

Bangle.js can only hold one connection open at a time, so it's hard to see if there are any errors when handling Gadgetbridge messages.

However you can:

  • Use the Gadgetbridge Debug app on Bangle.js to display/log the messages received from Gadgetbridge
  • Connect with the Web IDE and manually enter the Gadgetbridge messages on the left-hand side to execute them as if they came from Gadgetbridge, for instance:
GB({"t":"notify","id":1575479849,"src":"Hangouts","title":"A Name","body":"message contents"})