機能はシンプルでいいから、使い勝手のいいセンサーデバイスを探しているなら、プラネックスコミュニケーションズ株式会社の「どこでもセンサー」は、1つの選択肢になるかもしれない。工夫次第では、気温、湿度、気圧、人感センサーがいろいろなサービスから扱えるようになる。

USB給電で動作するセンサーデバイス Amazon.co.jpの評価が思ったよりも厳しめなので、どうしようか迷ったのだが、後日と予定されていたAPIが無事に公開されたようなので、結局、購入してみたのが、今回取り上げるプラネックスの「どこでもセンサー」だ。 気温、温度、気圧の各データを測定できる「どこでも環境センサー（WS-USB01-THP）」と、人体の検知が可能な「どこでも人感センサー（WS-USB02-PIR）」の2モデルをラインアップするシリーズで、USB給電で動作し、Wi-Fi経由でデータをクラウドへ送るシンプルなセンサーデバイスだ。 同様のセンサーは、IoT機器向けのリモコンデバイスやネットワークカメラなどにも搭載されたものがある。すでにこうした機器を持っているのであれば、それを利用する手もあるが、本製品は、前述した通り、USBバスパワーで動作する点が最大の特徴だ。 USB ACアダプターに装着してコンセントに直結しても、Wi-FiルーターのUSBポートなどに装着してもいいし、モバイルバッテリーに装着すれば、文字通り「どこでも」設置することができる。 もちろん、通信環境は必要になるので、設置場所はWi-Fiの電波の届く範囲内になるが、モバイルルーターを利用すれば、場合によっては屋外に持ち出すことも不可能ではない（雨などに注意は必要だが……）。 税込価格は、温度、湿度、気圧が計測できる「WS-USB01-THP」がAmazon.co.jpが4242円、人感センサーの「WS-USB02-PIR」が4202円（いずれも2019年5月30日調べ）となっており、正直な感想としては少々高い。 センサーデバイスは、複数をいろいろなところに設置したいので、安ければ安いほど助かるのだが、USB給電による汎用性の高さと携帯性の高さを考えると、致し方ないところだろうか。

Wi-Fiにつなぐだけで動作、クラウドから管理可能 使い方は簡単だ。USBポートに接続して起動すると、出荷直後の状態では自身がアクセスポイントとして動作する。 PCから「WS-USN01-THP_xxxxxx」などのSSIDへ、取扱説明書に記載されたパスワードで接続し、ウェブブラウザーで「http://192.168.1.1」にアクセスすると、Wi-Fi接続設定画面が表示される。ここで既設のWi-FiアクセスポイントのSSIDとパスワードを入力すればいい。 その後、同社が運営する「Planex Cloud Serice」上に、デバイスのシリアルとMACアドレスを登録することで、クラウドからの管理が可能となる

スマホアプリはないが、ウェブブラウザーで十分に利用可能 クラウド連携のメール通知も便利 クラウド上で管理できるのは、各センサーのWi-Fi接続状況やIPアドレス、ファームウェアバージョン、現在の温度や湿度などの値、過去に計測された値のグラフなどだ。 スマートフォン向けアプリは提供されないため、基本的にはウェブブラウザー上でデータを参照するか、CSVで過去のログをダウンロードするか、あるいは後述するAPIを使うことになる。 最近はスマホ向けのアプリがない方が珍しいだろうが、コストが上がってしまうなら不要で、現状のままで構わないというのが個人的な意見だ。 特に本製品の場合、単体で利用するよりは、センサーの値を別のシステムから参照して、ほかの機器を制御するための基準として使うことが想定される。もちろん、単体で温度などを記録したいというニーズもあるとは思うが、それでもログさえ取得できれば、スマホアプリはなくても問題ないだろう。 クラウドサービス側の機能もある程度は用意されている。温度、湿度、気圧が一定のしきい値を超えたり、人感センサーが対象を検知したりしたときに、メールで通知するよう設定ができる。 同社製品の「スマソケ」や「スマカメ」との連携も可能で、例えば温度が一定以上になったら、スマソケで電源を制御して扇風機をオンにするといった使い方もできる。製品との組み合わせ次第で、より利便性は高まりそうだ。

公開されたAPIは2つのみ さて、本命とも言えるAPIだが、公開されたAPIは2つだ。いずれも、センサーによって記録されたデータを日時の範囲を指定して取得するというシンプルなものだ。 もともと、センサー自体の機能がシンプルなので、よく考えれば妥当なのだが、APIというと「ちょっと読み込むのがめんどくさいと思えるようなもの」という固定概念があったので、あまりのシンプルさに面食らった感じだ。 欲を言えば、せめて「&from="2019-01-01 11:22:33"&to="2019-01-31 22:33:44"」という日付指定を省略した場合には、最新データだけ取り出すとか、現在の値を返すくらいはして欲しかったところだが、取得したJSONを加工すれば済む話でもあるので、贅沢は言わないことにしよう。

POSTMANを使ってAPIをテスト 日時がUTCで扱われ、日付だけ指定すると返値が膨大に というわけで、POSTMANを使って、APIをテストしてみたが、注意すべきは日時がUTCで扱われる点だ。 クラウドサービス上ではグラフなどが日本時間で表示されるので、ついうっかりしてしまいがちだが、例えば、5月22日の朝8時に、以下のように5月21日から5月22日のデータを指定して取得しても、5月21日の23時までのデータしか取得できない。最初は「あれ？」と思ったのだが、「UTCである」という記載を見逃していた。 https://svcipp.planex.co.jp/api/get_data.php?type="WS-USB01-THP"&mac="xx:xx:xx:xx:xx:xx"&from="2019-05-21"&to="2019-05-22"&token="xxxxxxxxxxxxxxxxxxxxxxxxxxx"

基本的には、クラウドに記録されたデータを参照するためのAPIなので、リアルタイムのデータを取得するものではない。例えば、直近の値を取得したいなら、現在時刻を「&to」に指定して、「&from」を1分前とか30秒前くらいにすればいい。 環境センサーの「WS-USB01-THP」の場合、正確なルールは分からないが、だいたい20秒おきにデータが記録されるようで、前述のような日付で指定すると、膨大な返値に面食らう。しかし、1分程度の範囲で指定すれば、2～3レコードを取得できる。 ほかのシステムと連携させることを考えると、前述したように、確実に1レコードだけ取得できる方がありがたいが、取得した最初のデータでも1分前なので、これを現在の値として使うという手もあるだろう。