A prototype application that demonstrates device commissioning and cluster control.
The CHIP demo application is supported on Ameba RTL8722DM Board.
Pull docker image:
$ docker pull connectedhomeip/chip-build-ameba:latest
Run docker container:
$ docker run -it -v ${CHIP_DIR}:/root/chip connectedhomeip/chip-build-ameba:latest
Setup build environment:
$ source ./scripts/bootstrap.sh
To build the demo application:
$ ./scripts/build/build_examples.py --target ameba-amebad-all-clusters build
The output image files are stored in out/ameba-amebad-all-clusters/asdk/image folder.
The bootloader image files are stored in out/ameba-amebad-all-clusters/asdk/bootloader folder.
After building the application, Ameba Image Tool is used to flash it to Ameba board.
There are two commissioning modes supported by Ameba platform:
In “connectedhomeip/config/ameba/args.gni”
chip_bypass_rendezvous = falsechip_config_network_layer_ble = trueIn “connectedhomeip/src/platform/Ameba/CHIPDevicePlatformConfig.h”
#define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 1Build and Flash
The all-clusters example will run automatically after booting the Ameba board.
Test with Chip-Tool
In “connectedhomeip/config/ameba/args.gni”
chip_bypass_rendezvous = falsechip_config_network_layer_ble = falseIn “connectedhomeip/src/platform/Ameba/CHIPDevicePlatformConfig.h”
#define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 0Build and Flash
The all-clusters example will run automatically after booting the Ameba board.
Connect to AP using ATW0, ATW1, ATWC commands
Test with Chip-Tool
After successful commissioning, use the OnOff cluster command to control the OnOff attribute. This allows you to toggle a parameter implemented by the device to be On or Off.
Via Chip-Tool
$ ./chip-tool onoff on ${NODE_ID_TO_ASSIGN} 1
$ ./chip-tool onoff off ${NODE_ID_TO_ASSIGN} 1
Connect a USB-TTL Adapter as shown below
Ameba USB-TTL
A19 TX
A18 RX
GND GND
Build the chip-rpc console
As part of building the example with RPCs enabled the chip_rpc python interactive console is installed into your venv. The python wheel files are also created in the output folder: out/debug/chip_rpc_console_wheels. To install the wheel files without rebuilding:
$ pip3 install out/debug/chip_rpc_console_wheels/*.whl
Launch the chip-rpc console after resetting Ameba board
$ python3 -m chip_rpc.console --device /dev/tty<port connected to USB-TTL adapter> -b 115200
Get and Set lighting directly using the RPC console
rpcs.chip.rpc.Lighting.Get()
rpcs.chip.rpc.Lighting.Set(on=True, level=128, color=protos.chip.rpc.LightingColor(hue=5, saturation=5))