PolarPatch/BlueWatch

Raspberry Pi・Linux で動作する Bluetooth デバイス監視ダッシュボード。周辺機器の受動検出とカテゴリ分類で未知のデバイスを発見します。

完成アプリ自由に使える · MITDevOps・インフラPython難易度
70+5今週0 保存
4フォーク2Issue

中辛 の解説

BlueWatch は Bluetooth Low Energy・Classic Bluetooth・mDNS の 3 つの検出方式で周辺デバイスを連続スキャンし、web ダッシュボードに視覚化するアプリケーションです。ベンダー DB・UUID フィンガープリント・デバイスクラス解析により自動分類し、ユーザが既知デバイスをドラッグ&ドロップで階層カテゴリに整理することで、未知デバイスが際立つようになります。スキャン結果は時系列ヒートマップ・信号強度グラフ・デバイス相関検出・MAC ローテーション追跡で分析でき、到着・離去をプッシュ通知(ntfy.sh 経由)で配信します。Docker Compose(BlueZ インストール必須)または Linux ワンコマンドインストーラで稼働でき、Raspberry Pi 3 の安定性向上対応も含まれています。CSV 日別エクスポート・自動クリーンアップ・Prometheus メトリクス・ハートビート監視に対応しています。

こんなリポジトリです

こんなときに便利です

  • 家庭内・オフィス周辺の未知 Bluetooth デバイス検出:既知デバイスをカテゴリ化し、新たに現れた身元不明デバイスを即座に通知される
  • デバイス出入りパターンの観察:時系列ヒートマップと到着・離去通知から人物の日常行動(帰宅時間・散歩時間)を推測
  • デバイス盗聴防止:MAC ローテーション対応で回転する匿名識別子を同一デバイスと判定し、追跡検知を回避するデバイスも可視化

主な機能

リアルタイムダッシュボード&信号レーダー自動デバイス分類(スマートフォン・TV・ウェアラブルなど)+ユーザ定義階層カテゴリ時系列ヒートマップ・RSSI 履歴グラフ・デバイス相関検出

ほかとの違い

bluehood からの派生プロジェクトながら、既知・未知デバイスの分別・ドラッグ&ドロップ階層カテゴリ・デバイス相関検出・MAC ローテーション連携・IRK アドレス解決・WiGLE.net フォールバック検索など独自機能を多数追加し、単純な scanner から本格的な presence radar へ進化させています。

このリポジトリの作り方

はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。

準備するもの

  • Bluetooth 4.0 以上(Central ロール対応)の adapter
  • BlueZ がインストール・起動している Linux ホスト(Docker の場合)
  • Docker Compose v2(Docker 利用時)
  • Linux ホストの 64 ビット OS(Docker 利用時)

すぐに始める

  1. BlueZ(Bluetooth スタック)をインストール・起動します
# Debian / Ubuntu
sudo apt install bluez
sudo systemctl enable --now bluetooth
  1. リポジトリをクローンします
git clone https://github.com/PolarPatch/BlueWatch.git
cd BlueWatch
  1. Docker Compose で構築・起動します
docker compose up -d --build
  1. ダッシュボードに http://localhost:8080 でアクセスします

代案:Linux ワンコマンドインストーラ(Docker 不要)

./install.sh

代案:手動インストール(仮想環境)

sudo apt install bluez python3-venv python3-pip
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
sudo setcap 'cap_net_admin,cap_net_raw+eip' $(readlink -f .venv/bin/python)
.venv/bin/bluewatch

ギット飯トライで味見

入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。

ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。

npx gitbap-try PolarPatch/BlueWatch

Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →

スター推移 · 7日

70+5 / 7日

確認日時

使いやすさ · まねしやすいか

サンプル評点 34/100
  • ゆるいライセンス
  • テストあり
  • サンプル集
  • 最近の更新
  • AGENTS.md
  • llms.txt
  • テンプレート

最近の更新あり · 2026 年に作成

「DevOps・インフラ」 こういうリポジトリを毎週受け取りませんか?

毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。

自分のリポジトリですか? README にギット飯バッジを貼る
[![깃밥](https://www.gitbap.com/badge/PolarPatch/BlueWatch.svg)](https://www.gitbap.com/r/PolarPatch/BlueWatch)
Claude からそのまま使う — ギット飯のつなぎ方

ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。

方法 ① コネクタ URL

Claude の設定 → コネクタにこのアドレスを貼り付け。

https://www.gitbap.com/api/mcp
方法 ② プラグイン(試用まで)

プラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
つなぎ方をくわしく →

AI が README をもとに要約しました · 原文を見る