<!DOCTYPE html>
<html lang="en-us">

  <head>
    <meta charset="utf-8">
<meta name="robots" content="all,follow">
<meta name="googlebot" content="index,follow,snippet,archive">
<meta name="viewport" content="width=device-width, initial-scale=1">

<title>Eclipse Kuksa documentation</title>
<meta name="author" content="Admin" />




<meta name="keywords" content="iot, smart mobility, kuksa, appstacle, SDV, SOAFEE, Eclipse Kuksa Documentation">


<meta name="description" content="Eclipse KUKSA community website">

<meta name="generator" content="Hugo 0.81.0" />


<link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'>


<link rel="stylesheet" href="//use.fontawesome.com/releases/v5.11.2/css/all.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">


<link href="/kuksa/css/animate.css" rel="stylesheet">



  <link href="/kuksa/css/style.turquoise.css" rel="stylesheet" id="theme-stylesheet">



<link href="/kuksa/css/custom.css?1660599357" rel="stylesheet">



  <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->



<link rel="shortcut icon" href="/kuksa/img/favicon.ico" type="image/x-icon" />
<link rel="apple-touch-icon" href="/kuksa/img/apple-touch-icon.png" />


<link href="/kuksa/css/owl.carousel.css" rel="stylesheet">
<link href="/kuksa/css/owl.theme.css" rel="stylesheet">


<link rel="alternate" href="https://www.eclipse.org/index.xml" type="application/rss+xml" title="Eclipse KUKSA">







<meta property="og:updated_time" content="2020-04-25T00:00:00Z">



<meta name="twitter:card" content="summary">

<meta name="twitter:title" content="Eclipse Kuksa documentation">

<meta name="twitter:description" content="Eclipse KUKSA community website">


    
  </head>

  <body>

    <div id="all">
        


        <header class="navbar-affixed-top" data-spy="affix" data-offset-top="62">
    <div class="navbar navbar-default yamm " role="navigation" id="navbar">
        <div class="container">
            <div class="navbar-header">
                <a class="navbar-brand home" href="/kuksa/">
                    
                      <img src="/kuksa/img/kuksa-logo-h-209x79.png" alt="Eclipse Kuksa documentation logo" class="hidden-xs hidden-sm" />
                      <img src="/kuksa/img/kuksa-logo-h-209x79.png" alt="Eclipse Kuksa documentation logo" class="visible-xs visible-sm" />
                    
                    <span class="sr-only">Eclipse Kuksa documentation - go to homepage</span>
                </a>
                <div class="navbar-buttons">
                    <button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation">
                      <span class="sr-only">Toggle Navigation</span>
                        <i class="fas fa-align-justify"></i>
                    </button>
                </div>
            </div>
            

            <div class="navbar-collapse collapse" id="navigation">
                <ul class="nav navbar-nav navbar-right">
                  

                  
                  
                  

                  

                  

                  

                  
                  <li class="dropdown ">
                    <a href="/kuksa/">Home</a>
                  </li>
                  
                  
                  
                  

                  

                  

                  

                  
                  <li class="dropdown ">
                    <a href="/kuksa/about/">Vision</a>
                  </li>
                  
                  
                  
                  

                  

                  

                  

                  
                  <li class="dropdown ">
                    <a href="/kuksa/blog/">Blog</a>
                  </li>
                  
                  
                  
                  

                  

                  

                  

                  
                  <li class="dropdown ">
                    <a href="/kuksa/publications/">Videos &amp; Publications</a>
                  </li>
                  
                  
                  
                  

                  

                  

                  

                  
                  <li class="dropdown ">
                    <a href="/kuksa/resources/">Resources</a>
                  </li>
                  
                  
                </ul>
            </div>
            

            <div class="collapse clearfix" id="search">
                <form class="navbar-form" role="search">
                    <div class="input-group">
                        <input type="text" class="form-control" placeholder="Search">
                        <span class="input-group-btn">
                    <button type="submit" class="btn btn-template-main"><i class="fas fa-search"></i></button>
                </span>
                    </div>
                </form>
            </div>
            
        </div>
    </div>
