このページの本文へ

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

Ubuntu 14.04.5を用意すべし!

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

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

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

提供: SDLコンソーシアム

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

ブラウザー上でHMIを起動して画面を確認しよう

 ここまで来れば、残る作業もあとわずかだ。ウェブブラウザーで車載機エミュレーターのUI部分、HMIを実現するウェブアプリを開けばいいだけだ。これは、SDL Coreを動かした2種類の環境によって2通りの手順がある。言い換えれば、macOSまたはWindows環境か、Ubuntu環境か、という違いだ。以下、両方の場合について説明する。

1. Generic HMIを入手する

 HMIをウェブブラウザー上で起動する作業の最初のステップは、GitHubからGeneric HMIのソースコードを入手することだ。ソースコードの入手先は同じだが、Dockerを使ってSDL Coreを動かした場合と、Ubuntu上でSDL Coreをビルドして動かした場合では、異なる手順が必要となる。

 まず、Docker用にGeneric HMIを用意するには、適当なブラウザーでGitHubのページを開き、そこからZIPファイルとしてソースコード一式を入手するのがいいだろう(図10)。

図10 macOSやWindows上でGeneric HMIを動かす場合は、GitHubにあるgeneric_hmiをZIPファイルとしてダウンロードするのが簡単だ

 このようにして入手したZIPファイルは、どこか適当な場所に展開しておこう。ZIPファイルを展開すると、「generic_hmi-master」というフォルダができる。

 一方、Ubuntu環境で使用するGeneric HMIは、gitコマンドのclone機能を利用して、GitHubから直接コピーするのがいい。ホームの下のSDLディレクトリにいる状態で、以下のコマンドを実行する。

$ git clone https://github.com/smartdevicelink/generic_hmi.git

 これにより、SDLの下にgeneric_hmiディレクトリが作成され、その中にHMIのソースコードがすべてダウンロードされる。

 HMIの場合は、ブラウザー上で実行する一種のウェブアプリなので、原理的にはソースコードをそのまま実行できる。実際にはかなり多くの構成要素(JavaScriptやCSSなど)をビルドしてまとめた状態となっているが、特にソースコードに手を加える必要がない限り、GitHubから入手したディレクトリの内容をそのまま実行できると考えていい。


2-1. ブラウザー上でHMIを実行する(Docker版)

 このステップでは、いよいよ車載機エミュレーターを起動して利用可能な状態にする。前提条件としては、Dockerを利用して、すでにSDL Coreが起動した状態になっていること。そのうえで、ダウンロードしたZIPファイルを展開したgeneric_hmi-masterフォルダに含まれるindex.htmlファイルをブラウザーで開けばいいだけだ(図11)。

図11 GitHubからZIPファイルとしてダウンロードしたgeneric_hmi-masterを展開したフォルダ内にあるindex.htmlファイルをブラウザーで開く

 index.htmlファイルをダブルクリックするか、ブラウザーアプリのアイコンにドラッグ&ドロップして開く。最新のブラウザーであれば、たいていのもので動作可能だが、SDLとしての推奨はGoogle Chromeなので、特に理由がない限りChromeで開くのがいいだろう。その結果、真っ黒な画面の上部中央に白い「Apps」という文字が表示されれば、まだ何も対応アプリとリンクしていない状態の車載機エミュレーターが動作したことになる(図12)。

図12 ブラウザー上でHMIを動かすと、初期状態では真っ黒なディスプレイの上部中央に「Apps」とだけ表示される。今はこれでOKだ

 最初に述べたように、Dockerを利用する場合にはややマイナーな不具合が発生する。次に示す図は、次回に解説するSDL対応アプリを作成して動かした状態だが、本来表示されるべきアプリのアイコンが、見つからない(リンク切れの)画像ファイルとして表示されている(図13)。

図13 DockerでSDL Coreを動かす場合には、今のところ、リンクしたSDLアプリのアイコンが表示されないという不具合がある

 この原因は、macOSの場合、Docker上のSDL Coreが利用しようとする作業用ディレクトリが、最近のmacOSのSIP(System Integrity Protection)によって保護された領域にあるため、SDL Coreがアプリから受信したアイコンファイルを保存できないことによる。Windowsの場合も、やはり受信したファイルを保存できないが、その理由は、そもそもディレクトリ構成がLinuxとはまったく異なるからだと思われる。

 現状では、これらの問題を簡単に回避する方法はなさそうなので、SDL Coreのビルドの手間を惜しまなければ、Ubuntuによる方法を採用するほうが無難だ。念のために付け加えると、macOSの場合、リカバリーブートしてSIPを解除しても、この問題は解決しなかった。

 なお、Windows版のDockerは、仮想化技術としてマイクロソフトのHyper-Vを利用する。それに対して、次回に説明するAndroidアプリの開発環境では、デバイスのエミュレーターを動かすための仮想化技術としてインテルのVT-xを利用する。これらを1台のマシンで同時に動かすことはできない。

 そのためDockerによるSDL Coreの動作と、Androidの開発環境で仮想デバイスは1台のマシン上で両立できない。Androidの実機をUSBで接続すれば動かすことができるものの、この点でもDockerではなく、多少面倒でもUbuntuによってSDL Coreを動かすほうが確実だ。

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,390
2
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,364
3
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥660
4
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥1,025
5
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,590
6
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
7
KIOXIA(キオクシア)【日本製】SDカード 128GB SDXC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA128G
KIOXIA(キオクシア)【日本製】SDカード 128GB SDXC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA128G
¥2,121
8
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥5,680
9
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,359
10
【Amazon.co.jp限定】 ロジクール ワイヤレスマウス 無線 マウス M185CG 小型 電池寿命最大12ケ月 M185 グレー 国内正規品
【Amazon.co.jp限定】 ロジクール ワイヤレスマウス 無線 マウス M185CG 小型 電池寿命最大12ケ月 M185 グレー 国内正規品
¥999

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

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