#とりあえず機能もりもりのIoTデバイスを作ってみて最適なインターフェースを探る
IoTデバイスの入力は、ホームスピーカーを活用して音声によって扱うのが良いのか、exUIで代表されるようにスマホのタッチですべて完結するのがいいのか、あるいはAR時代に最適とされる空間Computingの考えを借りるなら、その一例として空間を見るという動作(視線)によって入力を行うのが良いのか。
これはそれぞれのIoTデバイスが実現したい機能によって異なってくるはずである。
このインターフェースの問題は、生活の中で実際に試し、それとともに生活してみて初めて最適解が見えてくるはず。ということで、主に上3つの入力を備えたIoTの代表格スマートスイッチを実装してみた。最近は筋電センサによって腕の動きを取るなどもあるが、家庭に普及しているスマホとホームスピーカーとカメラを用いて活用できる3つのインターフェースの搭載を考えてみる。
写真のスイッチは、
・スマホアプリ内で操作する(触覚的)
・Alexaに呼びかける(音声的)
・スイッチの方を見る(視覚的)
動作による入力に対応する。
細かいコードまでは記さないが、使用したものなどを簡単に記し、最後に見えてきたことをまとめる。
#BlynkとESP23を用いたタッチ入力
BlynkはESP32といった無線モジュールをスマホから操作できるスマホアプリである。
IoT開発で地味に使えるプロトタイピングツールたち - ソフトウェア
https://qiita.com/d-yamamoto/items/ec6ba1b54766e89b514a
に詳細はあるので省くが、連携することでサーボモータに取り付けたピンの入力を下の写真のスマホから操作する(On/Offボタンを押す)ことで、スイッチを45度+方向と-方向へ動かす簡単な仕組み。
#Blynkとifttt(Alexa + Webhook)を用いた音声入力
これは先程のBlynkのアプリが、Httpリクエストを用いてスイッチのOn/Offを管理できることから、iftttを用いて、alexaに〇〇と呼びかけたときに、webhookというアプリがhttpリクエストを送ってくれるという連携を構築することで、alexa入力から、webhookを通じて、blynkのボタンが操作され、それがesp32のサーボ入力に繋がるという流れ。
詳しくは、https://wak-tech.com/archives/1546 なんかを参照するといいかも。
#OpenFaceを用いた視線入力
このパートはほとんど、見るだけで押せる「視線スイッチ」
https://qiita.com/takjg/items/afc6348ceed67868d41f
を参照してほしい。変えたのは、視線を検知したら、音声入力同様Blynkのhttpリクエストを送信するようコードを変更しただけである。
#まとめ - スマートスイッチにおける最適なインターフェース
これを簡単に自作してみて3日ほど立つ。見えてきたこととして
視線入力 … より直感的に操作できる。つまり、使っていて生活の行動リズムに融けるような印象。音声入力のようになれる時間がほとんど必要がない。初心者でも簡単に慣れられるはず。実際に、日常でAlexaを利用しているときに、見る必要のないのにalexaの方を見て喋ってしまうのは、やはり見て何か操作するというのが私達の行動の基底に流れているからなのか。この点から、この方法は認知負担が少ないといえる。ただし、問題点は、暗闇や間の障害物があると使えないことや、見るという入力上複雑な入力を行えないため自由度が低いことがある。
音声入力 … 独り言がインターフェースになるということには、初めて使う人は戸惑うのだが、慣れると一番肉体的負担が少ない、わざわざ視線やタッチのように身体の主要な部分(首とか手)を動かすことなく、喉だけを動かせばいいから。ただし、喋るという行為そのものが脳に対する認知負荷が高いのと、加えてalexaが受け取るべきフレーズみたいなのを一度考えないといけなかったりするので、その分認知負荷は高いと言える。ただし、暗闇の中では間違いなくこれが最適な選択。あとは、スイッチの方を見るのが難しいときなど環境的要因にも強い。特にスイッチは電気と連携させることが多いことを考えると、暗闇での入力にも耐えないといけないことから音声入力が適しているとも言える。
スマホ入力 … ほとんど使わない。たまたまtwitterを見ていて、電気消すかと思ってスマホ内でBlynkアプリを開いて使う程度。ただし、スイッチ以外に電気の明るさといった0か1でなく、アナログ信号のような複雑度の動作を行う場合には、スマホがより直感的なインターフェースになる。
それぞれ強みがあり。スマートスイッチの場合には電気を扱うことの多さという観点を重視するなら音声がインターフェースとして適切な可能性が見えてきた。一方で、視線入力も行為性への融けといった観点では捨てきれない。2つが別々に存在しても十分機能しそうでもある。スマホは機能上簡単に実装できるのであってもいいが、スイッチというデバイスではあまり使うことはなさそう。
まだ3日程度なので、まだまだ一人称的に最適なインターフェースを探っていきたい。