0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Seeed XIAO nRF52840でBLE通信をキャプチャする [2026]

0
Last updated at Posted at 2026-06-13

以前、Seeed XIAO BLE nRF52840 を使って BLE 通信をキャプチャする方法が紹介されていましたが、現在は Nordic のサイトから当時使用されていたファームウェアが入手できなくなっています。

私も以下の記事を参考に試しましたが、そのままでは出来ませんでした。

参考記事:

そこで最新の手順を調査し、実際に動作確認できた方法をまとめます。

変更点

現在は Nordic が提供する nRF Util を利用して Sniffer 用ファームウェアを取得する方法に変わっています。

公式ドキュメント:

動作環境

  • Windows 11
  • Seeed XIAO BLE nRF52840
  • Wireshark(事前インストール済み)

手順

1. nRF Utilをダウンロード

以下のページから nRF Util(nrfutil.exe)をダウンロードします。

ダウンロード後、コマンドプロンプトから以下を実行してください。

nrfutil install ble-sniffer

このコマンドにより、

  • BLE Sniffer コマンド
  • Sniffer 用ファームウェア

がインストールされます。


2. ファームウェアを確認

ファームウェアは以下のフォルダにダウンロードされます。

%USERPROFILE%\.nrfutil\share\nrfutil-ble-sniffer\firmware

この中に以下の ZIP ファイルがあります。

sniffer_nrf52840dongle_nrf52840_4.1.1.zip

展開すると次のファイルが得られます。

sniffer_nrf52840dongle_nrf52840_4.1.1.bin

今回使用するのはこの .bin ファイルです。


3. BINファイルをUF2へ変換

XIAO BLE nRF52840 は UF2 形式での書き込みが簡単なため、ファームウェアを UF2 に変換します。

以下のツールを使用します。

参考記事では .hex ファイルを変換していますが、今回は .bin ファイルのためコマンドが異なります。

以下を実行してください。

python uf2conv.py sniffer_nrf52840dongle_nrf52840_4.1.1.bin -b 0x1000 -f 0xada52840 -c

成功すると flash.uf2 が生成されます。

Converted to uf2, output size: 139264, start address: 0x1000
Wrote 139264 bytes to flash.uf2

4. XIAO BLE nRF52840へ書き込み

XIAO BLE nRF52840 を PC に接続し、リセットボタンを素早く2回押します。

すると USB ドライブとして認識されます。

エクスプローラから生成した flash.uf2 をドラッグ&ドロップしてください。

コピー完了後、ボードは自動的に再起動します。


5. Snifferとして認識されるか確認

以下を実行します。

nrfutil device list

正常に認識されている場合、以下のような表示が出力されます。

Product         nRF Sniffer for Bluetooth LE
Ports           COM11
Traits          nordicUsb, serialPorts, usb

認識されない場合

ファームウェア書き込みに失敗している可能性があります。

その場合はリセットボタンを1回押してください。

再び USB ドライブとして認識されるので、UF2 ファイルの作成からやり直してみてください。


6. Wireshark連携をインストール

以下のコマンドを実行します。

nrfutil ble-sniffer bootstrap

これにより Wireshark 用の extcap プラグインがインストールされます。


7. Wiresharkを標準以外の場所へインストールしている場合

以下のようなエラーが表示されることがあります。

Error: Failed to find any wireshark installation in default location C:/Program Files/Wireshark/Wireshark.exe.

その場合は --extcap-dir オプションを指定します。

例:

nrfutil ble-sniffer bootstrap --extcap-dir C:\Users\ユーザー名\AppData\Roaming\Wireshark\extcap

8. Wiresharkで確認

Wireshark を起動すると、キャプチャインタフェース一覧に

nRF Sniffer for Bluetooth LE

が表示されるはずです。

Screenshot 2026-06-13 170212.png

設定を変更する場合は、nRF Sniffer for Bluetooth LE の左側の歯車アイコンをクリックしてください。以下の画面が出ます。

Screenshot 2026-06-13 175143 (Small).png

また、Wiresharkのメニューからツールバーを表示しておくと操作しやすくなります。

Screenshot 2026-06-13 175407.png

解析の方法については、冒頭に紹介しました公式ドキュメントなどを参照してください。


まとめ

以前の手順では Nordic が配布していた Sniffer 用ファームウェアを直接利用していましたが、現在は nRF Util を利用して取得する方式に変更されています。

特に重要なのは以下の3点です。

  1. nrfutil install ble-sniffer でファームウェアを取得する
  2. .bin ファイルを UF2 に変換して XIAO に書き込む
  3. nrfutil ble-sniffer bootstrap で Wireshark と連携する

ここまで完了すれば、Seeed XIAO BLE nRF52840 を BLE スニファとして利用できるようになります。

パケット解析方法については Wireshark のフィルタ機能を利用すると便利です。接続先デバイスのみに絞り込んだり、GATT 通信のみを表示したりすることもできます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?