• Stars
    star
    291
  • Rank 137,751 (Top 3 %)
  • Language
    C
  • License
    Other
  • Created about 4 years ago
  • Updated 29 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Framework to connect wearables and other IoT devices to mobile phones, tablets and PCs with an IP-based protocol stack over Bluetooth Low Energy

Project Golden Gate

Golden Gate bridge image - public domain photo via Good Free Photos

⚠️ Work In Progress

This documentation is not yet complete. As we migrate the project from an internal project to one that can be shared with others, we are busy migrating some of the documentation from internal Wiki pages, Google docs and slide decks.

Golden Gate is a portable cross-platform framework that offers reliable and secure network communication between different combinations of embedded devices, mobile applications and desktop applications over Bluetooth Low Energy.

The framework provides developers with a familiar model, allowing them to implement their functionality the same way they would in other networked environments, leveraging familiar standards like CoAP, WebSockets, HTTP, MQTT, TLS, and TCP/UDP/IP, even when the underlying operating system or transport doesn't natively support those. It can run in many environments, from embedded systems with very limited resources like wearables and IoT devices, to mobile and desktop. The initial focus is on Bluetooth Low Energy (BLE) connections, but the framework is general in nature, it is designed to work with any type of transport. BLE APIs on mobile operating systems like iOS and Android, as well as most embedded APIs, only offer the limited functionality of BLE GATT; so the Golden Gate framework's networking stack extends that low-level access, allowing a complete IP-based stack to be layered on top of it.

The project consists of:

  • A core library written in C
  • Language bindings for higher level languages, including Kotlin and Swift
  • A modular build system based on CMake
  • Code examples
  • Tools and applications
  • Support for test automation
  • Documentation

By building the core libraries and sample applications included in the project, you'll be able to start experimenting right away with different combinations of devices connecting and communicating with each other with CoAP clients and servers, over a Bluetooth or WiFi connection, including:

  • iPhones and iPads
  • Android phones and tablets
  • Desktops and laptops (macOS, Linux, Windows)
  • Embedded development boards (Nordic nRF52840-DK, Espressif ESP32, ...)

By integrating the library in your own app or IoT device, leveraging some of the examples included in the project, you will be able to start building your own communicating applications and services.

Where To Start

Visit the online documentation (or build the doc from within the project).

More Repositories

1

ossapps

A non-exhaustive list of open sourced clock faces, applications and modules from the community.
470
star
2

webpack-config

Helps to load, extend and merge webpack configs
JavaScript
252
star
3

sdk-hr-meter

Fitbit SDK example application.
JavaScript
78
star
4

sdk-design-assets

Downloadable design assets for the Fitbit SDK.
77
star
5

sdk-oauth

Fitbit SDK example application.
JavaScript
71
star
6

sdk-bart

Fitbit SDK example application.
JavaScript
64
star
7

sdk-moment

SDK version of the 'Moment' clock face by Fitbit.
JavaScript
61
star
8

bitgatt

The FitbitGatt API is designed to provide a strong state machine around all Android gatt operations with the aim of making Android BLE development across Android vendors as straightforward and side-effect free as possible.
Java
56
star
9

sdk-lcd-clock

Fitbit SDK example application.
JavaScript
51
star
10

fitbit-sdk-toolchain

Toolchain for building Fitbit apps
TypeScript
49
star
11

webpack-cluster

Helps to make parallel webpack compilation easily
JavaScript
32
star
12

thriftcli

Command line client for Thrift services
Python
30
star
13

jsonrpc-ts

A very flexible library for building JSON-RPC 2.0 endpoints
TypeScript
21
star
14

sdk-exercise

Fitbit SDK example application.
JavaScript
20
star
15

sdk-altimeter

Fitbit SDK example application.
JavaScript
20
star
16

sdk-ifttt-demo

Fitbit SDK example application.
JavaScript
19
star
17

developer-bridge

TypeScript implementations of the Fitbit Developer Bridge
TypeScript
18
star
18

create-fitbit-app

JavaScript
16
star
19

angular-translate-loader

"angular-translate" loader for webpack
JavaScript
15
star
20

sdk-multi-view

Fitbit SDK example application.
JavaScript
11
star
21

sdk-i18n

Fitbit SDK example application.
JavaScript
10
star
22

sdk-scientific

Fitbit SDK example application.
JavaScript
10
star
23

smartling

CLI to work with Smartling translations
Go
9
star
24

enhanced-properties-loader

*.properties loader for webpack
JavaScript
8
star
25

sdk-app-demo

Fitbit SDK example application.
JavaScript
8
star
26

sdk-photo-picker

Fitbit SDK example application.
JavaScript
7
star
27

sdk-image-clock

Fitbit SDK example application.
JavaScript
7
star
28

image-codec-txi

TXI image format encoder library
TypeScript
5
star
29

sdk-calendar-clock

Fitbit SDK example application.
JavaScript
5
star
30

HibernateConnectionProvider

Instrumented Hibernate Connection Provider
Java
3
star
31

sdk-weather-clock

Fitbit SDK example application.
JavaScript
2
star
32

homebrew-tap

Custom list of Homebrew formulae
Ruby
2
star
33

sdk-companion-gettext

TypeScript
2
star
34

stats-writer-webpack-plugin

Saves 'stats' object as is
JavaScript
2
star
35

portable-pixmap

Portable Pixmap PPM Decoder
TypeScript
1
star
36

FitbitSummerSchool2019

Supporting materials for Fitbit Summer School 2019
Java
1
star