2017年12月10日日曜日

ラズパイZero WにGoogle-Home-Notifierを導入(手順メモ)

いろいろできるGoogle Home(うちのはminiですが)ですが、現状「聞き手」専門であり、何かを能動的に発信してくれる機能はありません。例えば「Gmailが届いたら音声で教えてくれる」みたいなこともできません。できて欲しいところですよね。

それを解決するための一手段がGoogle-Home-Notifier。Node.js用のモジュールで、仕組みはよくわかりませんが、好きなメッセージをPOSTして自分ちのGoogle Homeに喋らせることができます。

この辺のやり方は検索すればいくつも出てきますので、ここでは自分用に今回の手順をメモとして残しておきたいと思います。

ラズパイZero Wはこんなに小さい!

僕は自宅サーバーを運用したりはしてませんでしたので、今回満を持してRaspberry Pi(通常ラズパイ)のZero Wを購入しました。ラズパイZeroは昨年発売された5ドルPC。それに無線LAN機能が付いたのがZero Wです。価格は10ドル。安い!安いけど、やろうと思えばこれだけでデスクトップ環境も使えますし、PC代わりにインターネットもできたりします。とは言え廉価版であるZeroシリーズは処理性能が低いので、主な用途としてはやはり組み込みか簡易サーバー的な使い方になるのでしょう。

ラズパイ Zero Wのセットアップ


家にUSBキーボードがないので、MacからのSSH接続をするべく、OSインストール後、無線LAN設定とSSH有効化をあらかじめ施した状態のSDカードを用意しました。

※母艦PC/MacとUSB接続してセットアップする方法等、他にもいろいろありますが、Zero Wの場合は画面なしでOSインストール&無線LAN有効化まで簡単にたどり着けるので、おそらくこの方法が一番簡単かと。

・SDカードのフォーマット(8GBのMicroSD)
・公式サイトよりRASPBIAN STRECH LITEをZipでダウンロード
・「Etcher」を使ってZipからSDカードにOSイメージを展開

参考にしたのはこちら
第2回: micro SDカードにRaspbianをインストールする – Blue-black.ink

※通常はNOOBSというインストーラー的なのを使うみたいですが、Etcher使うとものすごく簡単ではないかと思いました。

・boot直下にsshファイルを作成(これでSSH有効化されるとのこと)
・boot直下にwpa_supplicant.confを作成(無線ランのSSIDとパスフレーズを設定)

参考にしたのはこちら
RaspberryPi Zero Wのワイヤレスセットアップ - Qiita
Raspberry Piの無線LANをmicroSDで設定する - Qiita

※うちは母艦がMacなのでIPアドレス調べなくても「ssh pi@raspberrypi.local」でつながりました。

・SSHでログイン
・apt-get update
・ログインパスワード変更、ロケーション変更等の初期設定(sudo raspi-config)

参考にしたのはこちら
RaspberryPi Zero Wのワイヤレスセットアップ - Qiita

Node.jsとGoogle-Home-Notifierのインストール


最初Node.jsの最新V9.xをインストールしたのですがGoogle-Home-Notifierのインストールが上手く行かず、結果的にV8.9.3(LTS版ってことみたい)を入れ直しました。

sudo apt-get install git
sudo apt-get install libavahi-compat-libdnssd-dev

sudo apt-get install -y nodejs npm
sudo npm cache clean
sudo npm install npm n -g
sudo n lts

参考にしたのはこちら
Raspberry PiにNode.jsとnpmの最新版をインストールする - Qiita
Raspberry Pi に google-home-notifier を入れた時に躓いたメモ - PC・通信メモ

最後にGoogle-Home-Notifierをインストール。最初ここでつまづきましたが、Node.jsのバージョンを落としたらうまくいきました。(あまり確信はありません…)

インストールに成功後は、Example.jsを編集。Google HomeのIPはiPhoneのGoogle Homeアプリで調べられます。詳しくはググりましょう(^_^;)。

git clone https://github.com/noelportugal/google-home-notifier
cd google-home-notifier
npm install

参考にしたのはこちら
GoogleHomeスピーカーに外部からプッシュして自発的に話してもらいます - Qiita

node Example.jsの起動に成功すれば、家庭内LANからはもちろん、ngrokというトンネリングサービスがデフォで起動していて使えるので、すぐに外のインターネットからリクエストを送ることができます。ブラウザーから「https://ほげほげほげー/google-home-notifier?text=私、しゃべれるようになりました」とか入れれば結構すぐに家のGoogle Home miniが「トゥルン!」と鳴って「ワタシ、シャベレルヨウニナリマシタ」と喋ってくれました(^_^;)。

さて、後はこれをどのように生活に役立てていくかが腕の見せどころですね(^_^;)。

以上、自分のための手順メモでした。誰かの参考になれば幸いです。ではまた。

0 件のコメント :

コメントを投稿