Google Glassのアプリを作ってみよう!(2) ~Google GlassでHello World!~


こんにちは。インフォコム技術企画室のばーやです。

前回はGoogle Glassの概要を説明させていただきました。
今回から、いよいよGoogle Glassアプリの開発の説明に入りたいと思います。

■Glassware

Google Glassで動くアプリは「Glassware」(グラスウェア)と呼ばれます。

Glassware Storeという公式ストアには、数多くのGlasswareが登録されています。公式ストアに登録されたGlasswareは、MyGlassを経由してGoogle Glassにインストールすることが可能になります。

作成したGlasswareを公式ストアに登録するには、Googleによるレビューが必要になります。そのため、Glasswareは公式ストア以外にも多数出回っていて、むしろこちらの方が多いです。

■Glasswareの開発方法

Glasswareの開発方法は、大きく分けて2種類あります。

  • Glass Development Kit(GDK)と呼ばれるGlassware用のSDKを用いる方法
    Google GlassはAndroid OSをベースとしているので、GlasswareもAndroidアプリとほとんど同じ手順で作ることができます。GDKを用いることで、Google Glassに適応したアプリの開発を行うことができます。

  • Mirror APIと呼ばれる、GoogleのクラウドベースのAPIを使った方法
    私はほとんど触ったことがないのですが、WebアプリをベースにしてGlasswareを作成することができます。どちらかというと、情報の表示など、シンプルなアプリを作るのに向いているようです。

本連載では、GDKを使った開発を中心に書いていきたいと思います。

■Glassware開発環境の構築

Glasswareは、Eclipse(+ADT Plugin)やAndroid Studioといった、Androdアプリと同じ環境で開発することができます。
本連載では、私が普段利用しているEclipseをベースに進めていきたいと思います。

  1. Android SDK Managerから、Android 4.4.2のSDKとGDKをダウンロード&インストールします。GDKは通常のAndroid SDKと同様に、Android SDK Managerからダウンロードできます。

  2. Android 4.4.2 (API 19)*のツリーを開くと、Glass Development Kit Preview(GDK)が表示されます。今回は、Android 4.4.2 (API 19)をチェックして、全部の項目をインストールしてしまいます(Glass Development Kit Previewだけでも問題はないと思います)。
    なお、既にインストール済みの方は、この作業は不要です。

    *ブログを書いた時点ではAndroid 4.4.2に含まれていますが、Google Glassのアップデートによって、4.4.2より上のバージョンに含まれる可能性があります。

    google_glass_02_01.jpg

  3. Google Glassをコンピューターに接続するために、Google USB Driverが必要です(Macの方は不要です)。こちらもあわせてインストールします。

    google_glass_02_02.jpg

■Google GlassとPCの接続

今のところ、Google GlassにはAndroidのようにエミュレーターが存在しません。
開発は、実機を接続して行う必要があります。

Google GlassをPCに接続するには、次の手順を行います。

  1. Google GlassをDebugモードにします。Google Glassで次の操作を行います。
    Settings > Device info > Turn on debug 

  2. 次にGoogle USB Driverの設定を確認します(Macの方は不要です)。
    以下のファイルを開いてください。
    ANDROID_SDK_HOME/extras/google/usb_driver/android_winusb.inf

  3. [Google.NTx86]と[Google.NTamd64]のところに以下のような記述があるか確認します。
    ;Google Glass
    %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_9001
    %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_9001&MI_01
    この記述がない場合は、[Google.NTx86]と[Google.NTamd64]のそれぞれにこの内容を追加してください。Google USB Driverをインストールしたのが比較的昔だと、記述がないようです。

  4. Google USB Driverの確認ができたら、Google Glassを頭につけて、Micro USBを使ってコンピューターに接続しましょう。

    すると、「Trust this computer?」という、接続の許可を求めるメッセージが表示されます。「Allow once」か「Allow always」、好きな方を選んでください。
    なお、このメッセージをスワイプダウンなどで間違って消してしまった場合は、もう一度、コンピューターに接続し直してみてください。 

  5. adbからGoogle Glassの接続が確認できれば成功です。
    Eclipseから確認する場合は、DDMSのDevicesから確認できます。
    Window > Open Perspective > Other... > DDMS


