2-2. ブラウザー上でHMIを実行する(Ubuntu版)
Ubuntu環境でビルドしたSDL Coreを利用してHMIを実行するには、当然ながら上に述べた方法で、SDL Coreを起動していることが前提条件となる。この場合、gitコマンドのclone機能を利用してコピーしたgeneric_hmiディレクトリに含まれるindex.htmlファイルも、ターミナルからChromium Browserを起動して開くことになる。
ここまでのステップでは、SDL Coreを起動したターミナルは、すでにふさがっているので、別のターミナルウィンドウを用意して作業しよう。Unbutuの操作に慣れていない人のために書き添えれば、画面の左側のLauncherにあるTerminalアイコンを右クリックして、表示するメニューから「New Terminal」を選べばいい(図14)。
新しいターミナルでは、まずGeneri HMIのディレクトリに移動する。
そこで、Chromium Browserによって、index.htmlファイルを開くコマンドを実行する。
この後、ターミナルにはワーニングが表示されるが、それでもChromium Browserは起動し、その中でHMIが動作する。やはり、真っ黒なウィンドウの上部中央に「Apps」と表示されている(図15)。
これも第2回に解説するSDL対応アプリを動かした状態だが、Ubuntuを使ってビルドしたSDL Coreの場合には、Dockerを使って動かした場合のような問題は発生せず、リンクしたアプリのアイコンが車載機エミュレーターのウィンドウにしっかりと表示される(図16)。
クラウド上の車載機エミュレーターの利用方法
SDLの開発者向けサイトに用意されたクラウド上の車載機エミュレーターは「Manticore」と呼ばれている。これは、最初にユーザー登録が必要なことを除けば、非常に簡単に利用できる。
これも一種のウェブサービスなので、接続したアプリの画面はウェブブラウザーのウィンドウに表示される。この点では手元で車載機エミュレーターを動かす場合と同様だ。エミュレーターのコア部分だけがクラウド上にあると考えてもいい。このManticoreという名前の由来も、そのあたりにあるのだろう。
それはともかくとして、以下にManticoreを利用するためのユーザー登録から始めて、実際にアプリ画面を表示するまでの手順をざっと説明する。
1. Manticoreを利用するためのユーザーを登録する
最初にManticoreのページを開こうとすると、ユーザー登録の画面に誘導される(図17)。
すでにユーザーが登録してある場合は、登録済のメールアドレスとパスワードを入力して「SIGN IN」をクリックすればいい。未登録なら、「REGISTER」をクリックしてユーザーを登録してから利用する。ユーザー登録するのが面倒だという場合は、ソーシャルログイン機能によって、GitHubまたはGoogleのアカウントを利用してログインすることもできる。とりあえず使ってみるだけなら、それで十分だろう。
2. Manticoreを起動する
ログイン状態になると、Manticoreのページが表示されるので、その上にある「LAUNCH MANTICORE」のボタンをクリックする。それによって、Manticoreを利用するための順番待ち状態に入る。この際、すでに待ち状態になっている他のユーザーの人数なども表示される。順番が来て利用可能な状態になると、接続するためのURLとポート番号が表示される(図18)。
URLは今のところ常に「m.sdl.tools」となっているようだが、ポート番号は利用するユーザーごとに毎回異なる番号が発行される。これは、一時的なものなので、メモするなり、そのままソースコード内に記述するなりすればいい。この状態では、すでにManticoreはアプリからの接続を待っている状態となっている。
3. Manticoreに接続して画面を確認する
この先のステップでは、次回に取り上げるサンプルプロジェクトなどによって作成したSDLアプリを動かして、実際にManticoreに接続する必要がある。もちろんTCP/IP経由で、上の操作で得られたURLとポート番号にアプリからアクセスする。
接続が完了すると、サイトの右下のミニウィンドウとして車載機エミュレーターの画面が表示され、最初はアプリのアイコンが表示される(図19)。
これだけでも接続自体の確認は可能だが、実際に車載機画面を操作するには、ミニウィンドウの左上角のボタンをクリックして、車載機エミュレーター画面をフルウィンドウ表示に切り替える(図20)。
アプリ画面自体は今回作成したローカルな車載機エミュレーターのものとほとんど変わらないが、画面の下にはデバッグ用のログが表示され、さらに右側には車に備わった操作ボタン類や、車の走行データなどを取得する機能をエミュレートするための設定ボタンなどが配置されている。このあたりは、今のところローカルな車載機エミュレーターでは利用できない機能となっている。
これで、第2回で取り上げるアプリ開発に不可欠な車載機エミュレーターが確保できた。以降は第2回で解説しよう。
(提供:SDLコンソーシアム)
この連載の記事
-
第10回
スマホ
未来の車とバイクを楽しく安全にするアイデアが集結 -
第9回
sponsored
車両情報+ニュース読み上げアプリを作ってみた! -
第8回
sponsored
SDL対応アプリ開発環境の構築その4~白紙のiOSプロジェクトから作るSDLアプリ -
第7回
sponsored
SDL対応アプリ開発環境の構築その3~Android版のSDLのAPIを使いこなす -
第6回
sponsored
SDL対応アプリ開発環境の構築その2~アプリ開発環境を整える -
第5回
sponsored
クルマがしゃべる未来って? ロボホンとクルマをつないでみた -
第3回
sponsored
トヨタ・スズキ・LINEのキーマンが語る、SDLとスマホが作る車・バイクの未来 -
第2回
sponsored
スマホアプリをカーナビで動かすと、こんな世界が待っている! -
第1回
sponsored
車・バイクとスマホを連携させるSDL規格の基礎知識 -
sponsored
車とスマホがつながるSDLの世界 - この連載の一覧へ