Project Freyja is an ESDV application which enables synchronization between the digital twin state on the vehicle (the "instance digital twin") and the digital twin state in the cloud (the "canonical digital twin").
For more information on Freyja's design and how it works, see the design document.
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 required packages. These packages are necessary to clone the repo, install the Rust toolchain, and build Freyja's dependencies:
sudo apt update sudo apt install -y \ git \ snapd \ gcc \ protobuf-compiler \ pkg-config libssl-dev \ cmake
-
Install the Rust Toolchain:
sudo snap install rustup --classic
The rust toolchain version is managed by the
rust-toolchain.toml
file, so once you installrustup
there is no need to manually install a toolchain or set a default. -
Clone this repository with
git clone
Freyja supports a default runtime that is integrated with a set of standard adapters. To build and run the Standard Freyja Runtime, run the following command:
cargo run -p freyja
This runtime will support the following set of standard adapters:
- gRPC Digital Twin Adapter (which supports Eclipse Ibeji)
- gRPC Mapping Adapter
- gRPC Cloud Adapter
- Sample gRPC Data Adapter
- MQTT Data Adapter
- Managed Subscribe Data Adapter (which supports Eclipse Agemo)
- File Service Discovery Adapter
- gRPC Service Discovery Adapter (which supports Eclipse Chariott)
Freyja also supports custom adapter implementations for more specific scenarios. To learn about custom adapters and how to implement and use them, see the Custom Adapters Guide.
The project takes it name from the Old Norse goddess Freyja. This name was chosen because she is a twin (her brother's name is Freyr) and is associated with seiðr, which is magic for seeing and influencing the future. She is also commonly associated with fertility and gold, and rules over the heavenly field of Fólkvangr. She has a necklace called Brísingamen, a cloak of falcon feathers, a boar named Hildisvíni, and rides a chariot pulled by two cats.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.