2017/05/15

[ble]BLE NanoでnRF Snifferを動かす

nRF Snifferという、nRF51 DKなどで動かせるスニファがある。
ファームウェアもあるし、COMポート経由でWindowsとアクセスするようだから、別にnRF51 DKじゃなくても動かせそうな気がする。

 

対応しているハードウェアは、こうなっていた。
nRF-Sniffer-UG

• nRF51822 Evaluation Kit (PCA10001) and a mini USB cable
• nRF51422 Evaluation Kit (PCA10003) v3.0.0 or later and a mini USB cable
• nRF51822 Development Kit dongle (PCA10000)
• nRF51-DK (PCA10028) v1.0.0 or later and a micro USB cable
• nRF51 Dongle (PCA10031)

nRF51822とnRF51422が混ざっているが、使うのはBLEだけだからどっちでもよいのだろう。


nRFgo Studioでファームを焼く。
ちゃんと動いているかどうかは、PCA10001かPCA10003ならAdvertisingの検出でLED1がトグルするらしい。

PCA10001の図面を見ると、LED1はP0.19につながっている。
BLE nanoのP0.19もLEDにつながっている。
が、PCA10001はHで点灯、BLE nanoはLで点灯になっている。。。

あ、これは気にしなくていいか。
逆になっているだけだ。
AdvertisingするPeripheralを動かすと・・・点滅した!


次はUARTだ。

nRF51 DKやPCA10001はUSBでPCとつなぐので、ぱっと見てnRF51のどのポートかわからん。。。
nRF51 DKのUsers Guideに「4.2 Virtual COM port」という章があり、以下の表が載っていた。

image2

P0.09がTXD、P0.11がRXD、でよいのか?
それなら、BLE nanoもそうなっている。

あとは、問題になるとすれば通信速度だろうか?
よくわからんので、Snifferに入っていたexeファイルを実行した。
・・・とりあえず、ダメなようだ。

AppDataの下にログが入っているので確認すると、

Cannot configure port, some setting was wrong

などといわれている。
エラーは87番になっていて、検索すると

ERROR_INVALID_PARAMETER
87 (0x57)
The parameter is incorrect.

らしい。
Prolificのではダメなのかも。

何も考えず、BLE nano用のUSB-I/Fに挿してからexeを起動させると動いた。
考えすぎだ。。。


操作できるようなコンソール画面が出てきたものの、Advertisingしている機器の一覧が表示されない。

ログファイルを見てみると、Firmware versionは取得できているが、Invalid packetというエラーがたくさん出ている。
ここまでくると、もうよくわからんな。。。

 

ロジアナでUARTを計測した。
何か送信し続けているようなので、TXDを見てみる。

image3

これは10MHzサンプリングだから、まあ足りてないことはないだろう。
1bitが2.1usくらいだから、1/(2.1*10^-6)=476190.4762。
465kbpsくらいか?
460kbpsでよいかもしれん。

 

うちにあるBLE NanoのUSB I/F(MK20)がその速度に対応できないだけじゃなかろうか。
以前購入した、aitendoのUSB-UART変換モジュールをつなげた。
ああ、動くじゃないか。。。
CTS/RTSがないので、そこはGNDに落とさないといかんようだ。

 

image9

 

Wiresharkも、1.12.13をインストールし、スニファアプリが動いている状態で起動させ、Users Guide PDFのTroubeleshootingを読みながらpipe(\\.\pipe\wireshark_nordic_ble)を設定すれば、アタッチしてBLEパケットを読み取ることができた。
(うちはWireshark2も使いたいのだが、そっちをインストールするとスニファがレジストリを見てしまうせいか、2の方を起動しようとしてしまうのだ。)

あまり深く触っていないが、ここまで動けば他も動くんじゃなかろうか。

 

スニファのHEXファイルも、mbedっぽくD&Dして書込めば済んだような気がする。
USB-I/Fが誤算だったが、今は新しいタイプになっているようなので、もしかしたらそっちだと普通にいけるのかもしれない。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。