qt/qml applications for connected automotive … · development centers located in india, us, ......

22
Qt/QML Applications For Connected Automotive Solutions 1/29/2018

Upload: trinhbao

Post on 31-Aug-2018

255 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

Qt/QML Applications For Connected

Automotive Solutions

1/29/2018

Page 2: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited

Copy Right Guidelines

© 2018 KPIT Technologies Limited, Pune, India. All Rights Reserved.

KPIT Technologies Limited believes the information in this document is accurate as of its publication

date; such information is subject to change without notice. KPIT Technologies Limited acknowledges

the proprietary rights of other companies to the trademarks, product names and such other

intellectual property rights mentioned in this document. Except as expressly permitted, neither this

documentation nor any part of it may be reproduced, stored in a retrieval system, or transmitted in

any form or by any means, electronic, mechanical, printing, photocopying, recording or otherwise,

without the prior permission of KPIT Technologies Limited and/ or any named intellectual property

rights holders under this document.

1/29/20182

Page 3: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

Automotive &

Transportation

Energy &

Resources

Consumer &

Industrial

Goods

High Tech Life Sciences Utilities

KPIT provides IT consulting and product

engineering to deliver transformational services and

products that improve the world we live in

Page 4: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited1/29/20184

Global Footprint

Page 5: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited1/29/20186

Headquartered in Pune (India)

Incorporated in 1990

Publicly traded company in India

Development Centers located in India, US,

Germany, China, and Brazil

31 offices across 16 countries

60 Patents filed

FY2017 revenues $494 Million

12,000+ Employees Globally

Corporate Quick Facts

Page 6: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited

Outline

• Qt/QML for Automotive Needs

• Qt Automotive Suite

• Local/Automotive Connectivity

• IOT Platform Connectivity

• Reference Demo

• Cross Compiling Apps for targets

1/29/20188

By

Rajesh Sola,

Education Specialist-ECoDe

KPIT Technologies Limited.

Page 7: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited

Qt/QML for Automotive Needs

• HMI Design for digital cockpit

– Infotainment Systems

– Instrumentation Clusters

– Head-up Displays(HUD)

• Connectivity Stack & APIs

• Middleware Support

• Qt for Mobile Apps

1/29/20189

Ref:- www1.qt.io/qt-automotive-suite/

Ref:- www1.qt.io/qt-automotive-suite/

Page 8: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited

Qt Automotive Suite

• Customized Qt framework for automotive solutions

• Built on top of Qt for Device Creation, GENIVI Compliant

• Multiple screens on single SOC

• Unified tool for the entire digital cockpit

• Certified Functional Safety

• GammaRay for introspection of apps

• Qt Application Manager

• QmlLive for live reloading of UI

• Ease of deployment

• Qt Virtual Keyboard, Web Browser

• Reference Implementation – Neptune UI

• Wayland Compositor for multi screen

1/29/201810

Ref:-doc.qt.io/NeptuneUI/index.html

Ref:-doc.qt.io/NeptuneUI/index.html

Page 9: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited1/29/201811

Automotive Connectivity

Page 10: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited

CANBus

• Supported by QtSerialBus module, from Qt 5.8

QT += serialbus

• Plugins for supported Backends e.g. SocketCAN plugin

• CAN Bus API (C++ Classes)

– QCanBus

– QCanBusDevice

– QCanBusDevice::Filter

– QCanBusDeviceInfo

– QCanBusFrame

• API Support for

– Frame Types & Error Handling

– FD frames

– Extended frame formats (plugin support?)

– Bitrate Configuration

1/29/201812

Ref:-github.com/linux-can/can-logos

Page 11: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited

• Bluetooth Classic (from v5.2)

• Bluetooth Low Energy (Bluetooth Smart/BT 4.x)

– APIs for Central Role (Fro, v5.4)

– APIs for Peripheral Role (from v5.7)

• Bluez Backend on Linux

• BLE Elements

– Services, Characteristics,

– Advertising, Scanning

• BLE Protocols & Profiles

– ATT Protocol

– GATT Profile

1/29/201813

Bluetooth Low Energy

Ref:- doc.qt.io/qt-5/qtbluetooth-le-overview.html

BLE for Smart

Automotives!!

• Key Fobs

• Wireless Sensors

• Diagnostics

• Parking Assistance

• Fleet Management

• Personalization

• Smart Phone

Services

Page 12: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited

Location & Positioning

• Positioning APIs

– Using GeoClue Backend

– OpenWeatherMap API integration

• Location APIs

– Maps and Navigation

– Places

– Geo Services, Plugins

eg:- Flickr, OpenStreetMap

• Rich QML Types

• Telematics

1/29/201814

Ref:-doc.qt.io/qt-5/qtlocation-places-map-example.html,

doc.qt.io/qt-5/qtpositioning-weatherinfo-example.html

Page 13: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited

Sensors

• Sensor APIs

– C++ Classes

• QSensor

• QSensorReading

• QSensorFilter

– QML Types

• Sensor Backend

– QSensorBackend

– QSensorManager

– QSensorPluginInterface

• Built-in sensors supported on

– Android, iOS, SailFish and WinRT

• Can implement custom sensors and

backend for any Qt enabled device

1/29/201815

Qt Apps on RaspberryPi for IMU

Sensors, IEW 2017

(IoTShow.in,EFYCONF)

Ref:-doc.qt.io/qt-5/qtsensors-cpp.html

Page 14: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited1/29/201816

IOT Platform Connectivity

Page 15: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited

MQTT APIs

• qmqtt by Erlang MQTT Broker (https://github.com/emqtt/qmqtt)

• Types - QMQTT::Client, QMQTT::Message

• QMQTT::Client properties for connect options

• QMQTT::Client Signals

– connected, disconnected

– subscribed, unsubscribed

– published

– received

• QMQTT::Client Slots/Methods

– conenctToHost, disconnectFromHost

– publish

– subscribe, unsubscribe

• Support for MQTT over SSL, WebSockets

1/29/201817

Page 16: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited

HTTP REST APIs

• Built-in Network Classes from Qt SDK

– QUrl for URL formation/parsing

– QUrlQuery for QueryString operations

– QNetworkAccessManager (HTTP/HTTPS)

– QNetworkRequest (GET, POST, PUT, DELETE)

– QNetworkReply

• Authentication Support

– Basic Authentication (Headers/URL)

– OAuth 1.0/2.0

1/29/201818

Qt Programming for HTTP REST Clients, Open Source For You, May 2017

opensourceforu.com/2017/06/qt-programming-http-rest-clients/

Page 17: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited

JSON APIs

• APIs

– QJsonDocument

• QJsonDocument::fromVariant //encoding from QVariantMap

• QJsonDocument::fromJson //for parsing

• Conversions to ByteArray, JSON Object

– QJsonObject

• Retrieve values based on key

• Iterators for STL style navigation

– QJsonValue

• Conversions with other types, JSON Object, JSON Array

– QJsonArray

• Iterators for STL style navigation

1/29/201819

Page 18: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited1/29/201820

Reference Demo

Page 19: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited

Demo :: IOT Platform Connectivity - ThingsBoard

1/29/201821

ThingsBoard

Dashboard

(Mobile/Web)

HVAC

Application

Time SeriesTelemetry

Page 20: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited

Cross Compiling Qt Apps

• Qt For Device Creation

• Boot to Qt

• Qt Platform Abstraction(QPA)

• Building Target SDK

• Device Specifications

• Qt Creator Support

• On Device Debugging

1/29/201822

Ref:- www1.qt.io/prebuilt-software-stack

raspberrypi.org

Page 21: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

© KPIT Technologies Limited

References

• https://www.qt.io/qt-in-automotive/

• https://www.qt.io/qt-in-iot/

• https://www1.qt.io/qt-automotive-suite

• https://doc.qt.io/QtAutomotiveSuite/

• https://www.qt.io/qt-for-device-creation/

• https://doc.qt.io/qt-5/qtcanbus-backends.html

• http://doc.qt.io/qt-5/qtlocation-index.html

• http://doc.qt.io/qt-5/qtpositioning-index.html

• https://doc.qt.io/qt-5/qtsensors-index.html

• http://doc.qt.io/qt-5/topics-network-connectivity.html

• http://doc.qt.io/qt-5/json.html

1/29/201823

Ref:- www1.qt.io/qt-automotive-suite/

Page 22: Qt/QML Applications For Connected Automotive … · Development Centers located in India, US, ... – Infotainment Systems – Instrumentation Clusters ... Qt Automotive Suite

Technologies for a better world

Thank you