こんにちは、issyxissyです。
先日、"Google Home mini" を 半額で買って、ちょいちょい、いじってます。
プライベートで使いこなすというのもありですが、業務の中で改善できる部分ないかなーと。。。
社内で、まだ紙で管理しているところがあったりするので、そこを何かできないかなーと思って。
とある部屋の入退出を音声で管理してみようと思います。
やりたいこと
- とある部屋の入退出を音声で管理をしたい
必要なもの
- Goole Home mini (Google Home でもOK)
- IFTTT
- Google Spreadsheet & Google App Script
概要
- Google Home mini → IFTTT → Google Assistant → 入室時と退室時に、Google Sheetsに記録するようにします
Google Home miniのセットアップ
IFTTTの設定
- "何をしたとき" に "何をする" を設定します。
- 今回でいうと、Google Assistantで、入退室の音声を認識したら、Google Sheetsに記録 という感じになります。
- なので、入室時と、退室時の2つのAppletを新規作成します。
"this" の設定
- "何をしたとき"の、"何"を設定します
- "Google Assistant" を選択します
- Google Home で利用している Google アカウントで連携設定を行います
- "Say a phrase with a text ingredient" を選択します
"that" の設定
-
"何をする"の"何"を設定します。
-
"Google Sheets" を選択します
- Google Home で利用している Google アカウントで連携設定を行います
-
"Add row to spreadsheet" を選択します
-
現在、{{CreatedAt}}が挿入できないようなので、SpreadSheet側で行が追加されたら、日付と時刻を自動で入力するようにします
-
これと同様に、退室版を作ります。
Google Sheets の設定
- 新規で、Sheetを作成
- "入退出管理" で作成
- カラムは、日付・日時・入室/退室・氏名
- Google App Scriptで、カラムが挿入されたら、自動で日時を挿入
- トリガーで、値が変更されたら、 AddUpdatedAt が実行されるように設定
var sheet = SpreadsheetApp.getActiveSheet();
function AddUpdatedAt() {
var lastRow = sheet.getLastRow();
sheet.getRange(lastRow, 1).setValue(formatDate(new Date(), 'yyyy/M/d'));
sheet.getRange(lastRow, 2).setValue(formatDate(new Date(), 'H:m:s'));
}
function formatDate(date, format) {
return Utilities.formatDate(date, 'Asia/Tokyo', format)
}
実際やってみる
-
入室するとき
- issyxissy: 「OK、Google」「作業始めます 石田」
- マカロン:「石田 さん、慎重に作業しましょう!」
-
退室するとき
- issyxissy: 「OK、Google」「作業 終わりました 石田」
- マカロン:「石田 さん、お疲れ様でした!」
-
Google Sheetsに記録されます
もし、認識しない場合、
- スマホ「Google Home」アプリの、マイアクティビティで、どんな音声をキャッチして、どう認識したか、確認できます。
- しかも、音声を再生できる・・・。
- 区切りを意識して話しかけると、認識率高いです
まとめ
- Google Home mini + iftttの組み合わせは、カンタン!
- でも、音声認識が悪い部分もあったりので、iftttの設定は要確認
- ちょっとしたことが、日常のコンテキストに組み込むことができるので、将来性を感じた
- 部屋の入退室の管理は、認識率など考えると、felicaカードが無難かなー。
- やっぱりネタにしかならない・・・(´・ω・`;
- Web上で確認したり、業務改善できないか、集計・分析してみたいですね