●対象聴講者
・Javaの基本を理解している方(必須)
・Androidのアプリをこれから開発してみよう、という方
・今さらAndroidのアプリの作り方を人に聞けない、という方
・スマホやタブレットで何ができるのかを知りたい方
・組み込み機器をスマホやタブレット端末で制御したい方
・Raspberry Piを使い始めたい方
・組み込みプログラミングを幅広いアプリケーションで始めたい方
・Raspberry Piの基本的な設定や起動の仕方はすでに習得したが、その上の応用についてもっと学びたい方
・一歩進んだアプリ開発をしたい方
・Linux環境下での効率の高いプログラミングを実践したい方
●講演の目標
<1日目>
・Androidアプリのための開発環境を構築できるようになる
・Androidアプリケーションを作れるようになる
・Androidが提供する機能を理解することができる
・Androidの機能を自ら調べ、アプリ作成をできるようになる
<2日目>
・組み込みLinux環境が理解できる
・Linux環境下で、組み込み機器を制御する方法が理解できるようになる
・Androidで組み込み機器を制御できるようになる
・システム管理の基礎を理解できる
<3日目>
・組み込みLinuxとAndroidをIoT連携したアプリケーションが作れるようになる
・Linux上での画像処理アプリケーションや並列処理といった先端機能をプログラムで使用する能力がつく
・組み込み機器によく利用する機材を使用できる能力がつく
●内容
<1日目>
1. Androidの背景と仕組みを知ろう
1.1 Androidの背景を知ろう
1.2 Androidの仕組みを知ろう
2. Androidの開発環境を作ろう
2.1 JDKの導入とAndroid Studioを導入してみよう
2.2 Androidエミュレータでアプリを動作させてみよう
2.3 実機でアプリを動作させてみよう
2.4 Androidアプリのしくみを知ろう
3. Javaの超簡単なおさらい
3.1 オブジェクト指向プログラミングのおさらい
3.2 Java文法をおさらい
3.3 Android Studioの補完機能を理解しよう
4. センサを使ったアプリを開発しよう
4.1 Androidが扱うセンサを理解しよう
4.2 センサを使ってアプリ開発をしよう
4.3 位置情報を獲得してみよう
5. 複数画面をもつアプリを開発しよう
6. ネットワーク接続を使ったアプリを作成しよう
6.1 Androidのネットワーク・アプリの仕組みを理解しよう
6.2 Webにアクセスするアプリを開発してみよう
7. カメラを使ったアプリを開発しよう
8. タッチ・センサを使ったアプリを開発しよう
8.1 Androidの入力の仕組みを理解しよう
8.2 タッチ・センサを使ったアプリを開発しよう
<2日目>
1. 組み込みLinuxを知ろう
2. Raspberry Piを理解しよう
2.1 Raspberry Piとはなにか?
2.2 Raspberry Piを起動してみよう
2.3 Raspberry Piを設定しよう
2.4 Raspberry Piをネットワークにつなごう
3. Raspberry Piでネットワーク・アプリを作ろう
3.1 Webサーバを導入しよう
3.2 Webアプリケーションを作ろう
4. Raspberry Piで外部デバイスを制御しよう
4.1 Raspberry Piの外部I/Oを理解しよう
4.2 制御するハードウェアを作ってみよう
4.3 外部ハードウェアを制御するプログラムを作ろう
4.4 ネットワークからハードウェアを制御してみよう
4.4 Bluetoothでつなげてみよう
5. AndroidでRaspberry Piを制御しよう
5.1 AndroidとBluetoothでつなげよう
5.2 Androidのネットワークでつなげよう
5.3 AndroidからRaspberry Piを制御しよう
5.4 AndroidからRaspberry Piの外部ハードウェアを制御しよう
<3日目>
1. カメラ画像を加工してみよう
1.1 画像処理アルゴリズムを自分で書いてみよう
1.2 OpenCVで画像処理してみよう
1.3 機械学習で顔認識してみよう
2. 並列計算で処理を高速化してみよう
2.1 OpenMPで処理を高速化
2.2 計算性能を分析してみよう
3. モータをいじってみよう
3.1 DCモータを制御してみよう
3.2 ステッピング・モータをPWM制御してみよう
4. さまざまな外部デバイスを扱ってみよう
4.1 加速度センサで遊ぼう
4.2 表示器を扱ってみよう
5. Androidと連携したIoTアプリを自作してみよう
Androidの開発環境
実習に使用するRaspberry Piとブレッドボード(セミナではRaspberry Pi 3B以降を使います)
Raspberry Piと接続したAndroid端末(セミナではRaspberry Pi 3B以降を使います)
応用で実習に使用するブレッドボード