ロゴ
ToolkitsLabEfficiency Hub
PR広告を含む

BLEスキャナー(Bluetooth Low Energyデバイス確認)Web BluetoothでBLE機器のサービス・特性を確認・読み書き

近くのBLE機器に接続し、サービスとキャラクタリスティックの一覧表示、値の読み取り・書き込み、 通知の受信ができます。心拍計やバッテリー残量など標準規格の値は自動で解読して表示します。

入力内容は外部に送信されません。

詳しく

機器への接続

BLEスキャナーとは?Web BluetoothでGATTを確認する仕組み

BLE(Bluetooth Low Energy)機器は、「サービス(Service)」と「キャラクタリスティック(Characteristic)」という階層構造でデータを管理しています。アプリを開発する際、この構造が機器仕様書どおりになっているかを確認する作業は避けて通れません。

本ツールは、ブラウザ標準のWeb Bluetooth APIを使って近くのBLE機器に接続し、公開されているすべてのサービス・キャラクタリスティックを一覧表示します。値の読み取り(Read)、書き込み(Write)、通知の受信(Notify/Indicate)にその場で対応し、心拍計やバッテリーレベルといった標準規格の値は自動で解読して表示します。

専用アプリやnRF Connectのようなスマホアプリをインストールせず、PCのブラウザだけで素早く動作確認できるのが特徴です。開発中のPCにそのまま置いて、実装の答え合わせに使えます。

こんなシーンで便利です

自作IoT機器・センサーのBLE実装の動作確認

ESP32やnRF52で自作したBLEペリフェラルが、意図したサービス・キャラクタリスティックを正しく公開しているかをPCのブラウザから即座に確認できます。

ヘルスケア機器・ウェアラブルの標準プロファイル検証

心拍計(Heart Rate Service)やバッテリーサービスなど、標準GATTプロファイルに準拠した機器から値が正しく送られてくるかを、専用アプリ連携前にチェックできます。

自作キーボード・入力機器以外のBLE周辺機器のデバッグ

BLE接続のセンサーやボタン式デバイスが「通知(Notify)」を正しく送信しているかを確認したい場合に。受信した値はログとして時系列で確認できます。

購入前・導入前のBLE機器の仕様調査

中古や個人輸入で手に入れたBLE機器が、どのサービス・キャラクタリスティックを公開しているかを調べ、自作アプリから制御可能かを事前に見極められます。

使い方は簡単 4ステップ

  1. 対応ブラウザ(Chrome・Edge・Operaなど)でHTTPS環境から本ページを開きます。
  2. 「機器に接続」から、目的に応じて「すべての機器から選ぶ」または「心拍計/バッテリー搭載機器」を選択します。
  3. 表示されたダイアログで対象のBLE機器を選び、接続します。
  4. サービス・キャラクタリスティックの一覧から、読み取り・書き込み・通知の受信を行います。標準規格の値は自動解読され、ログに記録されます。

※接続処理はユーザーの操作(クリック)を起点にブラウザが直接機器と通信します。当サイトのサーバーを経由する処理はありません。

ご利用時の注意点

  • Web Bluetoothは、Chrome・Edge・Opera等のChromium系ブラウザ(Windows・macOS・Linux・Android)でのみ動作します。SafariとFirefoxは対応していません。
  • 本機能の利用にはHTTPS接続(またはlocalhost)が必須です。また、機器選択のダイアログはユーザーのクリック操作を起点にしないと開きません。
  • 一部のキャラクタリスティックは、OS側でのペアリング(暗号化)が完了していないと読み取り・書き込みができない場合があります。
  • 完全無料・安全:機器との通信はブラウザと機器の間で直接行われ、当サイトのサーバーへデータが送信されることはありません。

本ツールが自動解読する標準GATTサービス・キャラクタリスティック一覧

Bluetooth SIGが定める標準プロファイルのうち、よく使われる項目です。これらのUUIDを検出した場合、値を自動で読みやすい形式に変換します。

サービス/特性名UUID(16bit)自動解読される値の例
Battery Level(バッテリー残量)0x2A1985%
Heart Rate Measurement(心拍数)0x2A3772 bpm
Device Name(デバイス名)0x2A00MyBLEDevice
Manufacturer Name String(製造者名)0x2A29Acme Corp
Model Number String(モデル番号)0x2A24ABC-100
Firmware Revision String(ファームウェア版)0x2A261.2.0
Temperature(温度)0x2A6E24.50 ℃

上記以外の独自規格(128bit UUID)のキャラクタリスティックは、HEX・10進数・ASCIIの3形式で値を表示します。機器の仕様書に記載されたバイト構造と照らし合わせてご確認ください。

※一部の値(心拍数など)は規格上、送信元のフラグバイトによって解釈方法が変わります。本ツールはフラグを判定した上で標準的な解読ロジックを適用しています。

Web Bluetoothの対応環境と、BLE機器デバッグの基礎知識

BLE機器の開発・検証を行う前に知っておきたい、Web Bluetooth APIの仕組みと実務的な確認方法を解説します。

結論:Web BluetoothはChromium系ブラウザのみ対応、Safari・Firefoxは利用不可

Web Bluetooth APIは、GoogleChromeをはじめとするChromium系ブラウザ(Edge・Opera等)のデスクトップ版・Android版でのみサポートされています。
一方でSafariとFirefoxは仕様上対応しておらず、iPhone・iPadから本ツールを使うことはできません。開発・検証はWindows・macOS・Linux・Android上のChrome系ブラウザで行う必要があります。

GATTの階層構造:サービス・キャラクタリスティック・ディスクリプタ

BLEのデータ構造はサービス(機能のまとまり)→キャラクタリスティック(実際の値)→ディスクリプタ(値の付加情報)という3階層で構成されています。
例えば「心拍計サービス」の中に「心拍数計測」というキャラクタリスティックがあり、そこに実際の数値データが格納される、という関係です。本ツールはこの階層をそのままツリー表示します。

Read・Write・Notify・Indicateの違いと使い分け

Readは能動的に値を取得する操作、Writeは値を書き込む操作です。
Notifyは機器側から変化があった時に自動で通知を受け取る仕組みで、応答確認(ACK)を待たない分低遅延です。IndicateはNotifyに似ていますが、受信側の応答確認を伴うため確実性が高くなります。センサーのリアルタイム値取得には主にNotifyが使われます。

標準プロファイルと独自プロファイルのデバッグの進め方

心拍計やバッテリーサービスのような標準プロファイルは、Bluetooth SIGの仕様書どおりにバイト列を解釈すれば値を取得できます。
一方、自社製品などの独自プロファイルは、まずHEX表示で生データを確認し、機器の仕様書と照らし合わせてバイトの意味を特定するところからデバッグを始めるのが実務的な進め方です。

よくある失敗と対策

接続ダイアログに目的の機器が表示されない

OS側でBluetoothがオフになっている、機器がアドバタイズ(ペアリングモード)になっていない、あるいは機器が公開しているサービスがフィルタ条件と一致していないために、機器選択ダイアログに候補が表示されない失敗です。

💡 対策・解決策を見る▼
まずOS側のBluetooth設定がオンになっているか確認し、機器を再起動してペアリングモードに入れます。それでも表示されない場合は、本ツールの「すべての機器から選ぶ」を使ってフィルタなしで検索してみてください。

接続直後にすぐ切断(gattserverdisconnected)されてしまう

機器が省電力機能によって一定時間後に自動スリープする、あるいは既に別のスマホアプリやPCと接続済みの状態になっているために、接続がすぐに切れてしまう失敗です。

💡 対策・解決策を見る▼
対象機器に接続している他のアプリ(スマホアプリ等)をすべて終了・Bluetoothオフにしてから再接続してください。機器によっては接続維持のために定期的な通信(Keep Alive)が必要な場合もあります。

Read・Writeを実行すると「GATT operation failed」エラーになる

対象のキャラクタリスティックがOS側でのペアリング(暗号化通信)を必須としているにもかかわらず、ペアリングが完了していない状態で読み取り・書き込みを行おうとした場合に発生する失敗です。

💡 対策・解決策を見る▼
OSのBluetooth設定画面から対象機器とのペアリングを先に完了させてから、本ツールで再度接続し直してください。ペアリング不要な公開キャラクタリスティックのみであれば、この手順は不要です。

iPhoneのSafariでアクセスしても機能しない