■Glasswareプロジェクトの作成

Glasswareのプロジェクトの作成方法は、Androidアプリのプロジェクトの作り方と似ています。

  1. プロジェクトを作成します。
    File > New > Android Application Project

  2. 最初の画面では、Minimum Required SDKとTarget SDKにAPI 19: Android 4.4 (KitKat)を、Complile WithにGlass Development Kit Developer Previewを、ThemeにNoneを選択し、その他は任意の内容を入力してください。

    google_glass_02_03.jpg

  3. 後は全てデフォルトの状態で進めます。

    Next > ... > Finish

  4. するとワークスペース内にプロジェクトが作成されます。
    このままプロジェクトを実行しても動くのですが、Glasswareというより、Androidアプリのような画面になってしまいます。

    google_glass_02_04.jpg

    もう少しGlasswareらしくするために、AndroidManifest.xmlファイルを編集しましょう。

    android:theme="@style/AppTheme"

    のところを

    android:theme="@android:style/Theme.DeviceDefault"

    に変更します。

  5. それでは、プロジェクトをGoogle Glassで実行してみましょう。

    実行前にGoogle Glassのタッチパッドをタップするなどして、ディスプレイをオンにしておいてください。ディスプレイがオフの状態だと、Glasswareがバックグラウンドに回ってしまい、起動したのかわからなくなってしまいます。

    こんな画面がGoogle Glassで表示されれば成功です。

    google_glass_02_05.jpg

■音声入力から起動する

前のステップで作成したGlasswareですが、一つ問題があります。

スワイプダウンするとGlasswareが終了するのですが、実はこのままでは、もう一度Glasswareを起動することができません。

試しに、Home画面をタップして、Glaswareの一覧画面を確認してください。

google_glass_02_06.jpg

インストールしたHello WorldのGlasswareが出てこないと思います。

Google Glassでは音声入力から起動できるようにしたGlasswareしか一覧に表示されないようになっているためです。Hello WorldのGlasswareは音声入力に対応していないのが原因です。

以下の手順で音声入力に対応します。

  1. プロジェクトのresフォルダ内に新しくxmlフォルダを作成します。

  2. xmlフォルダ内に任意の名前のxmlファイルを作成します。ここではvoice_trigger.xmlという名前にします。

    google_glass_02_08.jpg

    ファイルの中身は以下の1行だけです。

    <trigger command="SHOW_ME_A_DEMO" />
    

     

    ここで指定する、SHOW_ME_A_DEMOが「Ok Glass」の後に言うフレーズになります。「Ok Glass, Show me a demo」と言うと、このGlasswareが起動するようになります。(Glassware一覧に表示されるときは、冠詞などが省略されて「Show demo」になります。)
    フレーズの指定については、後述します。

  3. 次に、AndroidManifest.xmlを編集します。
    起動Activity(デフォルトだとMainActivity)の箇所を以下のように変更します。

    変更前

                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
    

     

    変更後

                <intent-filter>
                    <action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
                </intent-filter>
                <meta-data
                    android:name="com.google.android.glass.VoiceTrigger"
                    android:resource="@xml/voice_trigger" />
    

     

これで、Glassware一覧への表示と音声入力からの起動ができるようになりました。

それでは、もう一度実行してみましょう。今度は一覧にGlasswareが出てくるはずです。

google_glass_02_07.jpg

音声入力による起動にも対応したので、試してみましょう。
Home画面で「Ok Glass, show me a demo」と言ってください。上手に発音しないとなかなか反応しません。

これで立派な?Glasswareの完成です!

 

■音声入力のフレーズについて

現在、使えるフレーズは固定されています(こちらから確認できます)。
音声認識の精度や今後の多言語対応のため、フレーズが制限されているようです。

