32
Developing apps for Recon HUDs Xavier Hallade, Application Engineer, Intel Corporation

Apps development for Recon HUDs

Embed Size (px)

Citation preview

Page 1: Apps development for Recon HUDs

Developing apps for Recon HUDsXavier Hallade, Application Engineer, Intel Corporation

Page 2: Apps development for Recon HUDs

Agenda

- Recon devices and Recon OS

- OS, dev environment and SDK

- Apps distribution

- Examples of Apps

- Q&A

Page 3: Apps development for Recon HUDs

Recon ?• Founded in 2008

• First product launched in 2010

• MOD / Oakley Airwave in 2012

• Snow2 in 2013

• Jet in 2015

• buy out, Jet Pro

Page 4: Apps development for Recon HUDs

Smart eyewear for sports and high-intensity environments

RECON JET BENEFITS Recon Jet / Jet Pro

● Metrics – Key information are delivered in real time, just below your eye.

● Camera – record your point of view with still pictures and 720p videos

● Notifications – get text and call notifications from your phone.

● Connectivity – share and get metrics, photos and videos over BLE/WiFi.

Page 5: Apps development for Recon HUDs

HARDWARE SPECIFICATIONS

• 16:9 WQVGA display

• GPS: Powers Jet’s Maps app, enabling location sharing, buddy

tracking, and more.

• Pressure sensor and 9-axis sensor suite

• WiFi, Bluetooth 4.0

• ANT+ sensors support (up to 8)

• Optical touch sensor

• Camera: 720p videos and FHD photos

• Speaker, Microphone

• Swappable batteries: 2-5 hours battery life each

• IP65 water resistant

Recon Jet Hardware Specifications

Available in retail for 499$/499€

Page 6: Apps development for Recon HUDs

Recon Jet demo

Page 7: Apps development for Recon HUDs

Recon Jet demo

Page 8: Apps development for Recon HUDs

Recon Jet demo

Page 9: Apps development for Recon HUDs

Recon OS and SDK

Page 10: Apps development for Recon HUDs

Recon OS (4.6)

AOSP Android 4.1

+ UI toolkit

+ BLE support backported from Android 4.4

+ Head Location

+ Glance Detection

+ Connectivity

Page 11: Apps development for Recon HUDs

Recon OS (4.6)

AOSP Android 4.1

compile 'com.reconinstruments.app:recon-application:4.4.0'

+ UI toolkit

compile 'com.reconinstruments.ui:recon-ui:4.4.0'

+ BLE support backported from Android 4.4

+ Head Location, Glance Detection, Connectivity…

provided 'com.reconinstruments.os:recon-platform:4.4.0'

Page 12: Apps development for Recon HUDs

Setting up the emulator

https://github.com/ReconInstruments/sdk/blob/master/Tools/devices.xml-> ~/.android/devices.xml

Page 13: Apps development for Recon HUDs

Setting up the emulator

Page 14: Apps development for Recon HUDs

UI Toolkit

https://github.com/ReconInstruments/sdk/tree/master/Samples/ReconUIExamples

Page 15: Apps development for Recon HUDs

UI Toolkit

https://github.com/ReconInstruments/sdk/tree/master/Samples/ReconUIExamples

<com.reconinstruments.ui.* />carousel.CarouselViewPager, list.ReconListView, view.ButtonActionView…

@style/recon_*@style/ReconTheme.*

<LinearLayout style="@style/recon_button_action_bar"><com.reconinstruments.ui.view.ButtonActionView

style="@style/recon_button_action"auto:actionText="OK" auto:buttonType="select" />

<com.reconinstruments.ui.view.ButtonActionViewstyle="@style/recon_button_action"auto:actionText="BACK" auto:buttonType="back" />

</LinearLayout>

Page 16: Apps development for Recon HUDs

Head Location

import com.reconinstruments.os.HUDOS;import com.reconinstruments.os.hardware.sensors.*;

mHUDHeadingManager = (HUDHeadingManager) HUDOS.getHUDService(HUDOS.HUD_HEADING_SERVICE);

interface HeadLocationListener {void onHeadLocation(float yaw, float pitch, float roll);

}

onResume: mManager.register(listener)onPause: mManager.unregister(listener)

https://github.com/ReconInstruments/sdk/tree/master/Samples/DemoCompass

