SlideShare a Scribd company logo
ANDROID THINGS & KOTLIN
ANDROID THINGSとKOTLINで作るIOT
2018/05/24 ワイヤレスジャパン 日本Androidの会セッション
自己紹介
金田浩明(かねだひろあき)
▸ Android技術者
▸ 著書に「はじめてのAndroidプログラミング」などがある
▸ 先月発刊の第3版はKotlin対応!
Twitter:@emboss369
Facebook:hiroaki.kaneda
ANDROID THINGSとKOTLINで作るIOT
CONTENTS
▸ Android Thingsとは
▸ Kotlinとは
▸ Android Things ✕ Kotlin ✕ Deep Leaning
▸ テレビ漬け防止強制OFFガジェット
▸ Google Cloud IoT
ANDROIDTHINGS
とは
WHAT IS ANDROID
THINGS?
テキスト
ANDROID THINGSとは何か?
▸ AndroidをベースとしたIoT向けプラットフォーム
出典: https://androidthings.withgoogle.com/#!/
テキスト
ANDROID THINGSのハードウェア
▸ 生産プラットフォーム
▸ 開発プラットフォーム
出典:https://developer.android.com/things/hardware/
テキスト
ANDROID THINGS
▸ 特徴
▸ Android開発経験
▸ Googleが開発
▸ 周辺機器インターフェース
▸ Google連携
テキスト
ANDROID開発経験をそのまま活かせる
▸ Android SDKのサブセット
▸ Googleが管理
▸ コンソール
▸ 自動アップデート
テキスト
カーネルやファームウェアはGOOGLEが開発
ANDROID FRAMEWORK
HARDWARE LIBRARIES
LINUX KERNEL
Googleが管理
テキスト
周辺機器インタフェースで機器にアクセス
▸ Peripheral I/O API
▸ GPIO/PWM/I2
C/SPI/UART
USER DRIVER
PERIPHERAL I/O
ユーザーが管理
GPIO PWM I2
C SPI UART
テキスト
▸ 物理ボタン → AndroidのButton
テキスト
GOOGLEサービスとの連携
▸ Google Play Services
▸ Firebase
▸ Google Cloud
テキスト
これまでのIOTデバイス
デバイス製造・OS開発
高コスト
時間がかかる
一貫性のない言語
IDE
OS
セキュリティ
問題
テキスト
ANDROID THINGSの特徴
Google管理Android セキュリティ&自動化
IOTのアーキテクチャ
デバイスとゲートウェイ 接続 デバイスとデータ管理
サービス管理
APIゲートウエイ
外部サービス
ストレージ
クラウドストレー
ジ
データ保管
データインテグレーション
データ正規化 データ解析
解析データ
ダッシュボード管理者画面
IP利用可能
デバイス
IP利用不可
能デバイス
IOTゲート
ウェイ
プロトコルゲートウェイ
メッセージブローカー
インテグレーション
セキュリティ・ログイン・
認証・モニタリング
デバイス管理・OTA
KOTLINとは
WHAT IS KOTLIN?
テキスト
JAVAからKOTLINへ
▸ Google正式サポート
▸ Android開発も徐々にKotlinへ移行
▸ 将来的にはほぼ置き換わるかも
テキスト
KOTLINはどんな言語なのか?
▸ Java代替言語
▸ モダン・シンプル
▸ Java経験者にとって学習コスト小
テキスト
KOTLINの特徴
▸ 相互運用性
▸ 静的型付け言語
▸ オブジェクト指向
▸ 関数型プログラミング
▸ 安全
x yf(x)
ANDROID THINGS ✕
KOTLIN ✕ DEEP 
LEANING
INTEGRATION
ANDROID THINGSとKOTLIN
▸ Androidの知識
▸ モダンな開発環境
▸ 安全な言語
AI & DEEP LEANING
▸ 深層学習もできる
▸ TensorFlow Lite
▸ Edge Computing
クラウドコンピューティング
サーバ

