はじめに
三菱総研DCSにてIoT開発を担当している後藤です。
今回は人感センサー・CO2センサーを用いて会議室利用状況を可視化した取り組みについてご紹介します。
本取り組みでは、会議室の効率的運用や換気促進という目的のもと、会議室の利用状況(空き or 使用中)およびCO2濃度を可視化しました。特にCO2濃度は作業効率の観点に加えて、密閉空間での感染症予防においても重要と判断し可視化対象としました。
また、あわせて検証を行ったBluetooth meshというデバイスネットワーク技術についても解説します。
システム構成
全体のシステム構成は図1の通りです。
図1. システム構成
会議室に設置したデバイスから得られるセンサーデータはゲートウェイデバイスに集約しAWSに送信します。また、AWSに送信されたデータは簡易的なWebアプリケーションを通して可視化します。(図2)
図2. Webアプリケーション
Webアプリケーション開発にあたってはVue.jsを使用しました。Vue.jsは2020年にVue 3がリリースされ多くの変更がありました。そのため今回はVue 2からVue 3への段階的な移行として、Vue 2 + Composition APIの構成で開発しています。(参考:@vue/composition-api)
また、会議室利用状況可視化の取り組みで使用したデバイス・センサーは下記の通りです。
ESP32が搭載されていて、センサーデータをWi-FiとBluetoothで通信することができます。M5Stackシリーズを使った作品コンテストが行われているのでご興味のある方はぜひご覧ください。(参考:M5Stack Japan Creativity Contest 2020)
- ATOM Lite
24×24mmとM5Stack Basicよりひと回り小さいモジュールです。ESP32-PICOが搭載されていて、コンパクトながらもWi-FiとBluetoothで通信することができます。
- MH-Z14A
CO2濃度を測定するために使用したセンサーでNDIR方式が採用されています。
複数の通信方法がありますが、今回はUARTを介したコマンド送信でデータ取得を行いました。
(参考:MH-Z14A)
- HC-SR501
会議室内に人がいるか測定するために使用した人感センサーです。
周囲の赤外線放射の変化によって検知するため、「モーションセンサー」という表現が挙動のイメージに近いかと思います。
センサーデータ集約における課題
今回は、センサーデータをゲートウェイデバイスに送信するための通信方式としてBluetoothを採用していましたが、通信距離の都合から、1つのゲートウェイデバイスではフロアに点在するすべての会議室のデータを収集することができませんでした。
ゲートウェイデバイスをフロアに多数設置することも考えられますが、ゲートウェイデバイスはIoTデバイスとしては比較的高コストなのでなるべく削減したいものです。
そこで今回の取り組みではBluetooth meshというデバイスネットワーク技術を使用して、低コストデバイスを用いた長距離通信の実現を目指しました。
Bluetooth meshとは
Bluetooth meshは商用施設のワイヤレス照明制御システムやスマートホームなどのソリューションとして利用されているデバイスネットワーク技術です。
主な特徴は下記の通りです。
- 長距離通信
ネットワークに参加しているデバイスは「Node」と呼びます。
それぞれのNodeは役割を持ち、メッセージ中継の役割を持つNodeを特に「Relay Node」と呼びます。
図2のように、あるNodeからのメッセージを複数のRelay Nodeが中継することで、離れたNodeとの通信を可能にします。
図3. Relay Nodeによるメッセージ中継
- 高い信頼性
図3ではメッセージのルートは左から右の直線で1つでしたが、図4のように複数の経路がある構成になるとメッセージはどのように中継されるでしょうか?
図4. 複数の経路をたどるメッセージ中継
このときRelay Nodeはメッセージ送信の際に、特定のNodeを指定しないブロードキャスト通信を行うため、図4の構成ではメッセージは同時に複数のルートで宛先のNodeを目指します。
すなわち、あるRelay Nodeが動作を停止して1つのルートがたどれなくなってもネットワーク全体は停止せず、これは単一障害点を持たないことを意味します。
- 高い拡張性
メッセージが同時に複数ルートをとることからも分かるように、送信元のNodeはメッセージ送信にあたってどのルートをたどるか指定しません。
これは複雑なルーティングテーブルの作成と管理の手間が必要ないことを意味します。もし、図4の構成で通信距離をさらに伸ばしたければ、Relay Nodeを増やすだけで可能です。メッセージがたどるルートの再指定などは必要ありません。
他にもネットワーク上にメッセージをあふれさせないための中継回数制限(TTL)や電力消費を抑えることに特化した「Low Power Node」など様々な特徴があるのでご興味のある方は公式サイトをご参照ください。(参考:Mesh Networking)
今回の取り組みではM5Stack Basicをクライアントデバイスとして会議室に設置し、Atom LiteをRelay Nodeとしてフロアに設置しました。
また、Bluetooth meshの実装にはEspressif社が提供するESP-BLE-MESHを参考にしました。
図5. デバイスの配置
取り組みのまとめ
会議室内に設置したデバイスから得たセンサーデータを集約しWebアプリで可視化して、利用者に会議室の空き状況と換気の目安をフィードバックすることができました。
また、Bluetooth meshを活用することでデバイスコストを削減しました。今回初めてBluetooth meshを使用してシステムを運用しましたが、今回のような少量データであれば安定して稼働することを確認できました。
一方で、ESP-IDF-MESHで必要となるESP-IDF[1]は、Arduino IDE[2]より細かいデバイス制御が可能ですがC言語やマイコンの知識が要求され実装に苦戦しました。また、会議室内に人の動きがなければ「空き」と判断される可能性があり、センサーの特性に合わせた適切な閾値の設定も難しい点でした。
[1] ESP-IDF:「Espressif IoT Development Framework」の略。ESP32シリーズの公式開発フレームワーク(参考:ESP-IDF Programming Guide)
[2] Arduino IDE:IoT初心者でも扱いやすいハードとソフトウェアを提供するArduinoの開発環境。(参考:What is Arduino?)
おわりに
会議室利用状況可視化の取り組みとBluetooth meshについて紹介しました。
Bluetooth meshは省電力化によるコスト削減・効率化にとどまらず、建物内のより詳細な情報把握を可能にするソリューションです。
また、Bluetooth SIGとDALI Allianceの提携によりIoT対応照明システム導入の加速が期待され、Bluetooth meshはさらに注目が集まります。(参照:Bluetooth SIG DiiAとの協業でIoT対応の商用照明を加速)
この機会にM5StackなどESP32が搭載されているデバイスをお持ちの方は、Bluetooth meshを利用したスマートホーム化を進めてみてはいかがでしょうか。