make the smart speaker smarter 11

10/22

Index

Try to Cooperate with Other Services

さて、ひさびさのつづき。
人感センサの値を取って、今人がいるかいないかまでは
できるようになったのだが、いまいちうまく活用できないで
もやもやしている。

そこで、違うことで気を紛らわせようと
こんなことを思いついた。

Let me notice an new post of some services

例えば、私がいつも見ているスプラの動画配信者が
新しい動画をYoutubeにアップしたとする。
そしたらGoogle Homeが

Youtubeでえとなchさんの動画がアップされました

みたいに教えてくれたら結構便利かも。
おんなじ仕組みで

Nintendoさんがつぶやきました

とか、Twitterの状況を教えてくれたり。
こんなの面白そう。

It’s Totally Smart

では早速やってみる。
手を動かすのは最小限にしたいので
外部のサービスを利用したいが
セキュリティは担保したいので
外部から直接APIを叩かせるのは
どうかと思うので、間接的にアクセスさせる。

んで、IFTTTを使って簡単にアプレットを
作成して、あとはこっち側で残りを補完していく。
実際にはこんな感じ。

  1. IFTTTが各コンテンツの更新をチェック
  2. IFTTTが更新を見つけてGoogle Driveにファイルをアップ
  3. 確認ツールがGDriveドライブの更新状況をチェック
  4. 確認ツールがファイルを見つけたら中身を解析
  5. 確認ツールが解析結果から通知文を組み立てる
  6. 確認ツールが通知文をapi.jsに投げる
  7. Google Homeが喋る

こんな感じ。

Prototype

折角なのでNode.jsで実装するほうが
よいと思うのだが、先ずはプロトを用意する。
シェルスクリプトで作ってみる。

同期→ファイルチェック→中身解析→通知文作成→apiサーバへPOST

ここまで作らんとならんので
ちゃちゃっとやってしまう。
同期にはgriveというコマンドでやってみた。

うーん、実際に作ってみて喋らせることは
できるんだけど、griveの同期時間が長くて
なんかまったり感がある。

Node.jsが直接Google Drive APIを
叩いたほうが格段によいと感じた。

Next

なんの実りもない投稿だった、、。
次回はGoogle Driveからの
ファイルチェックをNode.jsで
組んでみる。


コメント: