「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'と出た場合、
この時、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('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('Google-Home-398f02a6eed47d2bffa7e3XXXXXXXXXX');
googlehome.notify(urlinfo.query.msg, function(res) {
console.log(res);
});
response.end('Google Home Mini Speek!\n');
}).listen(PORT);