2014/07/09

[ble][nrf51]S110をひもとこう (4) - nAN36 - (1)

S110を理解するのに、アプリケーションノートnAN-36がよさそうだと思った。
読むところは30ページくらいなので、ちょろっと眺めてみよう。
今はv1.1だ。

書いていくのは、翻訳ではなく意訳。
それに、興味があるところとか、うまく読めたところしか書かない・・・書けない・・・。


1.4 nRF51822 and the S110 SoftDevice

S110 SoftDeviceはBLE Peripheralプロトコルスタックソリューションである。
プリコンパイルされたHEXファイルで提供され、自作のプログラムを動かす前に焼かれてないといかん。

SoftDeviceのFLASHとRAMは、自作アプリから保護されている。

 

1.5 Application overview

LED Buttonアプリというサンプルを作ることで、どうやってnRF51822のBLEを使うかを学ぼう。
このサンプルは、BLEでそうほうこうの通信を行うアプリだ。アプリはCentralからLEDを制御されるし、nRF51822に接続したボタンを押すと通知を受信することができる(receiveって書いてあるけど、ボタン押下でnotification送信するのでは?)。

アプリは、1サービス、2キャラクタリスティック(LED制御とボタン押下通知)を実装する。

 

2. Introduction to Bluetooth low energy

ここは、BLE自体の説明をしている章。

2.1 Generic Access Profile (GAP)

2.1.1 Roles

今回のサンプル、LED ButtonアプリではPeripheralの役割ですよ、ということ。

2.2 Generic Attribute profile (GATT)

2.2.1 Roles

LED Buttonアプリでは、PeripheralがServerで、CentralがClientですよ、ということ。

2.2.2.2 Characteristic

LED Buttonサービスでは、LEDとボタンには関連がないので、それぞれ好きに変更できる。
なのでキャラクタリスティックは、ボタンの状態とLEDの状態で分離させておく。

2.2.2.4 Service

LED Buttonアプリでは、LEDキャラクタリスティックとボタンキャラクタリスティックの再利用などは考えず、両方とも1つのサービスとしてまとめておく。

2.2.2.5 Profile

LED Buttonアプリでは、profileは正式ではない(not formally described)。

2.2.3 Standard versus custom services and characteristics

標準とカスタマイズのどちらがよい?という話。
Bluetooth SIGはprofile, service, characteristic, attributeなどをたくさん用意しているが、BLEのserviceはスタックじゃなくてアプリに実装していくものだ。
アプリがprofileとserviceをサポートするので、アプリがカスタムserviceを用意した方がよい。
(ここ、非常に不安な訳だ)

LED Buttonアプリでは、Bluetooth SIGのserviceを使っていない。

2.2.4 UUIDs

2.2.4.2 Vendor specific UUIDs

このアプリでは、0x0000xxxx-1212-EFDE-1523-785FEABCD123がベース。

serviceは0x1523、LED characteristicは0x1524、ボタンcharacteristicは0x1525。

2.2.5 On-air operations and properties

2.2.5.3 Notify and Indicate

アプリでは、LED制御とボタン状態のキャラクタリスティックがLED Buttonサービスで使われる。

LED characteristicでは、Centralが「値の設定ができるか」と、「読み出しができるか」を求める。
アプリの了解は必要ないので、Write without responseとReadプロパティが使用できる。

ボタン状態characteristicでは、Clientが「ボタン状態の変化を通知されるか」を求める。アプリの了解は必要ない。
Notify propertyが必要とする。


ここで今日は終わり。

読みながら「ああ、BLEの知識が私にはないんだな」と思った。
まだ、GATTとかCharacteristicなどが体になじんでこない。

いつか・・・いつかBLEが身になじむことを信じて!

0 件のコメント:

コメントを投稿

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

注: コメントを投稿できるのは、このブログのメンバーだけです。