min117の日記

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

Google Home Mini に node をインストールしなおして RaspberryPi3 から飛ばした文字列をしゃべらせる → 成功

以前Google Home Mini に文字列を飛ばしてしゃべらせることができたが

min117.hatenablog.com

なぜか突然動かなくなってしまってしばらく放っておいた(てかnodeって突然使えなくなったりするかあまり信用していない)。

 

久しぶりに動かしたくて調べたらnodeのインストールをしなおすと動くらしい。

 

このへんを参考に再インストールを試す。

qiita.com

 

今回はRaspberry Pi3を使う前回はRaspberryPi ZEROだった)。

 

$ sudo apt-get -y autoremove nodejs

f:id:min117:20191008003029p:plain

 

$ mkdir ~/.nvm

$ sudo chmod 777 ~/.nvm/

f:id:min117:20191008003142p:plain

 

$ git clone https://github.com/creationix/nvm.git ~/.nvm

f:id:min117:20191008003207p:plain

 

最新バージョンは v10.16.3 のようだ。

f:id:min117:20191008003213p:plain

 

$ nvm install v10.16.3

f:id:min117:20191008003220p:plain

 

$ node --version

$ npm --version

f:id:min117:20191008003241p:plain

 

$ mkdir google-home-notifier

$ cd google-home-notifier

$ npm init

f:id:min117:20191008003246p:plain

npm init してEnter連打していくpackage.json( たぶん設定ファイル)が作られるらしい。

 

package.json内に記載されたname欄(プロジェクト名)と、packege.jsonファイ ルそのものが入っているフォルダ名同じだとエラーになるっぽいから注意(てかなにその罠)。

f:id:min117:20191008003258p:plain

name欄を書き換えた。

f:id:min117:20191008005142p:plain

 

google-home-notifierをインストールする。

$ npm install google-home-notifier

f:id:min117:20191008003324p:plain

f:id:min117:20191008003337p:plain

インストール成功。

f:id:min117:20191008003511p:plain

 

browser.jsもいじったはずだけど、どこ変更したか忘れた。参考記事どおりやったはず。

f:id:min117:20191008003517p:plain

参考記事)

tulip.mi-ichi.com

qiita.com

 

 

 

 

動作テスト。

$ node main.js

f:id:min117:20191008003523p:plain

keys.jsが何かおかしいとのエラーになる。

 

このへんの記事参考にして解決。

f:id:min117:20191008003535p:plain

 

記事どおり「keys.js」を書き換える。

f:id:min117:20191008003531p:plain

 

$ vim ~/Desktop/google-home-notifier/node_modules/google-tts-api/lib/key.js

f:id:min117:20191008003758p:plain

25行目を27行目へと書き換えた。

 

package.jsonのname欄が正しいのを確認してから

$ npm update google-tts-api

f:id:min117:20191008003547p:plain

これでセットアップは完了。

 

あとはGoogle Home Miniにしゃべらせるためのmain.jsを書く。

$ vim main.js

f:id:min117:20191008005711p:plain

f:id:min117:20191008005727p:plain

 

実行。

$ node main.js

f:id:min117:20191008005858p:plain

 

「朝ですよ、起きましょう」

f:id:min117:20191008005957j:plain

バッチリ発話してくれた。ただしラズパイにしゃべらされるときは全く光らない のはちょっと寂しい。

 

うまくしゃべってくれないときはmain.jsを書き換えGoogle Home MiniのIPアドレスを埋め込む

$ vim main2.js

f:id:min117:20191008005752p:plain

f:id:min117:20191008005809p:plain

こっちのほうが分かりやすくて良い。bonjourって何やってるかいまいち分からなくて信用できない。avahiとの関連もよく分からないし。