1個のBeaconは壁に貼り付けてしまえば忘れやすいです。問題はスケールです。500台の倉庫、2000台の病院、8000台のキャンパス。1台が死んでも、位置が暗くなるまで気づきません。本記事はBeaconフリートを観測可能に保つ方法を扱います。テレメトリ、電池アラート、オンライン/オフライン状態、数千台への設定プッシュを触らずに行う方法です。
Beaconが報告すべきもの
管理されたBeaconは広告と共に小さなヘルスハートビートを出すべきです。接続経由か、リスンして転送するゲートウェイ経由です。
- 電池電圧/残量: 最良の早期警告信号。
- 最終RSSIと基準Tx電力: 無線故障や移動を検出。
- 稼働時間とリセット原因: 1時間ごとにリセットするBeaconは電力かファームウェア障害。
- ファームウェアバージョン: 現場の内容を把握。
- パケット/広告カウンタ: 凍結はスタックハング。
ハートビートは小さく保ちます。数時間ごとの数バイトで十分。傾向を見るのであってストリームするのではありません。
電池アラート閾値
1秒間隔のCR2477Beaconは約3.0Vから始まり、ゆっくり低下し2.4V付近で崖になります。2つの閾値を設定します。
| レベル | 電圧 | 対応 |
|---|---|---|
| 正常 | > 2.7 V | なし |
| 警告 | 2.5-2.7 V | 60日以内に交換予定 |
| 危険 | < 2.5 V | 今すぐ交換、位置をフラグ |
2.0Vを待ってはいけません。その頃にはBeaconは断続的にパケットを落とし、誤った位置を出しているかもしれません。
オンライン/オフライン検出
フリートダッシュボードの核心は、誰が生きているかを知ることです。BeaconをゲートウェイがN広告間隔聞いていない場合は「stale」、M分聞こえない場合は「offline」です。典型値:3回欠落(~3-15秒)でstale、10-30分でoffline。誤報を避けるためアラートはstaleではなくofflineでゲートします。
一括設定プッシュ
Beaconフリート全体で広告間隔やmajor/minor IDを変更するとき、1台ずつ訪れません。2つのパターンが機能します。
- ゲートウェイ中継: ゲートウェイがMQTT/HTTPで設定blobを受け、近隣Beaconへ接続またはブロードキャストコマンドで転送(下り記事参照)。1コマンドで数百台に届く。
- 予約自己取得: 各Beaconが起きて接続し、ずらしたスケジュールでサーバーから設定を取得。thundering herdを回避。
すべてのコマンドを認証します。署名なし設定プッシュは攻撃者の夢です。
リモート再設定ライフサイクル
規律あるBeacon展開は設定をバージョン管理された状態と扱います。
1. コンソールで設定v2を作成(間隔、tx電力、ペイロード)。
2. カナリア: フリートの1%へプッシュ、リセットやoffline急増を監視。
3. ずらしたスケジュールで残りへ展開。
4. メトリクスが劣化したら即時ロールバックのためv1を保持。
これはクラウドソフトウェアと同じプログレッシブデリバリ規律を、小さな無線に適用するものです。
テレメトリのセキュリティ
ヘルスデータもデータです。電池と位置を報告するBeaconは、フロア計画をマップする攻撃者にとって都合の良いサイドチャネルです。テレメトリは暗号化された認証チャネルで送り、設定に署名して不正ゲートウェイがフリート所有者を偽れないようにします。
ダッシュボード構築
ダッシュボードに必要なのは4ビューだけです。オンライン/オフライン地図、電池ヒストグラム、ファームウェア版本内訳、最近のアラートフィード。価値の多くは電池ヒストグラムにあり、来月の交換作業量を今日教えてくれます。
十分に計測されたBeaconフリートは、「どこかおかしい」を「7番通路の4821号が来週火曜に2.5V未満に落ちる」に変えます。それが保守チームと火消しの違いです。