<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Eclipse KUKSA</title>
    <link>https://www.eclipse.org/kuksa/</link>
    <description>Recent content on Eclipse KUKSA</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 01 Nov 2019 00:00:00 +0000</lastBuildDate>
    
	<atom:link href="https://www.eclipse.org/kuksa/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Release 0.1.0</title>
      <link>https://www.eclipse.org/kuksa/blog/2019/11/01/2019-11-01-release010/</link>
      <pubDate>Fri, 01 Nov 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2019/11/01/2019-11-01-release010/</guid>
      <description>The APPSTACLE project members and Eclipse Kuksa developers released Eclipse Kuksa 0.1.0 officially on 30.09.2019.
Within this release you can find the following:
In-Vehicle In-Vehicle software runs on a target device such as the Raspberry Pi.
 agl-kuksa - Scripts to automate the AGL build system with the meta-kuksa layers. kuksa-hawkbit - Barebone API for connecting to Eclipse Hawkbit. The kuksa-appmanager (see below) should though be the prior choice to interact with Eclipse HawkBit.</description>
    </item>
    
    <item>
      <title>Automotive Ethernet Gateway by taskit</title>
      <link>https://www.eclipse.org/kuksa/blog/2019/10/28/2019-10-28-taskit/</link>
      <pubDate>Mon, 28 Oct 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2019/10/28/2019-10-28-taskit/</guid>
      <description>taskit GmbH has developed a Car2X Gateway, which enables standardized, secure access to the cloud for in-car software. It comes pre-installed with Automotive Grade Linux (AGL) and Eclipse Kuksa and supports multiple interfaces such as CAN bus and Automotive Ethernet.
 Figure 1: Automotive Ethernet Gateway The Gateway was created as a part of the APPSTACLE project. This project is creating an open de facto standard and an open-source implementation of a complete technology stack for connected car scenarios as well as an associated ecosystem of libraries, tools, business models, services and support - hosted by the Eclipse Foundation as the Eclipse Kuksa project.</description>
    </item>
    
    <item>
      <title>APPSTACLE F2F Meeting &amp; Hackathon @ Netas, Istanbul, Turkey</title>
      <link>https://www.eclipse.org/kuksa/blog/2019/09/19/2019-09-19-netas/</link>
      <pubDate>Thu, 19 Sep 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2019/09/19/2019-09-19-netas/</guid>
      <description>The APPSTACLE project members and Eclipse Kuksa developers met in mid September 2019 to work on common challenges, release planning, documentation, and specifically technologies around the Eclipse Kuksa Appstore. Many issues could be resolved and the path to Eclipse Kuksa 0.1.0 looks promising!</description>
    </item>
    
    <item>
      <title>Summerschool FH-Dortmund - Automotive Stream</title>
      <link>https://www.eclipse.org/kuksa/blog/2019/07/05/2019-07-05-summerschool/</link>
      <pubDate>Fri, 05 Jul 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2019/07/05/2019-07-05-summerschool/</guid>
      <description>On regular basis, Dortmund University of Applied Sciences and Arts (Germany) organizes a one week summer school for students with various streams to choose from. As part of the automotive stream, Eclipse Kuksa technologies have been presented and students could get their hands on
 the Eclipse Kuksa OBD dongle used in a real car scenario applications installed via the Appstore the Eclipse Kuksa Rover running AGL or Raspbian with the Eclipse Kuksa in-vehicle layers the new Eclipse Kuksa IDE for a simplified deployment of applications and cloud services and more&amp;hellip;  </description>
    </item>
    
    <item>
      <title>When Eclipse Kuksa meets Eclipse SUMO [VIDEO]</title>
      <link>https://www.eclipse.org/kuksa/blog/2019/05/28/2019-05-28-when-kuksa-meets-sumo/</link>
      <pubDate>Tue, 28 May 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2019/05/28/2019-05-28-when-kuksa-meets-sumo/</guid>
      <description>This video features an approach for connecting the Eclipse SUMO track simulation with the open source connected vehicle ecosystem Eclipse Kuksa. More precisely, Eclipse SUMO is used to simulate traffic scenarios including microscopic properties like the position or emission. The generated data of each vehicle is then be sent to the message gateway of the Kuksa IoT Cloud platform and delegated to an according example service that consumes the data.</description>
    </item>
    
    <item>
      <title>Appstacle Use Case: Remote Driver Authentication with Eclipse Kuksa</title>
      <link>https://www.eclipse.org/kuksa/blog/2019/04/18/2019-04-18-remote-driver-anthentication/</link>
      <pubDate>Thu, 18 Apr 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2019/04/18/2019-04-18-remote-driver-anthentication/</guid>
      <description>The Appstacle Turkish consortium, including Koçsistem, Otokar and Netaş, has created a Remote Driver Authentication demo based on the Eclipse Kuksa platform.
