こんにちは、はな夫(@logicalifer)です。
今回は我が家が使用しているプロジェクターであるz6 polar meets popin aladdin(ポップインアラジンの据え置き型モデル、以下z6 polar)とAlexaとの連携についてご紹介します。
z6 polarはシーリングライト一体型プロジェクターであるpopin aladdinの据え置き型のプロジェクターです。popin aladdinと同様にリモコンで操作が可能です。
ただ、既に生産中止となっており、システムアップデートも一体型のpopin aladdinに比べて遅く、メーカから見放されている感のある機種になります。。。
スマートホームっぽい製品なのですが、popin aladdinの公式サイトをみると、FAQにはGoogle Assistant、Alexaには未対応と記載されています。
メーカーからはリモレスと言うスマートスピーカーが発売されており、おそらくそちらとの連携を促し、Google AssistantやAlexaに対応していくことはないのでは無いかと推測しています。
しかし、我が家は Alexa を非常に活用しているため、なんとかAlexaと連携できないか模索しました。
その結果、ある程度音声操作することが可能になりました。
具体的には、電源のON/OFF、ボリュームの上げ下げ、つながるTVのチャンネル操作をAlexaへの音声入力から実現できましたので、それを発見するまでの経緯をこの記事に、具体的な設定手順を次の記事で紹介したいと思います。
操作の手段の検討
popin aladdinのリモコンについて調査をした結果は下記の記事にまとめています。
また、下記の記事を読むと、最後の方に「USB端子にキーボードやUSBメモリーを接続できる」と紹介されています。
そこで、Bluetoothキーボード、USBキーボードが接続された場合の挙動についても調査しました。
調査の結果、Bluetooth キーボードと接続するとリモコンに似た動作をすることができますが、USBキーボードを接続すると Bluetooth と比べて操作が限定されることが分かりました。
例えば、Youtubeアプリ等の検索画面では、USBキーボードの入力を受付けますが、ホーム画面においてスクロールに矢印キーを使用することはできませんでした。
そのためいろいろ操作をするには Bluetooth キーボードから操作をする必要があることが分かりました。
Bluetoothデバイスの模索
Bluetooth キーボードを使えば色々操作ができることが分かりましたが、物理キーボードがリビングにポツンと置いてある状態はスマートホームとは言えないため、Raspberry piを活用した方法を模索しました。
Raspberry piでBluetoothキーボードをエミュレートして操作する案
Raspberry PiをBluetoothキーボードにする方法は下記の記事に記載しています。
上記の記事の通りBluetoothキーボード化したRaspberry piはz6 Polarとペアリングし、キーボード入力をすることができました。
ただし、一度接続を解除したりz6 polarを再起動すると、Raspberry pi側から自動で再接続することができませんでした。。。
再度接続するためには、z6 polarの設定画面からRaspberry piを再接続する必要があり、プロジェクターを起動するたびにそれを行うのは、めんどくさいですし、スマートじゃないです。
AndroidスマホでBluetoothキーボードをエミュレートして操作する案
どうしたものかと思っていたところ、Google StoreにServerless Bluetooth Keyboard & Mouse for PC/Phoneというアプリがあるのを発見しました。
このアプリはBLEに対応したスマホを Bluetooth キーボードとマウスにすることができるアプリです。
このアプリを自分が使用しているPixel 4aにインストールしz6 polarとペアリングをすると、アプリ上のキーボードから操作をすることができました。
そこで、Bluetoothキーボード部分はこのアプリを使用することにしました。
プログラムとの連携の模索
Bluetoothキーボードは確定できたものの、Alexaに声掛けしてこのキーボードを操作することはできません。さらに何かを連携する必要があります。
AndroidスマホでTasker&AutoVoiceを使う案
そこで、Androidを自動化することで有名なTaskerと組み合わせます。
このアプリは、Android端末の操作を自動化することができる、かなりマニアックなアプリです。
このTaskerには、AutoVoiceというプラグインがあり、なんとAndroidスマホをAlexa対応のスマートホーム機器に見立てることができる機能があります。
これでうまくいくぞ!と思っていましたが、チュートリアルにあるAutoVoiceスキルがAlexaアプリで見つかりません。。。どうやら、Amazon.com(アメリカ)のスキルにはあるが、Amazon.co.jp(日本)のスキルとしては公開されていないようです。
ということで、Alexaと連携するためには、さらにもう一手間工夫がいるようです。
AndroidスマホでTaskerとAutoRemoteを使い、Raspberry piでNode-REDを使う案
調査を続けると、Taskerの別のプラグインであるAutoRemoteを使用してRaspberry piと連携することができることが分かりました。
上記のリンクには、3種類の方法が記載されていますが、簡単そうな2番目の方法を採用しました。
Raspberry piにNode-REDをインストールする方法は下記の記事で紹介しています。
色々馴染みのないアプリや言語で苦戦しましたが、無事、AlexaとTaskerを通信させることができました。
まとめ
結構長い間、何が良いのか試行錯誤しましたが、
Alexaに音声指示
→Raspberry piのNode-REDで認識し、Taskerへ指示
→AndroidスマホのTaskerで指示を受けてBluetoothキーボードアプリを起動
→Bluetoothキーボードアプリでキー送信
→z6 polarが動く
という経路で指示を出すことに成功しました。
次の記事で、それぞれの端末の設定方法をご紹介しようと思います。
コメント