Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Fitbit/golden-gate
Framework to connect wearables and other IoT devices to mobile phones, tablets and PCs with an IP-based protocol stack over Bluetooth Low Energy
https://github.com/Fitbit/golden-gate
ble bluetooth coap coap-client coap-server corebluetooth dtls gatt gatt-client gatt-server ip lwip network networking protocol tcp-ip
Last synced: about 1 month ago
JSON representation
Framework to connect wearables and other IoT devices to mobile phones, tablets and PCs with an IP-based protocol stack over Bluetooth Low Energy
- Host: GitHub
- URL: https://github.com/Fitbit/golden-gate
- Owner: Fitbit
- License: other
- Created: 2020-04-03T14:06:29.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-17T18:52:32.000Z (8 months ago)
- Last Synced: 2024-08-03T01:17:38.757Z (4 months ago)
- Topics: ble, bluetooth, coap, coap-client, coap-server, corebluetooth, dtls, gatt, gatt-client, gatt-server, ip, lwip, network, networking, protocol, tcp-ip
- Language: C
- Homepage:
- Size: 7.27 MB
- Stars: 295
- Watchers: 38
- Forks: 31
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - Fitbit/golden-gate - Framework to connect wearables and other IoT devices to mobile phones, tablets and PCs with an IP-based protocol stack over Bluetooth Low Energy (C)
README
Project Golden Gate
====================![Golden Gate bridge image - public domain photo via Good Free Photos](docs/src/golden_gate_bridge.jpg)
> :warning: **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
* DocumentationBy 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](https://fitbit.github.io/golden-gate/) (or build the doc from within the project).