1
1
Fork
You've already forked pebble-le
0
A library to talk to Pebble Smartwatches via Bluetooth Low Energy (BLE).
  • C++ 76%
  • C 15.4%
  • CMake 8.6%
2026年05月23日 18:43:31 +02:00
docs Add docs pages for sphinx 2023年08月31日 00:57:22 +02:00
example Cleanup example CMakeLists.txt 2023年06月26日 15:39:45 +02:00
include/pebble-le Add docs generation via doxygen 2023年08月31日 00:55:00 +02:00
src Pass bluetooth address in connectivity callback 2023年08月30日 21:50:20 +02:00
third_party Remove submodule 'dbus_gatt' (replaced by Binc) 2023年06月26日 15:38:54 +02:00
.gitignore Add docs generation via doxygen 2023年08月31日 00:55:00 +02:00
.gitmodules Remove submodule 'dbus_gatt' (replaced by Binc) 2023年06月26日 15:38:54 +02:00
.readthedocs.yaml Add readthedocs configuration 2023年08月31日 01:40:33 +02:00
CMakeLists.txt Raise minimum CMake version to 3.10 2026年05月23日 18:43:31 +02:00
Doxyfile Add docs generation via doxygen 2023年08月31日 00:55:00 +02:00
LICENSE Added LICENSE 2023年04月04日 03:48:37 +02:00
pebble-le.pc.in Update readme 2023年04月04日 03:48:21 +02:00
readme.md Release v0.3.0 2023年08月31日 03:28:29 +02:00

latest packaged version(s) License

libpebble-le

Banner

A library to talk to Pebble Smartwatches via Bluetooth Low Energy (BLE).

Packaging status

Design

This library mimics the API syntax of the on-watch AppMessage API.

The backend currently uses the BlueZ v5.48+ D-Bus API (Linux).

Usage

See example/main.cpp for example usage.

License

libpebble-le is licensed under the MIT License.

Internally it uses Binc and SimpleBLE which are both licensed under the MIT License as well.

Credits also go to Gadgetbridge (AGPL-3.0), which provided major insights into the pebble communications protocol, pebble-proto.h uses some data structures from Gadgetbridge.

Changelog

v0.3.0

  • Documentation
    • Added docs generation via Doxygen
    • New C API and Example pages in Sphinx format
    • Documentation is now available at ReadTheDocs.org
  • Bluetooth address now indicated in watch connectivity callback

v0.2.2

  • Fixed GATT server communication after watch reconnect

v0.2.1

  • Fixed crash upon watch disconnect in optimized build

v0.2.0

  • New: Support for sending/receiving large messages (packet chunking)
  • [Breaking change] AppMessageInboxReceived: Pass UUID of the sending watch-app to the user
  • AppMessageInboxReceived: Pass the bluetooth address of the sending watch to the user
  • Internal rebase upon Binc
    • Removed dbus_gatt dependency
  • Internally handle PPoGATT v1 window negotiation
  • Internally handle PING packets
  • Several protocol fixes
  • Stability improvements
  • More documentation

Many thanks to the Rebble dev team for providing an excellent reference implementation, that was very useful during the development of this release!

v0.1.0

  • Initial version of the library
    • Connect and disconnect to and from watch
    • Scanning and pairing
    • Send and receive AppMessages
      • Pebble dict-implementation currently doesn't parse incoming dictionaries and only supports byte arrays for outgoing messages
    • Callbacks for connectivity events and incoming AppMessages
    • Optional communication logging (disabled by default)
  • Basic example program to demonstrate the API usage

Created by Lesosoftware in 2023