負荷増大
ネットワーク
負荷増大
エッジコンピューティング
{person:祖父,祖母,父,母,子供}
通信量低減
サーバ負荷低減
テレビ漬け防止
強制OFF
ガジェット
A COUCH POTATO IS
SOMETHING
THAT I DON'T WANT TO BE.
テレビ漬け防止強制OFFガジェット
概要
▸ 子供ごとのTV視聴時間を管理
▸ テレビは一日1時間!
▸ 超えたら強制TV OFF!
構成
Cloud
Mode
Mode
{person:父}
①クラウドへ保存
②機械学習
③学習済みモデルをIoT機器に
④IoT側で判定
⑤機械学習による分類
⑥クラウドに保存 ⑦解析
ANDROID STUDIOでプロジェクト作成
ANDROID STUDIOでプロジェクト作成
ANDROID STUDIOでプロジェクト作成
ANDROID STUDIOでプロジェクト作成
カメラを接続する
▸ Googleのサンプルコード
▸ https://github.com/androidthings/
doorbell#trigger_an_image_capture
▸ android.hardware.camera2
OPENCVで顔認識
▸ サードパーティ製ライブラリもOK
▸ OpneCVの場合、Androidと全く同じ手順で導入可能
FIREBASEへ画像を送信
com.google.firebase.storage.StorageReference
TENSORFLOWで学習
▸ 集めた顔画像を学習、父、母、姉、弟を分類
▸ 転移学習(Transfer Learning)
IMAGE_SIZE=128
ARCHITECTURE="mobilenet_0.50_${IMAGE_SIZE}"
python -m scripts.retrain 
 --bottleneck_dir=../face/bottlenecks 
 --model_dir=../face/models/ 
 --summaries_dir=../face/training_summaries/"${ARCHITECTURE}" 
 --output_graph=../face/model/retrained_graph.pb 
 --output_labels=../face/model/retrained_labels.txt 
 --architecture="${ARCHITECTURE}" 
 --image_dir=../face/faces
TENSORFLOW LITEへ変換
▸ コマンドでTensorFlow Liteへ変換
▸ QUANTIZED_UINT8を使うとサイズを減らせる
IMAGE_SIZE=128
toco 
 --input_file=../face/model/retrained_graph.pb 
 --output_file=../face/model/optimized_graph.lite 
 --input_format=TENSORFLOW_GRAPHDEF 
 --output_format=TFLITE 
 --input_shape=1,${IMAGE_SIZE},${IMAGE_SIZE},3 
 --input_array=input 
--output_array=final_result 
 --inference_type=FLOAT 
 --input_data_type=FLOAT
ANDROID THINGSでTENSORFLOW LITEを使う
▸ TensorFlow Lite
▸ https://github.com/googlecodelabs/tensorflow-for-
poets-2/
▸ https://codelabs.developers.google.com/codelabs/
tensorflow-for-poets-2-tflite/#3
GOOGLE
CLOUD IOT
MQTT BROKER
GOOGLE CLOUD PLATFORM & GOOGLE CLOUD IOT
▸ IoTのためのゲートウェイ
▸ MQTT ブローカー
▸ Cloud IoTはGCPと連携
▸ 機械学習と連携
IOTのシステム一例
出典:https://cloud.google.com/solutions/architecture/real-time-stream-processing-iot?hl=ja
テキスト
IOTのアーキテクチャ
デバイスとゲートウェイ 接続 デバイスとデータ管理
サービス管理
APIゲートウエイ
外部サービス
ストレージ
クラウドストレー
ジ
データ保管
データインテグレーション
データ正規化 データ解析
解析データ
ダッシュボード管理者画面
IP利用可能
デバイス
IP利用不可
能デバイス
IOTゲート
ウェイ
プロトコルゲートウェイ
メッセージブローカー
インテグレーション
セキュリティ・ログイン・
認証・モニタリング
デバイス管理・OTA
ANDROID THINGSとKOTLINで作るIOT
まとめ
ANDROID THINGSとKOTLINで作るIOT
▸ Androidエコシステム
▸ GoogleがUpdate &セキュリティパッチ提供
▸ モダンな言語Kotlinも使える
▸ TensorFlowでDeep Leaning &エッジコンピューティング
▸ Google Cloud IoTを使えばIoT機器もクラウドIoTフレーム
ワークも一気通貫

More Related Content

Similar to Android ThingsとKotlinで作るIoT

