blob: 4b4ceed7bc1f00715d723612e9a90cca87deb0bd [file] [log] [blame] [view]
---
orphan: true
---
# 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()
```