Bluetooth Low Energy on Android

Similar documents
When is Bluetooth not Bluetooth?

Bluegiga Bluetooth Smart Software v.1.3 5/28/2014 1

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

HOW TO INTEGRATE NFC CONTROLLERS IN LINUX

Android In Industrial Applications. A Field Report

New Tizen Bluetooth Framework

Bluetooth low energy technology Bluegiga Technologies

SMART Technologies. Introducing bluetooth low energy and ibeacon

BT121 Bluetooth Smart Ready Module. May 2015

BT121 Bluetooth Smart Ready Module. July 2016

Beetle. Sharing, flexibility and access control for Bluetooth Low Energy. Amit Levy James Hong Laurynas Riliskis Philip Levis Keith Winstein

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

Bluetooth Low Energy Protocol Stack

BLED112 Bluetooth Smart USB Dongle 9/16/2013 1

Linux NFC Subsystem. Lauro Ramos Venancio Samuel Ortiz 2011, September 9th

Android & Medical system February 15th, Diego Buffa, System Engineer

Beetle: Operating System Support for the Internet of Things

NimBLE - portable Bluetooth stack from Apache Mynewt

Quick Start Guide. Bluetooth Low Energy expansion board based on SPBTLE-RF module for STM32 Nucleo (X-NUCLEO-IDB05A1) Version 1.

HOW TO INTEGRATE NFC FRONTENDS IN LINUX

Android & Medical systems

Introduction to Bluetooth Low Energy

An Incubator Project in the Apache Software Foundation. 13 July 2016

IoT device in Minutes with ST s BlueNRG

Using the BT85x Series with Linux and Windows Relevant to Laird # BT850-SA, BT850-ST, BT851, and associated DVKs

PAN1740 Design Guide

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

UART HCI Bluetooth Module for Linux BT860

Bluetooth Smart: The Good, The Bad, The Ugly... and The Fix

S ENIOR C A PSTONE PROJECT Computer Science Department, Texas Christian University

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

Towards a standard audio HAL for Linux

AOSP Devboard Update & Recent/Future Pain Points. John Stultz

BLE121LR Bluetooth Smart Long Range Module 5/12/2014 1

LM931 Bluetooth low energy Module Standalone (With Embedded Bluetooth v4.1 Stack)

Application of Android Mobile Platform in Remote Medical Monitoring System

Outsmarting Bluetooth Smart. Mike Ryan. isec Patners. CanSecWest. Mar 14, 2014

Quick Start Guide. Bluetooth Low Energy expansion board based on BlueNRG for STM32 Nucleo (X-NUCLEO-IDB04A1) Version 1.

User s Guide. Model: KREZ BALANCE

How to test the USBLE232D and USBLE232DEXA Serial Bluetooth Smart Low Energy Adapter

LM961 Bluetooth Dual Mode Module Standalone (With Embedded Bluetooth v4.1 Stack)

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

Linaro Year 6. BKK16 George Grey, Linaro CEO

Quick Start Guide Model: Denver SW-160

Wireless Sensor Networks BLUETOOTH LOW ENERGY. Flavia Martelli

MANAGING THE CAR CLOUD CONNECTION.

LM910 Bluetooth 4.0 (Classic + LE) HCI Compact USB SMT Module Dual-Mode with 110m Estimated Max. Distance with Integrated Antenna

Internet of Things Bill Siever. New Applications. Needs. Wearables. Embedded Smarts. Simple to Setup. Networking w/ Long Battery Life (Low Power)

Taking Advantage of Bluetooth for Communications and More by Hunyue Yau

Upstreaming Hardware Enablement

Serial Bluetooth Smart Adapter - RS232, Low Energy 4.2 BLE Datasheet and Quick Reference for USBLE232C

Embedded HW/SW Co-Development

BLE010V5 1. (Based on CSR1010) Bluetooth Modules. User s Manual V1.5

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

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

BLUEGIGA BLUETOOTH SMART SOFTWARE