Within the project, various companies or groups of companies, have focused on several use cases that support the vision of an ecosystem for purchasing and downloading in-vehicle applications. Otokar, a vehicle manufacturer, is tasked with integrating these scenarios and testing them on real vehicles. Otokar and the rest of the Turkish consortium are focused on the driver and passenger authentication scenarios.</description>
    </item>
    
    <item>
      <title>Otokar Hatti</title>
      <link>https://www.eclipse.org/kuksa/blog/2019/02/15/2019-02-15-otokar-magazin/</link>
      <pubDate>Fri, 15 Feb 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2019/02/15/2019-02-15-otokar-magazin/</guid>
      <description>The Turkish consortium composed an article which is published in the monthly public magazine “Otokar Hattı” (“Otokar Production Line” in English).
Check it out page 6-7, of the following pdf file: Otokar Hatti.
The article is in Turkish
 Erdem Ergen KoçSistem  </description>
    </item>
    
    <item>
      <title>Hackathon0119</title>
      <link>https://www.eclipse.org/kuksa/blog/2019/01/29/2019-01-29-hackathon0119/</link>
      <pubDate>Tue, 29 Jan 2019 15:20:00 +0100</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2019/01/29/2019-01-29-hackathon0119/</guid>
      <description>Hackathon 2019 The Eclipse Kuksa team met once again for a Hackathon in January 2019 to address Eclipse Kuksa issues and open tasks of our roadmap.
We could demo our progress! Appstacle is a running reality now!@BoschSI demoed the Kuksa car appstore pic.twitter.com/2qWCQCbrBv
&amp;mdash; Appstacle Project (@Appstacle) January 17, 2019  . @kocsystem demoed the Kuksa authentication use case pic.twitter.com/coerDzrzpj
&amp;mdash; Appstacle Project (@Appstacle) January 17, 2019  . @eTaskit demoed the appstacle hardware pic.</description>
    </item>
    
    <item>
      <title>Contributing</title>
      <link>https://www.eclipse.org/kuksa/contributing/</link>
      <pubDate>Tue, 29 Jan 2019 09:46:31 +0200</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/contributing/</guid>
      <description>HowTo contribute to Eclipse Kuksa Great that you are interested in contributing to Eclipse Kuksa. We really looking forward to receive your contribution!
Get in touch! There is the kuksa-dev mailing list and a weekly Zoom meeting, every Thursday 1-2pm (CET/CEST).
In the project we agreed upon the following approach to add contributions to the project.
 Meet the Definition of Done (DoD) A review took place for the code The new feature was at least once tested manually, deployed to a running test instance Clearly outline third party dependencies  Definition of Done First, we have DoD for solved issues.</description>
    </item>
    
    <item>
      <title>ECE2018: Automotive meets IoT: Innovating your Future Vehicle</title>
      <link>https://www.eclipse.org/kuksa/blog/2018/10/24/2018-10-24-ece2018-automotive-meets-iot/</link>
      <pubDate>Wed, 24 Oct 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2018/10/24/2018-10-24-ece2018-automotive-meets-iot/</guid>
      <description>Sebastian Schildt (Robert Bosch GmbH) made a very interesting and well received presentation of the Kuksa project at EclipseCon Europe 2018.
Check it out!</description>
    </item>
    
    <item>
      <title>EclipseCon Europe and ESE Kongress events</title>
      <link>https://www.eclipse.org/kuksa/blog/2018/10/22/2018-10-22-ece1018ese1218/</link>
      <pubDate>Mon, 22 Oct 2018 12:13:28 +0200</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2018/10/22/2018-10-22-ece1018ese1218/</guid>
      <description>EclipseCon France 2018 Eclipse Kuksa and its latest development activities will be presented along with the talk Automotive meets IoT: Innovating your Future Vehicle at EclipseCon Europe 2018 in Ludwigsburg, Germany.
