<!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?1660548949" 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/">About</a>
                  </li>
                  
                  
                  
                  

                  

                  

                  

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

                  

                  

                  

                  
                  <li class="dropdown ">
                    <a href="/kuksa/publications/">Talks &amp; Videos</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>
