blob: 09226c2eec1cebf5eaae5d3937f604a341674e89 [file] [log] [blame] [view]
# CHIP RPC CONSOLE
This python application provides a console for interacting with rpc-enabled chip
devices.
The console uses the [pigweed pw_console](https://pigweed.dev/pw_console/), but
with customizations to work better with CHIP, including containing all rpc proto
files required for CHIP.
- [CHIP RPC CONSOLE](#chip-rpc-console)
- [Building](#building)
- [Running](#running)
---
## 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:
```python
$ rpcs.chip.rpc.Device.GetDeviceInfo()
```