[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
Google Cloud Platform - Japan
 
Windows ChatGPT Bing AI
Windows ChatGPT Bing AIWindows ChatGPT Bing AI
Windows ChatGPT Bing AI
Atomu Hidaka
 
Trat_sprint2
Trat_sprint2Trat_sprint2
Trat_sprint2
tratwakate
 
Iotlitercy wg no7
Iotlitercy wg no7Iotlitercy wg no7
Iotlitercy wg no7
Hiromitsu Jin
 
Android,Brillo,ChromeOS
Android,Brillo,ChromeOSAndroid,Brillo,ChromeOS
Android,Brillo,ChromeOS
l_b__
 
[Io2012]android41+開発ツール紹介
[Io2012]android41+開発ツール紹介[Io2012]android41+開発ツール紹介
[Io2012]android41+開発ツール紹介
Kenichi Kambara
 
アンドロイド勉強会第二回 080525 3
アンドロイド勉強会第二回  080525 3アンドロイド勉強会第二回  080525 3
アンドロイド勉強会第二回 080525 3
shimay
 
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューションAzureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Jingun Jung
 
Azure IoT Edge - EdgeAI #5
Azure IoT Edge - EdgeAI #5Azure IoT Edge - EdgeAI #5
Azure IoT Edge - EdgeAI #5
Jingun Jung
 
Android Abc2009 Fall Shima091130 1
Android Abc2009 Fall Shima091130 1Android Abc2009 Fall Shima091130 1
Android Abc2009 Fall Shima091130 1shimay
 
Dragon board+センサモジュール ハードウェア開発セミナー (2017 06-12) #ドローン #IoT #Azure #zephyr
Dragon board+センサモジュール ハードウェア開発セミナー (2017 06-12) #ドローン #IoT #Azure #zephyrDragon board+センサモジュール ハードウェア開発セミナー (2017 06-12) #ドローン #IoT #Azure #zephyr
Dragon board+センサモジュール ハードウェア開発セミナー (2017 06-12) #ドローン #IoT #Azure #zephyr
博宣 今村
 
DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会
健一 辰濱
 
Azure IoT Edge入門
Azure IoT Edge入門Azure IoT Edge入門
Azure IoT Edge入門
Tomokazu Kizawa
 
覗いてみよう。with/afterコロナ時代に輝くMixedRealityの世界。
覗いてみよう。with/afterコロナ時代に輝くMixedRealityの世界。覗いてみよう。with/afterコロナ時代に輝くMixedRealityの世界。
覗いてみよう。with/afterコロナ時代に輝くMixedRealityの世界。
Shingo Mori
 
新しい認証技術FIDOの最新動向
新しい認証技術FIDOの最新動向新しい認証技術FIDOの最新動向
新しい認証技術FIDOの最新動向
FIDO Alliance
 
IoTとは何?
IoTとは何?IoTとは何?
IoTとは何?
Naoki Saito
 
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座
SORACOM,INC
 
IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020
IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020
IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020
SORACOM,INC
 
ドローン用フライトコントローラ「Dronecode」の概要( #KOF2015 )
ドローン用フライトコントローラ「Dronecode」の概要( #KOF2015 )ドローン用フライトコントローラ「Dronecode」の概要( #KOF2015 )
ドローン用フライトコントローラ「Dronecode」の概要( #KOF2015 )
博宣 今村
 
IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)
IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)
IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)
SORACOM,INC
 

Similar to Android ThingsとKotlinで作るIoT (20)

[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
[Cloud OnAir] Google Cloud の AI / IoT 最新事例紹介 2020年10月22日 放送
 
Windows ChatGPT Bing AI
Windows ChatGPT Bing AIWindows ChatGPT Bing AI
Windows ChatGPT Bing AI
 
Trat_sprint2
Trat_sprint2Trat_sprint2
Trat_sprint2
 
Iotlitercy wg no7
Iotlitercy wg no7Iotlitercy wg no7
Iotlitercy wg no7
 
Android,Brillo,ChromeOS
Android,Brillo,ChromeOSAndroid,Brillo,ChromeOS
Android,Brillo,ChromeOS
 
[Io2012]android41+開発ツール紹介
[Io2012]android41+開発ツール紹介[Io2012]android41+開発ツール紹介
[Io2012]android41+開発ツール紹介
 
アンドロイド勉強会第二回 080525 3
アンドロイド勉強会第二回  080525 3アンドロイド勉強会第二回  080525 3
アンドロイド勉強会第二回 080525 3
 
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューションAzureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
 
Azure IoT Edge - EdgeAI #5
Azure IoT Edge - EdgeAI #5Azure IoT Edge - EdgeAI #5
Azure IoT Edge - EdgeAI #5
 
Android Abc2009 Fall Shima091130 1
Android Abc2009 Fall Shima091130 1Android Abc2009 Fall Shima091130 1
Android Abc2009 Fall Shima091130 1
 
Dragon board+センサモジュール ハードウェア開発セミナー (2017 06-12) #ドローン #IoT #Azure #zephyr
Dragon board+センサモジュール ハードウェア開発セミナー (2017 06-12) #ドローン #IoT #Azure #zephyrDragon board+センサモジュール ハードウェア開発セミナー (2017 06-12) #ドローン #IoT #Azure #zephyr
Dragon board+センサモジュール ハードウェア開発セミナー (2017 06-12) #ドローン #IoT #Azure #zephyr
 
DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会
 
Azure IoT Edge入門
Azure IoT Edge入門Azure IoT Edge入門
Azure IoT Edge入門
 
覗いてみよう。with/afterコロナ時代に輝くMixedRealityの世界。
覗いてみよう。with/afterコロナ時代に輝くMixedRealityの世界。覗いてみよう。with/afterコロナ時代に輝くMixedRealityの世界。
覗いてみよう。with/afterコロナ時代に輝くMixedRealityの世界。
 
新しい認証技術FIDOの最新動向
新しい認証技術FIDOの最新動向新しい認証技術FIDOの最新動向
新しい認証技術FIDOの最新動向
 
IoTとは何?
IoTとは何?IoTとは何?
IoTとは何?
 
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座
20181019日経xTECH EXPO講演 | 今からでも遅くない!事例に学ぶIoT導入のための技術ポイント実践講座
 
IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020
IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020
IoTシステム構築の困り事から逆引き「SORACOM 全サービス解説」 | SORACOM Technology Camp 2020
 
ドローン用フライトコントローラ「Dronecode」の概要( #KOF2015 )
ドローン用フライトコントローラ「Dronecode」の概要( #KOF2015 )ドローン用フライトコントローラ「Dronecode」の概要( #KOF2015 )
ドローン用フライトコントローラ「Dronecode」の概要( #KOF2015 )
 
IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)
IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)
IoT/M2M展基調講演 - 「IoTビジネスの新潮流」 by SORACOM玉川 (Japan IT week 2017)
 

More from Hiroaki Kaneda

SwiftUI宣言型Swift構文によるUI構築のパラダイムシフト
SwiftUI宣言型Swift構文によるUI構築のパラダイムシフトSwiftUI宣言型Swift構文によるUI構築のパラダイムシフト
SwiftUI宣言型Swift構文によるUI構築のパラダイムシフト
Hiroaki Kaneda
 
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Hiroaki Kaneda
 
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識
Hiroaki Kaneda
 
Ros,gazeboとchainerを用いた畳込みニューラルネットワークによる3次元形状の学習
Ros,gazeboとchainerを用いた畳込みニューラルネットワークによる3次元形状の学習Ros,gazeboとchainerを用いた畳込みニューラルネットワークによる3次元形状の学習
Ros,gazeboとchainerを用いた畳込みニューラルネットワークによる3次元形状の学習
Hiroaki Kaneda
 
ディープラーニングとROSで作る自動運転ロボット
ディープラーニングとROSで作る自動運転ロボットディープラーニングとROSで作る自動運転ロボット
ディープラーニングとROSで作る自動運転ロボット
Hiroaki Kaneda
 
AppleWatch発売!Apple Watch WatchKit勉強会-Notification
AppleWatch発売!Apple Watch WatchKit勉強会-NotificationAppleWatch発売!Apple Watch WatchKit勉強会-Notification
AppleWatch発売!Apple Watch WatchKit勉強会-Notification
Hiroaki Kaneda
 

More from Hiroaki Kaneda (6)

SwiftUI宣言型Swift構文によるUI構築のパラダイムシフト
SwiftUI宣言型Swift構文によるUI構築のパラダイムシフトSwiftUI宣言型Swift構文によるUI構築のパラダイムシフト
SwiftUI宣言型Swift構文によるUI構築のパラダイムシフト
 
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
 
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識
Rosとgazeboを使った3d空間での3次元畳み込みニューラルネットによる物体認識
 
Ros,gazeboとchainerを用いた畳込みニューラルネットワークによる3次元形状の学習
Ros,gazeboとchainerを用いた畳込みニューラルネットワークによる3次元形状の学習Ros,gazeboとchainerを用いた畳込みニューラルネットワークによる3次元形状の学習
Ros,gazeboとchainerを用いた畳込みニューラルネットワークによる3次元形状の学習
 
ディープラーニングとROSで作る自動運転ロボット
ディープラーニングとROSで作る自動運転ロボットディープラーニングとROSで作る自動運転ロボット
ディープラーニングとROSで作る自動運転ロボット
 
AppleWatch発売!Apple Watch WatchKit勉強会-Notification
AppleWatch発売!Apple Watch WatchKit勉強会-NotificationAppleWatch発売!Apple Watch WatchKit勉強会-Notification
AppleWatch発売!Apple Watch WatchKit勉強会-Notification
 

Android ThingsとKotlinで作るIoT