壁面に設置し、ゼミ室の滞在時間を表示しているM5Stack Core2

ゼミ室滞在時間記録 — 手動入力とBLE検知を組み合わせたM5Stackアプリ

概要

ゼミ室にいた時間を、M5Stack Basicで記録・確認する小型アプリを制作した。A/Bボタンで入室・退室を記録でき、特定のBLEビーコンを検知したときも入退室の候補として扱う。今日の滞在時間、直近7日の合計、1日平均を320×240の画面へまとめ、自身の席に常設した。

背景・目的

研究室で作業する時間が増え、自分がどれだけ研究室に滞在しているかの時間が気になった。毎回入退室をボタンの押下で記録すると、頻繁に押し忘れが起こりそうなので、完全に自動化をしたかった。

制作で考えたこと

BLEビーコンのアドバタイズを主な指標とするが、これは一定間隔で届くとは限らず、検知だけで正確な出席管理をするものではない。そこで、自動検知は補助情報とし、本人がA/Bボタンで記録を確定できる構成にした。毎日の利用では詳細なログより、いま滞在中か、今日どのくらいいたかがすぐ分かることを重視した。

実装・制作内容

ESP32、M5Unified、BLE、Preferencesを用い、入退室セッションをNVSへ保存する。Wi-FiとNTPで日時を取得し、ビーコン名の検知状態、手動・自動の記録元、週合計・平均・当日合計を画面に描画する。機能を切り替えられるマルチモードのファームウェアの一部として、日々の記録に必要な画面と状態管理を実装した。

ゼミ室滞在時間記録を表示するM5Stack Core2の実機
実機を日常的に見える位置へ設置し、入退室と滞在時間を確認できるようにした。

結果

6月は平均的に10時間/日、多い時は15時間/日ほど研究室に滞在していることがわかった。

About

Yuki Takamukuのアバター

カテゴリー