Embedded Software Engineering Kongress 2018 In addition to the EclipseCon Europe event, you can join us at the ESE Kongress in Sindelfingen, Germany, on December, 6th. The talk Überwindung der Silos – Revolution für vernetzte Fahrzeuge, that means &amp;lsquo;Overcoming the Silos - Revolution for Connected Vehicles&amp;rsquo;, will be held at 16:45 o&amp;rsquo;clock (4:45pm) and will cover both a generic as well as detailed descriptions of the three Eclipse Kuksa platforms (a) In-Vehicle, (b) IDE, and ( c) Cloud.</description>
    </item>
    
    <item>
      <title>EclipseCon France 2018 interview</title>
      <link>https://www.eclipse.org/kuksa/blog/2018/09/18/2018-09-18-ecf2018-interview/</link>
      <pubDate>Tue, 18 Sep 2018 13:07:31 +0200</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2018/09/18/2018-09-18-ecf2018-interview/</guid>
      <description>Interview with Robert Höttger (Fachhochschule Dortmund - University of Applied Science and Arts). Robert presented the recent news about the APPSTACLE project.</description>
    </item>
    
    <item>
      <title>Eclipse Kuksa Hackathon 08.2018</title>
      <link>https://www.eclipse.org/kuksa/blog/2018/08/30/2018-08-30-hack0818/</link>
      <pubDate>Thu, 30 Aug 2018 13:47:08 +0200</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2018/08/30/2018-08-30-hack0818/</guid>
      <description>Hacking 3 Days @ IDiAL, FH-Dortmund, for Eclipse Kuksa Features 13 Hackers met in Dortmund on August, 28th until 30th of August to work on an end-to-end use case scenario along with new Eclipse Kuksa technologies. 20 CQs, 2 major GitHub pull-requests, and 21035 LOCs were the results. Of course, the LOCs also contain content from work prior to the Hackathon.
More precisely, the Eclipse Kuksa Appstore was migrated to an Eclipse HawkBit Server, that transmits applications wirelessly to an Eclipse HawkBit client running on a device (Raspberry Pi) that runs the Kuksa adapted AGL (Automotive Grade Linux + Kuksa technologies).</description>
    </item>
    
    <item>
      <title>Resources</title>
      <link>https://www.eclipse.org/kuksa/resources/</link>
      <pubDate>Fri, 29 Jun 2018 09:46:31 +0200</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/resources/</guid>
      <description>Getting Started A brief documentation link collection can be found here.
GitHub Repositories The code is provided in the following Github repositories. Please note that issues are tracked and discussed in the repository of the respective sub-project.
 Eclipse Kuksa IDE: https://github.com/eclipse/kuksa.ide Browser-based IDE used by developers to create applications for the Eclipse Kuksa in-vehicle platform. Eclipse Kuksa Apps: https://github.com/eclipse/kuksa.apps Contains applications to showcase use-cases of Eclipse Kuksa Eclipse Kuksa Cloud: https://github.</description>
    </item>
    
    <item>
      <title>Forum</title>
      <link>https://www.eclipse.org/kuksa/forum/</link>
      <pubDate>Fri, 29 Jun 2018 09:45:23 +0200</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/forum/</guid>
      <description>Visit the Eclipse Kuksa Forum Click Here</description>
    </item>
    
    <item>
      <title>EclipseCon France participation</title>
      <link>https://www.eclipse.org/kuksa/blog/2018/06/18/2018-06-18-ecf2018/</link>
      <pubDate>Mon, 18 Jun 2018 13:07:31 +0200</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2018/06/18/2018-06-18-ecf2018/</guid>
      <description>EclipseCon France 2018 Eclipse Kuksa was presented at EclipseCon France 2018 along with the research booth, the research community&amp;rsquo;s pitch session, a regular talk hold by Tobias Rawald and Robert Hoettger, and an interview about the motivation, goals, and the current state of Eclipse Kuksa.