Page 17: Apps development for Recon HUDs

Metricsimport com.reconinstruments.os.HUDOS;import com.reconinstruments.os.metrics.*;

mHUDMetricsManager = (HUDMetricsManager)HUDOS.getHUDService(HUDOS.HUD_METRICS_SERVICE);

interface MetricsValueChangedListener {void onMetricsValueChanged(int metricID, float value, long changeTime, boolean isValid);

}

mHUDMetricsManager.(un)registerMetricsListener(listener, HUDMetricsID.XXX);

HUDMetricsID.ALTITUDE_CALIBRATED/PRESSURE/DELTAHUDMetricsID.GRADEHUDMetricsID.SPEED_HORIZONTAL/VERTICAL/3D/PACE

From external sensors: HEART_RATE, SPEED_CADENCE_CADENCE, SPEED_CADENCE_SPEED, SPEED_EXT,CADENCE_EXT

https://github.com/ReconInstruments/sdk/tree/master/Samples/MetricsDemo

Page 18: Apps development for Recon HUDs

Glance Detection

import com.reconinstruments.os.HUDOS;import com.reconinstruments.os.hardware.glance.*;

interface GlanceDetectionListener {void onDetectEvent(boolean detected);

}

onCreate: mManager = (HUDGlanceManager) HUDOS.getHUDService(HUDOS.HUD_GLANCE_SERVICE);

onResume: mManager.registerGlanceDetection(listener)onPause: mManager.unregisterGlanceDetection(listener)

registerGlanceDetection may return HUDGlanceManager.EVENT_UNCALIBRATEDcan use the intent com.reconinstruments.jetappsettings.glancecalibrate

Page 19: Apps development for Recon HUDs

Connectivity*

import com.reconinstruments.os.HUDOS;import com.reconinstruments.os.connectivity.HUDConnectivityManager;import com.reconinstruments.os.connectivity.IHUDConnectivity;

mHUDConnectivityManager = (HUDConnectivityManager) HUDOS.getHUDService(HUDOS.HUD_CONNECTIVITY_SERVICE);System.load("/system/lib/libreconinstruments_jni.so"); //mandatory

interface IHUDConnectivity {void onNetworkEvent(IHUDConnectivity.NetworkEvent networkEvent, boolean hasNetworkAccess);

}

mHUDConnectivityManager.(un)register(listener);

mHUDConnectivityManager.hasWebConnection();HUDHttpRequest response = mHUDConnectivityManager.sendWebRequest(HUDHttpRequest); //blocking

*simplified to its most basic and useful form

Page 20: Apps development for Recon HUDs

Other useful APIs, plain Android

Notifications:

BLE (Android 4.4 API):compileSdkVersion 18 && @SuppressLint("NewApi")

Camera, D-PAD, WiFi, sensors…

Page 21: Apps development for Recon HUDs

Distributing Apps

Page 22: Apps development for Recon HUDs

Visualize your activities

• See complete activity stats, analysis, personal records, and more.

• Chart the course of your activity on a Google Maps inlay.

Share your accomplishments

• Share activities to Facebook, Twitter, etc.

• Export your data to other fitness tracking services (Strava,

TrainingPeaks, etc.).

Manage your Recon device

• Register your device.

• Download third-party apps.

• Customize your device’s metrics

dashboard.

• Download Uplink to get the latest

software updates.

Recon Engage Overview

Page 23: Apps development for Recon HUDs

Recon Engage App Store

https://engage.reconinstruments.com/apps

Page 24: Apps development for Recon HUDs

Recon Engage App Store

https://engage.reconinstruments.com/apps

Page 25: Apps development for Recon HUDs

Recon Jet Pro

http://www.reconinstruments.com/enterprise/jet-pro/

Page 26: Apps development for Recon HUDs

Examples of apps

Page 27: Apps development for Recon HUDs

App for ultralight flyers (prototype)

Page 28: Apps development for Recon HUDs

eyeRegatta

Page 29: Apps development for Recon HUDs

AirWave GoPro connect / MyCamRemote

Page 30: Apps development for Recon HUDs

APX* Skylight

Page 31: Apps development for Recon HUDs

THANK [email protected] - @ph0b - +XavierHallade

Page 32: Apps development for Recon HUDs