BT-2000/2200
Developer's Guide
Revision history
MOVERIO Pro Developer's Guide (Rev.1.4)
Adding caution when changing key assign
Adding EDof mode and auto exposure function
Adding description to support BT-2200
Cautions
BT-2000 and BT-2200 use common system software. This document will be described
hereafter by only BT-2000, but please be aware that it is also common to BT-2200.
MOVERIO Pro Developer's Guide (Rev.1.4)
Note the following points when using this guide.
The content of this guide may change without prior notice.
1. Reprinting part or all of this guide without prior permission from Seiko Epson, or reprinting for any other purposes is
strictly prohibited.
2. Programs and usage instructions used in this guide are for reference only, Seiko Epson cannot be held responsible for
any infringements (including industrial property rights) or damage caused to third parties. Furthermore, this guide
does not imply consent to licensing for third parties or industrial property rights for Seiko Epson.
3. This document does not relate to products that require a high level of reliability, such as life support equipment.
Epson accepts no responsibility if this product is used for such circumstances.
©S eiko Epson Corporation 2017. All right reserved.
MOVERIO Pro Developer's Guide (Rev.1.4)
Contents
1. Introduction _______________________________________________ 1
1.1. Product Summary and Functions _____________________________________________________2
1.2. Main System Specifications __________________________________________________________3
1.3. Basic Information for App Development _______________________________________________4
1.4. Other Main Functions _______________________________________________________________5
2. Developing Apps ___________________________________________ 6
2.1. Pre-Caution for Developing Apps______________________________________________________7
2.2. Summary of Developing Apps _________________________________________________________8
2.3. Introduction to the Android SDK ______________________________________________________9
2.4. ADB driver settings _______________________________________________________________ 12
2.5. Connecting the BT-2000 to a computer _______________________________________________ 18
2.6. Including the SDK provided by EPSON ______________________________________________ 20
3. Display control ___________________________________________ 24
3.1. Display control summary___________________________________________________________ 25
3.2. Full screen display function ________________________________________________________ 26
3.3. Switch between 2D/3D display function ______________________________________________ 27
3.4. Backlight control __________________________________________________________________ 29
3.5. Mute function _____________________________________________________________________ 30
3.6. See-through function ______________________________________________________________ 32
4. UI control ________________________________________________ 33
4.1. UI control summary _______________________________________________________________ 34
4.2. Application interface list ___________________________________________________________ 38
4.3. Application interface details ________________________________________________________ 39
5. Voice commands __________________________________________ 41
5.1. Pre-cautions for developing Voice commands Apps ____________________________________ 42
5.2. Voice commands summary _________________________________________________________ 43
5.3. Application interface function summary _____________________________________________ 44
5.4. Application interface list ___________________________________________________________ 45
5.5. Application interface details ________________________________________________________ 47
MOVERIO Pro Developer's Guide (Rev.1.4)
5.6. Sample code ______________________________________________________________________ 55
5.7. Others ___________________________________________________________________________ 57
6. Camera control ___________________________________________ 64
6.1. Pre-cautions for developing camera Apps_____________________________________________ 65
6.2. Function summary ________________________________________________________________ 66
6.3. Available parameters ______________________________________________________________ 67
6.4. Image organization and format _____________________________________________________ 68
6.5. Depth data characteristics _________________________________________________________ 69
6.6. Application interface function summary _____________________________________________ 71
6.7. Application interface list ___________________________________________________________ 72
6.8. Application interface details ________________________________________________________ 74
6.9. Depth Information Acquisition Flow Details _________________________________________ 104
6.10. Sample Code ___________________________________________________________________ 106
6.11. Remarks ______________________________________________________________________ 109
6.12. Android standard camera API Camera.Parameters Class ___________________________ 110
7. Sensor control ___________________________________________ 113
7.1. Sensor control summary __________________________________________________________ 114
7.2. Using the sensor _________________________________________________________________ 117
7.3. Using SensorEventListener _______________________________________________________ 118
7.4. Sample code _____________________________________________________________________ 120
8. Bluetooth/BLE __________________________________________ 121
8.1. Pre-cautions for developing Apps using BLE_________________________________________ 122
8.2. Summary _______________________________________________________________________ 123
8.3. Usage method ___________________________________________________________________ 125
8.4. Remarks & Restrictions for BLE App Development __________________________________ 131
8.5. Import module ___________________________________________________________________ 132
8.6. Application interface list __________________________________________________________ 133
8.7. Supported GATT procedure table __________________________________________________ 135
8.8. Application interface details _______________________________________________________ 136
8.9. BLE Processing Sample Code ______________________________________________________ 168
9. Power control ____________________________________________ 178
9.1. Power control summary ___________________________________________________________ 179
9.2. Acquiring Battery Information _____________________________________________________ 180
MOVERIO Pro Developer's Guide (Rev.1.4)
10.Self-diagnostic function ___________________________________ 181
10.1. Self-diagnostic function _________________________________________________________ 182
11. GPS Assist ______________________________________________ 185
11.1. GPS Assist function summary ___________________________________________________ 186
11.2. Precaution and limitation of using /developing GPS Assist function __________________ 187
11.3. How to use ____________________________________________________________________ 188
11.4. Setting method ________________________________________________________________ 189
11.5. Application interface function summary __________________________________________ 190
11.6. Application interface detail ______________________________________________________ 191
11.7. How to use API for GPS assist ___________________________________________________ 193
MOVERIO Pro Developer's Guide (Rev.1.4)
1. Introduction
MOVERIO Pro Developer's Guide (Rev.1.4)
1
1.1. Product Summary and Functions
The BT-2000/2200 is a smart headset for business use. The same optical see-through
technology as the consumer orientated MOVERIO BT-200 has been adopted. This allows
information to be displayed across a wide viewing area while keeping eye movement to a
minimum, thereby reducing fatigue and making it suitable for use at work. This also allows you
to view your surroundings while projecting an image, which adds an aspect of safety.
The weight of the product is supported by the entire head, allowing you to work for long periods
of time without feeling fatigued. You can work while checking images in a hands-free
environment.
MOVERIO Pro Developer's Guide (Rev.1.4)
2
1.2. Main System Specifications
OMAP4460 (dual core ARM Cortex A9)
Max 1.2 GHz (Auto adjusts according to the system load and
temperature)
8 GB (2 GB reserved for the system)
Battery operated/AC power operated
MicroSD/MicroSDHC supported (32 GB max.)
No. of pixels in LCD panel
960x540 (QHD)/16:9/Refresh rate 60 Hz
80" (for virtual viewing distance of 5 m)
24 bit full color (16,770,000 colors)
Available (only for side by side)
Audio commands: supports Japanese and English
Hardware keys: Power, lock, D-pad/OK key and A, B, X, Y keys
Others: Headset tap input function
Built-in headset, stereo camera
IMU (Gyro/acceleration)/geomagnetic built-in headset
IEEE 802.11a/b/g/n, Wi-Fi Direct
WEP
WPA – Enterprise, Personal
WPA2 – Enterprise, Personal
EAP Types
EAP-TLS
EAP-TTLS/MSCHAPv2
PEAPv0/EAP-MSCHAPv2
PEAPv1/EAP-GTC
A2DP, HSP, HID, OPP, SPP, BLE support
GPS function, GPS Assist function
*Safety shield is applying ANSI/ISEA Z87.1 (2015 version).
MOVERIO Pro Developer's Guide (Rev.1.4)
3
1.3. Basic Information for App Development
Fixed at Landscape (without sensor rotation)
■ HOME, MENU, and BACK keys are supported by hardware keys
■ Touch screen and track pad are not used
■ Except for Wi-Fi, data communication, such as 3G, is not supported
■ This is not a Google Certified device, meaning the following services which require Google
Certification are not available:
- Google Play
- Google location information service
- Additional services only available on Google Certified devices.
MOVERIO Pro Developer's Guide (Rev.1.4)
4
1.4. Other Main Functions
BT-2000 can use below functions. As well as the standard Android API, there are functions that
need EPSON original API. Please refer below charts.
Chart1.4.1 Table of each function and which API to use
The following chapters explain how to use these from an app.
For EPSON original API that needs special caution, please refer Chapter 2.1. Pre-Caution for
Developing Apps.
MOVERIO Pro Developer's Guide (Rev.1.4)
5
2. Developing Apps
MOVERIO Pro Developer's Guide (Rev.1.4)
6
2.1. Pre-Caution for Developing Apps
BT-2000 is using Android platform, but considering the product’ s use purpose, it is applying own
functions. Therefore it is necessary to control by EPSON own API. There are some cases that
Android emulator or Android applications that operated with Android Smartphones may not
operate. Please take attention when transplanting APK or diverting source code. Below API needs
attention specially, please refer details at each chapter.
Module lists that need attention for developing Apps.
Camera ・・・ Chapter 6 Camera control
BLE ・・・ Chapter 8 Bluetooth/BLE
MOVERIO Pro Developer's Guide (Rev.1.4)
7
2.2. Summary of Developing Apps
The BT-2000 has adopted Android as the system software. Therefore, you can develop apps for
the BT-2000 in the same environment as developing apps for Android smartphones. However,
when connecting the BT-2000 with the app development computer, or when using functions
unique to the BT-2000, you need to have the PC settings compatible with BT-2000.
This chapter explains the following procedures necessary to develop apps for the BT-2000.
■ Introduction to the Android SDK
■ ADB driver settings
■ Connecting the BT-2000 to a computer
■ Including the SDK provided by EPSON
MOVERIO Pro Developer's Guide (Rev.1.4)
8
2.3. Introduction to the Android SDK
The introduction to the Android SDK assumes the following steps will be performed in a
Windows7 environment.
2.3.1. Acquiring Android Studio
Download Android Studio from the following Website.
https://developer.android.com/sdk/index.html
2.3.2. Acquiring and installing JDK
Download the JDK (7 or later) from the following Website, and then install.
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
(Not sure if it’s a good idea to include the link above as it may change over time)
2.3.3. Installing Android Studio
Follow the directions provided by the installer to install Android Studio.
Example) C:\ Users\ User name\ AppData\ Local\ Android\ sdk
* From here on, instructions assume Android Studio is installed in the folder above.
MOVERIO Pro Developer's Guide (Rev.1.4)
9
2.3.4. Installing Platform-tools, SDK Platform, and USB Driver
Execute "C:\ Users\ User name\ AppData\ Local\ Android\ sdk\ SDK Manager.exe".
* When you start SDK Manager, the dialog "No packages found" may be displayed.
This occurs when the proxy is not set correctly, and information cannot be updated.
Close all dialogs except for "Android SDK Manager", and then set the proxy in [Tools] -
[Options]. When Proxy settings are unknown, please contact network administrator for
“ Connecting method to external network using Proxy”
MOVERIO Pro Developer's Guide (Rev.1.4)
10
Select the following necessary files in the SDK Manager, and then install.
■ [Tools] - [Android SDK Platform-tools]
■ [Android 4.0.3] - [SDK Platform]
■ [Extras] - [Google USB Driver」
Select the above, click [Install], and then select ‘ Accept’ all.
This completes the introduction to the Android SDK.
Next, we will explain how to connect the BT-2000 to the app development computer, and setting
up the ADB driver.
MOVERIO Pro Developer's Guide (Rev.1.4)
11
2.4. ADB driver settings
> bcdedit -set testsigning on
Here we will explain how to connect the BT-2000 to the app development computer, and set the
ADB driver.
When using Windows8 OS or later, it is required to operate by test mode to install ADB driver.
When using Windows7 OS or before, proceed to “ 2.4.2 When using Windows7 OS or before”.
2.4.1. When using Windows8 OS or later
2.4.1.1. Operate by test mode
1) Run the command prompt as administrator, and run below command.
※When below error occur by running above command, please refer to
”2.4.1.2 When failing test mode command”.
2) Select 「 Setting」→「 Change PC Setting」 from the charm.
3) Select 「 Update and recovery」→「 Recovery」→「 Restart now」 .
4) Select 「 Trouble shoot」→「 Advanced options」 from the menu.
MOVERIO Pro Developer's Guide (Rev.1.4)
12
5) It will reboot after selecting Windows [Startup Settings].
6) [Startup Settings] screen will show after reboot, so select [Disable Driver Signature
Enforcement].
For procedure from here, please proceed to next chapter“ 2.4.2When using When using Windows
7 OS or before”.
MOVERIO Pro Developer's Guide (Rev.1.4)
13
2.4.1.2. When failing test mode command
Test mode command failure is due to lock by Secure Boot.
Please disable Secure Boot by below method.
1)Select 「 Settings」→「 Change PC Settings」 from charm.
2)Select 「 Update and recovery」→「 Recovery」→「 Restart now」 .
3)Select 「 Trouble shoot」→「 Advanced options」→「 UEFI firmware Settings」 .
4) Find Secure Boot Control and change to Disabled.
MOVERIO Pro Developer's Guide (Rev.1.4)
14
5) Save the change and reboot
6) After PC rebooted, operate command prompt by Administrator privileges and run test mode
command.
To make Secure Boot on again, please set by below procedure.
1) Proceed procedure 1) ~ 3) when disabled the setting.
2) Find Secure Boot control and change to Enabled.
3) Save the change and reboot.
7) Execute the procedure of 2.4.1.1 agin.
MOVERIO Pro Developer's Guide (Rev.1.4)
15
2.4.2. When using Windows 7 OS or before
;EPSON MOVERIO BT-2 series MTP
%SingleAdbInterface% = USB_Install, USB¥VID_04B8&PID_0C06
%CompositeAdbInterface% = USB_Install, USB¥VID_04B8&PID_0C06&MI_01
; EPSON MOVERIO BT-2 series PTP
%SingleAdbInterface% = USB_Install, USB¥VID_04B8&PID_0C07
%CompositeAdbInterface% = USB_Install, USB¥VID_04B8&PID_0C07&MI_01
2.4.2.1. Editing the Google USB Driver
Settings for the BT-2000 are added to the Google USB Driver installed in the previous item.
Open [C:\ Users\ User name\ AppData\ Local\ Android\ sdk\ extras\ google\ usb_driver\ android_winusb.inf]
in a text editor, and then add the following 6 lines to 2 points in the [Google.NTx86] and the
[Google.NTamd64].
MOVERIO Pro Developer's Guide (Rev.1.4)
16
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x04B8
2.4.2.2. Vendor ID setting
Set ADB as the vendor ID.
Start the command prompt, run " cd C:\ Users\ User name\ AppData\ Local\ Android\ sdk\ tools " and
change the work folder.
Execute the android.bat, and handle the "update adb" argument as shown below.
The file is created in [C:\ Users\ User name\ .android\ adb_usb.ini]
Open this file (adb_usb.ini) in notepad, and add the vendor ID (0x04B8) as shown below.
This completes setting up the ADB driver in the app development environment.
The next section explains how to connect the BT-2000 to a computer.
MOVERIO Pro Developer's Guide (Rev.1.4)
17
2.5. Connecting the BT-2000 to a computer
This section explains how to connect the BT-2000 to a computer after the ADB driver setting has
been completed.
2.5.1.1. BT-2000 settings
Start the BT-2000, and then select "Settings" - "Developer options" - "USB debugging".
2.5.1.2. Install the BT-2000 driver
Connect a USB cable to the computer on which the BT-2000 is running and the ADB driver
settings are complete.
If the computer does not respond, disconnect the USB cable, restart the BT-2000, and then
reconnect the USB cable.
When "New device detected" is displayed on the computer, select [Control Panel] - [Hardware
and Sound] - [Device Manager].
Right-click [bt2pro] from [Other devices], and then select Update Driver Software.
MOVERIO Pro Developer's Guide (Rev.1.4)
18
Select [Browse my computer for driver software].
Select the driver from the following path.
“ C:\Users\ User name\ AppData\ Local\ Android\ sdk \ extras \ google \ usb_driver ”
When [Android Composite ADB Interface] is displayed in [Android Device] as shown below, ADB
connection is available.
2.5.1.3. Checking the connection
You can check if the computer and the BT-2000 are connected by using the ADB check
command.
Start the command prompt, run "cd C:\Users\ User name \AppData\Local\Android\sdk\tools ", and
move the folder.* It is useful to maintain the environment variable path mentioned above.
When you execute "adb devices" the message "0123456789ABCDEF2 device" is displayed. ADB
connection is complete.
* If this is not displayed, reconnect the BT-2000 to the USB port, and rerun the "adb devices"
command.
MOVERIO Pro Developer's Guide (Rev.1.4)
19
2.6. Including the SDK provided by EPSON
2.6.1. Cautions for using SDK provided by EPSON
Please make sure to confirm the version of SDK provided by EPSON and the version of system
software inside BT-2000.
If the version of SDK provided by EPSON used for Apps development and the version of system
software is not matching, due to the difference of API included, developed Apps may not operate.
※ User using system software version R1.0.4
When updating OS from R1.0.4 to R1.2.1 or later, adding callback API process which is newly
added is required.
This phenomenon may occur in below Apps.
・ Apps using Voice command class(VoiceCommandClientCallbacks)
If it happens, please solve by below procedure.
1) Change the SDK of Apps development environment to SDK that matching system
software version.
2) Revise the source code according to SDK and re-build.
MOVERIO Pro Developer's Guide (Rev.1.4)
20
2.6.2. How to use SDK provided by EPSON
allprojects {
repositories {
jcenter()
}
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs.add('-Xbootclasspath/p:C:/Users/<user
name>/AndroidStudioProjects/<application name>/app/libs/H725Ctrl.jar')
}
}
}
The following procedures assume app development in Android Studio.
1) Display Project View of Android Studio, and then create “ libs” folder from
[File]-[New]-[Directory].
2) C:\Users\<user name>\AndroidStudioProjects\<application name>\app\libs will be
created, and put H725Ctrl.jar to this folder.
(When created project folder is C:\Users\<user name>\AndroidStudioProjects )
※ Explanation from now on is based on that project is at C:\Users\<user
name>\AndroidStudioProjects\<application name>.
3) Press Sync Project with Gradle Files button where it is above of AndroidStudio, reflect
Gradle change to the project.
4) Open build.gradle(Project: <application name>) in the left window of AndroidStudio,
and then edit as below.
MOVERIO Pro Developer's Guide (Rev.1.4)
21
5) Once, run Clean Project from Build items of AndroidStudio.
SDK settings are completed by above.
On edit display, EPSON original API like getSupportedEpsonCameraModes() are still not solved,
but please ignore and run app, and install application to the equipment. Unsolved method will
operate normally.
MOVERIO Pro Developer's Guide (Rev.1.4)
22
2.6.3. To solve unsolved situation by Android Studio
By below method, you can solve the unsolved situation temporary and use code completion
function.
1) Open C:\Users\<user name>\AndroidStudioProjects\<application name>\app\app.iml
2) Move line of
<orderEntry type="library" exported="" name="H725Ctrl" level="project" />
to the line above
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK"/>
This will increase the priority of H725Ctrl.jar in AndroidStudio, and can solve the unsolved
situation temporary and use code completion function.
■ Limited items
Due to AndroidStudio specification, after running like rebuild and update gradle contents,
app.iml will be updated too and EPSON original API will return to unsolved situation. Please
proceed above 1), 2) again. Run after build will not be affected.
MOVERIO Pro Developer's Guide (Rev.1.4)
23
3. Display control
MOVERIO Pro Developer's Guide (Rev.1.4)
24