Pemula dalam segala hal CoreBlooth di sini. Saya telah berhasil menulis aplikasi kecil untuk terhubung ke monitor detak jantung Wahoo Blue HR dan mengambil bpm untuk detak jantung saya, dll. Saya menggunakan tutorial di bawah ini tetapi menulis ulang kodenya menjadi swift.
Saya sekarang mencoba menulis aplikasi sederhana untuk mengambil pembacaan Tekanan Darah dari pembaca Bluetooth LE BP yang saya miliki. Model yang dimaksud adalah iHealth BP5.
Saat saya memindai perangkat ini menggunakan kode berikut, saya tidak mendapatkan apa pun.
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)
}
}
Saya jelas telah mengubah UUID layanan menjadi monitor BP dan memeriksa menggunakan iPad yang menjalankan LightBlue dan memulai layanan tekanan darah. Ini berfungsi baik dengan iPad yang mensimulasikan layanan BP tetapi tidak dengan perangkat BP5 itu sendiri?
Saya telah membaca sesuatu tentang produsen yang dapat menyembunyikan perangkat? Mungkinkah ini yang sedang terjadi.
Saya perhatikan bahwa perangkat BP5 harus benar-benar 'Dipasangkan' melalui pengaturan Bluetooth iOS agar dapat berfungsi dengan aplikasi resmi sedangkan monitor detak jantung tidak. Apakah ini menunjukkan monitor detak jantung disiarkan kepada siapa pun kecuali BP5 memiliki jenis koneksi yang lebih aman?
Mohon maaf jika terminologinya tidak aktif tetapi saya baru mengenal dunia bluetooth.
Bantuan atau bimbingan apa pun dihargai.
salam
Olly
PS Setelah memeriksa perangkat 'terhubung' di aplikasi pengaturan bluetooth dan dengan lampu bluetooth pada perangkat berubah dari berkedip ke solid, saya menggunakan metode berikut tetapi hasilnya nol.
let connectedPeripherals = centralManager!.retrieveConnectedPeripheralsWithServices(services)
println("Number of Connected Devices : \(connectedPeripherals.count)")