Core Bluetooth、BLEを用いてIOS端末同士でテキストの送受信をしたいと考えています。
ペリフェラル側の端末のキャラクタリスティックの値にテキストを入力し、セントラル側の端末でReadすることで入力したテキストを読み取る、ということを考えています。
「iOS×BLE Core Bluetoothプログラミング(堤 修一、松村 礼央)」という本を参考に端末を接続することはできました。しかしサンプルコードがはBLEデバイスのバッテリーレベルを読み取ったりLEDを点灯させるもので、キャラクタリスティックの中身がどうなっているのかキャラクタリスティック内の値をどう編集すれば良いのかわかりません
キャラクタリスティックにテキスト入力するにはどのように記述すればいいのか、またReadする際にどのようにテキストを出力するのか教えて下さい。
###ペリフェラル側・サンプルの変えたい箇所、テキストを入力したい箇所
// キャラクタリスティックをサービスにセット service.characteristics = [self.characteristic] // サービスを Peripheral Manager にセット self.peripheralManager.addService(service) // 値をセット let value = UInt8(arc4random() & 0xFF) let data = NSData(bytes: [value], length: 1) self.characteristic.value = data;
###セントラル側・サンプルの変えたい箇所、テキストを出力したい箇所
// データ読み出しが完了すると呼ばれる func peripheral(peripheral: CBPeripheral, didUpdateValueForCharacteristic characteristic: CBCharacteristic, error: NSError?) { if (error != nil) { print("読み出し失敗...error: \(error), characteristic uuid: \(characteristic.UUID)") return } print("読み出し成功!service uuid: \(characteristic.service.UUID), characteristic uuid: \(characteristic.UUID), value: \(characteristic.value)") // バッテリーレベルのキャラクタリスティックかどうかを判定 if characteristic.UUID.isEqual(CBUUID(string: "2A19")) { var byte: CUnsignedChar = 0 // 1バイト取り出す characteristic.value?.getBytes(&byte, length: 1) print("Battery Level: \(byte)")
###試したこと テキストをNSDateに変換しキャラクタリスティックに入れること、Readする際にStringに変換するということが必要なのかと考えましたがキャラクタリスティックの値のいじり方がよく分からなくて困っています。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。