Serial Bluetooth Smart Adapter - RS232, Low Energy 4.1 BLE Datasheet and Quick Reference for BLE232V2

BLE (Based on CSR1011) Bluetooth Module. User s Manual V1.3

Serial Bluetooth Smart Adapter - RS232, Low Energy 4.2 BLE Datasheet and Quick Reference for USBLE232DEXA

ATSAMB11 BluSDK SMART Example Profiles Application User's Guide

Security for Secure IoT: Advanced Architectures for IoT Gateways. Simon Forrest Director of Segment Marketing, Consumer Electronics

Bluetooth Low Energy Portfolio

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

Booting It Successfully For The First Time In Mainline

Tethering an Android Smartphone to USB Devices

LM931 Bluetooth low energy Module

LM930 Bluetooth low energy Module (with IPEX Connector) Standalone (With Embedded Bluetooth v4.1 Stack)

Developing Mission Critical Products with Digi i.mx53 Module

Multi-link support for up to four simultaneous connections in any combination of roles

Leveraging IoT Biometrics and Zephyr RTOS for Neonatal Nursing in Uganda

Click to edit Master title style Buzzing Smart Devices

nblue TM BR-MUSB-LE4.0-S2A (CC2540)

Kony and TIBCO enable fast reliable Websockets Communication. Overview of the integration of WebSockets with TIBCO eftl and the Kony Platform

ANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012

Running Android on the Mainline Graphics Stack. Robert

SW-450 SMARTWATCH. User s Guide. ENGLISH.

H3 System Tele-Healthcare Solution Wearable Sensors. April. 2018

LM930 Bluetooth low energy Module (with U.FL Connector) Standalone (With Embedded Bluetooth v4.1 Stack)

LINUX KERNEL UPDATES FOR AUTOMOTIVE: LESSONS LEARNED

Embedded Audio & Robotic Ear

PRODUCT COMPARISON GUIDE

Operating Systems 2010/2011

Bluetooth Low Energy Protocol Stack

CISS Communication Protocol Bluetooth LE

EMBEDDED SYSTEMS PROGRAMMING Accessing Hardware

Manual Flash Install Android Adobe Tablet >>>CLICK HERE<<<

Device to Cloud. Software Hardware Know How

CSR102x Bluetooth Smart Product Line Overview

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Developing on DragonBoard

Journey to the West: Integrating Cisco IOS- XR with OCP Technologies

SAMSUNG ELECTRONICS RESERVES THE RIGHT TO CHANGE PRODUCTS, INFORMATION AND SPECIFICATIONS WITHOUT NOTICE. Products and specifications discussed

Avantree DG40S User Manual. Contents

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014

Understanding D-Bus. Meetup Toulouse, May Myle ne Josserand embedded Linux and kernel engineering

Operating Systems 2010/2011

BLUETOOTH SMART READY SOFTWARE

Beetle: Many-to-many communication in Bluetooth LE. Amit Levy, Laurynas Riliskis, Philip Levis, David Mazières, and Keith Winstein

Ubuntu Core Certified Hardware Coverage for Ubuntu Core 18

Hands-On Workshop: ARM mbed

Transcription:

Bluetooth Low Energy on Android Getting it done Android Builders Summit 2013 Szymon Janc szymon.janc@tieto.com Łukasz Rymanowski lukasz.rymanowski@tieto.com

Agenda Introduction Quick Bluetooth Low Energy recap Status of Android BLE support Heart Rate profile for Android ICS and JB Bluetooth Low Energy in Android 4.2

About us Łukasz and Szymon are Tieto employees Tieto provides IT and SW engineering services Both working in Local Connectivity area Doing side projects exploring new technologies

Bluetooth Low Energy (aka Smart) Connected Watches Lower power Lower latency Sports and fitness Lower throughput Lower range Medical & Other

