メモ

大学の食堂の混雑率をスマホのBluetoothでカウントする試み


スマートフォン、スマートウォッチ、ヘッドホンなど、世の中にはBluetooth規格を利用して通信する端末であふれかえっています。こうした端末の信号を検出し、混雑率を測ろうとする試みがウィリアム&メアリー大学のマシュー・エスポジート氏により行われました。

Building an occupancy sensor with a $5 ESP32 and a serverless DB
https://matthew.science/posts/occupancy/

ウィリアム&メアリー大学はもともと利用者監視サービスのBluefoxと提携し、Bluetoothを利用した混雑状況監視システムを公開していました。その監視方法とは、BluetoothをオンにしているスマートフォンのMACアドレスをカウントするというシンプルなもの。しかし、大学がBluefoxとの契約を打ち切ったため、利用者の監視ができなくなってしまいました。


Bluetoothを使って混雑状況を追跡するというアイデアは、エスポジート氏の頭の中でくすぶっていて、氏は混雑状況を監視するためのシステムを独自に復活させ、学内のあらゆる場所で混雑率を検知しようと試みました。

ひとまずエスポジート氏はコードを書き、ノートPCを持ち運んで実際に試したところ、小規模なカフェなどのエリアではかなり正確にカウントできたとのこと。食堂のような大きなエリアでもある程度カウントできたのですが、壁越しにテラスにいる人の信号を拾っていると思われる数値も出たそうです。


この方法だとノートPCがない場所では検知できないので、エスポジート氏はOLED付き開発者ボード「ESP32」を購入してまずは図書館に配備。学内のIT部門にMACアドレスのホワイトリスト登録を依頼し、ノートパソコンの前に座ってデータが転がり込んでくるのを待ちました。

結果はひとまず成功に終わりましたが、デバイスが250個程度カウントされた時点でESP32がクラッシュしてしまったそうです。これは1つの端末から取得する情報量が多すぎたせいで、エスポジート氏は情報量を減らすことで対策します。また、ESP32も他のものととっかえひっかえしてテストにテストを重ねたとのこと。

結果的に、1ヶ月間確実に動作したのは「XIAO ESP32C3/S3」というデバイスだけでした。このデバイスとエスポジート氏のコードで、速度を落とさずにうまく動作したそうです。


1日計測した結果の一例が以下。値が急激に上昇している部分は業間の休み時間で、最も人の往来が多い時間です。


エスポジート氏が今回実践した方法だと、スマートウォッチやヘッドホンなども検知してしまい、2つ以上のBluetoothデバイスを持つ人を二重に検知してしまいます。また、端末のBluetoothをオフにしている人はそもそも計測不可能です。

エスポジート氏は、AppleやGoogleといったメーカーIDでフィルタリングして精度を向上させる方法などを検討中で、学術的な研究に値するかどうかについて何人かの教授と話しているところです。また、入居動向を測定したい実店舗型ビジネスへの販売も考えていて、今後も開発を続けるとのことです。

この記事のタイトルとURLをコピーする

・関連記事
無線LANの混み具合を解析してグラフで表示する「Wi-Spy」実機レビュー - GIGAZINE

乗客を飛行機から降ろす時間を半分に短縮できるという「Fill&Flush」とは? - GIGAZINE

遅刻しがちな人のメカニズムとは? - GIGAZINE

in ソフトウェア,   ハードウェア, Posted by log1p_kr

You can read the machine translated English article here.