IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

Similar documents
IoT usecase for Yocto Project

Improving the Yocto Project Developer Experience. How New Tools Will Enable a Better Workflow October 2016 Henry Bruce

Yocto Project components

Yocto Overview. Dexuan Cui Intel Corporation

Mark Skarpness. Director of Embedded Software Intel Software and Services Group

Interoperability Frameworks for RIOT-OS

mbed OS Update Sam Grove Technical Lead, mbed OS June 2017 ARM 2017

Debian & Yocto: State of the Art

Build the unified end to end IoT solution on ARM LEADING COLLABORATION IN THE ARM ECOSYSTEM

Kick Start your Embedded Development with Qt

IOTIVITY INTRODUCTION

Isar. Build Debian-Based Products with BitBake. Baurzhan Ismagulov. Embedded Linux Conference Europe Oct 11-13, 2016 Berlin, Germany

Getting started with the FP-NET-6LPBLE1 function pack for 6LoWPAN IoT node connection to a smartphone via BLE interface

Open Mobile Platforms. EE 392I, Lecture-6 May 4 th, 2010

Digi Embedded Yocto 1.6. First Steps Guide

Smart Organization. Vivek Ghule Department of Computer Engineering Vishwakarma Institute of Information Technology Pune, India

Interoperability. Luca Mottola slides partly by Simon Duquennoy. Politecnico di Milano, Italy and Swedish Institute of Computer Science

Internet of Things: Latest Technology Development and Applications

Qt for Device Creation

Simplifier la mise en production d applications MATLAB. Marc Wolff Application Engineer MathWorks 1

Introduction to Android Android Smartphone Programming. Outline University of Freiburg. What is Android? Background University of Freiburg.

Yocto Project internal tools

Welcome to IoTivity Developer Day. Introduction: Mark Skarpness, Intel VP & Director Embedded Operating Systems

Deby - Reproducible and Maintainable Embedded Linux Environment with Poky

Loosely Coupled Actor Systems

OCF for resource-constrained environments

OCF Specification Overview Core Technology Specification. OCF 2.0 Release June 2018

Wireless Connectivity Options for IoT. By: MIST Makers John Varela and Nicholas Landy

ARM mbed Technical Overview

Linux-based 6LoWPAN border router

X(cross) Development System make AGL application development easier. December 2017 Sébastien Douheret

Tizen Connectivity Support. for IoT Devices. Steve(Taesoo) Jun, Ph.D. Copyright 2017 Samsung. All Rights Reserved.

ARM mbed mbed OS mbed Cloud

Building Debian-Based Products: Experiences in Collaboration

Welcome to IoTivity. Mike Richmond, Executive Director Open Interconnect Consortium

Android Everywhere. Cristina Segal, EMEA Director Android Solutions GM Android testing tools

NEW LIFE FOR EMBEDDED SYSTEMS IN THE INTERNET OF THINGS

CS260 Intro to Java & Android 04.Android Intro

THE RTOS AS THE ENGINE POWERING THE INTERNET OF THINGS

ARM mbed Reference Designs

Introduction to the Yocto Project

The Yocto Project. Chris Young S/W Specialist SILICA Europe. Harmonising Software Development across multiple Embedded ARM SOC targets

Enhancement of CoAP Packet Delivery Performance for Internet of Things. Hang Liu

Track Two Building an Internet Radio with the TI Sitara AM3517 using LinuxLink

X(cross) Development System make AGL application development easier. July 2017 Sébastien Douheret

It s not an embedded Linux distribution It creates a custom one for you. David Stewart Intel Corporation April 11, 2011

IP Based Architecture for the Internet of Things. IPV6 and Related Standards for IoT Interoperability November 20, 2014

RTOS, Linux & Virtualization Wind River Systems, Inc.

Soletta. Closing the IoT Development Gap. OpenIoT & ELC Europe 2016

ETSI M2M workshop Nov 2013

Yocto Project: A Vehicle for Embedded Qt Development

Android Programming in Bluetooth Cochlea Group

IoT and the Role of PLATFORMS. Balajee Sowrirajan SVP and Managing Director Samsung Semiconductors India R&D

Embedded M2M Software Testing

Whitepaper. IoT Protocols. PAASMER Support for Protocols. Website:

Android In Industrial Applications. A Field Report

Trends for Smart Grid Automation and Industry 4.0 Integration. presented by Detlef Raddatz Managing Director SystemCORP Embedded Technology

