ガジェット

Raspberry Pi(ラズパイ)を使ってGoogle Homeをしゃべらせてみた

グーグルホーム

みなさん、Raspberry Pi(ラズパイ)楽しんでますか?

ラズパイのセットアップが終わり、さて何をしようか考えました。

前回の記事はこちらです。

ラズパイセットアップ
Raspberry Pi(ラズパイ)初心者のためのかんたんセットアップ手順(ABOX Raspberry Pi 3 Model b+)みなさん、Raspberry Pi(ラズベリーパイ)って知ってますか? 2019年、ブログとともに何か新しいことをしたいなぁと一念...

たとえば、普段はこちらから明日の天気を聞いたらGoogle Homeが教えてくれます。

ヨシタカ
ヨシタカ
O.K. Google、明日の天気は?
Google Home
Google Home
明日の○○は最高気温13度、最低気温1度、晴れときどき曇りでしょう

という感じです。毎日聞いています、はい。

これが、もしGoogle Homeが自発的に何か話してきてくれたら、面白いですよね。

ヨシタカ
ヨシタカ
というわけで、やってみました!

使用機材

  • Google Home
  • Raspberry Pi 3B+

ざっくりとした流れ

Node.js(サーバサイドで動くJavaScript)にgoogle-home-notifierというAPI(プログラムからソフトウェアを操作するためのインターフェイス)があり、Google Homeに任意の言葉を喋らせることができます。

・・・専門用語が多くて良く分からないですね。

流れは以下のようになります。

  1. ラズパイにGoogle Homeを操作するためのファイル(google-home-notifier.js)を導入
  2. ラズパイからGoogleHomeにしゃべらせたいことを実行
  3. GoogleHomeがしゃべります

手順

それでは、ラズパイの設定をしていきましょう。

古いNode.jsのアンインストール

まずは、古いNode.jsをアンインストールします。

$ sudo apt-get autoremove nodejs

nvmのインストール

そして、nvmのディレクトリを作成し、git cloneでnvmをもってきてnvm.shを読み込ませます。
nvm とは Node Version Manager の略で, Node.js をかんたんにバージョン管理できるツールです。

$ sudo apt-get update
$ sudo mkdir ~/.nvm
$ sudo chmod 777 ~/.nvm
$ git clone https://github.com/creationix/nvm.git ~/.nvm
$ source  ~/.nvm/nvm.sh
$ nvm --version
0.33.11

これで、nvmがインストールできました!

新しいNode.jsのインストール

次に、Node.jsのバージョンのリストを確認します。

$ nvm ls-remote
       v10.13.0   (LTS: Dubnium)
       v10.14.0   (LTS: Dubnium)
       v10.14.1   (LTS: Dubnium)
       v10.14.2   (LTS: Dubnium)
->     v10.15.0   (Latest LTS: Dubnium)
        v11.0.0
        v11.1.0
        v11.2.0
        v11.3.0
        v11.4.0
        v11.5.0
        v11.6.0
        v11.7.0

LTSの最新版であるv10.15.0をインストールします。

$ sudo apt-get update
$ nvm install v10.15.0
$ node --version
v10.15.0
$ npm --version
6.4.1

これでNode.jsとnpmがインストールできました!

google-home-notifierのインストール

Google Homeのための作業用ディレクトリを作成します。

$ mkdir googlehome
$ cd ./googlehome

googlehomeディレクトリでnpmを実行できるようにします。npmとはNode.jsのライブラリやパッケージを管理することができるツールです。 いろいろ聞かれますがEnterで進み、最後にIs this OK? (yes)でyesです。

$ npm init

avahiの開発用パッケージをインストールし、いよいよgoogle-home-notifierのインストールです。

$ sudo apt-get install libavahi-compat-libdnssd-dev
$ npm install google-home-notifier

これでようやく準備完了です。

Google Homeをしゃべらせてみよう

では、Google Homeをしゃべらせてみましょう!わたしの環境では、ラズパイとGoogle Homeは同じ無線LANにつながっています。

sample.jsを作成します。sample.jsのIPアドレスの部分は自分のGoogle HomeのIPアドレスに変更してくださいね。

Google HomeのIPアドレスの確認するにはスマホのGoogle Homeアプリから「デバイス」→IPアドレスを知りたいGoogle Home→「設定」の一番下にIPアドレスが記載されています。sample.jsは以下のようになります。

// ライブラリ参照
var googlehome = require('./google-home-notifier');
// 言語設定
var language = 'ja';
// GoogleHomeのIPアドレスに書き換えてくださいね
googlehome.ip('192.168.xxx.xxx');
// 第一引数を自分のもっているGoogleHomeの名前に書き換えてくださいね
googlehome.device('googlehome', language);
// Google Homeにしゃべって欲しい文章をここに記入してくださいね
var text = 'こんにちは、グーグルホームです。よろしくね。';
// メイン処理
try {
// 実行
googlehome.notify(text, function(notifyRes) {
// ログ出力
console.log(notifyRes);
});
// エラー処理
} catch(err) {
// ログ出力
console.log(err);
}

では、さっそく、実行してみましょう!

$ cd googlehome
$ node sample.js

ドュルン!!

Google Home
Google Home
コンニチハ、グーグルホームデス、ヨロシクネ

うまくいきました \(^o^)/

いつもよりなんだか棒読みですが。。

まとめ

ラズパイを使ってGoogle Homeに好きな文章をしゃべってもらいました。

普段こちらの問いかけに答えてくれるGoogle Homeでしたが、棒読みでも向こうから話してくれるのは新鮮で面白かったです。ラズパイとGoogle Homeをお持ちの方は、ぜひためしてみてはいかがでしょう?

ラズパイの取り組みはこちらでまとめていますので、よろしければ御覧ください♪

ラズパイTOP
Raspberry Pi(ラズベリーパイ)で遊んでみた♪Raspberry Pi(ラズベリーパイ、通称ラズパイ)で色々と遊んでます^^ Raspberry Pi(ラズパイ)セットアップ R...
ヨシタカ
ヨシタカ
引き続き、素敵なラズパイライフをお送りくださいね♪
こちらの記事もおすすめ!