Purpose
Connecting Automotive Apps and Services, Everywhere
The purpose of this project shall be to provide a transport agnostic, layered communication protocol that builds on top of existing automotive and Internet standards, from the mechatronic layer (between ECUs, VMs, etc…) up to the Cloud, enabling a connected software defined vehicles.
Overview
The protocol is divided up into three layers:
- Application Layer (uP-L3):
- Responsible for business/application logic through definition of methods, topics, messages
- Core Platform uEs (uSubscription, uDiscovery, etc...)
- Communication Layer (uP-L2):
- Describing data & metadate in a common way using CloudEvents: publication/notificaitons, request/response, file transfer, etc...
- Routing & Dispatching of events through Dispatchers (uBus, uStreamer, Device Proxy Router, Cloud Proxy)
- Transport Layer (uP-L1):
- Sending & receiving of events point-2-point between Software Entities (uEs)
- Session an connection over automotive & Internet standards
For more information about uProtocol please visit: Overview of uProtocol
Project Contents
The uProtocol project shall contain that contain a number of children repos that are:
- eclipse-uprotocol/uprotocol: Protocol specification & various layers interface definitions and interface definitions
- eclipse-uprotocol/uprotocol-sdk-java: Java Software development Kit (implements uP-L2 and includes other helper code for the protocol)
- eclipse-uprotocol/uprotocol-sdk-cpp: Same as Java SDK but for C++
- eclipse-uprotocol/uprotocol-android: Android implementation of uProtocol, both the transport protocol (Binder) and core dispatchers and application logic
The content of this open source project is received and distributed under the license(s) listed above. Some source code and binaries may be distributed under different terms. Specific license information is provided in file headers and in NOTICE files distributed with the project's binaries.