【Smart Device Link】SDLの実機環境を作る！　

SDLの開発環境は、Maticoreか、[DeveloperToolKit](https://weekly.ascii.jp/elem/000/000/424/424758/)のみでしたが、
ついにRaspberry Piを使って自分で環境構築ができるようになりました。

##### できること
* WiFi接続（Android/iOS)
* USB接続（Android）
* プロジェクションモードの動作

ただし、動作可能なスマートフォンも依存があったり
まだまだこれからの環境ですが、自分で用意できるようになったのは進歩だと思います。
※ここでは説明しませんが、ついにiOSの実機環境ができました！

#必要機器の準備
SDLの実機環境は、RasberryPi3を使用して構築することができます。
まずは、以下の機器を揃えてください。

* [RasberryPi3 Model B+](https://www.raspberrypi.org/products/raspberry-pi-3-model-b/)
* [Raspberry Pi Touchscreen](https://www.raspberrypi.org/products/raspberry-pi-touch-display/)（※タッチ操作可能なモニターなら可能かも
* micro SDHCカード 1GB以上推奨
* micro USB(Type-B)のACアダプタ



#SDLのイメージをSDHCカードに焼き込む

#### SDLイメージのダウンロード
こちらの[サイト](https://github.com/micdev-jp/sdlbootcamp)よりSDLのイメージをダウンロードします。
※現在は、[dropbox](https://www.dropbox.com/sh/5gckigstt6cou11/AAD8rM4hvtIuN2YejgO4X9l7a?dl=0)にイメージデータが格納されています。

<img width="1003" alt="SDLイメージ" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189829/a0d1af51-5359-6c92-504d-fb380eed8fe4.png">

dropboxより、「20190705sdlbootcamp.img.gz」を選び、「ダウンロード」ボタンをクリックすることでイメージをダウンロードすることができます。

#### SDHCカードに焼き込む

落としてきたイメージを用意したSDHCカードに焼きこみます。
焼き込む方法は、いろいろありますが、今回は[Etcher](https://www.balena.io/etcher/)を使用しますのでインストールしてください。
Windows版、Mac版もありますが、ここからの説明はMac版となります。

「Select images」ボタンをクリックします。
<img width="80%"  alt="Etcherアプリ" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189829/fd637421-6661-749e-26ad-3c59879fc7cf.png">

ダウンロードした「20190705sdlbootcamp.img.gz」ファイルを選択します。
<img width="80%"  alt="イメージ選択" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189829/9a2a9cad-2d8c-e07c-df81-5d34ee0e1204.png">

「Select target」ボタンをクリックし、SDHCカードを選択します。
<img width="80%" alt="SDHCカード選択" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189829/e2958363-b3f9-7b08-5347-61e64d42c335.png">

「Flash!」ボタンをクリックします。
<img width="80%"  alt="Flash書き込み" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189829/baa16bd7-09ad-0e76-c44f-33abb54c685b.png">

書き込みが完了するまで待ちます。
<img width="80%"  alt="書き込み中" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189829/fbd5ae9f-a13f-867b-8a29-14c3f712f20b.png">

「Flash Complete」のメッセージが表示されたら書き込み完了です。
<img width="80%"  alt="書き込み終了" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189829/a765cf31-b2aa-91f3-5d8e-13ea9b8b4c7d.png">

#動かしてみる

先ほど焼き込んだSDHCカードをRaspberry Piに差し込んで起動してください。

以下のようなSDLBOOTCAMPの画面が表示されれば成功です。

<img width="80%"  alt="動作画面" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189829/946d4b91-6a8b-fad3-2854-0c8f66bdb3d6.jpeg">
画面中央の「SDLBOOTCAMP」は、タッチすると動きます。

#サンプルを動かしてみる

サンプルは以下の記事を参考ください。

SDLBootCampは、最新のSDLのSDKでは動作せず
sdl_android:4.8.0で動作させる必要がありますのでご注意ください。

WiFi接続を行う場合は、Raspberry PiのWiFiにスマートフォンを接続します。
Raspberry Piの接続情報は以下の通りです。

```
SSID : sdlbootcamp
暗号キー : sdlbootcamp
```


<img width="80%" alt="動作画面" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189829/828c0bb9-5048-f047-5cd3-c5be397eac24.jpeg">
WiFi接続で、プロジェクションモードも動作しています。

今回の環境で動作させるように修正した各ソースコードを「SDLBootCamp_version」ブランチにアップしています。

[【Smart Device Link】画面とかを作ってみる](https://qiita.com/masaya3/items/5b52fe22fa7a8cb2f189)

[【Smart Device Link】プロジェクションモードを試してみる](https://qiita.com/masaya3/items/8e68ed3007f8e7b01409)

[【Smart Device Link】車からの情報を取得してみる](https://qiita.com/masaya3/items/ac49a630f1d7cd2eb22f)


#その他
SDLBOOTCAMPのドキュメント
https://micdev-jp.github.io/sdlbootcamp/index.html