はじめに
EnOceanは、電池を使わずに動作する省電力な無線センサー規格です。ボタンを押す力や温度差などのわずかなエネルギーで発電して信号を送るという仕組みで、電池切れの心配がなく設置したらほぼメンテナンス不要というのが特徴であると思っています。
以前からWio BG770AとEnOceanユニットの組み合わせをいろいろ試していたのですが、せっかくなので今回は、ドア・窓の開閉検知に使うEnOceanコンタクトセンサからの信号をWio BG770Aで受信して、SORACOM経由でクラウドにデータを送るところまでやってみます。
「電池レスのセンサーからのデータを、省電力のWio BG770Aで送れる」という組み合わせ、地味に使い道が広そうな気がします。
以前に、WioBG770AでEnOceanデバイスのデータ受信ができるところは確認しました。
使用するデバイス
- SeeedStudio製 Wio BG770A
- EnOceanユニット(Switch Scienceで販売中)
- EnOceanコンタクトセンサ
- SORACOM SIM
EnOceanコンタクトセンサはこんな感じの
Wio BG770Aの基本的な使い方は以下の記事にまとめています。
今回作ったものの全体像
流れとしてはシンプルで、以下のような形にしています。
- EnOceanコンタクトセンサが開閉信号を送信する
- Wio BG770Aに接続したEnOceanユニットがその信号を受信する
- 受信したデータをSORACOMに送信する
注意点:Groveの電源は常時ONにしておく
EnOceanコンタクトセンサはいつ開閉されるか分からないので、EnOceanユニット側は常に受信待機の状態にしておく必要があります。そのため、Grove側の電源は基本的に常時ONにしておく構成にしています。省電力設計というと真っ先に「使わないときは電源を切る」という発想になりがちですが、受信待機自体は継続しつつという状態になります。
動作確認
実際にコンタクトセンサを開閉して、Wio BG770A経由でSORACOMコンソール上にデータが届くかを確認しました。
[動作確認時のスクリーンショット・写真 - 要追加]
一定時間経過での送信と、バッファが埋まりそうなタイミングでの送信、どちらのパターンでもデータが届くことを確認できました。
SORACOM Harvest Data でデータが受信できていることが確認できました。
OPEN=1、CLOSE=0でデータを送るようにしているので、グラフ化するとこんな感じです。
まとめ
Wio BG770AとEnOceanユニットを使って、EnOceanコンタクトセンサからの開閉信号を受信し、SORACOM経由でクラウドに送信するところまで確認しました。バッファリングまわりはまだまだブラッシュアップが必要だと思いますが、電池レスのセンサーとセルラー通信の組み合わせで、省コスト・省電力を意識した仕組みが作れそうな手応えがありました。
次は温度センサーなど他のEnOceanセンサーにも対応を広げつつ、実際の運用データをもう少し長い期間で見てみようと思います。
今後の展開
今回は、コンタクトセンサのみの動作確認をしていますが、他のセンサにも挑戦したいと思います。また、現在は、EnOceanのデータを受信したら即時データをSORACOMに送信する仕組みになっていますが、逐次送信するのではなく、ハード側にバッファリングしておいて、一定データが溜まったら送信するなどで、省電力化が少しはできるかなと思っています。この辺りは、電池駆動しながら、電池残量をモニタリングすることで、実際にどれぐらい持ちそうかなど試せたらと思っています。
参考リンク


