diff --git a/.gitignore b/.gitignore index 21730f3..5474580 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .hugo_build.lock +*.bkp public/ resources/ diff --git a/README.md b/README.md index 254665e..ace445f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ -# eclipse-uprotocol.github.io -The landing page website for the uProtocol project +This repository contains the [Hugo](gohugo.io) bsaed landing page website for the uProtocol project. + +# Rendering the website locally + +1. [Install Hugo](https://gohugo.io/categories/installation/) +2. Clone the repository +3. Run `hugo server` from your local workspace +4. Open http://localhost:1313 diff --git a/content/motivation.md b/content/motivation/index.md similarity index 84% rename from content/motivation.md rename to content/motivation/index.md index 9619365..67a1842 100644 --- a/content/motivation.md +++ b/content/motivation/index.md @@ -3,7 +3,7 @@ date: 2023-10-01T04:14:54-08:00 description: "Why do we need uProtocol?" title: "Why do we need this?" --- -The automotive industry faces a number of challenges related to software communication: +The automotive industry[^1] faces a number of challenges related to software communication: * In-vehicle communication is largely inherited from legacy architectures that were mostly based on CAN networks. In addition to mechatronics software for which the existing infrastructure was developed, vehicles now include multiple powerful SoCs that run massive amounts of software. This software requires new communications mechanisms. * Vehicles are now connected to the cloud and other devices like mobile phones. These communication links need to recover from loss of connection and provide secure data transmission, imposing additional requirements on the communications framework. @@ -15,4 +15,8 @@ Eclipse uProtocol™ addresses these challenges by providing a small number Multiple communication mechanisms have been developed over the years, each solving specific problems: SOME/IP for in-vehicle inter-ECU communication, MQTT for IoT-to-Cloud communication, Linux IPC variants for intra-SoC communication, Binder for Android IPC etc. A connected vehicle system will require multiple of these systems, creating the challenge of bridging them together. Rather than trying to develop yet another, _more universal_ protocol, uProtocol's approach is to _map_ its APIs to existing frameworks, and ensure interoperability across them. This approach enables to use and combine multiple communication frameworks, while ensuring consistent end-to-end communication between software components. -**NOTE:** None of these challenges are specific to the automotive sector. Instead, other industries like defense, rail and aviation all face similar issues. +An example topology covering in- and off-vehicle communication using multiple communication protocols is provided below: + +{{< figure src="topology.drawio.svg" alt="Example Topology based on uProtocol" class="image-with-margin" >}} + +[^1]: None of these challenges are specific to the automotive sector. Instead, other industries like defense, rail and aviation all face similar issues. diff --git a/content/motivation/topology.drawio.svg b/content/motivation/topology.drawio.svg new file mode 100644 index 0000000..b831656 --- /dev/null +++ b/content/motivation/topology.drawio.svg @@ -0,0 +1,4 @@ + + + +

Linux (up-zenoh)

Linux (up-zenoh)





Mobile (up-mobifi)

Mobile (up-mobifi)

Cloud 

Cloud 
MQTT5 Broker
(Cloud Gateway)
MQTT5 Bro...
DPR
DPR
uSubscription
uSubscription

uCDS
Central Discovery 

uCDS...
uApps
uApps
uApps
uApps
uEs
uEs

Linux (up-zenoh)

Linux (up-zenoh)
Legend
Legend
uProtocol Transports
uProtocol Transports

uDevice

uDevice
D
D
MQTT-over-TCP/IP + TLS
MQTT-over-TCP/IP + TLS
Android-Binder
Android-Binder
I
I
Zenoh-over-TCP + secOC
Zenoh-over-TCP + secOC
Azure
Azure
SOME/IP-over-UDP + SECoC
SOME/IP-over-UDP + SECoC

mDevice

mDevice
Zenoh Peer

  MCU (AUTOSAR CLASSIC)

  MCU (AUTOSAR CLASSIC)
Zenoh Router
Zenoh Router

uStreamer

uStreamer
uBus
uBus

uService/
uApp

uService/...

uProtocol Core uE

uProtocol C...

Linux/Windows (up-simulator)

Linux/Windows (up-simulator)
uTransport Switch
uTransport Swi...
Simulator UI
Simulator...
uApps
uApps
uApps
uApps
Mock COVESA uServices
Mock COVESA uSer...

Android VM (up-android)

Android VM (up-android)

uLDS
(Local Discovery )

uLDS...
Java uEs
Java uEs
uBus
uBus
uSubscription/uTwin
uSubscription/uTwin
JNI
JNI
HALs
HALs


Mock Core uEs

Mock Core uEs
Mechatronics Communication
Mechatronics Communication
High Compute Communication
High Compute Communication

Mobile (up-mobifi)

Mobile (up-mobifi)
Device-2-Cloud Communication
Device-2-Cloud Communication
Zenoh Client
I
I
Zenoh Shared Memory
Zenoh Shared Memory
Plugin
Language
Language

Rust

Rust

C++

C++

Java

Java

Python

Python

Streamer

Streamer

Physical HW

Physical H...

Linux/Windows 
(up-player)

Linux/Window...
uPlayer
uPlayer

Linux (up-zenoh)

Linux (up-zenoh)

Telematics Linux (up-zenoh)

Telematics Linux (up-zenoh)

uLDS
local Discovery 

uLDS...
uApps
uApps
uApps
uApps
uEs
uEs

 uStreamer

 uStreamer
uSubscription
uSubscription

uTwin

uTwin

zenoh

zenoh

vsomeip

vsomeip

uRecorder

uRecorder

uLDS
local Discovery 

uLDS...
uApps
uApps
uApps
uApps
uEs
uEs

 uStreamer

 uStreamer
uSubscription
uSubscription

uTwin

uTwin

zenoh

zenoh

vsomeip

vsomeip

uRecorder

uRecorder

uLDS
local Discovery 

uLDS...
uApps
uApps
uApps
uApps
uEs
uEs

 uStreamer

 uStreamer
uSubscription
uSubscription

uTwin

uTwin

zenoh

zenoh

vsomeip

vsomeip

uRecorder

uRecorder

mqtt5

mqtt5
Text is not SVG - cannot display
\ No newline at end of file diff --git a/static/css/custom.css b/static/css/custom.css index 3cae3f5..bb286bf 100644 --- a/static/css/custom.css +++ b/static/css/custom.css @@ -7,6 +7,12 @@ transition: all 0.2s ease-out; } +.home-carousel h1, +.home-carousel ul, +.home-carousel p { + text-transform: none; +} + .bar.background-image-fixed-2 { background: url('../img/vecteezy_ai-generated-modern-smart-car-technology-intelligent-system_35270180.jpg') center top no-repeat; background-attachment: fixed; @@ -23,17 +29,15 @@ body { text-decoration: none; } +figure.image-with-margin img { + display: block; + margin-left: auto; + margin-right: auto; + margin-top: 3em; + margin-bottom: 3em; +} + #footer div.eclipse-logos #logo-eclipse-foundation { margin: -20px; height: 150px; -} - -.home-carousel h1 { - text-transform: none; -} - - -.home-carousel ul, -.home-carousel p { - text-transform: none; } \ No newline at end of file