Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/finger563/esp-gfps-example
Example for testing out Google Fast Pair Service (GFPS) on an ESP32
https://github.com/finger563/esp-gfps-example
Last synced: 13 days ago
JSON representation
Example for testing out Google Fast Pair Service (GFPS) on an ESP32
- Host: GitHub
- URL: https://github.com/finger563/esp-gfps-example
- Owner: finger563
- License: mit
- Created: 2023-07-12T19:06:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-17T17:26:08.000Z (about 1 year ago)
- Last Synced: 2024-10-26T03:50:46.345Z (about 2 months ago)
- Language: C++
- Size: 228 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ESP Google Fast Pair Service (GFPS) Example
Example application for ESP32 to test integration with google fast pair service
(GFPS) for optimized pairing / on boarding of BLE devices with Android phones.This example is based on the following ESP-IDF examples:
- [gatt_server_service_table](https://github.com/espressif/esp-idf/tree/d2471b11e78fb0af612dfa045255ac7fe497bea8/examples/bluetooth/bluedroid/ble/gatt_server_service_table)
- [gatt_server](https://github.com/espressif/esp-idf/tree/d2471b11e7/examples/bluetooth/bluedroid/ble/gatt_server)And implements the service and characteristics for GFPS according to the [google
fast pair characteristics specification
page](https://developers.google.com/nearby/fast-pair/specifications/characteristics)For additional information and to see a reference library for implementing the
nearby/embedded framework, see [google/nearby/embedded
github](https://github.com/google/nearby/tree/main/embedded)For some help / debugging information, see
[google/nearby/fast-pair/help](https://developers.google.com/nearby/fast-pair/help).To run this example, you must use `menuconfig` to configure the project and set
the following attributes:- `BLE Device Name`: this should match the `SKU Name` that you have configured
in the Fast Pair dashboard.
- `Model ID`: this should match the model id (24 bit) that the Fast Pair
dashboard generated for your device.
- `Anti-Spoofing Private Key`: this should match the base64 string encoded anti
spoofing private key that the fast pair dashboard generated for the associated
SKU+Model ID provided above.Fast Pair Console:
![CleanShot 2023-08-14 at 11 50 58](https://github.com/finger563/esp-gfps-example/assets/213467/d7c81025-46f9-4c7b-b0f7-8bde0b772426)Menuconfig:
![CleanShot 2023-08-14 at 11 54 18](https://github.com/finger563/esp-gfps-example/assets/213467/68b81bb2-ab26-456e-a69e-7c7ca98c2327)## Cloning
Since this repo contains a submodule, you need to make sure you clone it
recursively, e.g. with:``` sh
git clone --recurse-submodules [email protected]:finger563/esp-gfps-example
```Alternatively, you can always ensure the submodules are up to date after cloning
(or if you forgot to clone recursively) by running:``` sh
git submodule update --init --recursive
```## Build and Flash
Build the project and flash it to the board, then run monitor tool to view serial output:
```
idf.py -p PORT flash monitor
```(Replace PORT with the name of the serial port to use.)
(To exit the serial monitor, type ``Ctrl-]``.)
See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.
## Output
Example screenshot of the console output from this app:
![image](https://github.com/finger563/esp-gfps-example/assets/213467/4f59a050-8a62-4228-a29a-9a50e26ac483)