スポンサーリンク
前回の投稿から随分立ってしまったのですが、今日は、前回Google Homeにテキストの読み上げをしてもらうプログラムをWebアプリ化してみようと思います。今回も環境はRaspberry Pi Zeroで、OSはjessieです。
スポンサーリンク
Expressのインストール
ExpressはNodeで簡単にWebサーバーを建てられるモジュールです。前回の記事の最後のほうで書いた、read.jsの置いてあるディレクトリに移動します。そしたら以下のようにExpressをインストールします。
$ npm install express
body-parserのインストール
次にbody-parserをインストールします。Google Homeに読み上げてもらいたいテキストをPOSTするのですが、そのrequestの値を取得するために使います。次のように入力しbody-parserをインストールします。
$ npm install body-parser
read.jsの書き換え
以下のようにread.jsを書き換えます。非常に短いコードで簡単にWebサーバーが立ち上げられるのがいいですね。楽ちんです。
var googlehome = require('google-home-notifier');
var language = 'ja';
var express = require('express'); // Expressを読み込みます
var bodyParser = require('body-parser'); // body-parserを読み込みます
var app = express(); // Expressをインスタンス化します
googlehome.device('Google Home', language);
app.use(bodyParser.urlencoded({ extended: true })); // とりあえずおまじない
app.use(bodyParser.json()); // とりあえずおまじない
app.post('/google', (req, res) => { // googleってurlが叩かれたときにどうするか・・・の記述
var body = req.body;
googlehome.notify(body['text'], resg => { // 前回はべた書きだったテキストをリクエストの中から取り出すようにしています
console.log(resg);
res.send(resg + '\n');
});
});
app.listen(3000, () => { // ポート3000でWebサーバーを立ち上げます
console.log('Start web service...')
});
やってみよう!!
まずは前回同様read.jsを起動します。
$ node read.js
前回は、ここで「ドゥルルン」でしたが、今回はちょっと違いますね。Webサーバーが起動し待受状態になります。そしたら、以下のようにURLを叩いてみましょう。
$ curl -H 'Content-Type:application/json' -d '{"text":"Hello World!!"}' http://localhost:3000/google
どうでしょう? 「ドゥルルン」来ました? 言語を日本語にしているので、「はろー わーるど」って棒読みしてくれますね。
さあ、これでいろいろtextの”Hello World!!”の部分を書き換えてあげれば、いろいろ自在に読み上げさせることができますね。
ではまた。
スポンサーリンク
スポンサーリンク