| # Matter Controller Java App Example |
| |
| This is a Matter Controller Java app that can be used to commission and control |
| Matter accessory devices. It offers the following features: - Commission a |
| Matter device - Send echo requests to the Matter echo server - Send on/off |
| cluster requests to a Matter device |
| |
| <hr> |
| |
| - [Matter Controller Java App Example](#matter-controller-java-app-example) |
| - [Requirements for building](#requirements-for-building) |
| - [Preparing for build](#preparing-for-build) |
| - [Building & Running the app](#building--running-the-app) |
| |
| <hr> |
| |
| <a name="requirements"></a> |
| |
| ## Requirements for building |
| |
| You need to have the following two software installed on your Ubuntu system: |
| |
| 1. Java Runtime Environment (JRE) |
| 2. Java Development Kit (JDK) |
| |
| ``` |
| java -version |
| ``` |
| |
| This will ensure either Java Runtime Environment is already installed on your |
| system or not. In order to install the Java Runtime Environment on your system, |
| run the following command as root: |
| |
| ``` |
| sudo apt install default-jre Install Java default JRE |
| ``` |
| |
| After installing the JRE, let us check if we have the Java Development Kit |
| installed on our system or not. |
| |
| ``` |
| javac -version |
| ``` |
| |
| The above output shows that I need to install the Java compiler or the JDK on my |
| system. You can install it through the following command as root: |
| |
| ``` |
| sudo apt install default-jdk |
| ``` |
| |
| ### Linux |
| |
| ``` |
| export JAVA_PATH=[JDK path] |
| ``` |
| |
| <hr> |
| |
| <a name="preparing"></a> |
| |
| ## Preparing for build |
| |
| Complete the following steps to prepare the Matter build: |
| |
| 1. Check out the Matter repository. |
| |
| 2. Run bootstrap (**only required first time**) |
| |
| ```shell |
| source scripts/bootstrap.sh |
| ``` |
| |
| <a name="building-running"></a> |
| |
| ## Building & Running the app |
| |
| This is the simplest option. In the command line, run the following command from |
| the top Matter directory: |
| |
| ```shell |
| ./scripts/build/build_examples.py --target linux-x64-java-matter-controller build |
| ``` |
| |
| The Java executable file `java-matter-controller` will be generated at |
| `out/android-x86-java-matter-controller/bin/` |
| |
| Run the java-matter-controller |
| |
| ``` |
| java -Djava.library.path=../lib/jni -jar java-matter-controller |
| ``` |