This proposal has been approved and the Eclipse Connected Services Platform project has been created.
Visit the project page for the latest information and development.

Eclipse Connected Services Platform

Wednesday, May 29, 2024 - 13:37 by amit mehra
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

The automotive industry is witnessing a surge in connected car technology. However, a major challenge is the fragmentation of connected car platforms, with each OEM developing its own system. This creates redundancy in development efforts and hinders rapid innovation.

Open-sourcing a core connected car platform addresses this challenge. It empowers the developer community and OEMs to:

Accelerate Innovation and Development: 

By leveraging a pre-built platform, developers can focus on building innovative applications instead of reinventing the wheel. This open-source connected car platform allows developers and OEMs to work, share ideas, and build upon this open-source offering. This fosters collaboration and rapid iteration, leading to faster development of new connected car features and services.

Scope

The Eclipse Connected Services Platform (ECSP) provides a core platform to serve as the foundation for developing connected car systems. It empowers the community and OEMs to create innovative connected services applications. The Eclipse CSP provides functionalities for data management, vehicle management (profiles, devices, settings), user access control, notification channels, vehicle client, and integration with various open-source software. 

Built on a microservices architecture, the Eclipse CSP enables modular development and deployment.

In addition to the core Eclipse CSP platform, the offering includes a reference application (Remote Operations) on the Cloud, a vehicle client for embedded devices (IVI/ECU/TCU) on vehicles, and a reference mobile application (iOS/Android). These components demonstrate the process of building new automotive services on this platform. By leveraging the data collected from the vehicles, the Eclipse CSP aims to foster a community that creates novel applications and services. 

This platform is designed for scalability to connect large vehicle fleets with single-click deployment scripts that streamline setup and validation.   

Description

The  Eclipse CSP provides following layers and components:

  • Offboard Platform Layer 
    • Data Collection and Processing: Enables gathering and processing vehicle data.
      • GDPR Compliance: The Eclipse CSP ensures compliance with GDPR standards throughout data storage and processing. 
      • Data Acquisition: Vehicles (using a vehicle client) transmit data using a lightweight MQTT protocol, minimizing data overhead and optimizing bandwidth usage. 
      • Data Processing: Kafka streams handle data processing, guaranteeing high throughput, reliable connectivity, and exchanges between vehicles and platform. 
  • Reference Application:
    •  Remote Operations Application for vehicles to control door, Window, lights, Horn, Alarm, trunk, and  demonstrate how new services can be written using the code platform layer. 
  • Vehicle Profile and Device Management: Manages vehicle profiles and connected devices.
  • Setting and Configuration Management: Allows settings and configuration to be deployed and applied to a vehicle. 
  • User and Identity Management: Secure user access and authentication.
  • Notification Center: Facilitates sending and receiving notifications over push notifications to Mobile Apps, Email , SMS, and HTTPS push.  
  • Device Management Orchestrator: Orchestrates device management tasks.
  • Notification & Campaign Management: Enables managing notification campaigns.
  • Onboard Client:
    • Vehicle Client: A C++ Client, ready to be deployed on TCUs/ECUs/IVI to validate the RO application use case. 
  • Vehicle Simulator/Test Application
  • A Linux-based vehicle simulator capable of simulating vehicle messages or receiving and responding to messages from a Cloud application. This is provided for testing and development purposes.
  • Observability 
    • For enhanced monitoring and troubleshooting, SCP is integrated with observability tools like Graylog and Prometheus. 
  • Mobile Application:
    • Reference Mobile Application (iOS/Android): Provides a reference application enabling vehicle users to visualize platform capabilities.
  • Single-Click CD : Instructions & framework that shall enable single click deployment for Platform on AWS. The framework uses Kubernetes and ArgoCD for automated and scalable deployment of containerized applications/services.  

This open-source platform is designed to support connected car deployments of up to 100,000 vehicles, while the opensource offering utilizes a community version of open-source software currently like HiveMQ, Zookeeper Kafka, PostgreSQL and MongoDB, the system is inherently scalable for millions of devices in enterprise deployments. 

Why Here?

The Eclipse Automotive community provides the ideal environment for this project due to its solid foundation in fostering open-source collaboration within the automotive industry.

A vibrant community of developers and automotive companies already thrives within Eclipse, offering a wealth of expertise in connected car development. By joining this community, we gain access to collaboration opportunities with industry leaders that accelerate platform improvement.

Additionally, this platform fills a critical gap within the Eclipse Automotive ecosystem by providing the first dedicated open-source connected car solution. This has the potential to significantly enhance the capabilities and reach of existing projects, creating a more comprehensive open-source environment for connected car development. 

Future Work

Our initial focus is building a strong community. We'll engage through forums, mailing lists, and discussions within Eclipse. This feedback will guide open feature development roadmap for this project. 

Following could be additional features ( based on community inputs ) 

  • Additional Functionalities: Releases providing microservices such as Notification and Campaign Management, Device Management, Data Feed Framework (Ingress/Egress), and Certificate Managers for security. 
Project Scheduling

Following is a high-level view of project releases:

Q3 2024: Initial contribution as defined in the Initial Contribution section of this document.

 

Initial Contribution

The following are provided as part of the initial contribution:

  • Offboard Platform Layer
    • API Gateway
    • Device Management
    • Vehicle Profile. 
    • Authentication and User Management
    • 3rd Party OpenSource Components
      • HiveMQ
      • Kafka
      • Redis
      • PostgreSQL
      • MongoDB
    • Reference Application. 
      • Remote Operations:  Remote Operations Application for vehicles to control door, Window, lights, Horn, Alarm, trunk  
      • Supporting libraries and utilities utilized by the core platform.
  • Onboard Layer
    • Vehicle Client Application: Vehicle Client for Linux
    • Vehicle Simulator:  Linux Client Test application to enable developers to test RO functionality.
  • Other support 
    • Mobile Application: As an iOS/Android APK on respective app stores and as an SDK. 
    • Instructions and framework for Infrastructure and deployment scripts enabling single-click deployment.

This initial contribution provides a solid foundation for development and testing, enabling a jumpstart on building the core functionalities of the platform.

Source Repository Type