BLE基礎 (15)

2024/09/29

前回の続き。
BLE DevAcademy Lesson 5 の Exercise を行う。

BLE DevAcademy Lesson 5

Exercise 1

前回の LBS サービスだけのプロジェクトに付け加えていく。

WRITE_ENCRYPT

Authentication

自動で LE Secure Connections になったようだ。

Exercise 2

bonding と Filter Accept List だそうな。
Central 側に接続した Peripheral の情報が残っていたら bonding になるんじゃないかと思ったが、そちらではなく、Peripheral で保存する方らしい。 Phase 3 を実施したらお互いが勝手に保存するというわけではない?
nRF Connect for Mobileに “BONDED” というタブがあるが、そちらには何もなかったので保存はしていないのかもしれない。

おわりに

大したことなさそうな名前の Filter Accept List 実装が一番面倒だった。 ただ bond 済みのデータから Filter Accept List を作るところも他にやりようがなさそうだし、やり方自体は書いてあるとおりにやればよさそうに思う。

Filter Accept List は相手のアドレスで見分けるのだろうが、Central は Random アドレスというものにはならないのだろうか? あるいは、接続するときはそれぞれアドレスを作っているとか? Central の仕様が全然わかってないな。

ともかく Lesson 5 も終わった。
Kconfig やボタンなどは別として、実装する部品としてはテンプレートにできそうなものが結構あったと思う。 いま実装するとき、ncs for vscode で新規アプリを作って DevAcademy を読み返しながら追加しているのだけど、自分が使いそうなパターンを実装して使い回すようにしたいものだ。

BLE DevAcademy 最後になる Lesson 6 は sniffer である。
作る方かな? 使う方かな?
そのうちやることにしよう。

そろそろモバイル側もやらないといけないと思っている。
昔は Bluetooth Developer Studio があったのでそれでコードを作っていたのだが、もうなくなったので自分でやらんといかん。 Nordicさんも Kotlin-BLE-LibraryIOS-BLE-Library を出しているので、そういうのを使った方が楽なのか。
Android はともかく iOS は実機で試すのにお金かかるからな。。。

[Xcode][iOS] 有料ライセンスなしでの実機インストール 全工程解説! - DevelopersIO

そうなの??
私が最後にやったのは Xcode 4 だか 5 だかだったと思うが、時代は変わったものだ。