blob: 1b954452985e5f0f322759aed06f61c325ede00a [file] [view]
# Matter `Bouffalo Lab` Contact Sensor Example
This example functions as a contact sensor uses a test Vendor ID (VID) and a
Product ID (PID) of **0x8005**.
Supported board:
- `bl704ldk`
Please refer to the following documents for more information
- [Bouffalo Lab - Platform overview](../../../docs/platforms/bouffalolab/platform_overview.md)
- [Bouffalo Lab - Getting Started](../../../docs/platforms/bouffalolab/getting_started.md)
- [Bouffalo Lab - OTA upgrade](../../../docs/platforms/bouffalolab/ota_upgrade.md)
- [Bouffalo Lab - Matter factory data generation](../../../docs/platforms/bouffalolab/matter_factory_data.md)
## Build CHIP Contact Sensor example
```shell
./scripts/build/build_examples.py --target bouffalolab-bl704ldk-contact-sensor-thread-mtd-littlefs build
```
## Test with chip-tool
### Commissioning over BLE
- Reset the board or factory reset the board
- Enter build out folder of chip-tool and running the following command to do
BLE commission
- Thread
```shell
./out/linux-x64-chip-tool/chip-tool pairing ble-thread <deivce_node_id> hex:<thread_operational_dataset> 20202021 3840
```
> `<deivce_node_id>`, which is node ID assigned to device within
> chip-tool `<thread_operational_dataset>`, Thread network credential
> which running `sudo ot-ctl dataset active -x` command on border router
> to get.
### Subscribe booleanstate of contact sensor
- Start chip-tool with interactive mode
```shell
./chip-tool interactive start
```
- Subscribe booleanstate under chip-tool interactive mode
```shell
booleanstate subscribe state-value <min-interva> <max-interval> <deivce_node_id> 1
```
- `<min-interva>`, min interval to report to boolean state of contact
sensor
- `<max-interva>`, max interval to report to boolean state of contact
sensor
- `<deivce_node_id>`, node id of contact sensor
- Press down `INT` button, boolean state True will report to chip-tool
> GPIO 20 connects to `INT` button.
- After press down `INT` button over `min-interva>` seconds, and release `INT`
button, boolean state False will report to chip-tool