min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

Google Home Mini に RaspberryPi から飛ばした文字列をしゃべらせる

先日届いた Google Home Mini。
min117.hatenablog.com

あらかじめ用意された使い方(話しかけて、答えてもらう)だけだと、この機械の本当の楽しさは分からない。ハマってしまうのは例えばこんな使い方ができるから。

RaspberryPiから飛ばした任意の文字列をしゃべらせる。

② GoogleHomeMiniに話しかけた言葉(例:録画して)に応じて、任意のコマンド(例:録画実行)をPiに実行させる

 ①はGoogleHomeMiniを(RaspberryPiからのコマンド実行結果の)出力(OUTPUT)として使う例だし、②は逆にコマンドの入力(INPUT)として使う例になっている。

f:id:min117:20180121094637j:plain

今回は①を行う。つまり

・RaspberryPi から任意の文字列(例えば時刻)を送信

・GoogleHomeMiniがそれをしゃべってくれる(例:**時になりましたよ)

のような使い方。

1時間に1回実行するようにタスク(cron)をセットしておけば、GoogleHomeMiniが自発的に時刻を教えてくれるようになる。単なる時報みたいだけど、要はRaspberryPi側のコマンドのアウトプットを音にして出せるというわけだから、応用の幅が広い。

例えばLINEが届いたら内容を読み上げるとかツイートがあったら内容を読み上げるようなサービスが、すぐ作れる。

試しにRaspberryPi3で「PiのIPアドレスを1時間ごとにGoogleHomeMiniが声に出して教えてくれる」機能を作ってみたら、苦もなく実装できた。

 

以下、RaspberryPi ZERO W にて実際に手順を見ていく。全体の流れはこれ。

qiita.com

(使うもの)

Google Home Mini

・RaspberryPi ZERO W(以下、Pi)

(インストール)

まずは Pi にNode.js と npm をインストールする。手順はここ。

qiita.com

$ sudo apt-get update

$ sudo apt-get -y install nodejs npm

$ sudo npm cache clean

$ sudo npm install npm n -g

$ sudo n stable

1行ずつ実行しても良いが、前のコマンドがうまくいったら次のコマンドに自動で移るようにアンパサンド(&&)でコマンドをつなげて一括実行する。見た目わかりやすいように「バックスラッシュ+改行」を入れて連続実行にする。

f:id:min117:20180121104211p:plain

Node.js と npm のインストール完了。

f:id:min117:20180121104702p:plain

バージョン確認。

$ node -v

$ npm -v

f:id:min117:20180121104746p:plain

次は google-home-notifier をインストール。全体の流れのサイトどおり進めていく。

qiita.com

f:id:min117:20180121105059p:plain

$ curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -

f:id:min117:20180121105712p:plain

あれ。エラーになった。RaspberryPi1だからか。このサイトどおりにやって解消。

http://ouchi-book.kokage.cc/raspberry-pi-1でのnode-jsのアップデート方法/

f:id:min117:20180121105806p:plain

$ wget https://nodejs.org/dist/v4.6.1/node-v4.6.1-linux-armv6l.tar.xz

$ tar -Jxvf node-v4.6.1-linux-armv6l.tar.xz

$ cd node-v4.6.1-linux-armv6l/

$ sudo cp -R * /usr/local/

引き続き進める。

$ sudo apt-get install nodejs

 ↑ これは最初にやってたので不要

$ sudo apt-get install git-core libnss-mdns libavahi-compat-libdnssd-dev

f:id:min117:20180121105556p:plain

$ cd Desktop

$ git clone https://github.com/noelportugal/google-home-notifier

$ cd google-home-notifier

$ npm install

f:id:min117:20180121105534p:plain

15分ほどしてインストール完了。

f:id:min117:20180121105427p:plain

example.jsを編集。

$ cd google-home-notifier

$ vim example.js

f:id:min117:20180122223013p:plain

実行してみる。

$ node example.js

f:id:min117:20180122223122p:plain

あれ?エラーになった。調べる。