フレーズはこちらのページから追加申請を出すことができるので、ちょうど良いフレーズが見つからない場合は、申請を出してみるのも良いかもしれません。

なお、開発中に限っては、以下のpermissionをAndroidManifest.xmlファイルに追加することで、自由なフレーズを使うことができます。

<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" />

 

そしてvoice_trigger.xmlファイルを次のようにします。好きな文字列を指定することができます。

<trigger keyword="show me world" />

 

この場合は、「Ok Glass, Show me world」でGlasswareが起動します。

■サンプルアプリを動かしてみよう


Hello Worldだけだともの足りないので、公式のGlasswareサンプルを動かしてみましょう。サンプルには、コンパスやタイマーなどのGlasswareが用意されています。

以前は、EclipseのAndroid Sample ProjectからGlasswareのサンプルを動かすことができたのですが、今はGitHubからしかダウンロードできません。

  1. Google Glassのデベロッパーサイトへアクセスします。

  2. ダウンロードしたいサンプルの「Get it on GitHub」をクリックしてGitHubのページへ遷移します。

  3. Download zip」をクリックして、プロジェクトをZIPファイルでダウンロードします。

  4. ダウンロードが完了したら、任意の場所に展開します。

  5. Charades以外のプロジェクトはAndroid Studio向けのプロジェクト構成となっているため、Eclipseでインポートするには少し手を入れる必要があります。

    ソースコードの入ったフォルダ名を以下のように変更します。
    app/src/main/java -> app/src/main/src

  6. Eclipseへインポートします。
    File > import... > Android > Existing Android Code Into Workspace

  7. インポートが完了したら、プロジェクトを右クリックして、
    Properties > AndroidのProject Build Target
    にGlass Development Kit Developer Previewを選択します。

  8. いずれか、または全部のサンプルをインポートしてみてください。

サンプルアプリには色々な要素が詰まっているので、ソースを読むととても勉強になります。

 

以上、Glassware開発環境の構築と、簡単なGlasswareの作成まで説明しました。
次回はタッチパッドを使った操作について、書きたいと思います。

Google Glassのアプリを作ってみよう!(2) ~Google GlassでHello World!~


こんにちは。インフォコム技術企画室のばーやです。

前回はGoogle Glassの概要を説明させていただきました。
今回から、いよいよGoogle Glassアプリの開発の説明に入りたいと思います。

■Glassware

Google Glassで動くアプリは「Glassware」(グラスウェア)と呼ばれます。

Glassware Storeという公式ストアには、数多くのGlasswareが登録されています。公式ストアに登録されたGlasswareは、MyGlassを経由してGoogle Glassにインストールすることが可能になります。

作成したGlasswareを公式ストアに登録するには、Googleによるレビューが必要になります。そのため、Glasswareは公式ストア以外にも多数出回っていて、むしろこちらの方が多いです。

■Glasswareの開発方法

Glasswareの開発方法は、大きく分けて2種類あります。

  • Glass Development Kit(GDK)と呼ばれるGlassware用のSDKを用いる方法
    Google GlassはAndroid OSをベースとしているので、GlasswareもAndroidアプリとほとんど同じ手順で作ることができます。GDKを用いることで、Google Glassに適応したアプリの開発を行うことができます。

  • Mirror APIと呼ばれる、GoogleのクラウドベースのAPIを使った方法
    私はほとんど触ったことがないのですが、WebアプリをベースにしてGlasswareを作成することができます。どちらかというと、情報の表示など、シンプルなアプリを作るのに向いているようです。

本連載では、GDKを使った開発を中心に書いていきたいと思います。

■Glassware開発環境の構築

Glasswareは、Eclipse(+ADT Plugin)やAndroid Studioといった、Androdアプリと同じ環境で開発することができます。
本連載では、私が普段利用しているEclipseをベースに進めていきたいと思います。

  1. Android SDK Managerから、Android 4.4.2のSDKとGDKをダウンロード&インストールします。GDKは通常のAndroid SDKと同様に、Android SDK Managerからダウンロードできます。

  2. Android 4.4.2 (API 19)*のツリーを開くと、Glass Development Kit Preview(GDK)が表示されます。今回は、Android 4.4.2 (API 19)をチェックして、全部の項目をインストールしてしまいます(Glass Development Kit Previewだけでも問題はないと思います)。
    なお、既にインストール済みの方は、この作業は不要です。

    *ブログを書いた時点ではAndroid 4.4.2に含まれていますが、Google Glassのアップデートによって、4.4.2より上のバージョンに含まれる可能性があります。

    google_glass_02_01.jpg

  3. Google Glassをコンピューターに接続するために、Google USB Driverが必要です(Macの方は不要です)。こちらもあわせてインストールします。

    google_glass_02_02.jpg

■Google GlassとPCの接続

今のところ、Google GlassにはAndroidのようにエミュレーターが存在しません。
開発は、実機を接続して行う必要があります。

Google GlassをPCに接続するには、次の手順を行います。

  1. Google GlassをDebugモードにします。Google Glassで次の操作を行います。
    Settings > Device info > Turn on debug 

  2. 次にGoogle USB Driverの設定を確認します(Macの方は不要です)。
    以下のファイルを開いてください。
    ANDROID_SDK_HOME/extras/google/usb_driver/android_winusb.inf

  3. [Google.NTx86]と[Google.NTamd64]のところに以下のような記述があるか確認します。
    ;Google Glass
    %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_9001
    %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_9001&MI_01
    この記述がない場合は、[Google.NTx86]と[Google.NTamd64]のそれぞれにこの内容を追加してください。Google USB Driverをインストールしたのが比較的昔だと、記述がないようです。

  4. Google USB Driverの確認ができたら、Google Glassを頭につけて、Micro USBを使ってコンピューターに接続しましょう。

    すると、「Trust this computer?」という、接続の許可を求めるメッセージが表示されます。「Allow once」か「Allow always」、好きな方を選んでください。
    なお、このメッセージをスワイプダウンなどで間違って消してしまった場合は、もう一度、コンピューターに接続し直してみてください。 

  5. adbからGoogle Glassの接続が確認できれば成功です。
    Eclipseから確認する場合は、DDMSのDevicesから確認できます。
    Window > Open Perspective > Other... > DDMS


■Glasswareプロジェクトの作成

Glasswareのプロジェクトの作成方法は、Androidアプリのプロジェクトの作り方と似ています。

  1. プロジェクトを作成します。
    File > New > Android Application Project

  2. 最初の画面では、Minimum Required SDKとTarget SDKにAPI 19: Android 4.4 (KitKat)を、Complile WithにGlass Development Kit Developer Previewを、ThemeにNoneを選択し、その他は任意の内容を入力してください。

    google_glass_02_03.jpg

  3. 後は全てデフォルトの状態で進めます。

    Next > ... > Finish

  4. するとワークスペース内にプロジェクトが作成されます。
    このままプロジェクトを実行しても動くのですが、Glasswareというより、Androidアプリのような画面になってしまいます。

    google_glass_02_04.jpg

    もう少しGlasswareらしくするために、AndroidManifest.xmlファイルを編集しましょう。

    android:theme="@style/AppTheme"

    のところを

    android:theme="@android:style/Theme.DeviceDefault"

    に変更します。

  5. それでは、プロジェクトをGoogle Glassで実行してみましょう。

    実行前にGoogle Glassのタッチパッドをタップするなどして、ディスプレイをオンにしておいてください。ディスプレイがオフの状態だと、Glasswareがバックグラウンドに回ってしまい、起動したのかわからなくなってしまいます。

    こんな画面がGoogle Glassで表示されれば成功です。

    google_glass_02_05.jpg

■音声入力から起動する

前のステップで作成したGlasswareですが、一つ問題があります。

スワイプダウンするとGlasswareが終了するのですが、実はこのままでは、もう一度Glasswareを起動することができません。

試しに、Home画面をタップして、Glaswareの一覧画面を確認してください。

google_glass_02_06.jpg

インストールしたHello WorldのGlasswareが出てこないと思います。

