ECM (ELO-KIT-ECMG2-AND)



Similar documents
Elo Touch Solutions Elo Tablet Software Update

Design Considerations for DVT and Manufacturing Test of Wireless Devices

Advertiser Campaign SDK Your How-to Guide

Writing Bluetooth Mobile Apps

Introducing BEEKS Proximity Solutions. Developer Kit Gets You Started

Elo Touch Solutions Wall-mounting Kit for the 5501L IDS Touchmonitors

Technical Specifications

PN7120 Windows IoT Porting Guidelines. Rev October

Basic. Exchange Server. Backup and Restoration. A step by step guide to backing up and restoring

AllJoyn Android Environment Setup Guide

ID TECH UniMag Android SDK User Manual

AN4571 Application note

Application Development Setup Guide

TestFlight FAQ Apple Inc.

ZENworks Mobile Management 3.0.x Deployment Quick Start

Everbridge Suite Winter 2015 Release Notes

Configuring and Monitoring SharePoint Servers

Mobila applikationer och trådlösa nät

Tutorial: BlackBerry Object API Application Development. Sybase Unwired Platform 2.2 SP04

Introduction to NaviGenie SDK Client API for Android

WM002 LCD Display Wall Mounting Kit Installation Guide. Welcome

RSA SecurID Software Token 1.3 for iphone and ipad Administrator s Guide

Tutorial: Android Object API Application Development. SAP Mobile Platform 2.3 SP02

Centrify Mobile Authentication Services

Clearview Customer Web Access

USER GUIDE EDBG. Description

Caplin Trader 1.4. Catalog Of Documents. August 2009 C O N F I D E N T I A L

ATBTLC1000 BluSDK USER GUIDE. Bluetooth Low Energy API: Software Development. Description

Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release

Accounts Payable Workflow Guide. Version 11.2

HyperFS PC Client Tools

Mobile App Quick Start

An Oracle White Paper July Introducing the Oracle Home User in Oracle Database 12c for Microsoft Windows

VThis A PP NOTE INTRODUCTION TO FACTORYARRAY

PrinterOn Mobile App for ios and Android

Smart Solutions to your IT Challenges

Sending and Receiving Data via Bluetooth with an Android Device

Tutorial: Android Object API Application Development. SAP Mobile Platform 2.3

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

Accounts Payable Workflow Guide. Version 12.0

BES10 Cloud architecture and data flows

PANAVISION Panalog After Effects Plugin

New Features for Sybase Mobile SDK and Runtime. Sybase Unwired Platform 2.1 ESD #2

3.2 inch QVGA TFT Color LCD User s Guide Version 1 & 2

SAP Business Intelligence Platform Translation Management Tool SDK Developer Guide

Tutorial: Android Object API Application Development. Sybase Unwired Platform 2.2 SP02

User Guide Novell iprint 1.1 March 2015

A Complete Study of Chatting Room System based on Android Bluetooth

Developer Guide: Android Object API Applications. SAP Mobile Platform 2.3 SP02

SolarWinds. Understanding SolarWinds Charts and Graphs Technical Reference

Getting Started Android + Linux. February 27 th, 2014

AvePoint Timeline Pro for Microsoft Dynamics CRM. Installation and Configuration Guide

Skynax. Mobility Management System. System Manual

IBM TRIRIGA Anywhere Version 10 Release 4. Installing a development environment

AvePoint SearchAll for Microsoft Dynamics CRM

Using the TASKING Software Platform for AURIX

AvePoint Record Rollback for Microsoft Dynamics CRM

SAP Mobile Documents. December, 2015

Samsung KNOX EMM Authentication Services. SDK Quick Start Guide

Module Title: Software Development A: Mobile Application Development

WNMS Mobile Application

Elo PayPoint for Windows All-in-One Point-of-Sale Platform

Android on Intel Course App Development - Advanced

Frameworks & Android. Programmeertechnieken, Tim Cocx

Tutorial Reference Manual. Java WireFusion 4.1

Configuring and Monitoring FTP Servers

Installation Guide. Wyse C Class 2-GB RAM Upgrade Option Kit. Issue: PN: L Rev. A

Android, Bluetooth and MIAC

TIBCO ActiveMatrix BusinessWorks Plug-in for Microsoft SharePoint Release Notes

Spring Design ScreenShare Service SDK Instructions

Implementing SPI Master and Slave Functionality Using the Z8 Encore! F083A

Intel HTML5 Development Environment. Tutorial Building an Apple ios* Application Binary

zseries 18-Slot Chassis 18-Slot 3U PXI Express Chassis with AC Up to 8 GB/s

Manage Oracle Database Users and Roles Centrally in Active Directory or Sun Directory. Overview August 2008

