Google Home 複数のスピーカーで別々に喋らせる

Sponsored Links

前回の続きで、複数のスピーカーで同時に別々のことを話させることができるかを試してみた。
example.jsは、ファイルの上の方でIP、もしくは、Device Name指定でスピーカーを指定している。
まずは、この部分を、動的に変更できるように変更する。(POSTされるデータの中に喋らせるスピーカーのIPアドレスを入れ込む。)

var express = require(‘express’);
var googlehome = require(‘./google-home-notifier’);
var ngrok = require(‘ngrok’);
var bodyParser = require(‘body-parser’);
var app = express();
const serverPort = 8080;
var deviceName = ‘Family Room Speaker’;
//googlehome.device(deviceName);
//googlehome.accent(‘uk’); // uncomment for british voice
var urlencodedParser = bodyParser.urlencoded({ extended: false });
app.post(‘/google-home-notifier’, urlencodedParser, function (req, res) {
if (!req.body) return res.sendStatus(400)
console.log(req.body);
googlehome.ip(req.body.ip, ‘ja’);
var text = req.body.text;
if (text){
try {
googlehome.notify(text, function(notifyRes) {
console.log(notifyRes);
res.send(deviceName + ‘ will say: ‘ + text + ‘\n’);
});
} catch(err) {
console.log(err);
res.sendStatus(500);
res.send(err);
}
}else{
res.send(‘Please POST “text=Hello Google Home”‘);
}
})

POSTされたデータからIPアドレスを取得するように変更

CurlでPOSTする方もIPアドレスを入れるように変更する。

curl -X POST -d “text=This is a pen. This is a pen. This is a pen.&ip=172.168.10.75” http://localhost:8080/google-home-notifier

curl -X POST -d “text=Hello Google Home. Hello Google Home. Hello Google Home.&ip=172.168.10.58” http://localhost:8080/google-home-notifier

IPアドレスとPOSTするデータの中に挿入

このようにすると、順次リクエストを受け、順々にスピーカーから話し始める。
ちなみに、同じスピーカをめがけて、複数のリクエストを投げると、リクエストの上書き?(最初のコマンドの喋りが終わっていなくても、次のコマンドの喋りが始まる。)

試した動画はこちら↓
*動画が再生されない場合は、右クリックで「再生」をクリックすると始まります。

IT
Sponsored Links
Sponsored Links
Sponsored Links
ようさんチョットでぶ
Copied title and URL
Bitnami