「google-home-notifier」を使って、「Google Home Mini」に喋らせてみた。

google-home-notifier」を使って、「Google Home Mini」に喋らせてみた。

このソースをnode.js で実行するまでに、たくさんのエラーでつまづき、1日かかりました。

Cannot find module 'castv2-client' と出た場合、

npm i castv2-client

Cannot find module 'mdns'と出た場合、

npm install --unsafe-perm mdns

Cannot find module 'google-tts-api'と出た場合、

npm install google-tts-api

この時、errno UNABLE_TO_GET_ISSUER_CERT_LOCALLY というエラーが出たので、

npm config set strict-ssl=false

をすると通った。

google-tts-api フォルダの中の api.js を US から JA に換えておく。

すると、Google Home Mini が喋った。

var googlehome = require('./google-home-notifier');

googlehome.device('googlehome.device('Google-Home-398f02a6eed47d2bffa7e3XXXXXXXXXX');'); //googlehome.ip('10.0.1.8'); googlehome.accent('ja'); googlehome.notify('人の上に人を作らず、人の下に人を作らず', function(res) { console.log(res); });

IPアドレスを指定しなくても、デバイス名を設定してあげればうまくいきました。

GET変数を取得したパターンは↓こちら。

const http = require('http'); const PORT = 8080;

http.createServer((request, response) => { response.writeHead(200, {'Content-Type': 'text/plain'});

var urlinfo = require('url').parse( request.url , true );

var googlehome = require('./google-home-notifier');

googlehome.accent('ja'); googlehome.device('googlehome.device('Google-Home-398f02a6eed47d2bffa7e3XXXXXXXXXX');');

googlehome.notify(urlinfo.query.msg, function(res) { console.log(res); });

response.end('Google Home Mini Speek!\n'); }).listen(PORT);