Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Smarthome dev overview

114 views

Published on

”スマートホームシステムの開発概要”
Alexa Day 2019で発表した内容です
https://alexaday2019.aajug.jp/session/174/
https://alexaday2019.aajug.jp/
当日のデモの様子がわかるように、写真を差し入れています

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Smarthome dev overview

  1. 1. スマートホームシステムの開発概要 Alexa Day 2019 株式会社システムゼウス
  2. 2. 自己紹介 1 © 2019 Systemzeus Inc. 飛田 直人(TOBITA Naoto) 株式会社システムゼウスのCOO NTTとソニーを経て、2013年に現職 COOとして、人事や広報、情シス、 新規事業検討などを雑多に担当 約20年間システム開発に従事。 実績は電子マネーシステム、 おサイフケータイのシステムなど。 最近はIoTシステムの開発に注⼒。
  3. 3. © 2019 Systemzeus Inc. 株式会社システムゼウスの宣伝 • アプリケーションの受託開発が主事業 • 社員数55名(エンジニア51名) • Webアプリケーション(サーバーサイド)が得意分野 • AWS上での開発実績多数。今現在も6つのプロジェクトがAWSで開発。 • 開発実績として電子マネーやおサイフケータイのシステムなど • 最近はIoT関連のシステム開発に注⼒
  4. 4. 本セッションのねらい 3 © 2019 Systemzeus Inc. Alexaを使ったスマートホームシステムを、開発者目線で、俯瞰できるようになっていただく 組込みデバイス 全体図を⾒て、デモを⾒て、各部を⼀つひとつ確認
  5. 5. 当日のデモで使用したモノ 4 © 2019 Systemzeus Inc. デバイスシミュレータとAmazon EchoデバイスシミュレータとAmazon Echo LEDライト(家模型)とAmazon EchoLEDライト(家模型)とAmazon Echo
  6. 6. Alexaスマートホームスキルでできること ※2019年3月時点 5 © 2019 Systemzeus Inc. No デバイス 操作内容 操作例 備考 1 ライト ON/OFF - 輝度 0-100%で指定 色 ⾚、⻘など 色温度(ケルビン) 1,000-10,000ケルビンで指定 2 扇風機 ON/OFF - 風量(%) 0-100%で指定 3 テレビ ON/OFF - ⾳量 大きくして、小さくして チェンネル ○ch、テレビ○○など ⼊⼒切替 HDMI1、HDMI2など 4 DVDプレイヤー ON/OFF - ⾳量 大きくして、小さくして 再生操作 再生、巻き戻し、⼀時停止、早送りなど 5 ドアロック 施錠/解錠 - 発話での解錠は、日本では当初制限されていたが、2018.12に実装可能 になる。 6 ドアロック (非同期) 施錠/解錠 - 非同期とは、8秒以上かかって施錠が⾏われるロックに対応したもの。 突き放し処理で施錠指⽰がされ、施錠結果が非同期で返る。 7 エアコン ON/OFF - 運転モード クーラー、暖房、送風 OFFタイマー ○時にOFF 2019年3月時点で日本語未対応 風量(%) 0-100%で指定 温度調整(度) ○度
  7. 7. 当日のデモの様子(LEDライトの発話操作) 6 © 2019 Systemzeus Inc. Amazon EchoとLEDライト(家模型)
  8. 8. システム全体像 7 Device Cloud Core © 2019 Systemzeus Inc. Amazon Echo Device App API Alexa Skill API 他社製AI向け API 他社製 ⾳声AI Alexa Cloud AWS IoT Analytics Pipeline 拡張 Quick Sight Device Cloud デバイス アプリ スピーカ アプリ スマホ 組込 アプリ 運用PC LEDライト ※橙色が開発箇所 他社製 スピーカー Smart Home Skill デバイス シミュレータ PC 発話〜デバイス操作の流れ
  9. 9. クラウドのシステム構成 8 © 2019 Systemzeus Inc. Cognito DynamoDB Lambda API Gateway AWS IoT デバイス アプリ アレクサ アプリ アレクサ スマホ デバイス 組込 アプリ IoTに相応しいマネージドサービスの組み合わせ
  10. 10. ユーザ操作(初回手続き) 9 © 2019 Systemzeus Inc. ユーザ登録 • ユーザのID&パスワードをデバイスクラウドに登録する(持ち主登録) デバイス 登録 • スマホのデバイスアプリを使い、デモ用LEDライトをデバイスクラウドに登録する • 先に登録したユーザとデバイスを紐付ける • デバイスのセキュアエレメントにある秘密鍵を使い、なりすましを防止 アカウント リンキング • デバイスクラウドのユーザアカウントと、Amazon Echoのユーザアカウントを紐付ける • デバイスクラウドユーザ管轄のデバイスに、Amazon Echoのユーザからリーチできる 発話操作可能に︕ 1 2 3
  11. 11. 当日のデモの様子(デバイスの初回設定) 10 © 2019 Systemzeus Inc. Webアプリ(スマホ) デバイス(家の模型・LEDライト)
  12. 12. Webアプリにおけるデバイス登録処理 11 © 2019 Systemzeus Inc. Device Cloud スマホ LEDライト ECC608A SAMG55 LED制御基板 Wifi APモード 切替スイッチ (ハードボタン) デバイス アプリ (Web) LED制御 アプリ WINC1500 1.APモード起動ブラウザ S3 Cloud Front 2.WebアプリのDL 3.ログイン 4.Wifi接続 OSのWifi設定 Wifiルータ 6.Wifiルータ接続指⽰ https サーバ 7.デバイス証明書の登録(JIT) 8.デバイス登録 (OS設定でWifi切替) LEDライト 1 2 3 4 6 5 5.ThingIDと SSIDの取得 7 8 IoT アプリ
  13. 13. スマートホームスキルの開発 12 © 2019 Systemzeus Inc. Device Cloud Core Amazon Echo Device App API Alexa Skill API 他社製AI向け API 他社製 ⾳声AI Alexa Cloud AWS IoT Analytics Pipeline 拡張 Quick Sight Device Cloud デバイス アプリ スピーカ アプリ 組込 アプリ 運用PC 他社製 スピーカー Smart Home Skill デバイス シミュレータ
  14. 14. スマートホームスキルの開発 13 © 2019 Systemzeus Inc. • スキルはLambdaにホストするWebアプリケーション。弊社はNode.js(Typescript)で実装。 • カスタムスキルと異なり、発話と操作に関する仕様が予め規定されている • スマートホームスキル対応デバイスは、ウェイクワードを省略して発話操作できる ウェイクワードなし 「アレクサ、リビングのライトをつけて」 ウェイクワードあり 「アレクサ、ぜうすでんきのスキルを使って、リビングのライトをつけて」 • デバイス操作にかかる主要ロジックは後段のデバイスクラウドに実装するため、スマートホーム スキル⾃体は中継ロジックのみで、軽量開発となる • デバイス側のローカル操作結果をAlexaに通知する経路(ChangeReportイベント系)が、 実装漏れしやすい。
  15. 15. デバイスクラウドの開発 14 © 2019 Systemzeus Inc. Device Cloud Core Amazon Echo Device App API Alexa Skill API 他社製AI向け API 他社製 ⾳声AI Alexa Cloud AWS IoT Analytics Pipeline 拡張 Quick Sight Device Cloud デバイス アプリ スピーカ アプリ 組込 アプリ 運用PC 他社製 スピーカー Smart Home Skill デバイス シミュレータ
  16. 16. デバイスクラウドの開発 15 © 2019 Systemzeus Inc. • Lambdaにホスト。弊社はNode.js(Typescript)で実装。 • AWS IoTを活用。AWS IoTはデバイスと通信するときのプロキシー的な役割。 • ユーザ(デバイスオーナー)管理にCognitoを活用。OAuthなどの認証プロトコルの⾃作が不要に。 • ユーザ情報とデバイス情報を紐付けるデータをDynamoで管理 • デバイス登録について、弊社ではJust In Time(JIT)方式を採用。 • デバイス登録・操作で用いるアプリ(スマホ)とのやりとりもデバイスクラウド管轄 • 拡張性を意識して開発する デバイスクラウドではシャドウ(デジタルツイン)を用いてデバイスを管理する
  17. 17. (参考)シャドウとは 16 © 2019 Systemzeus Inc. デバイスの状態を管理するJSONデータ 例︓LEDライトのシャドウ
  18. 18. デバイス組込みアプリの開発 17 © 2019 Systemzeus Inc. Device Cloud Core Amazon Echo Device App API Alexa Skill API 他社製AI向け API 他社製 ⾳声AI Alexa Cloud AWS IoT Analytics Pipeline 拡張 Quick Sight Device Cloud デバイス アプリ スピーカ アプリ 組込 アプリ 運用PC 他社製 スピーカー Smart Home Skill デバイス シミュレータ
  19. 19. デバイス組込みアプリの開発 18 © 2019 Systemzeus Inc. • デバイス本体の基板に、IoT用基板を出島のように接続する形態が無難 ※後図参照 あ -デバイス本体に混ぜ込むようにIoT部を実装すると、タスクと割り込みの管理が複雑になる -IoT部のみ作ってしまえば、他の製品に使いまわしできる • IoT部は、「MCU」「通信チップ(Wifiなど)」「セキュアエレメント」の3つから成る • セキュアエレメントを用い、JIT登録とTLS通信を実装するのが安全でおすすめ • IoT部の組込みアプリはC言語で開発。デモ機のMCUはマイクロチップ社のSAMG55で、 OSはFree RTOS。そのうちAmazon Free RTOS(AFR)版がリリースされるものと思われる。 • 開発の大変さは普通の組込みアプリの開発と変わらないが、AWS社やチップメーカーがIoTの サンプルソースやライブラリを提供してくれているので、それらを組み合わせて作り込める
  20. 20. デモ用LEDライトの構成 19 © 2019 Systemzeus Inc. 検証基板 (マイクロチップ社製) セキュア エレメント ATECC608A Wifiチップ ATWINC1500 Arduino LEDライト マイコンの中 マイコン ATSAMG55
  21. 21. アプリ(スマホ)の開発 20 © 2019 Systemzeus Inc. Device Cloud Core Amazon Echo Device App API Alexa Skill API 他社製AI向け API 他社製 ⾳声AI Alexa Cloud AWS IoT Analytics Pipeline 拡張 Quick Sight Device Cloud デバイス アプリ スピーカ アプリ 組込 アプリ 運用PC 他社製 スピーカー Smart Home Skill デバイス シミュレータ
  22. 22. アプリ(スマホ)の開発 21 © 2019 Systemzeus Inc. • デバイスをネットにつなげる手続きが必要で、アプリで実装するのが⼀般的 • ネイティブアプリとして実装する -AndroidやiOSアプリ • がんばってWebアプリ(ブラウザで動作)として実装するもよし -アプリ保守の手間を削減できるのが最大のメリット -ユーザビリティはネイティブより若⼲落ちる -弊社ではhttpsサーバを組込み側に実装して実現 • ユーザに対する付加価値を提供する媒体として有効 -アプリで操作 -利用履歴の参照 など
  23. 23. IoT Analytics & QuickSightの利用 22 © 2019 Systemzeus Inc. Device Cloud Core Amazon Echo Device App API Alexa Skill API 他社製AI向け API 他社製 ⾳声AI Alexa Cloud AWS IoT Analytics Pipeline 拡張 Quick Sight Device Cloud デバイス アプリ スピーカ アプリ 組込 アプリ 運用PC 他社製 スピーカー Smart Home Skill デバイス シミュレータ
  24. 24. 当日のデモの様子(QuickSight) 23 © 2019 Systemzeus Inc. QuickSightの画面
  25. 25. QuickSightで作成したグラフ一覧 24 © 2019 Systemzeus Inc. デバイス別 累積点灯時間 LEDライトを対象に作成したグラフ 時間帯別 電源ON/OFF回数 色別 累積点灯時間 日別 デバイスのクラウド登録数
  26. 26. デバイスからAnalytics&QuickSightへの流れ 25 © 2019 Systemzeus Inc. AWS IoT QuickSight 各デバイス Analytics channel pipeline data store data set data set グラフ化 運用者 csvファイル Lambda関数 デモでの加工内容 • 日本時刻化 • グループ名付与 • ThingID抽出/付与 ・・・など Pipelineに加工処理の 設定。Lambdaでプロ グラム加工も可。 data storeへの クエリの設定 グラフ化の設定 Act(ルール) Analytics対象Topicを subscribeし、それを channelに送信する設定 所定のTopicを 更新毎に送信 生データ 加工済 データ 抽出済 データ Topic (MQTT) データをPuiblishする 機能を実装
  27. 27. 分析/管理/監視に必要な情報 26 ①プロダクトID ➁ThingID ※工場出荷時に埋込 スマホ IoT用 組込アプリ デバイス SE Wifi MCU IoT用回路 本体 組込アプリ Device Cloud AWS IoT Analytics & Quick Sight デバイス アプリ ③ユーザー情報 ④設置情報 ⑥シャドウ情報 ⑤状態データ ※デバイスの状態をクラウドに通知するために 本体とIoT用の組込みアプリに必要機能を実装 予め仕込んでおかないと情報収集はままならない 運用者 デバイスユーザー (または設置者) 操作履歴 データロスしたくない 程度を決め、送信頻度、 永続記憶部への記録等 を検討 © 2019 Systemzeus Inc.
  28. 28. デバイスシミュレータ ※弊社で開発したデモ・デバッグツール 27 © 2019 Systemzeus Inc. Device Cloud Core Amazon Echo Device App API Alexa Skill API 他社製AI向け API 他社製 ⾳声AI Alexa Cloud AWS IoT Analytics Pipeline 拡張 Quick Sight Device Cloud デバイス アプリ スピーカ アプリ 組込 アプリ 運用PC 他社製 スピーカー Smart Home Skill デバイス シミュレータ
  29. 29. 当日のデモの様子(デバイスシミュレーター) 28 © 2019 Systemzeus Inc. デバイスシミュレータの画面
  30. 30. 画面の説明 29 © 2019 Systemzeus Inc. 状態表示 シャドウ リモコン クラウドの処理ログ デバイスシミュレータの画面は状態表示、シャドウ、リモコン操作、クラウドログ表示から成る
  31. 31. 画面(デバイス)の一覧 30 © 2019 Systemzeus Inc. ライト 扇風機 ドアロック ドアロック(非同期) テレビ DVDプレイヤー エアコン
  32. 32. デバイスシミュレータの構造 31 © 2019 Systemzeus Inc. Node.js AWS IoT SDKSocket.io サーバーアプリ Javascript ExpressAngular Material Design for Bootstrap Socket.io フロントアプリ(GUI) Javascript ブラウザ jQuery AWS IoT デバイスシミュレータ ブラウザ上で動作するSPA(*1)として実装。AWS IoT SDKを介してAWS IoTと通信。 (※1)SPA=Single Page Application ユーザー
  33. 33. エンジニアリングギャップ 32 © 2019 Systemzeus Inc. クラウド IoT部 本体 クラウドとデバイスの間にはエンジニアのデスバレーが存在していそう デバイス
  34. 34. ビジネスギャップ 33 © 2019 Systemzeus Inc. 売り切りの家電製品に対し、クラウドやアプリはランニングコスト。しかも家電は⻑寿命。 • ⼀般的に、家電製品は5年~10年以上、使用され続ける。 • 家電製品が使い続けられている間、クラウドやアプリ保守でランニングコストがかかる。 • ランニングコストをユーザから回収するのが難しい。売り切り単価に10年分のランニング コストを上乗せするのは⾒積もりが難しいし、⾼額になりがち。 • ⾼額な家電製品や、年間保守費及びサブスクの料⾦徴収ができそうなデバイスであれば、 比較的IoT化しやすいか。
  35. 35. おわりに 34 © 2019 Systemzeus Inc. 開発にフォーカスすると、スマートホームをとりまく環境はすこぶる良好 -Amazon Alexaチームさんが、開発容易性を日々向上させてくれている -AWSさんが、必要なSDKや便利な機能をどんどん提供してくれている -チップメーカーさんが、データシートやサンプルソースを充実させてくれている -ユーザや個人開発者の皆さんが、⾃身でスマートホームの開発にトライしてくださっている 皆で便利なスマートホームを実現しましょう︕
  36. 36. http://www.systemzeus.co.jp/ 開発のご相談はこちらへ システムゼウス IoT開発窓口 Mail: itoc@systemzeus.co.jp

×