狠狠撸

狠狠撸Share a Scribd company logo
AWS IoT×Open JTalk
IoT×音声通知ワークショップ
説明資料
2017/12/22
主催者より
? 本日はワークショップにお越しいただき、
誠にありがとうございます。
? 本日のワークショップでは、使用する手順書を
以下のURLで公開しております。
http://bit.ly/techcircle26
手順書をお読みになって、お待ちください。
? 開始までの間、名刺交換など、ご参加いただいた皆様の間の
ご交流は、ご自由にいただいて構いません。
主催者より
? 本日はワークショップにお越しいただき、
誠にありがとうございます。
? 本日のワークショップでは、使用する手順書を
以下のURLで公開しております。
http://bit.ly/techcircle26
お手持ちの端末で開き、見られる状態にしておいてください。
? 本日のワークショップは「Tech-Circle」の
第26回目のイベントでございます。
Tech-Circleについて
DJ: @decchi
IoT×音声通知ワークショップ
講師: @nasuvitz
はじめに
? 本ワークショップは、
- AWSが提供するIoTクラウドサービス「AWS IoT」
- IoT用通信サービス「SORACOM Beam
- 音声合成システム「Open JTalk」
を使い、IoTの仕組みを利用したシステムによる
音声読み上げを体験いただきます。
? 本ワークショップに取り組んだ結果として、参加者の皆さまが
IoTへの理解を深め、今後、IoTの開発や企画に携わるきっかけ
となれば、講師としてこれ以上の喜びはございません。
講師紹介
? 横井 公紀 – Kiminori Yokoi
? クラウドソリューションアーキテクト
? AWS
? Azure
? GCP
? Bluemix …etc
? プリセールスからサーバレス開発までオールラウンダー
? AWSスポットインスタンス使い
? いちおうAWS認定資格パーフェクトホルダー
でも、もうすぐ有効期限切れ。。。
/nasuvitz/
本日の流れ
? (講義) IoT の考え方を知ろう
? (講義+ワークショップ) AWS IoT を使ってみよう
? (講義+ワークショップ) 指示スクリプトを見てみよう
? (講義+ワークショップ) 確認スクリプトを見てみよう
? (講義+ワークショップ) Open JTalk に喋ってもらおう
? (講義) SORACOM Beam を使ってみよう
? (講義) IoT の事例について
IoTの考え方を知ろう
?今一度基礎から学ぶIoT?
IoTの本質的な仕組み
デバイス
制御
データの
受信/蓄積
データの
分析/集計
IoTは大きく3つの要素で構成される
IoTの本質的な仕組み
デバイス
制御
データの
受信/蓄積
データの
分析/集計
センサ
デバイス
NW機器
DB
DWH
サーバ アプリ
ツール
IoTの本質的な仕組み: 例
デバイス
制御
データの
受信/蓄積
データの
分析/集計
センサ
デバイス
NW機器
DB
DWH
サーバ アプリ
ツール
MQTTサーバを介した送受信
引?: https://sango.shiguredo.jp/mqtt
データを送る「Publisher」 データを読む「Subscriber」
双方向、1対多の通信を行うことに特化したプロトコルです。
軽量 (プロトコルヘッダが最小2バイト) で、短時間/大量のメッセージ送信
に適し、デバイスの消費電力を抑えられるメリットもあります。
MQTTとは
引?: https://sango.shiguredo.jp/mqtt
MQTTサーバにメッセージを送れば、登録された送信先に配信されます。
その先にどれだけ多くのデバイスや、複雑な転送先があろうとも、
MQTTサーバさえ分かればメッセージを送ることができます。
送信時、本当の送信先のアドレスが不要
引?: https://sango.shiguredo.jp/mqtt
オンプレやIaaSで組む場合、
ここの性能次第ではメッセージ遅延が
起きることになります。
MQTTサーバを介した送受信
MQTT
サーバ
Publish Subscribe
「センサーがデバイスを操作」ではなく
MQTTサーバを介し、デバイス自ら処理を実行
AWS IoTを使ってみよう
?AWSで実現するIoT?
AWS IoT
デバイス制御
データの受信/蓄積
データの分析/集計
もしもAWS IoTがなかったら
MQTTサーバ
非常に大量のメッセージ送受信に対応する
インフラを自前で作らなければならない
AWS IoTがあることで
AWSの強力なインフラの上で動く
「IoTの3要素」を短期間で用意できる
デバイス→AWS IoT方向
AWS IoT→デバイス方向
AWS IoTのMQTTメッセージング
MQTTブローカーに作ってあるトピックに対して、JSON形式でメッセージ
を送信し、デバイスの状態を伝えます。その後、トピックに紐付いている
サービスに対し、ルールに従ってメッセージが送信されます。(詳細は後述)
デバイスゲートウェイが受け取った
メッセージに含まれるデータは
ルールエンジンに評価され、
ルールに従って配送されます。
AWS IoTのメッセージ配送ルール
デバイスゲートウェイに向かって送信されたメッセージに含まれるデータの内容に基いて、
実行するアクションを複数定義できます。(S3 PUTやAWS Lambdaなど) 各アクション
(AWSサービスの呼び出し) を実行するために、AWS IoTから各サービスへのアクセス許可
が必要となり、ルールエンジンに紐づくIAMロールで定義されます。
デバイスを制御したい場合に
デバイスシャドウを使います。
AWS IoTの「デバイスシャドウ」
アプリからデバイスを制御するには「デバイスシャドウ」を使います。「デバイスシャドウ」はデバ
イスのプロパティを管理します。アプリからデバイスシャドウのプロパティの変更をリクエストする
と、まずMQTTサーバに向けてリクエストが送信されます。デバイスがMQTTサーバに送られたリク
エストを読んで、実際に状態を変更すると、AWS IoTに向けてメッセージを送り返します。
同じくデバイスシャドウの状態も変更され、アプリはデバイスの状態変更を知ります。
ワークショップ手順
http://bit.ly/techcircle26
ワークショップ① (10min)
AWS IoTに接続するための
設定を作ってみよう
まずは手順の説明をいたします
その後、作業のお時間をご用意しております
不明点がございましたら、お近くのスタッフまでお願いいたします
ワークショップ①
ブラウザでAWSアカウントにログインして
「AWS IoT」の管理画面に移動します
ワークショップ① AWS IoTへのアクセスを
制限するポリシーを作ります。
ワークショップ① AWS IoTへのアクセスを
制限するポリシーを作ります。
ワークショップ① 名前とアクションを入力します。
ワークショップ①
アクションの続きを入力し、
「作成」を押してください。
xxxxxxxxxxxx
ワークショップ①
「モノ」(デバイス)を登録します。
※ウィザード的画面が出たら「後で表示」をお願いします。
ワークショップ①
「単一のモノを作成する」
を押してください。
ワークショップ①
今回は名前だけ入力して
「次へ」を押してください。
ワークショップ①
「証明書の作成」を押してください。
AWS IoTへの接続に使用します。
ワークショップ①
「証明書」と「ルートCA」を
ダウンロードし、「有効化」し、
「ポリシーのアタッチ」を押します。
右クリックして
ファイルを保存
ワークショップ①
作っておいたポリシーを選択して、
「登録」してください。
ワークショップ① (10min) START
AWS IoTに接続するための
設定を作ってみよう
<参考> メッセージの送受信テスト
AWS IoT側の設定ができました
この証明書等使えば接続ができます
今回は、予め準備した環境を使って
ワークショップを進めさせていただきます
3 minutes later
音声通知システム構成図
①SSHで接続する
②指示スクリプトを作る
③指示を発行する ⑥指示を確認する
⑦ご主人様の
指示が届く
⑧Open JTalkが喋る
(音声通知) Open JTalk皆様
IoT
EC2
④SSHで接続する
⑤指示確認スクリプトを作る
ワークショップ②
指示スクリプトを見てみよう
まずは手順の説明をいたします
その後、作業のお時間をご用意しております
不明点がございましたら、お近くのスタッフまでお願いいたします
音声通知システム構成図
①SSHで接続する
②指示スクリプトを作る
③指示を発行する ⑥指示を確認する
⑦ご主人様の
指示が届く
⑧Open JTalkが喋る
(音声通知) Open JTalk皆様
IoT
EC2
④SSHで接続する
⑤指示確認スクリプトを作る
指示スクリプトを確認する
EC2
?SSHを使い、サーバに接続してください。
?テーブルごとにIPアドレスが異なります。
?参加者の皆様ごとにログインユーザが異なります。
SSH Command (Mac or Linux):
Table1: ssh handson00x@13.112.255.118
Table2: ssh handson00x@52.193.164.157
Table3: ssh handson00x@13.112.180.216
Table4: ssh handson00x@13.230.240.169
指示スクリプトを確認する
EC2
?サーバに接続し、ワークショップ②の手順に従い、
スクリプトを開きましょう。
?開いたスクリプトの中身を編集していきます。
Command:
cd Publisher
vi publisher.sh
指示スクリプトを確認する
EC2
?vi の画面で i を押すとスクリプトを編集できます。
編集箇所は以下の通りです。
?スクリプトの中のコマンドでは、接続先に加え、
証明書を指定しています。確認してみましょう。
?編集が終わったら、escキーを押した後、
:wq と入力し、ターミナルの下側に :wq と
表示されたことを確認し、Enterを押してください。
編集箇所: (詳細は次ページ)
topic/awsiot-hands-on-0xx
指示スクリプトを確認する
編集箇所
Table1: topic/awsiot-hands-on-01x
Table2: topic/awsiot-hands-on-02x
Table3: topic/awsiot-hands-on-03x
Table4: topic/awsiot-hands-on-04x
EC2
指示スクリプトを確認する
EC2
?スクリプトを使って、指示コマンドを発行します。
以下のコマンドを入力してください。
./publisher.sh “こんにちは”
Client mosqpub|3037-ip-192-168 sending CONNECT
Client mosqpub|3037-ip-192-168 received CONNACK
Client mosqpub|3037-ip-192-168 sending PUBLISH (d0, q1, r0, m1, 'topic/awsiot-hands-
on', ... (29 bytes))
Client mosqpub|3037-ip-192-168 received PUBACK (Mid: 1)
Client mosqpub|3037-ip-192-168 sending DISCONNECT
?以下のように表示されていることを確認しましょう。
※数値は環境によって異なります。
ワークショップ③
指示確認スクリプトを見てみよう
まずは手順の説明をいたします
その後、作業のお時間をご用意しております
不明点がございましたら、お近くのスタッフまでお願いいたします
音声通知システム構成図
①SSHで接続する
②指示スクリプトを作る
③指示を発行する
④SSHで接続する
⑤指示確認スクリプトを作る
⑥指示を確認する
⑦ご主人様の
指示が届く
⑧Open JTalkが喋る
(音声通知) Open JTalk皆様
IoT
EC2
指示確認スクリプトを確認する
?SSHを使い、サーバに接続してください。
?テーブルごとにIPアドレスが異なります。
?参加者の皆様ごとにログインユーザが異なります。
SSH Command (Mac or Linux):
Table1: ssh handson00x@192.168.226.222
Table2: ssh handson00x@192.168.226.232
Table3: ssh handson00x@192.168.226.143
Table4: ssh handson00x@192.168.226.93
指示確認スクリプトを確認する
?サーバに接続し、ワークショップ③の手順に従い、
スクリプトを開きましょう。
?開いたスクリプトの中身を編集していきます。
Command:
cd Subscriber
vi subscriber.sh
指示確認スクリプトを実行する
?vi の画面で i を押すとスクリプトを編集できます。
編集箇所は以下の通りです。
?スクリプトの中のコマンドでは、接続先に加え、
証明書を指定しています。確認してみましょう。
?編集が終わったら、escキーを押した後、
:wq と入力し、ターミナルの下側に :wq と
表示されたことを確認し、Enterを押してください。
編集箇所 (詳細は次ページ)
topic/awsiot-hands-on-0xx
指示確認スクリプトを実行する
編集箇所
Table1: topic/awsiot-hands-on-01x
Table2: topic/awsiot-hands-on-02x
Table3: topic/awsiot-hands-on-03x
Table4: topic/awsiot-hands-on-04x
ワークショップ④
Open JTalkに喋ってもらおう
まずは手順の説明をいたします
その後、作業のお時間をご用意しております
不明点がございましたら、お近くのスタッフまでお願いいたします
スクリプトを実行する
?以下のコマンドでスクリプトを実行します。
./subscriber.sh
EC2
?以下のコマンドでスクリプトを実行します。
./publisher.sh “こんにちは。”
?実行すると、メッセージがpublishされるのを待ち始めます。
Open JTalkが喋る
Publish Subscribe
EC2
IoT
./subscriber.sh
./publisher.sh
“こんにちは。”
※2行ではなく1行です。
こんにちは
応用編 (声色変更)
?viコマンドでスクリプトを開き、
以下部分を変更すると、声色が変わります。
変更箇所:
mei_normal.htsvoice
↓
mei_angry.htsvoice
mei_happy.htsvoice
mei_sad.htsvoice
mei_bashful.htsvoice
応用編 (スマートスピーカー)
?スピーカーにiPhone等を近づけて、Open JTalkの声で
音声機能を利用してみましょう。
明日の天気は?
ワークショップ②③④ (40min) START
講義 (5min)
SORACOM Beamを使ってみよう
AWS IoTの認証情報に関する課題
? 先ほどのワークショップで発行した証明書を
デバイスにコピーすることによって、デバイスから
AWS IoTへのメッセージ送信が可能となります。
? しかし、例えばデバイスが1000個あったら、
全てのデバイスに証明書をコピーしなければなりません。
? この手間をなんとか解決する方法はないでしょうか。
SORACOM Beamを使わないとき
MQTT
サーバ
Publish
Publish
証明書
証明書
AWS IoT
SORACOM Beamを使ったとき
Publish
Publish
SORACOM
Beam
証明書
証明書をデバイスにコピーしなくても良い
Beamに接続できるのは、Air SIMを刺したデバイスのみ
MQTT
サーバ
AWS IoT
SORACOM Beamへの認証と接続
?デバイスは、AWS IoTではなく
Beamのエンドポイントに接続する
?エンドポイントに接続できるのは、
Air SIMを刺したデバイスだけ
SORACOM
Beam
MQTT
サーバ
AWS IoT ?Air SIMが
Beamのエンドポイントと
AWS IoTのエンドポイントの
紐付設定を持つ
SORACOM Air SIMの登録
※予め、アカウント開設し、
支払情報を登録しておく必要あり
SORACOM Air SIMの登録
登録
SORACOM Beam設定
?AWS IoTの
エンドポイントとの
紐付けを登録
?AWS IoTで発行した
証明書を登録
END

More Related Content

Recently uploaded (9)

PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PPTX
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
PPTX
色について.pptx .
iPride Co., Ltd.
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PPTX
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
色について.pptx .
iPride Co., Ltd.
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?

Featured (20)

PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
Search Engine Journal
?
PDF
Storytelling For The Web: Integrate Storytelling in your Design Process
Chiara Aliotta
?
PDF
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
OECD Directorate for Financial and Enterprise Affairs
?
PDF
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
SocialHRCamp
?
PDF
2024 State of Marketing Report – by Hubspot
Marius Sescu
?
PDF
Everything You Need To Know About ChatGPT
Expeed Software
?
PDF
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
?
PDF
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
?
PDF
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
?
PDF
Skeleton Culture Code
Skeleton Technologies
?
PDF
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
?
PDF
Content Methodology: A Best Practices Report (Webinar)
contently
?
PPTX
How to Prepare For a Successful Job Search for 2024
Albert Qian
?
PDF
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
?
PDF
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
?
PDF
5 Public speaking tips from TED - Visualized summary
SpeakerHub
?
PDF
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
?
PDF
Getting into the tech field. what next
Tessa Mero
?
PDF
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
?
PDF
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
?
2024 Trend Updates: What Really Works In SEO & Content Marketing
Search Engine Journal
?
Storytelling For The Web: Integrate Storytelling in your Design Process
Chiara Aliotta
?
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
OECD Directorate for Financial and Enterprise Affairs
?
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
SocialHRCamp
?
2024 State of Marketing Report – by Hubspot
Marius Sescu
?
Everything You Need To Know About ChatGPT
Expeed Software
?
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
?
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
?
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
?
Skeleton Culture Code
Skeleton Technologies
?
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
?
Content Methodology: A Best Practices Report (Webinar)
contently
?
How to Prepare For a Successful Job Search for 2024
Albert Qian
?
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
?
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
?
5 Public speaking tips from TED - Visualized summary
SpeakerHub
?
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
?
Getting into the tech field. what next
Tessa Mero
?
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
?
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
?
Ad

AWS IoT × Open JTalk ?IoT×音声通知システム開発ワークショップ?