</header>




        <div id="heading-breadcrumbs">
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <h1>Eclipse Kuksa documentation</h1>
            </div>
        </div>
    </div>
</div>


        <div id="content">
            

            <div class="container">

                <div class="row">

                    <div class="col-md-12">

                        <div>
                          <p>Eclipse Kuksa builds a platform to connect vehicles to the cloud and enable the development of specific applications of connected driving. This documentation covers the core pillars as follows: 1. the Eclipse Kuksa IDE, 2. the Eclipse Kukse In-Vehicle Platform, and 3. the Eclipse Kuksa Cloud Platform.</p>
<p>This documentation intends to give a high-level overview of the Eclipse Kuksa components. For more detailed information and documentation on the different aspects, we recommend consulting the respective repositories and their Readme files. The development around Eclipse Kuksa divides into seven repositories. An overview of these repositories and what they focus on is available on the Kuksa Website under <a href="https://www.eclipse.org/kuksa/resources/">Resources</a>.</p>
<h1 id="1-eclipse-kuksa-ide">1. Eclipse Kuksa IDE</h1>
<h2 id="11-introduction">1.1 Introduction</h2>
<p>Extensions are available for two different kind of existing IDEs.</p>
<ul>
<li>The latest extension is available for MS Visual Studio Code in form of a downloadable extension from the <a href="https://marketplace.visualstudio.com/items?itemName=Eclipse-Kuksa-Team.kuksa-ide&amp;utm_source=VSCode.pro&amp;utm_campaign=AhmadAwais">marketplace</a>.</li>
<li>The second extension is a custom Eclipse Che Assembly. A quick start can be found <a href="https://kuksa-che-ide.readthedocs.io/en/latest/quick/index.html">here</a>.</li>
</ul>
<p>Eclipse Kuksa offers various APIs for implementing vehicle applications based on AGL (Eclipse Kuksa IDE based on Eclipse Che) or docker (Eclipse Kuksa IDE based on VSCode) as well as provisioning built applications at the Eclipse Kuksa App Store. This enables accessing existing communication interfaces for secure data transmission, storage, management, and authentication without having to take separate measurements for processing or interpreting the data.</p>
<p>Eclipse Kuksa also supports the simplified deployment of new applications for both the cloud and vehicle components. Configuration, building and deployment can be done at the push of a button without further configuration or processing. Depending on the application, different development tools (e.g. Logging, Debugging, Tracing,&hellip;) can be included. Of course, syntax highlighting, code completion, and other necessary IDE functions are supported. For instance, the in-vehicle Eclipse Kuksa Che stack for AGL development activities features including Yocto based SDKs in order to support target specific programming shown in the screenshot below. After compiling and building software, the deployment on a specific target can be triggered by only specifying a target IP within a dedicated deployment process. <a href="https://www.eclipse.org/community/eclipse_newsletter/2018/july/kuksa.php">Click here</a> to read more. The Eclipse Kuksa IDE provides an easy and straight forward mechanism to create new projects based on AGL as outlined <a href="https://gitlab-pages.idial.institute/pedro.cuadrachamorro/kuksa-ide/samples/index.html">here</a>.</p>
<!-- raw HTML omitted -->
<p>Ecslipe Kuksa Demo Apps for the In-Vehicle platform can be found at the <a href="https://github.com/eclipse/kuksa.apps/tree/master/invehicle-apps">according repository</a>.
Eclipse Kuksa Demo Cloud Apps can be at <a href="https://github.com/eclipse/kuksa.apps/tree/master/cloud-apps">the same repository at a different location</a>.</p>
<h2 id="12-eclipse-kuksa-ide-based-on-vscode">1.2 Eclipse Kuksa IDE based on VSCode</h2>
<p>The VSCode Kuksa extension is a package of four different extensions bundled into one. These are as follows:</p>
<ol>
<li>Kuksa: Initialize Workspace</li>
<li>Kuksa: Configure Kuksa Environment(YAML)</li>
<li>Kuksa: Generate Docker Image</li>
<li>Kuksa: Publish to AppStore</li>
</ol>
<p>The user can trigger extensions from the Command Palette and also from the <em>Editor Header</em>. The Eclispe Kuksa extension follows the VSCode Extension file structure with standard folders like <code>.vscode</code> and <code>src</code>. It also includes the essential configuration files like <code>launch.json</code>, <code>tasks.json</code> and <code>tsconfig.json</code>.
Apart from the standard folders, there is also a Kuksa specific folder, which contains  python and shell scripts.</p>
<p>An important configuration file of a VSCode extension is the <em>Extension Manifest</em>. This file should be located at the root of the extension directory structure. Essentially, it is a <code>package.json</code> file which contains a mix of <code>Node.js</code> and VSCode specific fields. The fields <em>activationEvents</em> and <em>contributes</em> are especially important since every extension uses a combination of these two and the VSCode API for extending VSCode’s functionality. The <em>Extension Manifest</em> also determines how the extension looks in the VS Code Marketplace with the icon, author, licence, and repository.</p>
<h3 id="121-initializing-the-workspace">1.2.1 Initializing the Workspace</h3>
<p>The <code>Kuksa: Initialize Workspace</code> extension was conceived as a way to provide new developers with the Kuksa project structure. The command generates the directories and  required build scripts. It also creates an empty <code>yaml</code> configuration file to be used in the next steps. The entire tree structure is as follows:</p>
<ul>
<li>docker
<ul>
<li>build.sh</li>
</ul>
</li>
<li>include</li>
<li>kuksa.yaml</li>
</ul>
<p>The user has to provide the IDE with the desired name of the project and the project structure will be generated with the required files and directories.
At the first step, the OS, on which VSCode is running, will be checked. Currently, only Unix-based Operating Systems like Linux or MacOS are supported. Next, the user is asked to provide a valid name for the project. Invalid or duplicate project names will lead to an error and eventual termination of the process. Once this is successful, the corresponding bash script is triggered and the project folder is opened automatically in VSCode.</p>
<h3 id="122-generating-a-docker-image">1.2.2 Generating a Docker Image</h3>
<p>The command <code>Kuksa: Generate Docker Image</code> is intended to automate the process of creating a Docker image from a particular Dockerfile and tag it appropriately so that it can be used as an artifact for Eclispe Hawkbit and consequently the Eclipse Kuksa AppStore.
The command is also responsible for copying the <code>QEMU</code> binary to the Kuksa project directory so that it can be compiled with the source code. The underlying script of this command is again a Bash script, which is created during initialization of the project.
It is important to note that the files and folders mentioned as part of the Dockerfile have to be present in the proper system paths.</p>
<h3 id="123-configuring-the-kuksa-environment-yaml">1.2.3 Configuring the Kuksa Environment (YAML)</h3>
<p>The command <code>Kuksa: Configure Kuksa Environment</code> helps the developer to generate the configuration file needed for publishing an application. The command triggers a HTML form which holds some required fields to be filled.
Some of the required fields are as follows:</p>
<ul>
<li>Application Name</li>
<li>App Version and Description</li>
<li>Corresponding Docker Image</li>
<li>Eclipse Hawkbit, Appstore and KeyCloak URL</li>
<li>Corresponding Credentials</li>
</ul>
<p>The form features a <em>tabbed</em> look for the <em>General</em>, <em>AppStore</em> and <em>Keycloak</em> fields.
The configuration file is generated based on the YAML format. A Python script converts the field objects into the YAML format.</p>
<p>Finally, publishing an application to the Eclipse Kuksa Appstore can be performed. The according command is responsible for packaging and deploying new or updated Kuksa applications to Eclipse Hawkbit and registering the App at the Kuksa AppStore. Keeping in mind the usability, this complex process is scaled down to only selecting a single configuration file (the same one explained above).
A Python script runs in the backend of this command. This script gets the authentication token from KeyCloak, creates a new application category if required, creates a new application or updates on an existing application and uploads corresponding artifacts to Eclipse Hawkbit.
Apart from being integrated as part of the IDE, it also covers KeyCloak authentication which is now applied over all Kuksa WebServices. The configuration file generated by the previous commands holds all the crucial information like the credentials and URLs for the script to work. REST APIs use these details to post and get responses from the URLs.</p>
<h2 id="13-eclipse-kuksa-ide-based-on-eclipse-che">1.3 Eclipse Kuksa IDE based on Eclipse Che</h2>
<p>The Eclipse Kuksa extension to Eclipse Che is based on GWT and hence Eclipse Che 6.X (not Eclipse Che 7.X and later).</p>
<h3 id="131-system-requirements">1.3.1 System requirements</h3>
<p>The neccessary prerequisite to build and deploy Eclipse Che Kuksa are:</p>
<ul>
<li>A running docker instance on a Linux host system (tested with Ubuntu 18.04).</li>
<li>Maven</li>
</ul>
<p>Additionally, steps for building and running a Eclipse Che Kuksa instance in version 6.X are available <a href="https://kuksa-che-ide.readthedocs.io/en/latest/">here</a>.</p>
<h3 id="132-how-to-setup-the-ide">1.3.2 How to setup the IDE</h3>
<p>To set up Eclipse Che Kuksa, the following steps are necessary. If one wants to build and deploy AGL applications &amp; services within Che:</p>
<ul>
<li>Create a new workspace with Automotive Grade Linux (AGL) as selected stack</li>
<li>Go to &ldquo;Profile&rdquo; → &ldquo;Preferences&rdquo; → &ldquo;Remote Targets&rdquo; and add a new Remote Target with the device IP and the according User, e.g. &ldquo;root&rdquo;. Then select the Target.</li>
<li>Go to Profile → Preferences → Yocto Settings and add a new SDK with a Name, e.g. &ldquo;agl-rover&rdquo;, a Version, e.g. &ldquo;1.0.0&rdquo; and a link to an appropriate AGL SDK, e.g. the AGL <a href="https://github.com/app4mc-rover">Rover</a> SDK from &ldquo;<a href="https://owncloud.idial.institute/s/YiS5wceBmSj4gyr%22,">https://owncloud.idial.institute/s/YiS5wceBmSj4gyr&quot;,</a> as Download Link. Then select the added Yocto SDK. To avoid connection trouble, open the Terminal and ssh into the appropriate Device: <code>ssh &lt; User &gt;@&lt; IP &gt;</code>.</li>
</ul>
<h3 id="133-model-driven-development-of-agl-applications-and-services">1.3.3 Model-driven Development of AGL Applications and Services</h3>
<p>The Eclipse Che Kuksa instance simplifies the development of AGL applications and services. AGL features the usage of automotive applications based on HTML5, JavaScript, and C/C++, which run on top of AGL. While applications realize a distinct use case, services offers functionality to all applications. For more information please refer to the <a href="https://docs.automotivelinux.org">AGL documentation</a>.</p>
<p>The following sections demonstrate the development of AGL applications/services in a model-driven way based on the tool RAML2AGL (cf. Section <a href="https://github.com/eclipse/kuksa.ide/tree/master/che-6#raml2agl">Raml2AGL</a> ) as well as the building and deployment of AGL applications/services to a remote device running AGL (cf. Section <a href="https://github.com/eclipse/kuksa.ide/tree/master/che-6">Building &amp; Deploying</a>).</p>
<h1 id="2-kuksa-in-vehicle-platform">2. Kuksa In-Vehicle platform</h1>
<p><a href="https://www.eclipse.org/kuksa/">Eclipse Kuksa</a> includes an open and secure cloud platform that interconnects a wide range of vehicles to the cloud via open in-car and internet connections and is supported by an integrated open source software development ecosystem. The <a href="https://github.com/eclipse/kuksa.invehicle">in-vehicle repo</a> contains in-vehicle platform code as well as required layers and bindings to build a Kuksa adapted AGL (Automotive Grade Linux) distribution. If not using AGL, any other platform can be chosen that supports docker. For the former, Eclipse Kuksa provides a wrapper project around AGL. From its side, AGL uses Yocto/Bitbake building system to build an automotive domain specific Linux distribution. Therefore, this projects provides a building system that adds Kuksa&rsquo;s specific Bitbake layers on top of the original AGL. The scripts in this project help ease the process of building an AGL image by simple using a few commands. This project includes the yocto recipes found in meta-kuksa project.</p>
<h2 id="21-build-agl-imagesdk-rpi3">2.1 Build AGL Image/SDK RPI3</h2>
<p>Please have a look at the repositories <a href="https://github.com/eclipse/kuksa.invehicle/tree/0.2.0/agl-kuksa">readme file</a>.</p>
<h2 id="22-roverapp">2.2 RoverApp</h2>
<p><a href="https://app4mc-rover.github.io/rover-docs/content/installation.html#">This tutorial</a> contains how to set up a Rover-specific Raspbian image from scratch and the basic workflow to run the Roverapp applications.</p>
<h1 id="3-eclipse-kuksa-cloud-platform">3. Eclipse Kuksa Cloud Platform</h1>
<p>The Eclipse Kuksa project consists of a cloud backend. This backend provides services that interact with the vehicles and thus enable the owners to manage their vehicles and provide interfaces to third-party services.</p>
<h2 id="31-getting-started-with-the-cloud-platform">3.1 Getting started with the cloud platform</h2>
<p>The <a href="https://github.com/eclipse/kuksa.cloud/tree/master">Eclipse Kuksa Cloud Repository</a> contains the source code for some of the services and descriptors to set up an instance of the cloud backend. The two services developed within the Kuksa Cloud repository are an <a href="https://github.com/eclipse/kuksa.cloud/tree/master/kuksa-appstore">app store</a> and a <a href="https://github.com/eclipse/kuksa.cloud/tree/master/utils/hono-influxdb-connector">Hono-InfluxDB-Connector</a> which writes data from Eclipse Hono to an InfluxDB. Please refer to the Readme files in the linked directories for more details on how to use and extend the two services. There is also an example application to showcase the integration with a third-party service. The particular example is part of a use case where the owner gets an e-mail once the car senses an error which it would signal with a <a href="https://github.com/eclipse/kuksa.cloud/tree/master/examples/malfunction-indicator-light">malfunction indication light (MIL)</a>.</p>
<p>In addition, the Kuksa Cloud Repository provides scripts and resources to enable developers and operators to setup their own instance of the Kuksa cloud on a running Kubernetes instance. This is also important because the Kuksa Clouds makes use of a number of Open Source projects like Eclipse Hono, Eclipse hawkBit or Keycloak instead of solving the same challenges with custom solutions. More information on the deployment is located in the [deployment] (<a href="https://github.com/eclipse/kuksa.cloud/tree/master/deployment">https://github.com/eclipse/kuksa.cloud/tree/master/deployment</a>) folder. The recomended way for the deployment is to use the [Helm chart] (<a href="https://github.com/eclipse/kuksa.cloud/tree/master/deployment/helm)">https://github.com/eclipse/kuksa.cloud/tree/master/deployment/helm)</a>. As mentioned above, the deployment of the Kuksa cloud requires [Kubernetes] (kubernetes.io) which is either available through many cloud providers or needs to be setup before.</p>

                        </div>

                    </div>

                </div>
                

            </div>
            

            
        </div>
        

        <footer id="footer">
    <div class="container">

        

        <div class="col-md-4 col-sm-6">

            

        </div>
        

        

    </div>
    
</footer>







<div id="copyright">
    <div class="container">
        <div class="col-md-12">
            
            <p class="pull-left">Copyright © 2018-2022 The Eclipse Foundation. All Rights Reserved.</p>
            
            <p class="pull-right">
              Template by <a href="https://bootstrapious.com/p/universal-business-e-commerce-template">Bootstrapious</a>.
              

              Ported to Hugo by <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a>.
            </p>
        </div>
    </div>
</div>





    </div>
    

    
<script src="//code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script>


<script src="/kuksa/js/front.js"></script>


<script src="/kuksa/js/owl.carousel.min.js"></script>



  </body>
</html>
