Matter Genio
Light Switch Example#
An example showing the use of Matter on the MediaTek Genio
MT793X.
Introduction#
The Genio
(MT793X) light switch example provides a baseline demonstration of a
on-off light switch device, built using Matter and the MediaTek Genio
SDK. It
can be controlled by a Chip controller over Wi-Fi network..
The Genio
device can be commissioned over Bluetooth Low Energy where the
device and the Chip controller will exchange security information with the
Rendez-vous procedure. Network credentials are then provided to the Genio
device which will then join the network.
The light switch example is intended to serve both as a means to explore the workings of Matter as well as a template for creating real products based on the MediaTek platform.
Building#
Following the Linux related descriptions in Build Matter to prepare the build environment.
Supported hardware:
Genio
130A (MT7931) board:EK-AI7931LD KIT
Build the example application:
`cd ~/connectedhomeip` `./scripts/examples/gn_genio_example.sh ./examples/light-switch-app/genio` `./out/light-switch-app`
To delete generated executable, libraries and object files use:
`$ cd ~/connectedhomeip` `$ rm -rf ./out/`
OR use GN/Ninja directly
`$ cd ~/connectedhomeip/examples/light-switch-app/genio` `$ git submodule update --init` `$ source third_party/connectedhomeip/scripts/activate.sh` `$ gn gen out/debug` `$ ninja -C out/debug`
To delete generated executable, libraries and object files use:
`$ cd ~/connectedhomeip/examples/light-switch-app/genio` `$ rm -rf out/`
Flashing the Application#
Copy the GUI based Flash Tool. from the Linux Host that the example was build to a Windows PC.
Flash Tool can be found in this source tree under this directory
third_party/mt793x_sdk/filogic/flash_tool
On the Windows PC, run the Flash Tool
Select the scatter.ini file in the
./out/light-switch-app
directory.Follow the instruction that comes with
EK-AI7931LD KIT
to switch the kit to download mode.Click
Download
on FLASH TOOL.
Running the Complete Example#
This example needs one lighting-app device and one light-switch-app device.
You can provision and control the Chip device using the python controller, Chip tool standalone, Android or iOS app
[CHIP Tool]](https://github.com/project-chip/connectedhomeip/blob/master/docs/development_controllers/chip-tool/chip_tool_guide.md)
First of all, you have to commission with the light-switch-app (nodeID 1) and the lighting-app (nodeID 2) with the CHIP tool by following commands.
chip-tool pairing ble-wifi 1 my-ap myappassword 20202021 3840 chip-tool pairing ble-wifi 2 my-ap myappassword 20202021 3840
Next, you have to configure the ACL in the lighting-app device to allow access from switch device and chip-tool, and binding the lighting-app device to the light-switch-app device by following commands.
chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null },{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [1], "targets": null }]' 2 0 chip-tool binding write binding '[{"fabricIndex": 1, "node":2, "endpoint":1, "cluster":6}]' 1 1
Once all setup successfully, you can control the lighting-app device through the Matter Shell on the light-switch-app device.
> switch onoff on > switch onoff off
Notes#
Depending on your network settings your router might not provide native ipv6 addresses to your devices (Border router / PC). If this is the case, you need to add a static ipv6 addresses on both device and then an ipv6 route to the border router on your PC