W3C Web and Automotive Workshop Tizen IVI Vehicle Data Mikko Ylinen - - PowerPoint PPT Presentation

w3c web and automotive workshop tizen ivi vehicle data
SMART_READER_LITE
LIVE PREVIEW

W3C Web and Automotive Workshop Tizen IVI Vehicle Data Mikko Ylinen - - PowerPoint PPT Presentation

W3C Web and Automotive Workshop Tizen IVI Vehicle Data Mikko Ylinen Intel Open Source Technology Center Nov 14th 2012 Agenda Position Paper Highlights The API Demo Setup and Architecture 2 Position Paper Highlights (1/2)


slide-1
SLIDE 1

W3C Web and Automotive Workshop Tizen IVI Vehicle Data

Mikko Ylinen

Intel Open Source Technology Center

Nov 14th 2012

slide-2
SLIDE 2

2

Agenda

  • Position Paper Highlights
  • The API
  • Demo Setup and Architecture
slide-3
SLIDE 3

3

Position Paper Highlights (1/2)

  • In order to be able to provide automotive rich UI and applications, an access

to IVI system provided data is needed. Ideally, this is done through standardized automotive Web APIs.

  • To date, there's no standardized Web API for IVI to access automotive data.

Furthermore, different car manufacturers (or even different car models) can provide very different data items.

  • Different parties, e.g., GENIVI or Webinos, have started to specify their own

specifications for automotive Web APIs.

slide-4
SLIDE 4

4

Position Paper Highlights (2/2)

  • Some design principles for a Vehicle Web API
  • The API is lightweight and provides getting and setting data items
  • The API implements an extremely minimal set of data items that are the

base set required for compliance

  • The API has mechanisms for event based updates to requested data items
  • The API implements a method for a Web application to query for supported

data items, so graceful functionality degradation is possible

slide-5
SLIDE 5

5

The API

get(eventlist, successCB, errorCB)

  • Retrieve the specified data values, or all data values if blank

set(eventlist, valuelist, successCB, errorCB)

  • Set the specified data values

getSupportedEventTypes(type, writeable, successCB, errorCB)

  • Retrieve the list of events available on the platform

subscribe(eventlist, successCB, errorCB)

  • Subscribe to update events for the specified data items

unsubscribe(eventlist, successCB, errorCB)

  • Unsubscribe from update events for the specified data items
slide-6
SLIDE 6

6

Example code - events

function engineSpeedEvent(data) { var newRPMs = data.value; } function onLoad() { vehicle.subscribe(["speedometer", "engine_speed"]); document.addEventListener("speedometer", function(data) { var newSpeed = data.value; }); document.addEventListener("engine_speed", engineSpeedEvent); }

slide-7
SLIDE 7

7

Example code - set

function setDriverHeight() { vehicle.set("driver_seat_position_headrest", 10, function() { console.log("Driver headrest set successfully!"); }, function(error) { console.log("Error setting Driver headrest value: " + error.message); } ); }

slide-8
SLIDE 8

8

API FIXME

  • Create a WebIDL definition from the API
  • Improve API’s successCB and errorCB handling
  • Listen feedback, re-iterate
slide-9
SLIDE 9

9

Demo Description

Abstract: This demo shows how the Automotive Message Broker can be used to translate the action of a steering wheel, pedals, gear shift

  • r any other vehicle information into data that can be displayed in a

web application. Tizen includes the Automotive Message Broker which abstracts CAN messages and other low level vehicle information and exposes them to developers as a high level API. Hardware: Logitech steering wheel (inc. pedals, gear stick), NDiS-166, 2 monitors

slide-10
SLIDE 10

10

Demo Pics

slide-11
SLIDE 11

11

Tizen IVI Web API Prototype

AMB Core

GhostCluster app

websocket sink + API wheel source

Input layer

Automotive Message Broker Web Applications Middleware Kernel

websocket connection

Joystick wheel

slide-12
SLIDE 12

12

Tizen IVI Web API Final Architecture

AMB Core

A Web app

WRT sink Car BUS source

Car bus driver

Automotive Message Broker Web Applications Middleware Kernel Car bus

WebKit+ JS Core Vehicle API Plugin

Tizen Web Runtime

slide-13
SLIDE 13

13

Performance View

  • Environment: from HW to AMB core
  • Wheel plug-in: 2000+ properties per second, < 5% CPU
  • OBD-II plug-in: 80-100 properties per second
slide-14
SLIDE 14

14

the Code

  • API definition

https://github.com/otcshare/automotive-message-broker/blob/ master/plugins/websocketsink/test/api.js

  • Demo Web App

https://github.com/otcshare/GhostCluster

slide-15
SLIDE 15