LoginSignup
3
2

More than 1 year has passed since last update.

Simulink Support Package for Android Devicesを使ってみる

Last updated at Posted at 2019-10-14

1.はじめに

Simulink Support Package for Android Devicesは、Simulinkのモデルベースで記述したものをコンパイルしてアプリを生成し、Android deviceで動作させるものです。2014a(2014年の春バージョン)にリリースされているにもかかわらず、Qiitaには未だに人柱記事も立っていない状況のようなので、書いてみることにしました。

2.準備

まず、最初にAndroid Studioをインストールし、セットアップします。
「えっ?Android Studioが必要?」と思った人もいるかと思います。私もそう思いましたが、要ります。
Simulink Support Package for Android Devicesは、Android Studioの環境をSimulink上から操作するようなことをしているようです。
なので、Android Studioがきちんと動いていないと、Simulink Support Package for Android Devicesも動いてくれません。
Android Studioをまず、セットアップし、サンプルをコンパイルしてハードウェアにデプロイし、Hello Worldが出せるようにしてから、Simulink Support Package for Android Devicesのセットアップを始めたほうがよいと思います(両方中途半端だと訳わからなくなるので)。

今(2019年10月)現在のAndroid Studioの最新バージョンは3.5ですが、Simulink Support Package for Android Devicesは、Android Studioの3.5には対応していないそうです。
ここに書いてありました
なので、3.4をダウンロードしてインストール&セットアップしてください(3.4のダウンロード先も上記のページに書いてあります)。
追記:今(2020年12月)現在のAndroid Studioの最新バージョンは4.1になっていますが、Support Package for Android Devicesは、Android Studioの4.1には対応していないそうで、4.0.2を使ってください、だそうです。

さらに追記:2021bでの状況は、Android Studio 4.2で、APIレベルは30で動きます(32までありますが32では動きませんでした)。SDK ManagerのSDK PlatformsやSDK Tools(右下のShow Package datailにチェック)で、32をアンインストール、30をインストールします。

Android StudioのインストールからハードウェアでHello Worldを出すまでの手順については、多くのページに書いてあるので、ここでは触れません。

Android Studioで、その他に特別にやっておくことは、「Tool」から「SDK Manager」を開き、
ToolBar.PNG
「Appearance & Behavior」の「System Setting」の「Android SDK」を選択し、「SDK tools」タブの下の、
 ・Android SDK Build-Tools
 ・Android SDK Platform-Tools
 ・Android SDK Tools
 ・NDK
 ・Android Support Repository
 ・Goodle Repository
をインストールしておくことです。
SDKtool.PNG
それと、環境設定として、PCとAndroid Deviceを同じWifiに接続する必要があります。PC~Android Device間はUSBで接続するので、なぜWifi接続も必要なのかはよくわからないですが(PCは同じセグメント内ならイーサネット接続でもOKみたいです)。

3.Simulink Support Package for Android Devicesのインストールとセットアップ

まず、Support PackageのAddonをインストールします。下の図の「アドオン」から「ハードウェアパッケージの入手」を選択します。
Fig01.png
Fig02.png
開いたブラウザから「Simulink Support Package for Android Devices」を選択して、インストールします。
ブラウザ.png
インストール.png
インストールしたら、そのままセットアップに進みます。
Android Studioのベリファイと、SDK Toolのベリファイがあります。
Android Studioをデフォルトのフォルダにインストールした場合は、ファイルの場所はそのままでOKです。SDKでパッケージやツールに不足があります、というメッセージが出た場合は、下の図の緑の矢印部分からヘルプが見れますので、必要なものを追加してください(前章のところで、インストールができていれば追加は必要ないはずです)。
Verify1.png
Verify2.png
Verify3.png

デバイスでのデバッグや、USBデバッグのセットアップがありますが、このあたりは、Android StudioでAndroid deviceと接続ができていれば、特に問題ありません。
USB Debug.png
このあと、Android Deviceのデバイスドライバーをインストールせよ、と出ますが、これもすでにインストールしてあるので問題ありません。"I have installed the appropriate Android device driver on this computer"にチェックして「次へ」行きます。
Android DeviceをUSBでPCに接続します。「デバッグを許可しますか?」が出たら、許可してください。
DeviceSetup.png
Select Your Android Deviceでデバイスを選択します。出てこない場合は、「最新の表示」をクリックしてみてください。
そして、Wifiが接続されているか確認します。
ConnectDevice.png
Configurationをチェックすると、セットアップ完了です。
「サポートパッケージの例を表示します」にチェックを入れておくとサンプル集が開きます。
VerifyConfig.png
セットアップ完了.png

4.exampleを実行する

exampleの画面が開きました。
example.png
左上の"Getting Started with Android Devices"を開きます。
このサンプルはAndroid Deviceのカメラで得た画像を画面に表示するものです。
CameraDisplay.png
左側のカメラブロックをダブルクリックすると、カメラの詳細(リアかフロントか 解像度)を選択できます。選択できない場合はRefreshを押してみてください。
CameraSetting.png
メニューの「ハードウェア」の「配布」の「ビルド、配布および開始」の「ビルド、配布および開始」を選択すると、ビルドされて、書き込まれます。
Android Deviceで、スタンドアロンで動作させることができて、画面としては、下記のようになります。
P1.png

exampleを見ると、音声関係、画像関係、モーションセンサー、通信関係(IoTのThingSpeakを含む)ができるようですが、音声関連はAudio System Toolbox、センサー関係はRobotics System Toolboxが必要になるようです。
UIはプッシュボタン、スライダ、モニタ画面、テキスト画面というところです。
あとは、Androidの他のアプリとデータのやり取りができるようですが、ここはまだ調査できていません。
DSP System Toolboxを持っていたので、exampleを下記のように改造してみました。
サンプル&ホールドは、プッシュボタンが押されたときのみカメラの出力データを取り込み、それ以外のときは、取り込んだデータを保持する機能を持ちます。
カメラ改造.png
Android deviceで実行させると画面はこのようになります。
Camera2画面.png
右のボタンを押すと、その瞬間の画像が撮影できて、
P2.png
こうなります。
画像の右上のにマークが出る(ときがある)ので右にドラッグすると、
P3.png
こうなって、ボタンが消えます(謎仕様)。

5.まとめ

以上が、Simulink Support Package for Android Devicesのインストール、セットアップ、サンプルの実行です。

・Android Studioは必要ですが、とりあえずインストールとセットアップができて、Android Deviceが動かせればよいだけ(Hello Worldレベル?)なので、それほど敷居は高くありません。
・音声、画像、センサ、通信系の入出力はそろっているのでデータの取り扱いに困ることはないと思われます。
・一方でUIに関しては、殺伐とした状況です(デザインのカスタマイズは今のところできないようです)。

ということで、Android Studioの写経はしたくないが、Android Device上で、見栄えはともかく動くものを作りたい(ただし、データの扱い、信号処理とかはちゃんとしたい)という目的であれば、有用かと思います(特にモデルベースデザインが、そこそこできる人)。

以上で人柱企画を終わります。
お疲れさまでした。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2