nRF51やnRF52のSDKには、BLEアプリを作るテンプレートプロジェクトが入っている。
BLE周りの初期設定して、Advertisingして、イベントが発生したらハンドラを呼んで、というような一通りのものが入っている。
サービスは標準のものを組み込むなり、自分で作るなりしないといけないし、I2Cみたいな周辺機能を使いたいなら初期化の追加が必要が、それ以外のものはだいたい入っているように思う。
私もnRF51822を購入してテンプレートの作りを調べていたのだが、SDKのバージョンが上がり、作りが変わったようだ。
SoftDeviceのバージョンが上がったためか、Coreの規格バージョンが上がったためかはわからんけど、nRF51822ではSDK v9から変わっている。
ざっと見たところだが、Device Managerというモジュールと、Advertisingのモジュールが増えているのかな。
セキュリティ関係の設定がDevice Managerに入っているようだ。
せっかくペアリングとかして端末と紐付けるのなら、暗号化はしたいところだ。
そういうわけで、Device Managerを見ておこう。
Device ManagerはnRF51もnRF52もあまり変わらないようなので、nRF51で見ていこう。
準備は、dm_init()とdm_register()だけ。
dm_register()でハンドル値を取得している(URL先に載っているサンプルはパラメータが1つになっているが、実際は2つ)。
で、そのハンドルを何に使うのかというと・・・?
DFUのときに使っているくらいか。
イベントが呼ばれたときにDevice Managerのハンドラを呼んでやる、くらいのことしかしていないようだ。
これでペアリングなどもうまいことやってくれているようである。
あとは、実際に使ってみた方が、理解するのは早そうだ。
サービスを作るところだけやってやればいいんだけど、ちょっと気力がいりますな。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。