ホームオートメーションとはいわゆる家の家電、照明などを自動操作する仕組みです。これを実現するためには幾つかの方法があります。

  1. 人認識
  2. 音声認識
  3. 他のセンサー連動

人を認識して操作を行う場合、問題になるのは画像の取得とそこから人が誰であるのかを導き出すことです。音声認識はもう少し手軽で、音声をテキスト認識できれば、後はその内容に応じて処理を実行するだけです。もしこれを喋っている人によって操作を変更すると言ったら技術的に高度になります(例えば喋った人によって電気をつける部屋を変えるなど)。

他のセンサー連動はさらに簡単になります。よくあるのは家に近づくとライトがつくものですが、これは赤外線センサーを使っているだけです。他にもドアを開けたら家の電気がつくといった仕組みもよくあります。これもさほど難しくありません。センサーは人の音声や姿のようにぶれることがあまりないので照度、湿度、温度センサーなどを適切に配置してあげれば良いだけです。

ホームオートメーション×インターネットの可能性

ホームオートメーションは殆どが自宅内でのアクションをトリガーとして、自宅内でイベントを発生させます。外が明るくなったらカーテンを開ける、家に帰ったらエアコンをつけるなどといった操作は特にそうです。そのため自宅内のネットワークは使うかも知れませんが、インターネットを介する必要はありません。

ホームオートメーションとインターネットを絡めた使い方として考えられるのは主に2つあります。

リモート監視

例えばニフティの提供するおへやプラスがあります。

おへやプラスでは、祖母や幼児のいる家庭に設置するデバイスで自宅の温度や湿度を監視します。そしてそれが閾値以上に達するとスマートフォンにプッシュ通知が来る仕組みです。この時、スマートフォンは祖父母のものではなく、その子供たちのものです。親の家庭に問題が出ていないかを確認するために使うのです。

また、監視カメラのような仕組みも考えられます。これはWebカメラ程度で十分で、かつWebカメラの映像に差が生じた場合に撮影を行う仕組みは簡単にできます。これによりWebカメラの前を何かが通り過ぎた場合などに映像を残せるのです。

この仕組みは映像をオンライン上に保存しておくことで意味があります。自宅を離れている際、自宅に侵入者があればすぐに発見ができるのです。

遠隔操作

自宅に入る前のアクションをトリガーとして家電を操作する仕組みです。例えば帰宅10分前にエアコンのスイッチを入れておいたり、家に入る少し前にスイッチをつけるといった具合です。どちらもスマートフォンから指令を出したり、バックグラウンドで位置情報を取得することでイベントを実行します。ビーコンを置いて、それと連動するようにしても良いかもしれません。

遠隔操作の問題はNATです。自宅のルータは基本的に外部からの侵入を許可しません。また、そのためにネットワークの設定を変えるのは大変でしょう。そこで使えるのは家庭内のIoTデバイスが定期的にデータを取得する、またはMQTTのような相互通信できる仕組みの導入です。

ロギング

家庭内のデータを蓄積しておくことで後で役立てたり、ダッシュボードのようなグラフを作ることも考えられます。電気の点灯、消灯時間を記録することも考えられます。データを記録することで、これまで思いもしなかった傾向が浮かび上がってくるかも知れません。

また、自宅にあるIoTデバイスと屋外のスマートフォンが直接通信するのは困難ですが、データを経由してデータを送受信するといった方法は考えられます。温度や湿度などで閾値を越えたらあらかじめ指定した場所にデータを保存します。スマートフォン側ではその場所を定期的にチェックすることで状況が把握できるようになります。

mBaaSの使いどころ

ここまで幾つかのパターンでホームオートメーションにおけるインターネットの使い方を見てきました。この中でmBaaSがどう使えるのか紹介します。

データストア

いわゆるデータベースであるデータストアを使う場合、ロギングに向いていると言えます。また、IoTデバイスとスマートフォンとの間に立ち、お互いにmBaaSを経由してデータの送受信を行うこともできます。これはM2M(マシン to マシン)に対するM2C2M(マシン to クラウド to マシン)の形と言えます。

ファイルストア

ファイルストアはクラウドストレージになりますので、写真データの保存に最適と言えるでしょう。またデータストアを使わずにデータをJSONやバイナリ形式で保存する際にも使えます。

プッシュ通知

閾値を越えた時のアクションとしてプッシュ通知は有力です。IoTデバイスの設定やステータス確認を行うアプリを作成し、そのプッシュ通知送信先としても使えます。IoTデバイスのイベント先、データの表示先としてスマートフォンは大事な存在です。

その他

その他、MQTTによるデータ送受信が考えられます。MQTTを使うことでIoTデバイスの持つデータを素早くクラウド上にアップロードしたり、逆にクラウド上からIoTデバイスに対してメッセージを投げることができます。これはIoTデバイスの生死監視、特別なメッセージ表示(再起動やアップデートなど)にも使うことができます。

MQTTはニフティクラウドが提供しています。


IoTとはインターネットを介するため、その先には何らかのサーバが必要になります(そうでない場合はM2Mになるでしょう)。そのサーバをあえて構築せずにmBaaSを使う手も十分考えられます。それによりサーバ側の開発コストをなくし、IoTデバイス開発に専念できます。

プロトタイプ開発時においてもデバイスとサーバ両方の開発はとても大変です。サーバ開発をなくせばぐっと効率化するのではないでしょうか。