digital.auto

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

The open and web based digital.auto offers a rapid prototyping environment to explore and validate ideas of a Vehicle App.
digital.auto interacts with different vehicle sensors and actuators via standardized APIs specified by the COVESA Vehicle Signal Specification (VSS) without custom setup requirements.
Within the platform you can:

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

Start the journey of a Vehicle App

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

digital.auto vehicle-models

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

selected-model cvi-catalogue

Add additional Vehicle APIs

If the ideation of your Vehicle App prototype comes with any new Vehicle API which is not part of the standard VSS you also have the option to include it into your pre-selected model by clicking the + New Wishlist API button. After filling out all required fields, simply click the create button - this will commit the new API to the existing model.

wishlist

Prototype an idea of a Vehicle App

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

  • Click on Prototype Library of your selected model. prototype-library
  • 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. select-prototype
  • Go to the Code section and start your prototype right away. code-section

Test the prototype of a Vehicle App

Testing of your prototype starts in the Run section.
You will find 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 bottom. The Debug button allows you to step through your prototype line by 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 widgets for additional car features (maybe an antenna waving a warm “welcome”…?).

Transfer your prototype into a Velocitas Vehicle App

In the previous steps you started with envisioning and prototyping your Vehicle App idea and tested it against mocked vehicle components in digital.auto.
The Velocitas team provides a project generator to transfer the prototype from digital.auto into your own development environment where you are able to test it with real Vehicle Services .
The generator creates a Vehicle App GitHub repository using your prototype code based on our vehicle-app-python-template .
In the ‘Code’ section of your prototype in digital.auto you have the button ‘Create Eclipse Velocitas Project’.

generate

After pressing the button you will be forwarded to GitHub .
Login with your GitHub Account and authorize velocitas-project-generator to create the repository for you.
You will be redirected to digital.auto and asked for a repository name (equals to the name of the Vehicle App).
By clicking on “Create repository”:

  • the project generator takes over your prototype code.
  • the code is adapted to the structure in the vehicle-app-python-template .
  • a new private repository under your specified GitHub User will be created.

A successful generation of the repository is followed by a pop-up dialogue with the URL of your repository.

Among other things the newly created repository will contain:

Files Description
/app/src/main.py Main class of the Vehicle App, containing your modified prototype code
/app/AppManifest.json Settings file defining required services
/app/requirements.txt Requirements file defining all Python dependencies
/.devcontainer/ Required scripts and settings to setup the devcontainer in Microsoft Visual Studio Code
/.github/workflows/ All required CI/CD pipelines to build, test and deploy the Vehicle App as container image to the GitHub container registry
/gen/vehicle_model/ The generated model classes. If your prototype includes any exceptional API you added beforehand our automated vehicle model lifecycle takes care of handling the custom VSS vspec file coming from digital.auto and generates a vehicle_model when starting the devContainer

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.

You can proceed with the following topics:

Last modified September 12, 2024: Remove kuksa.val and VSC references (#128) (e8ca8f3)