Introduction to the Yocto Project. Developer s perspective

SIMPLIFYING THE CAR. Helix chassis. Helix chassis. Helix chassis WIND RIVER HELIX CHASSIS WIND RIVER HELIX DRIVE WIND RIVER HELIX CARSYNC

ONEM2M INDUSTRY DAY ALAN SOLOWAY, QUALCOMM. 12 July 2017

IJRDTM Kailash ISBN No Vol.17 Issue

The friendly operating system for the IoT!

Introduction to Adaptive AUTOSAR. Dheeraj Sharma July 27, 2017

Leveraging IoT Biometrics and Zephyr RTOS for Neonatal Nursing in Uganda

IPSO 6LoWPAN IoT Software for Yocto Project* for Intel Atom Processor E3800 Product Family

How to Evaluate a Next Generation Mobile Platform

3 Software Stacks for IoT Solutions. Ian Skerrett Eclipse

Prototyping IoT with. Pierre Ficheux 02/2017. Prototyping IoT with Yocto

Turbo boost your digital app test automation with Jenkins

Khartoum, Sudan Dec 2017

AMM Feb/2018. Frederic Marec Embedded Engineer

How to Route Internet Traffic between A Mobile Application and IoT Device?

Customizing with Yocto. Dexuan Cui Intel Corporation

Team Up: Contributing to the Tizen Platform. Narasimha Swamy Sanjay NM

Content. 1. Overview Setup Demonstration Linux Application Project on DE10-Nano Android Application Project...

Fosdem Feb/2018. Frederic Marec Embedded Engineer

Accelerating IoT with ARM mbed

Building mbed Together: An Overview of mbed OS and How To Get Involved

More info about the competition and the Intel Galileo Gen 2

SUSE Linux Entreprise Server for ARM

IoT Intro. Fernando Solano Warsaw University of Technology

Building a Remote Control Robot with Automotive Grade Linux

Principles for Interoperability in the Internet of Things

IoTivity: The Open Connectivity Foundation and the IoT Challenge

Graphics Performance Analyzer for Android

RDKB IOT GATEWAY INTODUCTION. Khem Raj Linaro Connect BKK16 BKK March 8, 2016

A Language-based Approach to Interoperability of IoT Platforms

How To? OpenIoT, San Diego USA < >

WORKING WITH THE LINUX KERNEL IN THE YOCTO PROJECT SEAN HUDSON EMBEDDED LINUX ARCHITECT

One Platform Kit: The Power to Innovate

IoTivity Programmer s Guide Resource Encapsulation

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

AT&T Flow Designer. Current Environment

Java Embedded on ARM

Bluetooth Smart Development with Blue Gecko Modules. Mikko Savolainen October 2015

Arm Mbed Edge. Shiv Ramamurthi Arm. Arm Tech Symposia Arm Limited

IBM WebSphere Business Integration Event Broker and Message Broker V5.0

An IoT-Aware Architecture for Smart

Adaptive Gateways for Diverse Multiple Environments

Contributing to Automotive Grade Linux and GENIVI Development Platform

Transcription:

IOTIVITY AND EMBEDDED LINUX SUPPORT Kishen Maloor Intel Open Source Technology Center

Outline Open Interconnect Consortium and IoTivity Software development challenges in embedded Yocto Project and how it addresses these challenges Key takeaway: IoTivity over Yocto makes an ideal platform for developing embedded IoT applications This is not a tutorial on Yocto

Open Interconnect Consortium Industry group with several member companies Interoperability standards for IoT devices IoTivity: Reference implementation

What is IoTivity? Internet Of Things Interconnecting physical objects with the digital world Widespread deployment of Low Power Embedded computers IoTivity High-level APIs for IoT Application Developers Exposing things as resources Discovering and manipulating resources over multiple network transports Utilize emerging IoT technologies

Simple Use Cases Turn Lights ON Light bulbs with BLE radios Smartphone Notify Current Setting 75F 75F Smart TV Digital Thermostat Regulate Temperature Tablet

IoTivity Software Stack CoAP coap://<deviceaddress>/temperature IoTivity Stack on an edge device OS Middleware Application C/C++ APIs IoTivity Resource Model & Services Connectivity Abstraction Network Interfaces User space Kernel space Thermostat Protocols and drivers

Emerging Open IoT Protocols 6LoWPAN: IPv6 over Low Power Wireless Personal Area Networks Bluetooth Smart IPSP RPL: Routing over Low Power and Lossy Networks New RFCs being published followed by prototype Linux implementations Growing influence of Linux in IoT

