先日届いた Google Home Mini。
min117.hatenablog.com
あらかじめ用意された使い方(話しかけて、答えてもらう)だけだと、この機械の本当の楽しさは分からない。ハマってしまうのは例えばこんな使い方ができるから。
① RaspberryPiから飛ばした任意の文字列をしゃべらせる。
② GoogleHomeMiniに話しかけた言葉(例:録画して)に応じて、任意のコマンド(例:録画実行)をPiに実行させる
①はGoogleHomeMiniを(RaspberryPiからのコマンド実行結果の)出力(OUTPUT)として使う例だし、②は逆にコマンドの入力(INPUT)として使う例になっている。
今回は①を行う。つまり
・RaspberryPi から任意の文字列(例えば時刻)を送信
・GoogleHomeMiniがそれをしゃべってくれる(例:**時になりましたよ)
のような使い方。
1時間に1回実行するようにタスク(cron)をセットしておけば、GoogleHomeMiniが自発的に時刻を教えてくれるようになる。単なる時報みたいだけど、要はRaspberryPi側のコマンドのアウトプットを音にして出せるというわけだから、応用の幅が広い。
例えば「LINEが届いたら内容を読み上げる」とか「ツイートがあったら内容を読み上げる」ようなサービスが、すぐ作れる。
試しにRaspberryPi3で「PiのIPアドレスを1時間ごとにGoogleHomeMiniが声に出して教えてくれる」機能を作ってみたら、苦もなく実装できた。
以下、RaspberryPi ZERO W にて実際に手順を見ていく。全体の流れはこれ。
(使うもの)
・Google Home Mini
・RaspberryPi ZERO W(以下、Pi)
(インストール)
まずは Pi にNode.js と npm をインストールする。手順はここ。
$ 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行ずつ実行しても良いが、前のコマンドがうまくいったら次のコマンドに自動で移るようにアンパサンド(&&)でコマンドをつなげて一括実行する。見た目わかりやすいように「バックスラッシュ+改行」を入れて連続実行にする。
Node.js と npm のインストール完了。
バージョン確認。
$ node -v
$ npm -v
次は google-home-notifier をインストール。全体の流れのサイトどおり進めていく。
$ curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
あれ。エラーになった。RaspberryPi1だからか。このサイトどおりにやって解消。
http://ouchi-book.kokage.cc/raspberry-pi-1でのnode-jsのアップデート方法/
$ 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
$ cd Desktop
$ git clone https://github.com/noelportugal/google-home-notifier
$ cd google-home-notifier
$ npm install
15分ほどしてインストール完了。
example.jsを編集。
$ cd google-home-notifier
$ vim example.js
実行してみる。
$ node example.js
あれ?エラーになった。調べる。