u-box Bluetooth AoA評価機キット
u-bloxから提供されているBluetooth AoA評価キット(XPLR-AOA-1-01)を動かしてみました。
Bluetooth AoAとは、電波送信は1個、受信は複数個のアンテナを使用し、
電波の位相差から角度を求める機能です。
精度はまぁまぁ良い感じでした。
AoA評価キット内容物
Bluetooth AoA評価キット(XPLR-AOA-1-01)の内容物です。
- 受信側 C211 = NINA-B411と受信用アンテナ+USB基板がセットになったもの
- 送信側 C209 = NINA-B406とUSB基板がセットになったもの

受信側 C211
(XPLR-AOA-1-01ユーザーズガイドからの抜粋)

受信側 C209
(XPLR-AOA-1-01ユーザーズガイドからの抜粋)
準備
受信側 C211、受信側 C209 ともファームウエアが書き込まれていません。
まずは書込みを行わなければなりません。
また、受信側 C211と受信側 C209はブートローダの機構が違うため、
書込み方法が違っています。
あと、ユーザーズガイドによるとs-centerで書き込めるとなっているのですが、
私はうまくいきませんでした。。。
受信側 C211、受信側 C209 ともコマンドラインで書込みを行いました。
まず、
準備としては以下のものをダウンロードします。
- s-center(u-bloxのツール、これでAoAの動作確認をする)
- newtmgr.exe (Apacheのツール、C211のファーム書込みに使用する)
- nrfutil.exe(Nordicのツール、C209のファーム書込みに使用する)
- u-locateEmbed(C211のファームウェア)
- c209_aoa_tag(C209のファームウェア)
- s-centerのダウンロード (newtmgr.exe、nrfutil.exe含む)
-
- https://www.u-blox.com/en/product/s-center
- s-centerをダウンロード(s-center2は別の機種用)
- C211書込み用ツール newtmgr.exeも同時にダウンロードされる
- C209書込み用ツール nrfutil.exe も同時にダウンロードされる
- u-locateEmbedのダウンロード
-
- https://www.u-blox.com/en/product/u-locateembed#Documentation-&-resources
- リンクをたどる、、Documentation & resources -> Firmware Update -> NINA-B41
- 最新版をダウンロード(この記事を書いたときに最新版は以下)
- https://content.u-blox.com/sites/default/files/2024-02/NINA-B41_u-locateEmbed_3.0.0.zip
- c209_aoa_tagのダウンロード
-
- https://github.com/u-blox/c209-aoa-tag/releases
- 最新版をダウンロード(この記事を書いたときに最新版は以下)
- c209_aoa_tag_2_0_1-001.zip
- 解凍しrelease_c209_aoa_tag_for_dfu_bootのNINA-B4-DF-TAG-SW-2.0.1-001.zipを使用
受信側C211ファーム書込み
u-locateEmbed.zipを解凍し、u-locateEmbed.bin(C211のファームウェア)を
s-centerをインストールしたフォルダの\locate-flashに コピーします。
(s-centerのインストール先はおそらくC:\Program Files\u-blox\s-centerだと思います)
C211のmicroUSBをPCに接続します。
すると仮想COMのUARTで認識されると思います。
DOSプロンプトで\locate-flashに移動し、
newtmgr --conntype=serial --connstring="COMxx,baud=115200,mtu=512" image upload NINA-B4-nRFC-DF-SW-X.X.X-XXX.bin
を実行
(COMxxのXは仮想COMのUARTの番号、NINA-B4-nRFC-DF-SW-X.X.X-XXX.binのXはバージョン)
最後に電源のオフ、オンします。
送信側C209ファーム書込み
c209_aoa_tag_2_0_1-001.zipを解凍し、release_c209_aoa_tag_for_dfu_bootフォルダの
NINA-B4-DF-TAG-SW-X.X.X-XXX.zip(X.X.X-XXXはバージョン)を
s-centerをインストールしたフォルダの\locate-flashに コピーします。
(s-centerのインストール先はおそらくC:\Program Files\u-blox\s-centerだと思います)
C209のmicroUSBをPCに接続します。
すると仮想COMのUARTで認識されると思います。
DOSプロンプトで\locate-flashに移動し、
nrfutil dfu serial -pkg NINA-B4-DF-TAG-SW-X.X.X-XXX.zip -p COM4 -b 115200 -fc 1
を実行
(X.X.X-XXXはバージョン)
最後に電源のオフ、オンします。
動作確認
s-centerを起動します。
そうするとCOMの接続確認のされるので、受信側C211のCOMを指定します。
ボーレートはデフォルトの115200のままでOKです。
s-centerが立ち上がった後、
「IoT」タブ -> 「Angle Arrival」タブを選択
すでに測定がスタートしていると思います。
もし動いていない場合は「Get」ボタンを押してみます。
- Azimuthが横方向の角度
- Elevationが縦方向の角度
です。

性能の確認
静止時の安定性
安定しています。
1~2度の揺らぎがあるくらいです。
角度の精度
良いと思われます。
0~3度程度のズレのようです。
しかし、周辺に金属性のものがあると5~10度くらいズレてしまうようです。。。
送信側、受信側とも金属性の影響を受けます。
応答性
応答性は良くないです。
そもそも1秒に1回のスキャンになっているため、
動きが早い場合にはスキャンとスキャンの間は測定できないことになってしまいます。
動作時の動画
s-centerで送信側C209を移動させたときの測定の様子を動画にしてみました。
コメントをお書きください