Assistantが提供開始されたというニュースを見て、前回のAlexaに続いて何とかして使えないかと、また、Google先生を質問攻めしていたら、かなりいい感じの記事を見つけました。この記事を参考に今回考えた仕組みはこんな感じです。Node-REDから後はAlexaの時と同様なので、聞きなれないdataplicityから調べてみました。Piにブラウザからリモートアクセスできるようにするサービスで、1台だけなら無料で利用することができます。操作画面はこんな感じで、何処からでもブラウザでリモートシェルが使えます。Piにアウトゴーイングのコネクションを保つモジュールをインストールしているからです。モジュールのインストールはこんな感じです。コードはデバイス毎アカウント毎に発行されます。今回利用するのはリモートシェルではなく、ワームホールという機能です。PiのNode-REDにインターネットからアクセスできるようにします。Node-REDはデフォルトで1880ポートを使っていて、80ポートに変更するにはルート権限でNode-REDを動作させなければいけないそうなので、リダイレクトで対応することにしました。1880このコマンドで、80ポートへのアクセスを1880ポートにリダイレクトしてくれます。IFTTTIFTTTはメジャーなので説明の必要は無いと思いますが、簡単に言うとサービスとサービスを結びつけるサービスです。Assistantのカスタムボイスコマンドを作る機能が追加されていました。「Connect」をクリックして接続するGoogleアカウントを選択します。作ったアプレットは次の4つです。Assistantがまだ日本語に対応していないので英語で我慢しました...。照明オン用のアプレットの設定です。3つまで言い方を登録できて、Assistantの答え方も登録できます。中二病的にAssisantにはサーバント的な役割を与えてみました。Assitantがボイスコマンドを認識すると、ウェブリクエストを飛ばすようにしています。inノードとして設定しています。select」に戻せなくなったのでこのようになっています...。Node-REDNode-REDもメジャーなので説明の必要は無いと思いますが、簡単に言うとフローベースのIoT向けプログラミングツールです。IFTTTで作成した4つのアプレットのウェブリクエストを処理するフローはこんな感じになりました。/order?target=light&ctrl=onという形態のリクエストが来たら、switch1でtargetの内容、switch2でctrlの内容で分岐してpython-broadlinkのコマンドを実行しています。レスポンスは何が来ても一律「OK」を返しています。●「switch1」の内容リクエストパラメータの名前はmsg.payload.xxxで指定します。値は文字列として扱います。●「LIGHT.on」の内容rmはシェルスクリプトで、python-broadlinkのコマンドを実行しています。@$1python-broadlinkについては前回のAlexaの記事を見てくださいね。●「debug」の内容デバッグ情報としてリクエストパラメータの値を表示するようにしています。単純に大きなOKを返しています。Assistantです。Assistantが使えないかとやってみたんですがダメでした。Homeにしか対応していないとしっかり書いてあったのを見逃していました。5の携帯しか持っていないんです!新しい携帯を買おうかと本気で探しもしたのですが、やっぱりお金は使いたくないし結局直ぐには使えない。7.1.1のLineageOSというカスタムROMを焼くことでした。Assistantのモジュールも焼きました。この苦労話は別記事でお知らせしたいと思います。音声が無いと何とも味気がないのですが、動作画面がこれです。Assistantの"Master"の発音がよくって、中二病心をくすぐります。Assistantが日本語に対応していました!設定画面に「Languate」が追加されていて、「Japanese」が選択できるようになっていました。三節詠唱はフレーズの間に半角スペースを入れるとうまく認識されるみたいです。miniの粗悪品に注意!ESP8266月別アーカイブはてなブログをはじめよう!IntellectualCuriosityさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。