blob: ee2a451203cb7f3985a760376a714a11f2e2ccb7 [file] [log] [blame] [view]
# CHIP Ameba Air Purifier Example
This example demonstrates the Matter air purifier application on Ameba platform.
---
- [CHIP Ameba Air Purifier Example](#chip-ameba-air-purifier-example)
- [Supported Device](#supported-device)
- [Building the Example Application](#building-the-example-application)
- [Commissioning](#commissioning)
- [BLE mode](#ble-mode)
- [IP mode](#ip-mode)
- [Cluster Control](#cluster-control)
---
## Supported Device
The CHIP demo application is supported on
[Ameba RTL8722DM Board](https://www.amebaiot.com/en/amebad).
## Building the Example Application
- Check out the Ameba repository in the same folder/directory as the Matter
SDK repository:
```
git clone https://github.com/ambiot/ambd_matter.git
```
- Setup build environment:
```
$ cd connectedhomeip
$ source scripts/bootstrap.sh
```
- To build the demo application:
```
$ cd ambd_matter/project/realtek_amebaD_va0_example/GCC-RELEASE/project_lp/
$ make all
$ cd ambd_matter/project/realtek_amebaD_va0_example/GCC-RELEASE/project_hp/
$ make -C asdk air_purifier
From the same directory:
$ make all
```
- Combine the three output images for flashing using the **Ameba Image Tool**:
```
$ cd ambd_matter/tools/AmebaD/Image_Tool_Linux
$ sudo ./AmebaD_ImageTool -combine \
../../../project/realtek_amebaD_va0_example/GCC-RELEASE/project_lp/asdk/image/km0_boot_all.bin 0x0000 \
../../../project/realtek_amebaD_va0_example/GCC-RELEASE/project_hp/asdk/image/km4_boot_all.bin 0x4000 \
../../../project/realtek_amebaD_va0_example/GCC-RELEASE/project_hp/asdk/image/km0_km4_image2.bin 0x6000
```
- This will produce a combined Image_All.bin file alongside the image tool
that can be flashed using the **Ameba Image Tool**:
1. Connect your device via USB
2. Edit the `ambd_matter/tools/AmebaD/mpp.ini` file with the correct port
setting (the rest of the settings should be correct)
3. Click **Download** button and the **Reset** button to get the board into
serial download mode
4. Flash on the image:
```
$ cd ambd_matter/tools/AmebaD/Image_Tool_Linux
$ ./AmebaD_ImageTool -download
```
## Commissioning
There are two commissioning modes supported by Ameba platform:
### BLE mode
1. Build and Flash
2. The example will run automatically after booting the Ameba board.
3. Test with
[Chip-Tool](https://github.com/project-chip/connectedhomeip/tree/master/examples/chip-tool)
### IP mode
1. Build and Flash
2. The example will run automatically after booting the Ameba board.
3. Connect to AP using `ATW0, ATW1, ATWC` commands
4. Test with
[Chip-Tool](https://github.com/project-chip/connectedhomeip/tree/master/examples/chip-tool)
## Cluster Control
After successful commissioning, the air purifier clusters can be read and
controlled using
[Chip-Tool](https://github.com/project-chip/connectedhomeip/tree/master/examples/chip-tool#using-the-client-to-send-matter-commands).
The Air Purifier is a composed device. The example has endpoints configured as
follows:
- Air purifier on endpoint 1
- Air quality sensor on endpoint 2
- Temperature sensor on endpoint 3
- Relative humidity sensor on endpoint 4
- Thermostat on endpoint 5
Example commands using the chip tool:
```
$ ./chip-tool fancontrol write speed-setting 10 ${NODE_ID_TO_ASSIGN} 1
$ ./chip-tool formaldehydeconcentrationmeasurement read level-value ${NODE_ID_TO_ASSIGN} 2
$ ./chip-tool temperaturemeasurement read measured-value ${NODE_ID_TO_ASSIGN} 3
$ ./chip-tool relativehumiditymeasurement read measured-value ${NODE_ID_TO_ASSIGN} 4
```