跳到主要内容

Android Native Bridge

How Matter commissioning runs on Android with the in-app ChipTool flow: ChipToolCommissioningActivity for onboarding payload parsing, Wi‑Fi credentials, and BLE discovery; ChipDeviceController (Connected Home IP / CHIP) for PASE, commissioning, and NOC install; bridged to React Native via ESPMatterModule and Headless JS for RainMaker cloud APIs.

In one line: The app owns BLE scan, GATT, and Wi‑Fi network credentials; CHIP runs pairDevice over BLE; Headless JS issues the node NOC and confirms commissioning with the cloud.

Reference implementation

Paths and class names below match the Espressif RainMaker Home app (MATTER_COMMISSIONING_METHOD=ChipTool by default). Your module names may differ; keep the same responsibilities at each layer.

LayerClass / moduleRole
ChipTool UIChipToolCommissioningActivityParse QR/manual code, Wi‑Fi dialog, BLE scan/connect, progress UI
BLE transportChipToolBluetoothManager + AndroidBleManagerMatter service 0xFFF6 scan, GATT, register connection with CHIP
CHIPChipClient → ChipDeviceController (JNI)pairDevice (PASE + commission + network), NOC issuer, post-commission metadata
RN bridgeESPMatterModule + Headless JSFabric hand-off, events, issueNodeNoC / confirmMatterNodeCommissioning

Build-time back-end selection​

ESPMatterModule.startEcosystemCommissioning routes by BuildConfig.MATTER_COMMISSIONING_METHOD (Gradle property MATTER_COMMISSIONING_METHOD, default ChipTool):

ValueNative entryWhen to use
ChipToolChipToolCommissioningActivityDefault — works without Google Play services Matter APIs
GooglePlayServicesMatterCommissioningActivity + ESPMatterCommissioningServiceLegacy path using GPS Home system UI (not documented in phases 3–4 below)

Phases (0–8)​

Follow these in order. Phases 3–4 describe the ChipTool path.

PhaseDocSummary
0Screen boot and event listenerRegister listener, start fabric prep
1Fabric bootstrapConvert home, issue user NOC
2Hand off to nativestartEcosystemCommissioning → ChipTool activity
3ChipTool commissioning UIPayload parse, Wi‑Fi credentials, permissions
4BLE scan, GATT, and PASEChipToolBluetoothManager + awaitPairDeviceOverBle
5Device node NOCHeadless JS + cloud node cert
6Device commissioned + metadataRM metadata, ACL, trigger cloud confirm
7Cloud confirmHeadless JS confirm with cloud
8UI successTerminal HEADLESS_JS success → toast, sync, home

Start at Phase 0.

For shared terms (PASE, NOC, terminal vs intermediate events), see Native Bridge.


On this page