概要

ラズパイZeroWから、Google Homeを喋らせることができた。


背景と目的

以前、WindowsPCからGoogle Homeを喋らせた。今回は、手持ちのRaspberry Pi Zero Wを使ってしゃべらせることにした。


詳細

1.Node.jsとnpmのインストール

まず、nodejsとnpmのインストールは、こちらにしたがい、

sudo apt-get update
sudo apt-get install -y nodejs npm
sudo npm install npm n -g
sudo n stable

という感じ。以下で、バージョンの確認。バージョンはそれぞれ、v9.4.0と5.6.0となった。

node -v
npm -v


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

次に、こちらにしたがい、以下コマンドを実行。

sudo apt-get install git-core libnss-mdns libavahi-compat-libdnssd-dev
git clone https: //github.com/noelportugal/google-home-notifier
cd google-home-notifier
npm install

ここでインストール完了と思い、4のコードを実行したが、エラーが発生。こちらを参考に、以下を追加で実行。

sudo npm install --unsafe-perm mdns
sudo npm install --unsafe-perm homebridge


3.コーディング

以前と同じ以下のコードを作成。

var googlehome = require('google-home-notifier');
var language = 'ja';
 
// IPアドレスの設定
googlehome.device('Google Home', language).accent(language).ip('xxx.xxx.xxx.xxx');
 
// しゃべらせる
googlehome.notify('こんにちは', function(res) {
  console.log(res);
});


4.実行

上記をnodeで実行したところ、

ディロン!...こんにちは。

としゃべった。というわけで、しゃべりが相変わらずノロいが成功だ。

ただし、以下のような警告メッセージが出る。どうやったら、直せるのか現状ではわからない。このあたりをやれば解決するんだろうか。。。

*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>


まとめ

ラズパイZeroWから、Google Homeを喋らせることができた。Windowsの時もそうだったが、どうもインストールがすんなり行かない。いろいろ、試しながら上記の手順に落ち着いたが、今後もOSのバージョンが変わったりすると、うまくいかなくなりそうな気がする。