Google Glassでは音声入力から起動できるようにしたGlasswareしか一覧に表示されないようになっているためです。Hello WorldのGlasswareは音声入力に対応していないのが原因です。

以下の手順で音声入力に対応します。

  1. プロジェクトのresフォルダ内に新しくxmlフォルダを作成します。

  2. xmlフォルダ内に任意の名前のxmlファイルを作成します。ここではvoice_trigger.xmlという名前にします。

    google_glass_02_08.jpg

    ファイルの中身は以下の1行だけです。

    <trigger command="SHOW_ME_A_DEMO" />
    

     

    ここで指定する、SHOW_ME_A_DEMOが「Ok Glass」の後に言うフレーズになります。「Ok Glass, Show me a demo」と言うと、このGlasswareが起動するようになります。(Glassware一覧に表示されるときは、冠詞などが省略されて「Show demo」になります。)
    フレーズの指定については、後述します。

  3. 次に、AndroidManifest.xmlを編集します。
    起動Activity(デフォルトだとMainActivity)の箇所を以下のように変更します。

    変更前

                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
    

     

    変更後

                <intent-filter>
                    <action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
                </intent-filter>
                <meta-data
                    android:name="com.google.android.glass.VoiceTrigger"
                    android:resource="@xml/voice_trigger" />
    

     

これで、Glassware一覧への表示と音声入力からの起動ができるようになりました。

それでは、もう一度実行してみましょう。今度は一覧にGlasswareが出てくるはずです。

google_glass_02_07.jpg

音声入力による起動にも対応したので、試してみましょう。
Home画面で「Ok Glass, show me a demo」と言ってください。上手に発音しないとなかなか反応しません。

これで立派な?Glasswareの完成です!

 

■音声入力のフレーズについて

現在、使えるフレーズは固定されています(こちらから確認できます)。
音声認識の精度や今後の多言語対応のため、フレーズが制限されているようです。

フレーズはこちらのページから追加申請を出すことができるので、ちょうど良いフレーズが見つからない場合は、申請を出してみるのも良いかもしれません。

なお、開発中に限っては、以下のpermissionをAndroidManifest.xmlファイルに追加することで、自由なフレーズを使うことができます。

<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" />

 

そしてvoice_trigger.xmlファイルを次のようにします。好きな文字列を指定することができます。

<trigger keyword="show me world" />

 

この場合は、「Ok Glass, Show me world」でGlasswareが起動します。

■サンプルアプリを動かしてみよう


Hello Worldだけだともの足りないので、公式のGlasswareサンプルを動かしてみましょう。サンプルには、コンパスやタイマーなどのGlasswareが用意されています。

以前は、EclipseのAndroid Sample ProjectからGlasswareのサンプルを動かすことができたのですが、今はGitHubからしかダウンロードできません。

  1. Google Glassのデベロッパーサイトへアクセスします。

  2. ダウンロードしたいサンプルの「Get it on GitHub」をクリックしてGitHubのページへ遷移します。

  3. Download zip」をクリックして、プロジェクトをZIPファイルでダウンロードします。

  4. ダウンロードが完了したら、任意の場所に展開します。

  5. Charades以外のプロジェクトはAndroid Studio向けのプロジェクト構成となっているため、Eclipseでインポートするには少し手を入れる必要があります。

    ソースコードの入ったフォルダ名を以下のように変更します。
    app/src/main/java -> app/src/main/src

  6. Eclipseへインポートします。
    File > import... > Android > Existing Android Code Into Workspace

  7. インポートが完了したら、プロジェクトを右クリックして、
    Properties > AndroidのProject Build Target
    にGlass Development Kit Developer Previewを選択します。

  8. いずれか、または全部のサンプルをインポートしてみてください。

サンプルアプリには色々な要素が詰まっているので、ソースを読むととても勉強になります。

 

以上、Glassware開発環境の構築と、簡単なGlasswareの作成まで説明しました。
次回はタッチパッドを使った操作について、書きたいと思います。

コメントする