先日、Slack Advent Calendar 2018で
[温度データSlack投稿システムを「5分」で作ってみた!] (https://qiita.com/mikawan/items/8184cdcc64642aa3729e)を投稿したのですが、常にスマホを見ているわけでも無いので、通知を見逃してしまうことも有りました。そこで、音声を使ってみようと考えました。
作成したのは、ある温度を超えると、Amazon Pollyを利用して「〇〇℃です。暑いのでエアコンをつけましょう。」と話す仕組みです。
使うもの
■Windows 10 PC
■Gravio(月額500円)
-Gravio Studio Ver.2.0.2065
-Gravio Server Ver.2.0.2153
-無償貸出の温度センサー
■Amazon Polly(無料利用枠あり 詳細はこちら)
12ヶ月間の無料利用枠があり、1ヶ月あたり500万文字まで利用できます。
設定
以下の流れで設定します。
- 【事前準備】Amazon Pollyを使うために必要なアクセスキーを取得
- 温度センサーの設定
- Amazon Pollyの動作に関する設定
- 動作タイミングの設定
Amazon Pollyを使うために必要なアクセスキーを取得
GravioでPollyを使用するためには、アクセスキーとシークレットアクセスキーが必要です。
AWSのコンソール画面よりPollyを使うためのアクセスキーを取得します。
AWSの登録は、ガイダンスに従ってクレジットカード情報など入力することで完了します。
アクセスキーの取得方法については、こちらの記事を参考にしています。
Amazon Pollyで投稿記事に音声を付けてみた
Gravioで温度センサーの設定 (再掲)
[前回の記事] (https://qiita.com/mikawan/items/8184cdcc64642aa3729e)でも同じ内容を書いているのですが、再掲しておきます。
センサーとペアリング
温度センサーとペアリングします。
センサーがチカチカっと光り、以下の画面が表示されれば、ペアリング完了です。
ペアリングについては、こちらをご参照ください。
センサーの登録
(1) エリア・レイヤーを登録する
画面右上の”+”ボタンをクリックし、エリアを作成します。
エリアを作成すると自動的にレイヤーが作成画面が表示されるので、SENSING DEVICE TYPEにAqara-Temperatureを選択します。
(2) レイヤーにデバイス(センサー)を登録する
一番右のデバイスウィンドウの”⊕”ボタンを選択し、デバイスを追加します。
デバイスのスライドボタンをONにすることで、データの収集が開始されます。
Amazon Pollyの動作に関する設定
今回は、Amazon Polly Speechコンポーネントを使用して、動作(アクション)を作成します。
アクション画面にて、Amazon Polly SpeechコンポーネントをSTEPに追加します。
コンポーネントのプロパティを選択し、下図のように設定します。
Text to speechは、動作タイミングのセンサーデータを可変数として使用することができます。データを使用する場合は、av.Dataを使用します。また、データと定型文を組み合わせる際は、データと定型文を”+”でつなぎます。
今回は
av.Data + "度です。暑いのでエアコンをつけましょう"
と設定します。
動作タイミングの設定
前項で設定した動作を実行するタイミングを設定します。
今回は、夏場にエアコンの推奨設定温度とされている「28℃」を超えたときに通知します。
トリガー画面から、"+”をクリックしトリガーを作成します。
トリガーの設定内容は以下のとおりです。
項目 | 設定値 |
---|---|
エリア | 温度データのエリア |
レイヤー | 温度データのレイヤー |
アクション名 | 温度データ Polly(先程作成したアクションカード) |
Interval | 5(Default) |
Classic/Threshold Triger | Classic Trigger(Default) |
温度 | >=28 |
設定後の画面がこちら。 | |
![]() |
こちらを設定した後、トリガーのスライドボタンを有効にすると、温度が28℃を超えると音声で通知されます。
あとがき
今回はトリガーの数値を変えやすいよう、都度Amazon Pollyを利用する設定にしましたが、当然AWSの費用、および、ネットワーク費用が発生します。固定の音声メッセージの発出で充分な場合は、一度Pollyを利用して音声ファイルを作り、Gravio上で音声ファイル再生を行なえばコストダウンが可能ですし、ローカルで利用可能になります。
(Gravioは音声ファイルの再生もできます。)
変化するデータをもとに音声アナウンスする場面としては、カメラに写っている人数を通知するといったことも可能です!
様々な用途で使うことができるGravioをぜひご活用ください!