「BLEシリアル変換ドングルを Snifferにする」で、BLEドングルのプログラムを書き換えて Snifferにすることを試した。その後、プログラム書き換えの際の治具を自作しなくてもよいnRF52832を使用したUSBドングルがあったので、BLE Sniffer化することを試してみた。
今回は販売されている治具を利用するので治具を自作しなくても良いものの、ファームウェアを書き換えるために治具が必要である。単にBLE Snifferが欲しいだけなら、先の記事に書いたように Snifferプログラムが書き込まれているAdafruit Bluefruit LE Snifferを購入した方が良いと思う。もっとも、後述するようにSnifferプログラムの新しいバージョンがリリースされているので、それに更新しようとするならファームウェア書き込みのための冶具が必要になる。
目次
使用したハードウェア
次に示すハードウェア以外にファームウェア書き込みのために J-Link が必要である。
nRF52832 USB ドングル
nRF52832 QFAAを搭載したUSB接続のドングルを見つけたので購入してSniffer化に使ってみた。価格は US $26.00くらいであった。
Aliexpressで次のキーワードの検索をすればみつかるはず。
Keywords: NRF52832 Dongle Low Power Bluetooth Development
プログラム書き込み用治具
上記のnRF52832 USB ドングルのSWD用パッドが2.0mm間隔の4ピンのため、それに合う治具を探したところpogoピンのついたJigが見つかった。US$15.00くらいであった。
3Dプリンタを利用して治具を作成する必要がない点は以前よりも楽である。
ここで使った治具は、Aliexpressで次のキーワードの検索をすればみつかるはず。
Keywords: spring pin 2.0mm 4p debugging
ファームウェアの書き込み
接続
ドングル – 治具 – J-Link – パソコンと接続を行った。
nRF Sniffer v2
nRF Sniffer v2 を書き込む必要があるが、その手順は「BLEシリアル変換ドングルを Snifferにする」に書いた「nRF Sniffer v2 の書き込み」と同じである。ただし、Sniffer プログラムが新しくなっている。https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Sniffer からアクセスできる。
執筆時点でnRFSniffer v2 (version 2.0.0-beta3 Multi-platform nrf_sniffer_2.0.0-beta-3_12oct2018_1c2a221.zip )が最新のようである。実際にダウンロードされたファイルは nrfsniffer200beta312oct20181c2a221.zip であった。このバージョンでは、Snifferプログラムのhexファイルが増えており、サポートされるようになったボードが増えているようである。
また、https://www.nordicsemi.com/DocLib?Product=nRF%20Tools から nRF Sniffer User Guide v2.2 をダウンロードできる。
書き込み
nRFgo Studioを利用して Windows10から nRF52 DK 用のsniffer_pca10040_1c2a221.hex を書き込んだ。
動作確認
USBドングルをパソコンに接続するとLEDが青の点滅をして動作していることがわかる。
(ちなみに、以前のバージョンのSnifferの場合には赤と緑の点滅であった)
Wiresharkのextcapの更新
以前の extcap をインストールしてある場合にも、nRF Sniffer User Guide v2.2 に従って新しいものに更新しておく。
以前のバージョンでは、シリアルで止まってしまう不具合があったが、新しいバージョンでは修正がされている。
Wiresharkの実行
Wiresharkを起動して、USBドングルの nRF Sniffer COM? を選択する。
以前のSnifferのバージョンでは、エラーが発生することやWireshark自体が落ちてしまうことがあったが、新しいバージョンでは改善がされているようである。