このページの本文へ

前へ 1 2 3 4 5 6 次へ

車とスマホがつながるSDLの世界第4回

Ubuntu 14.04.5を用意すべし!

SDL対応アプリ開発環境の構築その1~車載機エミュレーターを作成する

2018年12月13日 11時00分更新

文● 柴田文彦 編集●村山剛史/アスキー編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

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)。

図14 Ubuntu上でChromium Browserを起動するために、ターミナルをもう1つ開く。Launcherのターミナルアイコンを右クリックして「New Terminal」を選べばいい

 新しいターミナルでは、まずGeneri HMIのディレクトリに移動する。

$ cd SDL/generic_hmi

 そこで、Chromium Browserによって、index.htmlファイルを開くコマンドを実行する。

$ chromium-browser index.html

 この後、ターミナルにはワーニングが表示されるが、それでもChromium Browserは起動し、その中でHMIが動作する。やはり、真っ黒なウィンドウの上部中央に「Apps」と表示されている(図15)。

図15 UbuntuでSDL Coreを動かす場合にも、やはりHMIの初期画面は真っ黒で、上部中央に「Apps」と表示される。これが正常な状態だ

 これも第2回に解説するSDL対応アプリを動かした状態だが、Ubuntuを使ってビルドしたSDL Coreの場合には、Dockerを使って動かした場合のような問題は発生せず、リンクしたアプリのアイコンが車載機エミュレーターのウィンドウにしっかりと表示される(図16)。

図16 Ubuntuを使ってSDL Coreを動かせば、macOS上のDockerで生じるような不具合は起こらない。アプリアイコンは正しく表示される

クラウド上の車載機エミュレーターの利用方法

 SDLの開発者向けサイトに用意されたクラウド上の車載機エミュレーターは「Manticore」と呼ばれている。これは、最初にユーザー登録が必要なことを除けば、非常に簡単に利用できる。

 これも一種のウェブサービスなので、接続したアプリの画面はウェブブラウザーのウィンドウに表示される。この点では手元で車載機エミュレーターを動かす場合と同様だ。エミュレーターのコア部分だけがクラウド上にあると考えてもいい。このManticoreという名前の由来も、そのあたりにあるのだろう。

 それはともかくとして、以下にManticoreを利用するためのユーザー登録から始めて、実際にアプリ画面を表示するまでの手順をざっと説明する。

1. Manticoreを利用するためのユーザーを登録する

 最初にManticoreのページを開こうとすると、ユーザー登録の画面に誘導される(図17)。

図17 ログインしていない状態でManticoreのページにアクセスすると、自動的にログイン、またはユーザー登録のためのページに移行する

 すでにユーザーが登録してある場合は、登録済のメールアドレスとパスワードを入力して「SIGN IN」をクリックすればいい。未登録なら、「REGISTER」をクリックしてユーザーを登録してから利用する。ユーザー登録するのが面倒だという場合は、ソーシャルログイン機能によって、GitHubまたはGoogleのアカウントを利用してログインすることもできる。とりあえず使ってみるだけなら、それで十分だろう。

2. Manticoreを起動する

 ログイン状態になると、Manticoreのページが表示されるので、その上にある「LAUNCH MANTICORE」のボタンをクリックする。それによって、Manticoreを利用するための順番待ち状態に入る。この際、すでに待ち状態になっている他のユーザーの人数なども表示される。順番が来て利用可能な状態になると、接続するためのURLとポート番号が表示される(図18)。

図18 Mancicoreが利用可能な状態になると、URL(IPアドレス)とポート番号が表示される。SDLアプリから、このアドレス/ポートにアクセスればいい

 URLは今のところ常に「m.sdl.tools」となっているようだが、ポート番号は利用するユーザーごとに毎回異なる番号が発行される。これは、一時的なものなので、メモするなり、そのままソースコード内に記述するなりすればいい。この状態では、すでにManticoreはアプリからの接続を待っている状態となっている。

3. Manticoreに接続して画面を確認する

 この先のステップでは、次回に取り上げるサンプルプロジェクトなどによって作成したSDLアプリを動かして、実際にManticoreに接続する必要がある。もちろんTCP/IP経由で、上の操作で得られたURLとポート番号にアプリからアクセスする。

 接続が完了すると、サイトの右下のミニウィンドウとして車載機エミュレーターの画面が表示され、最初はアプリのアイコンが表示される(図19)。

図19 アプリからManticoreへの接続が完了すると、最初にアプリ一覧画面に、そのアプリのアイコンとアプリ名が表示される

 これだけでも接続自体の確認は可能だが、実際に車載機画面を操作するには、ミニウィンドウの左上角のボタンをクリックして、車載機エミュレーター画面をフルウィンドウ表示に切り替える(図20)。

図20 車載機エミュレーターのミニウィンドウ左上の四角いボタンをクリックすると、フルウィンドウ表示になり、ログやコントロール機能が表示される

 アプリ画面自体は今回作成したローカルな車載機エミュレーターのものとほとんど変わらないが、画面の下にはデバッグ用のログが表示され、さらに右側には車に備わった操作ボタン類や、車の走行データなどを取得する機能をエミュレートするための設定ボタンなどが配置されている。このあたりは、今のところローカルな車載機エミュレーターでは利用できない機能となっている。

 これで、第2回で取り上げるアプリ開発に不可欠な車載機エミュレーターが確保できた。以降は第2回で解説しよう。

■関連サイト

(提供:SDLコンソーシアム)

前へ 1 2 3 4 5 6 次へ

カテゴリートップへ

この特集の記事

注目ニュース

ASCII倶楽部

最新記事

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン