มือใหม่กับทุกสิ่ง CoreBlooth ที่นี่ ฉันเขียนแอปขนาดเล็กเพื่อเชื่อมต่อกับเครื่องวัดอัตราการเต้นของหัวใจ Wahoo Blue HR ได้สำเร็จ และดึงข้อมูล bpm สำหรับอัตราการเต้นของหัวใจของฉัน ฯลฯ ฉันใช้บทช่วยสอนด้านล่าง แต่เขียนโค้ดใหม่ให้รวดเร็ว
ตอนนี้ฉันกำลังพยายามเขียนแอปง่ายๆ เพื่อดึงข้อมูลการอ่านค่าความดันโลหิตจากเครื่องอ่าน Bluetooth LE BP ที่ฉันมี รุ่นที่เป็นปัญหาคือ iHealth BP5
เมื่อฉันสแกนหาอุปกรณ์นี้โดยใช้รหัสต่อไปนี้ ฉันจะไม่ได้รับอะไรเลย
func centralManagerDidUpdateState(central: CBCentralManager!) {
if central.state == CBCentralManagerState.PoweredOff {
println("CoreBluetooth BLE hardware is powered off")
}
else if central.state == CBCentralManagerState.PoweredOn {
println("CoreBluetooth BLE hardware is powered on and ready")
let IHEALTHBP5_BP_DEVICE_INFO_SERVICE_UUID = CBUUID(string:"1810")
let services = [IHEALTHBP5_BP_DEVICE_INFO_SERVICE_UUID]
centralManager!.scanForPeripheralsWithServices(services, options: nil)
}
}
เห็นได้ชัดว่าฉันได้เปลี่ยนบริการ UUID เป็นจอภาพ BP และตรวจสอบโดยใช้ iPad ที่ใช้ LightBlue และเริ่มบริการความดันโลหิต ทำงานได้ดีกับ iPad ที่จำลองบริการ BP แต่ไม่ใช่อุปกรณ์ BP5 เอง
ฉันได้อ่านบางอย่างเกี่ยวกับผู้ผลิตที่สามารถซ่อนอุปกรณ์ได้ นี่อาจเป็นสิ่งที่เกิดขึ้น
ฉันสังเกตเห็นว่าอุปกรณ์ BP5 จะต้อง 'จับคู่' จริงๆ ผ่านการตั้งค่าบลูทูธของ iOS เพื่อทำงานกับแอปอย่างเป็นทางการ ในขณะที่เครื่องวัดอัตราการเต้นของหัวใจไม่รองรับ สิ่งนี้แนะนำให้เครื่องวัดอัตราการเต้นของหัวใจออกอากาศให้ใครก็ตามยกเว้น BP5 มีประเภทการเชื่อมต่อที่ปลอดภัยกว่าหรือไม่
ขออภัยหากคำศัพท์ปิดอยู่ แต่ฉันยังใหม่กับโลกบลูทูธ
ความช่วยเหลือหรือคำแนะนำใด ๆ ที่ชื่นชม
ความนับถือ
ออลลี่
PS หลังจากที่ตรวจสอบว่าอุปกรณ์ 'เชื่อมต่อ' ในแอปการตั้งค่าบลูทูธแล้ว และโดยไฟบลูทูธบนอุปกรณ์ที่เปลี่ยนจากกะพริบเป็นไฟนิ่ง ฉันใช้วิธีการต่อไปนี้แต่กลับผลลัพธ์เป็นศูนย์
let connectedPeripherals = centralManager!.retrieveConnectedPeripheralsWithServices(services)
println("Number of Connected Devices : \(connectedPeripherals.count)")