Challenges Heterogeneous nature of targets, CPUs, kernels IoTivity needs to be ported to each and maintained separately. Not easily scalable. IoT rapidly evolving with new protocols Need modular approach to quickly plug-in new IoT protocol implementations

Challenges Embedded development now becoming mainstream with IoT Need cohesive software development infrastructure that is uniform across multiple IoT targets These challenges are addressed by the Yocto Project

Yocto Project http://www.yoctoproject.org/ Hosted at the Linux Foundation Create customized OS images for embedded targets Ready-to-use BSPs for multiple platforms Layer-based flexible build architecture Focus on configurability and reuse Support for major CPU architectures

Yocto Recipes Spec files with.bb extension Represents a meta package Define contents of binary and development packages Dependency relationships between recipes Versioning Interfaces for fetch, patch, configure, compile, install steps Architecture specific switches

Software Layers Related collections of recipes to build applications and middleware Customize build and configuration of BSP and other software layers Recipes with.bbappend extension Package up IoTivity and dependencies in a target agnostic way

Yocto Build Workflow Target Machine Definition BSP OS Image Metadata For Builds And Patches Recipes For Software Components BitBake Build Task Executor Binary And Development Packages Package Feeds SDK Configuration

meta-oic Software Layer git://git.yoctoproject.org/meta-oic Samples IoTivity Resource clients and servers Third-party protocol plug-ins APIs Service Model and Plug-in Manager Resource Model Base Framework Dependencies Kernel Configuration Protocol implementations Middleware Updates

Kernel Builds In Yocto linux-yocto Upstream kernel based trees maintained by the Yocto Project Platform specific branches Recipes for respective kernels linux-yocto-custom Build any git-based kernel

Adding Kernel Features Create a linux-yocto.bbappend recipe to customize the kernel Resides in your layer and distributable Patches Configuration Fragments Create a.cfg and place in your kernel.bbappend #Enable features for IoTivity CONFIG_BT_6LOWPAN=y CONFIG_IEEE802154=y CONFIG_IEEE802154_6LOWPAN=y CONFIG_6LOWPAN_IPHC=y CONFIG_MAC802154=y

Other Supporting Features Distribute new features as patches Middleware Adding a GATT interface for IoTivity to BlueZ Create a.bbappend for the BlueZ recipe Protocol integration RPL (Routing protocol for Low Power and Lossy Networks) XBee module for 802.15.4 support Security related features Opportunity to pack in early implementations of IETF specs via patches

Application Development Application Development Toolkit Standalone cross-compiling toolchain with debugging and profiling tools Constructing an SDK Picks all development packages for target ADT will include IoTivity SDK Generates target ADT for specified build machine architecture IoTivity developers can focus on application development without getting bogged down by details of target

Yocto Eclipse Plug-in Eclipse integration with Yocto ADT Access to cross-compiler, debugging and profiling tools Remote application debugging, step through code Real hardware via network using its IP address QEMU Install Plug-in and point it to your target ADT Configure remote connection in C++ Remote Application under Debug Configurations

Remote Debugging

Releasing Your Application Write a recipe to build your application in the Yocto environment Distribute application packages for specific target platforms

Putting It To Test Built IoTivity and toolchains for Intel Edison and MinnowBoard MAX BSPs available online C++ MinnowBoard/Edison applications built with ADT Android UI IoTivity MinnowBoard Application IoTivity Yocto Resource Aggregation Edison Ambient Light Temperature Application Sensing / Control IoTivity Yocto

To Conclude Yocto provides for greater scale Configure in one place, deploy on any Yocto-based platform Improved embedded IoT app developer experience Linux supports state-of-the-art IoT technologies We ve had promising results

How Can You Participate In IoTivity? IoT application developers Open-source contributors Propose new framework features, use cases https://www.iotivity.org/get-involved IoTivity Mailing List

Resources IoTivity SDK and Samples https://www.iotivity.org/ Open Interconnect Consortium http://openinterconnect.org meta-oic Yocto Layer https://git.yoctoproject.org/cgit/cgit.cgi/meta-oic/about/ Working with kernels in the Yocto Project: Presentation https://www.yoctoproject.org/sites/default/files/devdaykernel-tzanussi-elc-2013.pdf Yocto Eclipse IDE Plug-in: Instructional video http://www.youtube.com/watch?v=3zlou-glsh0

Thanks for your time! Q&A