从iHealth设备(ios-Swift)实时读取数据?
我想显示iHealth设备(如iHealth应用程序)的实时测量数据。所以我实现了iHealth SDK。我可以得到已经存储的用户文件数据从iHealth设备(ios-Swift)实时读取数据?,ios,swift,core-bluetooth,health-monitoring,Ios,Swift,Core Bluetooth,Health Monitoring,我想显示iHealth设备(如iHealth应用程序)的实时测量数据。所以我实现了iHealth SDK。我可以得到已经存储的用户文件数据 { HeightUnit: 0, WeightUnit: 0, dateofbirth: xxxxx, gender: "Male", height: 180.34, logo: "https%3a%2f%2fcloud.ihealthlabs.com%2fimages%2fdefault%2fAvatar.png", nickname: "Senthil
{
HeightUnit: 0,
WeightUnit: 0,
dateofbirth: xxxxx,
gender: "Male",
height: 180.34,
logo: "https%3a%2f%2fcloud.ihealthlabs.com%2fimages%2fdefault%2fAvatar.png",
nickname: "Senthil kumar",
userid: "yyyyyyy",
weight: 29.483539113316585
}
我实现了corebuletooth
扣除我的健康
var optionsdic : NSDictionary = NSDictionary(objectsAndKeys: false, CBCentralManagerScanOptionAllowDuplicatesKey)
centralManager!.scanForPeripheralsWithServices(nil, options: optionsdic as [NSObject : AnyObject])
上面的代码调用其委托方法
let devID = "12345678-1234-1234-1234-123456789123"
func centralManager(central: CBCentralManager!, didDiscoverPeripheral peripheral: CBPeripheral!, advertisementData: [NSObject : AnyObject]!, RSSI: NSNumber!) {
if peripheral.identifier.UUIDString == devID
{
self.centralManager?.stopScan()
self.myperipheral = peripheral
self.myperipheral?.delegate = self
self.centralManager?.connectPeripheral(peripheral, options: nil)
}
}
func centralManager(central: CBCentralManager!, didConnectPeripheral peripheral: CBPeripheral!) {
if peripheral.identifier.UUIDString == devID
{
if peripheral.state == CBPeripheralState.Connected
{
var uid : CBUUID = CBUUID(string: "FF70")
self.myperipheral = peripheral
self.myperipheral?.delegate = self
self.myperipheral?.discoverServices([CBUUID(string: peripheral.identifier.UUIDString)])
}
}
}
func centralManager(central: CBCentralManager!, didDisconnectPeripheral peripheral: CBPeripheral!, error: NSError!) {
println("Disconnected!== \(error)")
}
func peripheral(peripheral: CBPeripheral!, didDiscoverServices error: NSError!) {
if let servicePeripherals = peripheral.services as? [CBService]
{
for servicePeripheral in servicePeripherals
{
peripheral.discoverCharacteristics([servicePeripheral.UUID], forService: servicePeripheral)
}
}
}
func peripheral(peripheral: CBPeripheral!, didDiscoverCharacteristicsForService service: CBService!, error: NSError!) {
if let charactericsArr = service.characteristics as? [CBCharacteristic]
{
for charactericsx in charactericsArr
{
peripheral.setNotifyValue(true, forCharacteristic: charactericsx)
if charactericsx.UUID.UUIDString == devID{
var parameter = NSInteger(1)
let data = NSData(bytes: ¶meter, length: 1)
peripheral.writeValue(data, forCharacteristic: charactericsx, type: CBCharacteristicWriteType.WithResponse)
}
if charactericsx.UUID.UUIDString == "FF70" || charactericsx.UUID.UUIDString == "FF71"{
var parameter = NSInteger(1)
let data = NSData(bytes: ¶meter, length: 1)
peripheral.writeValue(data, forCharacteristic: charactericsx, type: CBCharacteristicWriteType.WithResponse)
}
peripheral.readValueForCharacteristic(charactericsx)
}
}
}
func readValueForCharacteristic(Charactersic: CBCharacteristic!){
println("character == \(Charactersic)")
}
func peripheral(peripheral: CBPeripheral!, didUpdateNotificationStateForCharacteristic characteristic: CBCharacteristic!, error: NSError!) {
if ((error) != nil) {
println("Error discovering service: \(error.localizedDescription)")
return;
}
println("description: \(characteristic.description), descriptors: \(characteristic.descriptors), properties: \(characteristic.properties), service :\(characteristic.service), value:\(characteristic.value)")
if (characteristic.isNotifying) {
peripheral.readValueForCharacteristic(characteristic)
}
}
我在DidDiscoversServices方法中得到了空阵列(servicePeripherals)。我想直接在ios应用程序和iHealth设备之间进行通信。我的健康设备读取的数据显示在我的应用程序中。我无法连接,无法使用核心蓝牙从iHealth设备读取实时数据。
请给我建议。我桌上刚刚有一个无线脉搏血氧计,我需要连接到树莓Pi或安卓(或任何东西,真的) 在我看来,iHealth API是云中的一个存储库。我不认为到ble设备的通信在他们的API中公开 如果您仍在尝试从这些设备获取数据,就像我一样,也许可以通过观察iPhone和ble设备之间的数据交换,但我不确定 如果你发现了,请告诉我!!
约翰·布罗汉(John Brohan)我桌上刚刚有一个无线脉搏血氧计,我需要连接到树莓皮或者安卓(或者其他任何东西,真的) 在我看来,iHealth API是云中的一个存储库。我不认为到ble设备的通信在他们的API中公开 如果您仍在尝试从这些设备获取数据,就像我一样,也许可以通过观察iPhone和ble设备之间的数据交换,但我不确定 如果你发现了,请告诉我!!
John Brohan我的朋友,你需要发布你的代码,以便其他人能够提供全面帮助you@Lamour:我编辑了我的代码。帮我解决这个问题。你解决过这个问题吗?你能破解如何读取iHealth脉搏血氧仪数据(PO3型)吗?我的朋友,你需要发布你的代码,以便其他人提供全面帮助you@Lamour:我编辑了我的代码。帮我解决这个问题。你解决过这个问题吗?您是否能够理解如何读取iHealth脉搏血氧仪数据(PO3型)?很抱歉,但是,您是否获得了将树莓Pi与iHealth脉搏血氧仪链接的任何结果?我需要做同样的事情,但他们提供的SDK是专门为Android/iOS应用程序设计的(将所有低级蓝牙协议隐藏在静态库或JAR中)。很抱歉发表评论,但是,您尝试将Raspberry Pi链接到iHealth Pulse Oximeter上是否获得了任何结果?我需要做同样的事情,但他们提供的SDK是专门为Android/iOS应用程序设计的(将所有低级蓝牙协议隐藏在静态库或JAR中)