CBATTRequestクラスリファレンス 日本語訳

iOS6以降で有効です。 CBATTRequestクラスは、セントラルからの読み出し/書き込み要求を表します。

プロパティ

@property(readonly, retain, nonatomic) CBCentral *central;

リクエストを発生させたセントラルです。

@property(readonly, retain, nonatomic) CBCharacteristic *characteristic;

値を読み書きするcharacteristicです。

/*!

  • @property offset
  • @discussion The zero-based index of the first byte for the read or write.

*/

@property(readonly, nonatomic) NSUInteger offset;

0から始まる、読み書きする最初のバイト位置です。

@property(readwrite, copy) NSData *value;

読み書きするデータです。 読み出し要求では、value はnilで、respondToRequest:withResult: に返信する前に設定されるべきです。 書き込み要求では、valueは書き込まれるべき値を含んでいます。

CBCharacteristics/CBMutableCharacteristic クラスリファレンス 日本語訳

これはCBCharacteristicsクラスのうちCoreBlutoothを理解するために必要最小限の部分を日本語訳したものです。

CBCharacteristicsクラス

プロパティ

@property(readonly, nonatomic) CBService *service;

このcharacteristicが属するサービスへのポインタです。

@property(readonly, nonatomic) CBUUID *UUID;

characteristicのBluetooth UUID。

@property(readonly, nonatomic) CBCharacteristicProperties properties;

characteristicのプロパテイです。

@property(retain, readonly) NSData *value;

characteristicsの値です。

@property(retain, readonly) NSArray *descriptors;

このcharacteristicで、これまでに発見されたCBDescriptorsのリストです。

@property(readonly) BOOL isBroadcasted;

このcharacteristcが現在ブロードキャストされているか、否かを示します。

@property(readonly) BOOL isNotifying;

このcharacteristicが現在ノーティフィケーションされているか否かを示します。

CBMutableCharacteristics クラス

iOS6から有効です。 CBMutableCharacteristicsクラスは、CBCharacteristicクラスを継承します。

プロパティ

@property(assign, readwrite, nonatomic) CBAttributePermissions permissions;

characteristic valueの許可設定です。

see CBAttributePermissions

@property(retain, readwrite, nonatomic) CBUUID *UUID;

@property(assign, readwrite, nonatomic) CBCharacteristicProperties properties;

@property(retain, readwrite) NSData *value;

@property(retain, readwrite) NSArray *descriptors;

インスタンスメソッド

- (id)initWithType:(CBUUID *)UUID properties:(CBCharacteristicProperties)properties value:(NSData *)value permissions:(CBAttributePermissions)permissions;

返り値は、初期化されたcharacteristicです。

CBPeripheralDelegateプロトコル リファレンス 日本語訳

これはApple社のhttp://developer.apple.com/library/ios/#documentation/CoreBluetooth/Reference/CBPeripheralDelegate_Protocol/translated_content/CBPeripheralDelegate.htmlのうち、CoreBluetoothを理解するために必要最小限の部分を日本語訳したものです。

CBPeripheralDelegateプロトコルは、CBPeripheralのdelegateプロパティが実装すべきプロトコルです。 CBPeripheralDelegateプロトコルの、すべてのメソッドはoptionalです。

インスタンス・メソッド

- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error;

-[discoverCharacteristics:forService:] リクエストが完了した時に、呼ばれます。

もしも成功したら、“error"はnilで、発見されたcharacteriticsは、それがあったならば、サービスの"characteristics"プロパティにマージされています。もしも成功しなかったら、“error"には、発生した失敗が設定されます。

Invoked upon completion of a request.

- (void)peripheral:(CBPeripheral *)peripheral didDiscoverDescriptorsForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error;

-[discoverDescriptorsForCharacteristic:] リクエストが完了した時に、呼ばれます。

もしも成功したら、“error"はnilで、発見されたdescriptorsは、それがあったならば、キャラクタリスティックの"descriptors"プロパティにマージされています。もしも成功しなかったら、“error"には、発生した失敗が設定されます。

Invoked upon completion of a -[discoverIncludedServices:forService:] request.

- (void)peripheral:(CBPeripheral *)peripheral didDiscoverIncludedServicesForService:(CBService *)service error:(NSError *)error;

-[discoverIncludedServices:forService:] リクエストが完了した時に、呼ばれます。

もしも成功したら、“error"はnilで、発見されたservicesは、それがあったならば、サービスの"includedServices"プロパティにマージされています。もしも成功しなかったら、“error"には、発生した失敗が設定されます。

- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error;

-[discoverServices:] リクエストが完了した時に、呼ばれます。

もしも成功したら、“error"はnilで、発見されたservicesは、それがあったならば、ペリフェラルの"services"プロパティにマージされています。もしも成功しなかったら、“error"には、発生した失敗が設定されます。

- (void)peripheral:(CBPeripheral *)peripheral didUpdateNotificationStateForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error;

