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:
And implements the service and characteristics for GFPS according to the google fast pair characteristics specification page
For additional information and to see a reference library for implementing the nearby/embedded framework, see google/nearby/embedded github
For some help / debugging information, see google/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 theSKU 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.
Since this repo contains a submodule, you need to make sure you clone it recursively, e.g. with:
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:
git submodule update --init --recursive
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.
Example screenshot of the console output from this app: