tizen iot: overview and future (tdc2017) - amazon … native api c#-native api c# native...

28
1 Copyright © 2017 Samsung. All Rights Reserved. O-Hoon Kwon, Ph.D. Samsung Electronics

Upload: tranhuong

Post on 03-Apr-2018

245 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

1

Copyright © 2017 Samsung. All Rights Reserved.

O-Hoon Kwon, Ph.D.

Samsung Electronics

Page 2: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

2

• Tizen

– Linux kernel based Embedded OS for wide range of devices, where Mobile, Wearable, TV are maintained as device profiles with managed APIs for the backward compatibility of applications

• Tizen IoT

– New direction of Tizen to support IoT Devices, where the features of IoT devices cannot be limited with a fixed set of APIs

• Welcome to visit us at the exhibition booth, “Tizen IoT Bringup & Remote Firmware Update”

“Tizen IoT Platform UX : Macaron”

Intro

Page 3: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

3

WHAT IS TIZEN IOT?

From Tizen 4.0

Page 4: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

4 4

Embedded OS for IoT Devices □ Tizen IoT is a linux kernel based Embedded OS for IoT Devices, where the form factors of IoT

Devices are not limited with a fixed set of APIs like Mobile, Wearable or TV Profile.

No Headless Device Type

Could not create new device via PDK

Only Mobile/Wearable/TV Profile maintained

Headless Device Type

- Profile is not maintained.

- Any headless device can be created via PDK.

Headed Device Type

- TV/Mobile/Wearable Profile are maintained.

- Any headed device can be created via PDK.

Tizen 3.0 or before Tizen 4.0 or after

Page 5: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

5

Device Ecosystem for IoT

Tizen IoT Core

System Network Sensor

Tizen IoT Core

System Network Window

MM UI FW

Headless Presets

Headed Presets

Building Blocks

System

Network

UI FW

Multimedia

Window

Sensor

Input

Tizen IoT Core

Web/Widget FW

IoT.js FW

Lightweight App FW

Lightweight App Security

Peripheral IO Wifi/IoTivity

Location Voice

Open Source Contribution

Open Device Contribution

IoT Device Presets

Open Hardware (RPi3, Artik5, Artik7)

□ Building blocks qualified in legacy profiles will be reused for creating new IoT devices.

□ A small number of IoT device presets will be given in PDK/TIC (Tizen Image Creator).

□ Any IoT device will be created with TIC and contributed as a new IoT device preset.

Page 6: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

6

1. HARDWARE SUPPORT

What do we provide for Tizen IoT?

Page 7: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

7 7

Hardware Plugin Architecture □ Hardware related core frameworks have their specific plugin architectures

– Hardware Abstraction Layer including HW independent and dependent modules.

□ According to Tizen Porting Guide (https://wiki.tizen.org/Tizen_3.0_Porting_Guide),

new hardware plugin for each core framework can be implemented and supported

Hardware Plugin Modules

Hardware Plugins

Kernel

Core

Applications

JS Native Applications C-Native Applications

Display/GPU Plug-ins

Video/Audio Plug-ins

Connectivity Plug-ins

System FW Plug-ins

Modem / Modem Interface Plug-ins

Sensor Plug-ins

IoT.js Native API C#-Native API

C#-Native Applications

C-Native API

Buffer Mgr. Plug-in

Input Network GPU Display Multimedia Audio Security Power Sensor

Device drivers

App FW Web FW Messaging Context

Multimedia Security System FW Network & Connectivity

Telephony Graphics &

Window System Sensor Base Library

UI FW .Net FW Location

Page 8: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

8 8

Supported Hardware □ RPi3/Artik5/Artik7 will be supported as open hardware platforms in Tizen 4.0

Platform Artik 520 Artik 710 Raspberry Pi 3

CPU Nexell S5P4418 1.2GHz 4-core ARM Coretex A9

Nexell S5P6818 1.4GHz 8-core ARM Coretex A53

Broadcom BCM2837 1.2GHz 4-core ARM Cortex A53

Memory 512MB DDR3 4GB eMMC

1GB DDR3 4GB eMMC

1GB RAM

Storage MicroSD card slot MicroSD card slot MicroSD card slot

Display HDMI, DSI-4 HDMI, DSI-4 HDMI

Camera CSI-4 CSI-4 CSI-2

Audio 3.5mm Analog Output 3.5mm Analog Output USB 2.0 3.5mm Analog Output

Network

10/100/1000 Ethernet Wi-Fi 802.11 a/b/g/n Bluetooth 4.2 ZigBee

10/100/1000 Ethernet Wi-Fi 802.11 a/b/g/n/ac Bluetooth 4.1 ZigBee

10/100/1000 Ethernet Wi-Fi 802.11n Bluetooth® 4.1

USB 2x USB 2.0 Host/OTG 2xUSB 2.0 Host/OTG 4x USB 2.0 Host

Supported Device Type

Headed Headless (TBD)

Headed Headless (TBD)

Headless Headed (TBD)

Page 9: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

9

2. PERIPHERAL SUPPORT

What do we provide for Tizen IoT?

Main Board (RPi3/Artik)

Peripheral #2

Peripheral #1

Page 10: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

10

Peripheral IO FW

Images from samsung.com

IoT Board kernel GPIO

Native Application &

Peripheral-io API

JS Application & .

IoT.js/JerryScript

Service Daemon (periperal-bus)

User Space Drivers

UART SPI PWM I2C

User Space Drivers

Sensor Actuator LED 7-segment

display GPS

□ All device drivers of various peripherals cannot

be included in Embedded OS for IoT Devices.

□ Low-level Peripheral Interfaces for IoT Apps

– GPIO, UART, SPI, PWM, I2C will be supported.

– The access control and resource management for

each peripheral b/w IoT applications should be

provided with Service Daemon.

Page 11: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

11

Extensible Sensor FW

Images from samsung.com

□ More flexible way to add new application-level sensors with legacy sensor APIs

– The former way is to implement kernel drivers and sensor HAL, but not suitable to support the variety of IoT devices.

□ Native API for creating application-level sensors in Sensor Provider App

– It allows “sensor provider apps” to define/publish new sensors for “sensor listener apps”.

– No limit on the sensor data sources.

• E.g. Peripheral IO, Platform Sensor

Sensor Framework

Application Sensor Application Sensor

HAL

Kernel Drivers

Platform Sensor Platform Sensor

Sensor Lister App Sensor Provider App

Listen Create Publish

OCF Peripheral IO

… …

Data Sources Sensor Plugins

Senso

r

Senso

r

Senso

r

Senso

r …

Page 12: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

12

3. IOT APP MODEL

What do we provide for Tizen IoT?

Page 13: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

13 13

Supported App Types □ Characteristics of IoT App

– App developers want to develop a simple IoT App quickly and easily.

• e.g. sensing and collecting data from the device, communicating with IoT cloud

– IoT App Model may not need legacy UI framework.

• e.g. APIs for controlling simple LED might be supported

□ IoT App Types

– Headless (with Lightweight App FW)

• C Native App

• JS Native App based on IoT.js runtime

– Headed (with Legacy App FW)

• C Native App

• C# Native App based on .Net runtime

Linux Kernel & Drivers

Core

Applications

JS Native Applications C-Native Applications

IoT.js Native API C#-Native API

C#-Native Applications

C-Native API

App FW Web FW Messaging Context

Multimedia Security System FW Network & Connectivity

Telephony Graphics & Window

Sensor Base Library

UI FW .Net FW Location

Page 14: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

14

Lightweight App FW

Package Manager

app package database

1. App package install/uninstall/update request

Application Launcher

2. Manages App package db

3. Load App info from db

app A

app B

4. App launch request

5. App process is forked by the launcher

□ Package Manager to Deploy Apps

– Install/Uninstall/Update App packages with legacy Tizen Packaging format (tpk)

– Apps can be preloaded, downloaded and installed/updated/uninstalled in runtime

□ Application Launcher to Manage the Process Life Cycle of Apps

– Manage App processes : Launch, Terminate, Recover App processes

– Each App is launched as a separated process with its protected memory

– Some Apps can be launched when system boots and keep running state while the system is on

– Some Apps can be launched on demand by some commands

Page 15: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

15 15

IoT App Security □ App Sandboxing

– Each app has its own Smack(Simplified Mandatory Access Control Kernel) label.

• Each app can not send IPC and signal, read/write other app files.

□ Access Control

– Important system objects are Smack labeled

• System daemons will make use of Smack and enforce access control

– The privileged accessibility (ex. Privacy related access) by apps is controlled by Cynara (Policy Checker Service)

□ App Signing

– To ensure app integrity and identify a developer and distributor

□ Key Manager

– Secure Repository for keys, certificates, and sensitive data

Page 16: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

16 16

IoT.js/JerryScript □ JerryScript

– Ultra Lightweight JavaScript Engine (Under 160KB Binary size on ARM32 Linux)

– Supports ES5.1 and a few selected ES2015 features (Promise, Typed Array and so on)

□ IoT.js : JavaScript Framework

– Easy to develop by trendy JavaScript programming methodology

– Easy to maintain & modify logic by updating script only

IoT.js

JerryScript Binding I/O Event Binding Additional Binding

IoT.js Core

IoT.js API (Process/Event/Network/…)

JerryScript libtuv Additional Library

(e.g. OCF)

OS (RTOS/Linux)

IoT App

JavaScript

C

Page 17: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

17

4. IOT SERVICE FW

What do we provide for Tizen IoT?

Page 18: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

18 18

OCF / IoTivity □ OCF (Open Connectivity Foundation)

– Standard for IoT Connectivity

□ Iotivity

– Open source implementation for OCF based IoT Connectivity

□ OCF-Cloud

– Supports for easy device registration and control based on IoTivity

– Supports for easy way to create Mediator/Controller and

Enrollee/Controllee devices on Tizen

OCF-Cloud

Enrollee Devices

Tizen Platform

Mediator/Controller Devices

Easy Setup

Page 19: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

19 19

Easy Setup □ A sequence of set-up interactions between mobile users and IoT

devices where the IoT device is ready for users to use.

□ Once Easy-setup is done, IoT device can not only connect to

network, but also be registered to IoTivity cloud server

□ The Goal of Easy Setup is that Mobile provides an

information securely to IoT Device as follows:

– WiFi AP info. such as SSID, PWD, etc.

– Cloud Server info. such as Auth Code, IP Addr, etc.

– Initial device info. such as lang, country, etc.

① Out of box ② Transfer WiFi AP Information via Soft AP Network

OCF Cloud

Resource Directory

④ Transfer Cloud Access information via WiFi AP Network

⑤ Device Registration to IoTivity Cloud server

③ Connect to Home WiFi AP

Page 20: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

20

Samsung IoT Ecosystem

Samsung Connect App

Tizen/Tizen RT device

Tizen/Tizen RT device

Tizen/Tizen RT device

OCF-Cloud

(e.g. Samsung Connect)

□ Tizen/TizenRT makes Device Makers join easily in Samsung IoT Ecosystem

– We will provide an easy way to connect Tizen/TizenRT devices with Samsung Connect

Visit the exhibition booth “IoT Platform UX : Macaron”

Page 21: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

21

5. TIZEN UPDATE

What do we provide for Tizen IoT?

Page 22: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

22 22

Remote Firmware Update

Images from samsung.com

Tizen Mobile (TM1) Tizen IoT (RasPI3)

OCF cloud

update

-device signup

-register firmware resource

-get firmware info (pull/push)

-download/update request

-push for presence

-get device list

-observe resource & push -download/update request

content server

Remote Installer

Tizen Mobile

web-plugins

-download new firmware

iotivity iotivity

-easy setup

Tizen Update

Tizen IoT Core

Tizen OTA

LAMP

Page 23: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

23 23

Raspberry Pi3

$ ./flash_sdcard flashing. . . . . . . . done. $

1. Flash firmware and start

2. Check firmware version by phone

3. Run firmware update from phone

Remote Firmware Update

Visit the exhibition booth “Remote Firmware Update”

Page 24: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

24 24

Raspberry Pi3

OCF-Cloud

1. Flash firmware and start

2. Check firmware version by phone

3. Run firmware update from phone

Remote Firmware Update

content server

Visit the exhibition booth “Remote Firmware Update”

Page 25: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

25 25

1. Flash firmware and start

2. Check firmware version by phone

3. Run firmware update from phone

Raspberry Pi3

OCF-Cloud

Remote Firmware Update

content server

Visit the exhibition booth “Remote Firmware Update”

Page 26: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

26

Dockerization

Images from samsung.com

□ New Deployment Method of Tizen Platform & Application for IoT

– Creates Tizen-Docker Image including overall platform & applications

– Extends Tizen-Docker image with existing Building-blocks

□ Docker Services will be available for Dockerized Tizen Platform

– Deploys and Updates Tizen-Docker image with Docker-Hub Service

– Monitors and Manages Tizen-Docker image with Additional Docker-Cloud Services

Docker Image Registry

[Host OS] tizen-minimal / bare-os

[Container] Tizen-Docker

dockzen-launcher

Linux kernel

docker-engine

dockzen-agent

update-server

kernel + Host

tizen-iot-core

kernel + Host

tizen-iot-core

Multimedia fw

kernel + Host

tizen-iot-core

Voice fw

Extends Extends

Page 27: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

27

CONCLUSION

Page 28: Tizen IoT: Overview and future (TDC2017) - Amazon … Native API C#-Native API C# Native Applications C-Native API Web FW App FW Messaging Context Multimedia System FW Security Network

28 28

Summary □ Open Hardware for Tizen IoT

– Raspberry Pi3, Artik 520, Artik 710 for Headed & Headless

– Peripheral IO FW and Extensible Sensor FW for User-Space Peripherals and Sensors

□ IoT App Model

– C-Native, C#-Native and IoT.js App will be supported

□ Samsung IoT Ecosystem

– IoT Devices with Tizen & Tizen RT will be able to easily join in Samsung IoT Ecosystem

□ Tizen Update (Preview)

– Remote Firmware Update

– Dockerized Tizen Platform