Skip to content

Latest commit

 

History

History
100 lines (68 loc) · 2.86 KB

README.md

File metadata and controls

100 lines (68 loc) · 2.86 KB

Eclipse Chariott Incubator - Example Vehicle Applications

Introduction

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.

Getting Started

Prerequisites

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.

  1. Install gcc:

    sudo apt install gcc

    NOTE: Rust needs gcc's linker.

  2. Install git and git-lfs

    sudo apt install -y git git-lfs
    git lfs install
  3. 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.

  4. Install OpenSSL:

    sudo apt install pkg-config
    sudo apt install libssl-dev
  5. Install Protobuf Compiler:

    sudo apt install -y protobuf-compiler

    NOTE: The protobuf compiler is needed for building the project.

Cloning the Repo

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

Building

Run the following to build everything in the workspace once you have installed the prerequisites:

cargo build --workspace

Running the Tests

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

Examples

Dog mode

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.