Web Bluetooth APIは仕様上iOS・macOSのSafariに実装されていないため、iPhoneやiPadのSafari、またMacのSafariから本ツールを開いても「接続」ボタンが機能しない失敗です。

💡 対策・解決策を見る▼
Windows・macOS・Linux・AndroidのいずれかでGoogle ChromeまたはMicrosoft Edgeを使ってアクセスしてください。現時点でiOS上でWeb Bluetoothを利用できる標準ブラウザはありません。

通知(Notify)を有効にしようとしても反応がない

対象のキャラクタリスティックのプロパティにNotify・Indicateが含まれていないにもかかわらず、通知の受信を試みてしまい、値が更新されない失敗です。

💡 対策・解決策を見る▼
各キャラクタリスティックに表示されるプロパティバッジを確認し、「NOTIFY」または「INDICATE」が付いている項目のみ通知受信を試してください。Readのみ対応の項目は、都度「読み取り」ボタンで値を取得します。

よくある質問(FAQ)

Q.Web Bluetoothはどのブラウザで使えますか

Q.

A. Google Chrome、Microsoft Edge、Operaなど、Chromium系ブラウザのデスクトップ版(Windows・macOS・Linux・ChromeOS)およびAndroid版で利用できます。一方、Safari(macOS・iOS)とFirefoxは2026年現在もWeb Bluetooth APIに対応していないため、iPhoneやiPadからは本ツールを利用できません。また、セキュリティ上の理由からHTTPS接続(またはlocalhost)でのみ動作します。

Q.近くにあるはずのBLE機器が、接続ダイアログの一覧に出てきません

Q.

A. 考えられる原因は主に3つです。1つ目はOS側のBluetooth設定がオフになっている場合、2つ目は機器自体がペアリングモード(アドバタイズ中)になっていない場合、3つ目は機器がアドバタイズしているサービスが、接続時のフィルタ条件と一致していない場合です。本ツールの「すべての機器から選ぶ」を使うとフィルタをかけずに周辺機器を広く検索できるため、まずこちらをお試しください。

Q.サービス(Service)とキャラクタリスティック(Characteristic)とは何ですか

Q.

A. BLE機器が持つデータは「GATT」という階層構造で管理されています。サービスは「心拍計機能」「バッテリー情報」のような機能のまとまりで、キャラクタリスティックはその中にある実際の値(心拍数の数値、バッテリー残量のパーセンテージなど)です。本ツールは接続した機器のサービスとキャラクタリスティックをすべて一覧表示し、値の読み取り・書き込み・通知の受信ができます。

Q.心拍計やバッテリー残量の値が自動で数値表示されるのはなぜですか

Q.

A. Bluetooth SIG(規格団体)が定めた標準GATTプロファイル(心拍計測・バッテリーレベル・デバイス情報など)については、バイト列の意味があらかじめ規格で決まっています。本ツールはこれらの標準UUIDを検出した場合に自動でデコードし、「72 bpm」「85%」のような読みやすい形式で表示します。独自規格のキャラクタリスティックはHEX・10進数・ASCIIの3形式で表示されます。

Q.書き込み(Write)機能はどのような場面で使いますか

Q.

A. LED付きのBLEデバイスへON/OFFコマンドを送る、センサーの測定間隔を設定する、独自プロトコルの機器に制御コマンドを送信するといった開発・検証の場面で使用します。ただし、キャラクタリスティックのプロパティに「Write」が含まれていない場合は書き込みができません。本ツールは各キャラクタリスティックの対応プロパティ(Read/Write/Notify等)をバッジで表示するため、書き込み可否を事前に確認できます。

Q.機器とやり取りしたデータが外部に送信される心配はありませんか

Q.

A. ありません。本ツールはブラウザのWeb Bluetooth APIを使い、お使いの端末とBLE機器が直接通信する仕組みです。やり取りされた値や接続履歴が当サイトのサーバーへ送信されたり保存されたりすることは一切なく、すべての処理はブラウザ内のみで完結します。

User Feedback & Request

あなたの声で、
このツールをより鋭く。

「こんな機能が欲しい」「ここを直してほしい」といったご意見や、新しいツールのリクエストを募集しています。エンジニアが直接目を通し、開発の参考にさせていただきます。

フィードバックを送る