現在のバージョンは?
最近、Bluetooth Core Specification 6.0が発表されて、ふと「現在のSDKはどのバージョンまで対応しているのだろうか?」と気になったので調べてみました。
ちなみにHCIのログを有効にしていると普通に起動時のデバッグログで表示されたりするわけですが、ちゃんと調べるという名目でBLEスニファーを使って調べようと思います。
nRF5 SDK 16.0
まずはレガシーSDKであるnRF5 SDK 16.0を調べてみます。
接続時のネゴシエーションで5.1と表示されていますね。ただ、Bluetooth 5.1の最大のウリであるAoAやAoDにはnRF5 SDKは対応しないと早々に公式発表があり、実際にそのあたりでSDKの開発はストップしています。5.1と言いつつ、ほぼ5.0ということでよいと思います。
nRF Connect SDK 2.0.0
あまり古いものを調べても仕方がないので、執筆時点(2024/10/1)でのメジャーバージョンである2.x.yの元祖2.0.0を調べてみようと思います。
お、なんと5.3と表示されますね。2.0の時点ですでにCore Specification 5.3に対応していたようです。ただ、Core Specificationが5.3に対応するのと、nRF5 SDKでAoA/AoDが使えないようにサンプルプロジェクトやAPIがちゃんと動くかはまた別の話なので、このCore Specificationのバージョンだけで全てが分かるわけでも語れるわけでもないのは注意が必要です。
コア仕様の詳細はここでは説明しません
nRF Connect SDK 2.7.0
執筆時点(2024/10/1)での最新バージョンのSDKです。こちらはと言いますと
当然、と言うべきか、もちろんと言いますか、やはり最新の5.4に対応していますね。5.4で追加されたPeriodic Advertising with Response(PAwR)が使えるのだから当然と言えば当然ですよね。
SDKのアップデートについていこう
バグ修正や新しい機能の追加があるのはもちろんなのですが、Bluetooth Core Specificationも日々更新されるわけで、こちらに対応するためにもやはり最新のSDKを使うのが望ましいですね。
いや、でも正直しんどいです(笑)
余談
接続に使用しているのは個人のPixel 6です。Pixel 6って5.2なんだ……買い換えようかなと調べていて思ったのは内緒です(笑)