Prototyping Integration

Learn how to start a prototype with the playground of digital.auto and integrate it into Velocitas.

The open and web based playground.digital.auto offers a rapid prototyping environment to explore and validate ideas of a vehicle app which interact with different vehicle sensors and actuators via standardized APIs specified by the COVESA Vehicle Signal Specification (VSS) without custom setup requirements. It provides the opportunity:

  • To browse, navigate and enhance the vehicle signals (sensors, actuators and branches) in the Vehicle API Catalogue mapped to a 3D model of the vehicle
  • To build vehicle app prototypes in the browser using Python and the Vehicle API Catalogue
  • To test the vehicle app prototype in a dashboard with 3D animation for API calls
  • To create new plugins, which usually represent UX widgets or remote server communication to enhance the vehicle mockup experience in the playground
  • To collect and evaluate user feedback to prioritize your development portfolio

Prototype an idea of a Vehicle App

As first step open playground.digital.auto, select Get Started in the Prototyping section of the landing page and use the Vehicle Model of your choice.

playground.digital.auto vehicle-models

You now have the option to browse existing vehicle signals for the selected vehicle model which you can use for prototyping your Vehicle App by clicking on Vehicle APIs.

cvi-catalogue

The next step would be to prototype your idea. To do so:

  • Click on Prototypes (in the top right toolbar),
  • Create a new prototype, by clicking on New Prototype and filling out the information or select one from the list,
  • Click on the Open button (right side),
  • Go to the Code section and
  • Start your prototype right away.

code-section

To test your prototype go to the Run section, which opens a dashboard consisting all vehicle and application components similar to mockups. The control center on the right side has an integrated terminal showing all of your prototyped outputs as well as a list of all called VSS API’s. The Run button executes all your prototype code from top to button. The Debug button allows you to step through your prototype line for line.

run-section

To get started quickly, the digital.auto team has added a number of widgets to simulate related elements of the vehicle – like doors, seats, light, etc. – and made them available in the playground.

Feel free to add your own Plugins with addition widgets for additional car features (maybe an antenna waving a warm “welcome”…?).

Transfer your prototype into a Velocitas Vehicle App

In the previous step you started with envision and prototyping your Vehicle App idea and tested it against mocked vehicle components in Digital.Auto. To transfer the prototype from playground.digital.auto to your development environment and test it with real Vehicle Services we provide a project generator. This generator allows you to generate a Vehicle App GitHub repository using your prototype code based on our vehicle-app-python-template.

In the ‘Code’ section of your prototype in the playground.digital.auto you have the Button ‘Create Eclipse Velocitas Project’.

generate

If you press this button you will be forwarded to GitHub to login with your GitHub Account and authorize velocitas-project-generator to create the repository for you. After you authorized the project generator you will be redirected to the playground.digital.auto and asked for a repository name (Which also is the app’s name). After pressing “Create repository” the project generator takes over your prototype code, adapts it to the structure in the vehicle-app-python-template and creates a new private repository under your GitHub User.

After the generation of the repository is completed a pop-up dialogue with the URL of your repository will be displayed. Among other things the newly created repository will contain:

  • /app/src/main.py containing your modified prototype code
  • /app/AppManifest.json with definition of required services
  • /app/requirements.txt with definition of dependencies
  • /.devcontainer/ required scripts to install every prerequisite in Microsoft Visual Studio Code
  • /.github/workflows/ with all required CI/CD pipelines to build, test and deploy the vehicle application as container image to the GitHub container registry

Your prototype Vehicle App transferred into a GitHub repository is now ready to be extended. Clone your newly created repository and open the Vehicle App in Microsoft Visual Studio Code and start to extend it. More information you can find here:


Service Integration

Learn how to integrate a Vehicle Service that executes the request on vehicle side

Last modified January 17, 2023: Changed overview picture (#51) (ea5274b)