This repository contains Eclipse Chariott example applications and integrations with other components like Eclipse Agemo, Eclipse Ibeji, and Eclipse Freyja. It also serves as a place to incubate early ideas for an eventual blueprint.
This guide uses apt
as the package manager in the examples. You may need to substitute your own
package manager in place of apt
when going through these steps.
-
Install gcc:
sudo apt install gcc
NOTE: Rust needs gcc's linker.
-
Install git and git-lfs
sudo apt install -y git git-lfs git lfs install
-
Install rust, using the default installation, for example:
sudo apt install curl curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
You will need to restart your shell to refresh the environment variables.
NOTE: The rust toolchain version is managed by the rust-toolchain.toml file, so once you install rustup there is no need to manually install a toolchain or set a default.
-
Install OpenSSL:
sudo apt install pkg-config sudo apt install libssl-dev
-
Install Protobuf Compiler:
sudo apt install -y protobuf-compiler
NOTE: The protobuf compiler is needed for building the project.
The repo has a submodule chariott that provides proto files for Chariott Intent Brokering integration. To ensure that these files are included, please use the following command when cloning the repo:
git clone --recurse-submodules https://github.com/eclipse-chariott/chariott-example-applications
Run the following to build everything in the workspace once you have installed the prerequisites:
cargo build --workspace
After successfully building the service, you can run all of the unit tests. To do this go to the enlistment's root directory and run:
cargo test
The dog mode allows a car owner to keep their dog safe while they are away from the car. If the ambient temperature is high, multiple different applications will interact with each other to ensure that the temperature inside the car is at a safe level for the dog. This example currently uses Eclipse Chariott and is in design and development to integrate with other Eclipse Software Defined Vehicle projects.