笹垣亮介あけましておめでとうございます。3児のパパエンジニアの笹垣です。引き続き2019年も技術系の情報を中心にアーキタイプの取り組みを発信していきたいと思いますので、本年もどうぞよろしくお願いいたします。Home(Mini)と来客システムの連携についてご紹介したいと思います。はじめに弊社にお越しいただいたことがある方は御存知かと思いますが、弊社オフィスのエントランスにはアポイントや配達の受付業務を行っている、来客システム(iPad)が大体9時〜19時で常駐しております。Homeに喋らせたらどうか」ということで今回のプロジェクトがスタートしました。Piを使って実装しますが、前回初期設定を行っているため、今回はgoogle-home-notifierを使い実際に喋るところまでを順を追って説明します。来客システムとのつなぎ込み必要なパッケージのインストールgoogle-home-notifierを使用するには、node.js、npmが必要になります。node.jsはソースからのインストールも可能ですが、今後のことを考慮しnode.jsのバージョン管理がしたかったので、nodebrewを使うことにしました。パッケージリストの更新から。更新が終わったら、nodebrewをインストールします。PATH=$HOME/.nodebrew/current/bin:$PATH========================================インストールが終わったら、環境変数PATHへの設定を追加します。~/.bashrc設定を反映し、以下の表示が確認できたらインストール完了です。nodebrew/root/.nodebrew/current/bin/nodebrew続いてnode.js、npmをインストールします。※今回は最新版をインストールします。v11.4.0以下の表示が確認できたらインストール完了です。-v6.4.1最後に、残りのパッケージをインストールします。noelportugal/google-home-notifierに記載があるものになります。libavahi-compat-libdnssd-devここまでで、最低限必要なパッケージのインストールは完了です。google-home-notifierのインストールgoogle-home-notifierをインストールします。installサンプルソースのカスタマイズCloneしたファイルの中にある、サンプルソース(google-home-notifier/example.js)をベースにカスタマイズします。Homeのデバイス名の変更と不要なものとしてGETの処理を削除したのみです。Homeアプリから確認してください。Homeがちゃんと喋るかを確認します。ngrokを起動します。ngrokとは、localhostで動いているサーバーをLANの外からアクセスできるようにできる便利なツールで、主に開発用途として使うことが多いのですが、今回はとりあえず動くものを早めに作りたかったのでこちらを使用しました。PiにSSHログインしさきほどカスタマイズしたソースを実行します。app.js最後に、ngrok起動時に表示されるURLに対してPOSTします。Homeが正常に喋ったら実際に来客システムから任意の言葉をPOSTし、指定した言葉を喋らせるようにします。Pi(google-home-notifier)に対してPOSTする処理を追加します。選択した会社名が入ります。$this->ghome_messageには選択した目的とアポイントの場合は担当者の名前が入ります。curl_exec($curl);実際の動作がこちらです。Piからログアウトするとプログラムが停止してしまったり、ngrokの有効期限切れにより通信ができない状態になってしまうため、プログラムの自動起動&永続化、ngrokがタイムアウトしないようにする作業が必要です。APIを使って声を変えていますが、「アーキタイプ」の発音がおかしいのでより自然な発音になるように模索したいと思います。Inc.2007年5月設立。ブランディング、コンサルティング、マーケティングの観点を大事にし、消費者、クライアントとより良き未来を創造していきます。求人情報まで毎月1回お届けします。YOU!ご登録ありがとうございました。