We really enjoyed hosting @EclipseCon France these neat research projects and their representatives @Appstacle @agile_iot @AMASSproject @crossminer @gemocinitiative @stamp_project. We are looking forward for meeting at @EclipseCon Europe!</description>
    </item>
    
    <item>
      <title>Initial Contributions</title>
      <link>https://www.eclipse.org/kuksa/blog/2018/06/05/2018-06-05-initialcontribution/</link>
      <pubDate>Tue, 05 Jun 2018 21:49:20 +0200</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2018/06/05/2018-06-05-initialcontribution/</guid>
      <description>Eclipse Kuksa&amp;rsquo;s initial contribution was successfully submitted to the GitHub repositories. We are working on a roadmap to present planned activities for upcoming contributions. Apart from the three major Kuksa parts, i.e.,
 kuksa.invehicle kuksa.cloud kuksa.ide  additional repositories will cover specific use-cases, builds, tests, and other features within:
 kuksa.apps kuksa.integration  </description>
    </item>
    
    <item>
      <title>Rover V03</title>
      <link>https://www.eclipse.org/kuksa/blog/2018/05/31/2018-05-31-roverv03/</link>
      <pubDate>Thu, 31 May 2018 21:49:20 +0200</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2018/05/31/2018-05-31-roverv03/</guid>
      <description>The Rover (SW: Rover Software, HW: Rover Hardware) has been updated to version V03. This includes several migrations of tasks to AGL services and applications, as well major improvements to the Rover&amp;rsquo;s chassis, that provides a more modular structure since components can be flexibly clipped to different positions without the need of screws. The following implementations are though on our roadmap for the next release:
 ACC Parking Marker recognition (using OpenCV) Rover-follow application &amp;hellip;.</description>
    </item>
    
    <item>
      <title>About</title>
      <link>https://www.eclipse.org/kuksa/about/</link>
      <pubDate>Tue, 30 Jan 2018 10:08:18 +0100</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/about/</guid>
      <description>&lt;p class=&#34;lead&#34;&gt;
Because today&#39;s software-intensive automotive systems are still developed in silos by each car manufacturer or OEM in-house, long-term challenges in the industry are yet unresolved. Establishing a standard for car-to-cloud scenarios significantly improves comprehensive domain-related development activities and opens the market to external applications, service provider, and the use of open source software wherever possible without compromising security. Connectivity, OTA maintenance, automated driving, electric mobility, and related approaches increasingly demand technical innovations applicable across automotive players.
&lt;/p&gt;
&lt;p class=&#34;lead&#34;&gt;
The open and secure Eclipse Kuksa project will contain a cloud platform that interconnects a wide range of vehicles to the cloud via in-car and internet connections. This platform will be supported by an integrated open source software development environment including technologies to cope especially with software challenges for vehicles designed in the IoT, Cloud, and digital era.
&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Eclipse Kuksa @ IoT WG</title>
      <link>https://www.eclipse.org/kuksa/blog/2018/01/17/2018-01-17-plans/</link>
      <pubDate>Wed, 17 Jan 2018 13:47:08 +0200</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2018/01/17/2018-01-17-plans/</guid>
      <description>Introduction to Eclipse Kuksa The slides below were part of the introduction of Eclipse Kuksa to the Eclipse IoT community.
Presentation is available here.</description>
    </item>
    
    <item>
      <title>Oulanka Project Meeting</title>
      <link>https://www.eclipse.org/kuksa/blog/2017/10/26/2017-10-26-oulanka/</link>
      <pubDate>Thu, 26 Oct 2017 13:39:46 +0200</pubDate>
      
      <guid>https://www.eclipse.org/kuksa/blog/2017/10/26/2017-10-26-oulanka/</guid>
      <description>At the project meeting in Oulanka, Finnland, the APPSTACLE consortium collected and coordinated a variety of topics to work on in the upcoming time. Use-case scenarios, in-vehicle development activities, network protocols, cloud infrastructure, security demands, dissemination and exploitation and other topics were in focus for the project partners. The various discussions, cooperations, ideas, and further activities were defined in order to set the basis to reach the goals of APPSTACLE and form Eclipse Kuksa, i.</description>
    </item>
    
  </channel>
</rss>