2015/09/22

[nrf51/52]Device Managerを少しだけ見る

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で見ていこう。

http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk51.v9.0.0%2Flib_device_manager.html&cp=4_1_0_3_1_2

準備は、dm_init()とdm_register()だけ。
dm_register()でハンドル値を取得している(URL先に載っているサンプルはパラメータが1つになっているが、実際は2つ)。

で、そのハンドルを何に使うのかというと・・・?
DFUのときに使っているくらいか。

イベントが呼ばれたときにDevice Managerのハンドラを呼んでやる、くらいのことしかしていないようだ。
これでペアリングなどもうまいことやってくれているようである。

あとは、実際に使ってみた方が、理解するのは早そうだ。
サービスを作るところだけやってやればいいんだけど、ちょっと気力がいりますな。

0 件のコメント:

コメントを投稿

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