CHIP RPC CONSOLE

This python application provides a console for interacting with rpc-enabled chip devices.

The console uses the pigweed pw_console, but with customizations to work better with CHIP, including containing all rpc proto files required for CHIP.


Building

If this is the first time using the checkout the environment must first be bootstrapped to install all dependencies.

$ source <project_root>/scripts/bootstrap.sh

If bootstrap has previously been run, then simply activate.

$ source <project_root>/scripts/activate.sh

The python console is built and installed in the venv using gn:

$ cd <project_root>/examples/common/pigweed/rpc_console
$ gn gen out/debug
$ ninja -C out/debug

After building the output directory also contains a folder (chip_rpc_console_wheels), with all the wheels required for the tool. These can be used to install the console without needing the sdk. Simply install all the wheels in the folder:

$ cd <project_root>/examples/common/pigweed/rpc_console/out/debug
$ pip install chip_rpc_console_wheels/*.whl

Running

To start the console provide the path to the device, for example:

$ chip-console --device /dev/ttyUSB0

Note that chip-console is an entry point for chip_rpc.console and could also be run with python -m chip_rpc.console.

An example RPC command:

rpcs.chip.rpc.Device.GetDeviceInfo()