Thông số kỹ thuật Bluetooth năng lượng thấp không nói nhiều về việc các thiết bị ngoại vi có thể kết nối với nhiều trung tâm tại một thời điểm hay không, nhưng thử nghiệm kinh nghiệm của tôi cho tôi biết rằng chúng không thể.Quét liên tục cho iOS CoreBluetooth Central Manager?
Vì ứng dụng của tôi yêu cầu mối quan hệ không sở hữu với thiết bị ngoại vi (và không cần kết nối, sẽ chặn người khác) và cần cập nhật thường xuyên các giá trị RSSI của họ, tôi đang tìm cách quét liên tục các thiết bị ngoại vi và nắm bắt các giá trị RSSI của chúng .
Phương thức scanForPeripheralsWithServices xuất hiện để quét trong một khoảng thời gian nhất định và sau đó dừng lại. Tôi tin rằng đặt cược tốt nhất của tôi là quét trong 3 giây tại một thời điểm, dừngScan, chờ (vài giây) và sau đó bắt đầu quét lại. Nói lại.
Có ai có thể chỉ cho bạn cách làm tốt hơn không? Ví dụ, cấu hình một thiết bị ngoại vi để kết nối với nhiều hơn một Trung tâm?
Có, nhưng tôi cần phải liên tục nhận được một RSSI cập nhật. Phát hiện của tôi là một khi Giám đốc trung tâm đã phát hiện và phát hiện ra một thiết bị ngoại vi một vài lần, sau đó nó dừng phát hiện ra nó (có vẻ là khoảng 3 giây) ngay cả khi quét tiếp tục. Những gì tôi còn lại là cần phải khởi động lại quá trình quét liên tục để cố gắng cập nhật các giá trị RSSI. – Jonathan
Vâng, bạn có thể bắt đầu lại quá trình quét bên trong hàm didDiscoverPeripheral, và nhờ đó bạn sẽ nhanh chóng nhận được RSSI. – Aboelseoud
Cảm ơn. Điều đó hoạt động. Để tiết kiệm điện, tôi thực sự ngừng quét sau 100ms và sau đó thực hiện 100ms mỗi giây. Hoạt động tuyệt vời. – Jonathan