APPLICATION MANAGEMENT SUITE FOR ORACLE E-BUSINESS SUITE APPLICATIONS

ANDROID BASED SECURITY AND HOME AUTOMATION SYSTEM

PeopleSoft Mobile Inventory Management for Healthcare

IST STREP Project. Deliverable D3.3.1u Middleware User s Guide Multi-Radio Device Management Layer.

PM0237 Programming manual

Pretec 34-in-1 Card Reader USIMEditor User s Manual. User s Manual

IC L10: Seamless Encryption of Data Sync'ing to Dropbox Using Symantec File Share Encryption

Setting up Visual Enterprise Integration (WM6)

EMC DOCUMENT SCIENCES XPRESSION ENTERPRISE INTEGRATION

An Oracle White Paper February Oracle Data Integrator 12c Architecture Overview

SAP Mobile - Webinar Series SAP Mobile Platform 3.0 Security Concepts and Features

2 Configuring GroupWise Mobility Service to Support Microsoft Outlook Clients

USIMEditor User s Manual

Jobs Guide Identity Manager February 10, 2012

Oracle Sales For Handhelds

Application Note: AN00141 xcore-xa - Application Development

ORACLE ADF MOBILE DATA SHEET

Dell Mobile Management. Apple Device Enrollment Program

Transcription:

Software SDK USER GUIDE Elo Touch Solutions I-Series Interactive Signage ESY10i1, ESY15i1, ESY22i1 Android ECM (ELO-KIT-ECMG2-AND) SW602422 Rev A I-Series and Android ECM Software Development Kit User Guide SW602422 Rev A, Page 1 of 25

Copyright 2016 Elo Touch Solutions, Inc. All Rights Reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language or computer language, in any form or by any means, including, but not limited to, electronic, magnetic, optical, chemical, manual, or otherwise without prior written permission of Elo Touch Solutions, Inc. Disclaimer The information in this document is subject to change without notice. Elo Touch Solutions, Inc. and its affiliates (collectively "Elo") makes no representations or warranties with respect to the contents herein, and specifically disclaims any implied warranties of merchantability or fitness for a particular purpose. Elo reserves the right to revise this publication and to make changes from time to time in the content hereof without obligation of Elo to notify any person of such revisions or changes. Trademark Acknowledgments AccuTouch, CarrollTouch, Elo (logo), Elo Touch Solutions, Elo TouchSystems, IntelliTouch, itouch are trademarks of Elo and its Affiliates. Windows is a trademark of Microsoft Corporation. SW602422 Rev A, Page 2 of 25

Table of Contents Chapter 1: Introduction... 4 Overview... 4 Chapter 2: SDK File Structure... 5 File Structure... 5 Chapter 3: How to use SDK... 6 Procedure for Eclipse... 6 Chapter 4: Peripheral API... 8 Glossary... 8 System Overview... 8 ELOPeripheralManager and ELOPeripheralEventListener 11 Bluetooth Adapter... 16 SW602422 Rev A, Page 3 of 25

