CHIP PSoC6 All Clusters Example#
An example showing the use of Matter on the Infineon CY8CKIT-062S2-43012 board.
Introduction#
The PSoC6 clusters example provides a baseline demonstration of a Cluster control device, built using Matter and the Infineon Modustoolbox SDK. It can be controlled by Matter controller over Wi-Fi network.
The PSoC6 device can be commissioned over Bluetooth Low Energy where the device and the Matter controller will exchange security information with the Rendezvous procedure. Wi-Fi Network credentials are then provided to the PSoC6 device which will then join the network.
Building#
Download and install Modustoolbox Software v3.2
Refer to
integrations/docker/images/stage-2/chip-build-infineon/Dockerfile
orscripts/examples/gn_psoc6_example.sh
for downloading the Software and related tools.Install some additional tools (likely already present for Matter developers):
sudo apt install gcc g++ clang ninja-build python \ python3-venv libssl-dev libavahi-client-dev libglib2.0-dev git cmake \ python3-pip
Supported hardware: CY8CKIT-062S2-43012
Build the example application:
$ source scripts/activate.sh $ scripts/build/build_examples.py --no-log-timestamps --target 'infineon-psoc6-all-clusters' build
To delete generated executable, libraries and object files use:
$ cd ~/connectedhomeip $ rm -rf out/
Flashing the Application#
Put CY8CKIT-062S2-43012 board on KitProg3 CMSIS-DAP Mode by pressing the
MODE SELECT
button.KITPROG3 STATUS
LED is ON confirms board is in proper mode. (Modustoolbox Software needs to be installed)On the command line:
$ cd ~/connectedhomeip $ export CY_TOOLS_PATHS=<Modustoolbox install location>/tools_3.2 $ python3 out/infineon-psoc6-all-clusters/chip-psoc6-clusters-example.flash.py
Commissioning and cluster control#
Commissioning can be carried out using BLE.
Setting up Chip tool#
Once PSoC6 is up and running, we need to set up chip-tool on Raspberry Pi 4 to perform commissioning and cluster control.
Set up python controller.
$ cd {path-to-connectedhomeip} $ ./scripts/examples/gn_build_example.sh examples/chip-tool out/debug
Execute the controller.
$ ./out/debug/chip-tool
Commissioning over BLE#
Run the built executable and pass it the discriminator and pairing code of the remote device, as well as the network credentials to use.
$ ./out/debug/chip-tool pairing ble-wifi 1234 ${SSID} ${PASSWORD} 20202021 3840
Parameters:
1. Discriminator: 3840
2. Setup-pin-code: 20202021
3. Node ID: 1234 (you can assign any node id)
4. SSID : Wi-Fi SSID
5. PASSWORD : Wi-Fi Password
Notes#
Raspberry Pi 4 BLE connection issues can be avoided by running the following commands. These power cycle the BlueTooth hardware and disable BR/EDR mode.
$ sudo btmgmt -i hci0 power off
$ sudo btmgmt -i hci0 bredr off
$ sudo btmgmt -i hci0 power on
Factory Reset#
Commissioned Wi-Fi Credentials can be cleared by pressing
USER_BTN2
button on the board. All the data configured on the device during the initial commissioning will be deleted and device will be ready for commissioning again.Pressing the button again within 5 seconds will cancel the factory reset of the board.
OTA Software Update#
For the description of Software Update process with infineon PSoC6 example applications see Infineon PSoC6 OTA Software Update