-[setNotifyValue:forCharacteristic:] リクエストが完了した時に、呼ばれます。

もしも成功しなかったら、“error"には、発生した失敗が設定されます。

(訳者注:ここから先の説明があまりに素っ気いないのですが、原文そのままです。あまりにそっけないので、あとで解説を追加します。)

- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error;

-[readValueForCharacteristic:] リクエストが完了した、もしくはnotification/indicationを受信した時に、呼ばれます。

CBPeripheralクラスリファレンス 日本語訳

プロパティ

@property(assign, nonatomic) id delegate;

ペリフェラルのイベントを受信するデリゲートです。

@property(readonly, nonatomic) CFUUIDRef UUID;

ペリフェラルが、少なくとも一度システムから接続されたことがあれば、ペリフェラルにはUUIDが割り当てられます。(訳者注:逆にこれまで一度も接続したことがないペリフェラルでは、nilになります。接続は、他のアプリでの接続、iPhoneの電源オン/オフ、再起動に関係なく、一度でも接続したことがあるペリフェラルであれば、UUIDが割り当てらています。)

ペリフェラルを取得するために、後に BCentralManager に与えるために、このUUIDを保存しておけます。

@property(retain, readonly) NSString *name;

ペリフェラルの名前です。(訳者注:アドバタイズメント・データのローカル名を示します。通常は型番が与えらています。)

@property(retain, readonly) NSNumber *RSSI;

接続している間、接続のRSSIをデシベルで表します。

(訳者注:RSSIは、Received Signal Strength Indicatorの略称で、受信信号強度を表します。このRSSIは、RF送受信の半導体が出力する信号値をそのまま使っていると推測されます。物理的に絶対値が正しい値とは限りませんが、目安としては利用できるでしょう。信号レベルは対数で、デシベル(10log 信号電力)で表します。通常、-40 ~ -90dB程度の範囲です。マイナスになるほど、信号が弱いことを示します。)

@property(readonly) BOOL isConnected;

ペリフェラルが現在接続しているかを、示します。

@property(retain, readonly) NSArray *services;

ペリフェラルで発見されたサービスの、CBServiceオブジェクトのリストです。

メソッド

- (void)readRSSI;

接続の現在のRSSIを取得します。

see peripheralDidUpdateRSSI:error:

- (void)discoverServices:(NSArray *)serviceUUIDs;

ペリフェラルで有効なサービスを発見します。

  • serviceUUIDs
    • 発見すべきサービスのUUIDを表す、CBUUIDオブジェクトのリストです。もしもnilを与えると、ペリフェラルのすべてのサービスが発見されるでしょうが、とても遅くなり、従って推奨しません。

see peripheral:didDiscoverServices:

- (void)discoverIncludedServices:(NSArray *)includedServiceUUIDs forService:(CBService *)service;

指定したサービスのincluded serviceを発見します。 (訳者注: Bluetooth low energyのサービスは、オブジェクト指向でいうクラスの概念に相当します。いまあるサービスはそのまま提供しつつ、そのサービスの機能を拡張する仕組みが、included serviceで、ちょうどクラス継承の概念に相当します。)

  • includedServiceUUIDs
    • 発見すべきincluded serviceのUUIDを表すCBUUIDオブジェクトのリストです。もしもnilならば、サービスのすべてのincluded serviceが発見されますが、とても遅くなり、従って推奨しません。
  • service
    • プライマリGATTサービス

see peripheral:didDiscoverIncludedServicesForService:error:

CoreBluetoothフレームワーク 定数 日本語訳

これはApple社のドキュメント http://developer.apple.com/library/ios/#documentation/CoreBluetooth/Reference/CoreBluetooth_Constants/ からCoreBluetoothフレームワークを理解するために必要最小限の部分のみを日本語訳したものです。

CBError.h

Bluetoth low energyのトランザクションで生じうるエラーです。

enum {
   CBATTErrorInvalidHandle = 0x01,
   CBATTErrorReadNotPermitted = 0x02,
   CBATTErrorWriteNotPermitted = 0x03,
   CBATTErrorInvalidPdu = 0x04,
   CBATTErrorInsufficientAuthentication = 0x05,
   CBATTErrorRequestNotSupported = 0x06,
   CBATTErrorInvalidOffset = 0x07,
   CBATTErrorInsufficientAuthorization = 0x08,
   CBATTErrorPrepareQueueFull = 0x09,
   CBATTErrorAttributeNotFound = 0x0A,
   CBATTErrorAttributeNotLong = 0x0B,
   CBATTErrorInsufficientEncryptionKeySize = 0x0C,
   CBATTErrorInvalidAttributeValueLength = 0x0D,
   CBATTErrorUnlikelyError = 0x0E,
   CBATTErrorInsufficientEncryption = 0x0F,
   CBATTErrorUnsupportedGroupType = 0x10,
   CBATTErrorInsufficientResources = 0x11,
};