Status of Android BLE support No API and support in Google AOSP Current support is a real mess Vendor specific solutions available Broadcom API http://code.google.com/p/broadcom-ble/ http://android-btle.github.com/framework/ GATT based Use Broadcom BT stack Require BT framework extension from Broadcom

Status of Android BLE support (part II) Vendor specific solutions available (cont) Code Aurora Forum API (Qualcomm) https://www.codeaurora.org/contribute/projects/qaep/ Use BlueZ stack own highly modified branch Framework extensions GATT based API Source code available On 4.2 BT framework part 'reverted' to 4.1 and Bluedroid disabled Motorola API http://www.motorola.com/sites/motodev/library/bluetooth_apis.html GATT and Profile based API Probably based on Code Aurora code

Hear Rate profile for Android ICS and JB 4.1 Our approach Android Builders Summit 2013

HRP for ICS and JB 4.1 Bought Polar Heart Rate device Bought BT 4.0 USB dongle Start playing with it Solved teething problems in the stack Idea to add support to Android AOSP

HRP for ICS and JB 4.1 (part II) Keep code close to upstream Use compat-drivers for kernel BT subsystem upgrade Updated BlueZ daemon 4.101+ (up to API breakage for 5.0 release) plugin to handle Android specific tasks and API Expose GATT connect/disconnect on DBus (for generic GATT API) Heart Rate profile implemented in daemon Minimal changes to existing AOSP code Isolate framework and applications changes if possible

HRP for ICS and JB 4.1 (part III) Architecture overview

Demo

Android Jelly Bean 4.2 Challenge accepted Android Builders Summit 2013

Bluetooth on Android 4.2 Major changes to BT subsystem architecture Bluedroid - completely new Bluetooth stack Based on contribution from Broadcom No DBus and system Bluetooth daemon Introduction of BT HAL API No HCI interface for userspace Linux kernel BT subsystem is not used

New architecture and Low Energy Still no Low Energy framework API Bluedroid Low Energy support not present Enabling related flags results in build error Some functions and files implementations are missing Looks like deliberately stripped off Low Energy support No Low Energy related API in BT HAL

Try with BlueZ 5 instead Has full support for Low Energy including number of profiles Community driven so can influence its development BT HAL should minimize change impact on framework Could reuse code from 4.1 solution Some risks related to classic Bluetooth functionality BlueZ targets into not requiring config files in /etc

BlueZ 5 as BT HAL Enable HCI interface for adapter Use compat-drivers for updated kernel Bluetooth subsystem Enable DBus daemon Enable BlueZ 5 daemon Add BT HAL implementation Prepare Tieto BLE Handler Reuse profile components

Tieto BT HAL details libbluez - implements BT HAL API btal library to wrap DBus calls into simple C API (used by libbluez) Provide available profiles by extending get_profile_interface call in BT HAL

Risks and open points Classic Bluetooth support - feature parity with Bluedroid Support for A2DP needs to wrap Media API HS/HFP moved from BlueZ to ofono Google Bluetooth roadmap is unknown e.g. BT HAL changes

Integration K.I.S.S. Synchronize repository In device/foocompany/barproduct Define BOARD_HAVE_BLUETOOTH_BLUEZ in BoardConfig.mk Declare services in init.barproduct.rc DBus daemon, bluetoothd and hciattach Integrate compat-drivers if custom kernel is used

Questions? More about Tieto and Bluetooth Low Energy BlueZ BLE Profiles (contributions) Tieto BLE Component and Demos Android Builders Summit 2013 Hear Rate Profile Cycling Speed and Cadence Profile Medical thermometer Profile Blood Pressure Profile (coming) For Android 4.0-4.2 Heart Rate, Cadence and Multiple sensors BlueZ and Android BLE profiles Blood Pressure demo with customized peripheral

Thank You Bluetooth Low Energy on Android Getting it done Android Builders Summit 2013 Szymon Janc szymon.janc@tieto.com Łukasz Rymanowski lukasz.rymanowski@tieto.com