Chapter 1: Introduction Overview ELO software SDK allows developers to use the specific API for their own application. This SDK allows developers to control the ELO peripheral Test App, GPIO interface and use ibeacon functions. Before developing applications with functions leveraging ibeacon technology, please make sure to first visit Apple ibeacon website (https://developer.apple.com/ibeacon/) to review and sign the online agreement before you develop related applications. ibeacon related documents are available from Apple s website. SW602422 Rev A, Page 4 of 25

Chapter 2: SDK File Structure File Structure 1. Docs: Javadoc for ibeacon/peripheral api 2. EloPeripheralTool: Source code for EloPeripheralTool 3. android.elo.jar: SDK jar for ibeacon/peripheral API 4. EloPeripheralTool.apk: Sample app Note: Screenshot of EloPeripheralTool application below: SW602422 Rev A, Page 5 of 25

Chapter 3: How to use SDK Procedure for Eclipse 1. Modify the Java Build Path class order to make the android.elo.jar be ahead of the android.jar. 2. Import the android.elo.jar into Android Private Libraries to avoid conflict with Bluetooth API. SW602422 Rev A, Page 6 of 25

3. After those are done, you could develop with ELO API. If you have questions for API definition, please go to docs/elo folder and launch the index.html. You could get the details of API. SW602422 Rev A, Page 7 of 25

Chapter 4: Peripheral API Glossary Abbreviations: SoC: System on a chip Terms IDLE_MODE: ELO specification for device interaction with POWER_KEY action MSR: Magnetic Stripe Reader BCR: Barcode Reader NFC: Near Field Communication ELOPeripheralService: The fundamental class to provide different functions for ELO application development. System Overview Fig 4-1 below shows the software stack of Android system. This implementation based on Android design and extends the framework functionality at java services layer to fulfill customer requirement. The extended functionality at java service is named as ELOPeripheralService which provides the interfaces for application development. SW602422 Rev A, Page 8 of 25

Fig 4-1. Android System Structure 1. Android Framework Java Service Based on developed programming language, Android services can be divided into native (C base) and java service. Android services are a kind of server-client structure where the server side can receive a request from the client and output the result to client. Also, the server-client structure can deal with synchronization issues from multi-client requests. Therefore, this framework ability, which forms the fundamental class ELOPeripheralService, is based on this kind of server-client design feature from Android. SW602422 Rev A, Page 9 of 25

2. ELOPeripheralService ELOPeripheralService is the major module to act client request from application layer. In order to complete the Android framework system design for service then below classes is added into system: ELOPeripheralNative Execution of some native-c function flows for ELOPeripheralService ELOPeripheralManager Provides the interface to the application layer, which is the client component relative to ELOPeripheralService EloPeripheralEventListener Application extends abstract class to receive the driven event from EloPeripheralManager Uses event driven notification method to notify the application program about the status change IELOPeripheralService.aidl Android programming language for java layer IPC communication Used for Client-Server (ELOPeripheralManager-ELOPeripheralService) IPC communication where sending the application s request to server side IELOPeripheralServiceListener.aidl Android programming language for java layer IPC communication Used for server to notify the event driven status change to ELOPeripheralManager then ELOPeripheralManager will notify to application layer SW602422 Rev A, Page 10 of 25

Figure 2-2. ELOPeripheralService ELOPeripheralManager and ELOPeripheralEventListener As we mentioned at last section, ELOPeripheralManager and ELOPeripheralEventListener will be the component to provide interface for application development. Therefore, we provide the inner member data of ELOPeripheralManager and ELOPeripheralEventListener as below. 1. ELOPeripheralManager Inside this manager contains some inner class member as below and for each inner class provides specific functionality to peripheral equipment or defined action flow. SW602422 Rev A, Page 11 of 25

ELOPeripheralManager public void registerlistener(eloperipheraleventlistener listener) public void unregisterlistener(eloperipheraleventlistener listener) mbcr_apis mmsr_apis mnfc_apis mgpio_apis midle_apis public void registerlistener(eloperipheraleventlistener listener) o Provides interface for application to register the feedback structure instance o Needs to register before request (Activity life cycle: onresume) public void unregisterlistener(eloperipheraleventlistener listener) o Provides interface for application to unregister the feedback structure instance o Needs to unregister before leave the application (Activity life cycle: onpause) 1.1. BCR activebcr o Activates the BCR device to reading the barcode databcr is active and successful reading the barcode sequence data then system by ELOPeripheralEventListener to notify application about the receiving data disactivebcr SW602422 Rev A, Page 12 of 25

o Deactivate the BCR device reading action isbcrdeviceconnected o Check the BCR device is connection with Android device or not 1.2. GPIOs pullhighgpio o Pull high the state of GPIO-iface PullLowGPIO o Pull low the state of GPIO-iface disactivebcr getgpiointerfaces o Get the list string data of interest GPIOs at designed system. o Refer to Table 3-1 GPIOs list Note: o The pull action only workable with output pin defined GPIO o The input pin defined GPIO can notify the application about the status change by ELOPeripheralEventListener also GPIOs gpio80 gpio81 gpio82 Table 3-1 GPIOs List PIN define Output Input Input SW602422 Rev A, Page 13 of 25

1.3. IDLE activeidlemode o Force system to enter IDLE_MODE (IDLE_MODE on) disactiveidlemode o Force system to leave IDLE_MODE (IDLE_MODE off) 2. ELOPeripheralEventListener onbcr_statechange o Refer to Table 3-2 o Notify the application about the BCR status change data ongpio_statechange o Refer to Table 3-2 o Notify the application about the GPIOs status change data SW602422 Rev A, Page 14 of 25

BCR state value ELOPeripheralManager.BCR_STATE_DEVICE_CONNECTION 1 << 0 ELOPeripheralManager.BCR_STATE_DEVICE_DISCONNECTION 1 << 1 ELOPeripheralManager.BCR_STATE_DATA_RECEIVIED 1 << 2 ELOPeripheralManager.BCR_STATE_PIN_AUTO_DISABLE 1 << 3 GPIO state value ELOPeripheralManager.GPIO_STATE_HIGH 1 << 4 ELOPeripheralManager.GPIO_STATE_LOW 1 << 5 GPIO data gpio81 gpio82 Table 3-2 SW602422 Rev A, Page 15 of 25

Bluetooth Adapter Class BluetoothAdapter java.lang.object android.bluetooth.bluetoothadapter public final class BluetoothAdapter extends java.lang.object Represents the local device Bluetooth adapter. The BluetoothAdapter lets you perform fundamental Bluetooth tasks, such as initiate device discovery, query a list of bonded (paired) devices, instantiate a BluetoothDevice using a known MAC address, and create a BluetoothServerSocket to listen for connection requests from other devices, and start a scan for Bluetooth LE devices. To get a BluetoothAdapter representing the local Bluetooth adapter, when running on JELLY_BEAN_MR1 and below, call the static getdefaultadapter() method; when running on JELLY_BEAN_MR2 and higher, retrieve it through Context.getSystemService(java.lang.String) with Context.BLUETOOTH_SERVICE. Fundamentally, this is your starting point for all Bluetooth actions. Once you have the local adapter, you can get a set of BluetoothDevice objects representing all paired devices withgetbondeddevices(); start device discovery with startdiscovery(); or create a BluetoothServerSocket to listen for incoming connection requests withlistenusingrfcommwithservicerecord(string,uuid); or start a scan for Bluetooth LE devices with startlescan(lescancallback callback). Note: Most methods require the Manifest.permission.BLUETOOTH permission and some also require the Manifest.permission.BLUETOOTH_ADMIN;Manifest.permission.BLUETOOTH_PRIVILEG ED; 1. How to use ibeacon advertise Get BluetoothAdapter: You should get BluetoothAdapter instance by BluetoothManager.getAdapter() defined in BluetoothManager. SW602422 Rev A, Page 16 of 25

Get BluetoothAdvScanData: You should get BluetoothAdvScanData instance by getadvscandata() defined in BluetoothAdvScanData. Set manufacturer data Call BluetoothAdvScanData BluetoothAdvScanData.setManufacturerData(int, byte[]) to set manufacturer data. Start advertising: Now you can call startadvertising(android.bluetooth.bluetoothadapter.advertisecallback) to start advertise. whether advertising: you can call isadvertising() to check start advertise or not. Stop advertising: Now you can call stopadvertising(android.bluetooth.bluetoothadapter.advertisecallback) to stop advertise. SW602422 Rev A, Page 17 of 25

2. BluetoothAdapter.AdvertiseCallback SW602422 Rev A, Page 18 of 25

3. BluetoothAdapter.BluetoothStateChangeCallback SW602422 Rev A, Page 19 of 25

4. BluetoothAdapter.LeScanCallback SW602422 Rev A, Page 20 of 25

5. BluetoothAdvScanData How to use API AndroidManifest.xml <uses-permission android:name="android.permission.bluetooth" /> <uses-permission android:name="android.permission.bluetooth_admin" /> Import classes import android.bluetooth.bluetoothadapter; import android.bluetooth.bluetoothadapter.advertisecallback; import android.bluetooth.bluetoothadvscandata; import android.bluetooth.bluetoothmanager; Use details private BluetoothAdapter mbluetoothadapter; private BluetoothAdvScanData mbluetoothadvscandata; private BluetoothAdapter.AdvertiseCallback madvertisecallback; SW602422 Rev A, Page 21 of 25

//get instance final BluetoothManager bluetoothmanager = (BluetoothManager) getsystemservice(context.bluetooth_service); mbluetoothadapter = bluetoothmanager.getadapter(); mbluetoothadvscandata = mbluetoothadapter.getadvscandata(); final byte[] manufacturerdata = new byte[] { (byte) 0x4c, (byte) 0x00, (byte) 0x02, (byte) 0x15, // fix // proximity uuid 01020304-0506-0708-1112-131415161718 (byte) 0x01, (byte) 0x02, (byte) 0x03, (byte) 0x04, // uuid (byte) 0x05, (byte) 0x06, (byte) 0x07, (byte) 0x08, // uuid (byte) 0x11, (byte) 0x12, (byte) 0x13, (byte) 0x14, // uuid (byte) 0x15, (byte) 0x16, (byte) 0x17, (byte) 0x18, // uuid (byte) 0x01, (byte) 0x01, // major 257 (byte) 0x02, (byte) 0x02, // minor 514 (byte) 0xc5 // Tx Power -59 }; mbluetoothadvscandata.setmanufacturerdata(1, manufacturerdata); mbluetoothadapter.startadvertising(getadvertisecallback()); SW602422 Rev A, Page 22 of 25

//whether BLE is currently advertising, if true stop advertising if(madapter.isadvertising()){ mbluetoothadapter.stopadvertising(getadvertisecallback()); } SW602422 Rev A, Page 23 of 25

SW602422 Rev A, Page 24 of 25

SW602422 Rev A, Page 25 of 25