Mi chiedevo se posso misurare la potenza del segnale dei dispositivi Bluetooth nel raggio d'azione del mio iPhone. Fondamentalmente quello che voglio fare è cercare un elenco di dispositivi nel raggio d'azione, e quindi vedere quale ha il segnale più alto. È possibile in iOS e come lo farei se fosse così?Posso misurare la potenza del segnale Bluetooth in iOS?
risposta
Sì, c'è un modo per misurare la potenza del segnale per Bluetooth Low Energy (4.0) è il numero di RSSI. Quando si digitalizza per le periferiche verrà impostata l'CBCentralManagerScanOptionAllowDuplicatesKey bandiera su YES come illustrato di seguito:
NSDictionary * dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@YES, CBCentralManagerScanOptionAllowDuplicatesKey, nil];
// Start scanning for peripherals
[cmanager scanForPeripheralsWithServices:nil options:dictionary];
Se volete vedere il numero di lavoro RSSI senza scrivere codice si dovrebbe verificare l'applicazione LightBlue in iTunes. Quando ti connetti a una periferica, ti mostrerà il numero RSSI aggiornato ogni secondo quando è connesso.
Date un'occhiata alla CoreBluetooth documentation:
- (void)centralManager:(CBCentralManager *)central
didDiscoverPeripheral:(CBPeripheral *)peripheral
advertisementData:(NSDictionary *)advertisementData
RSSI:(NSNumber *)RSSI
{ ... }
RSSI è quello che state cercando. Disclaimer: Core Bluetooth è realizzato solo per Bluetooth 4 LE.
Se l'intervallo esatto non è importante, ma sei interessato alla scansione di dispositivi che sono disponibili in generale, puoi dare un'occhiata al progetto github BeeTee, che ti consente di scansionare tutti i dispositivi Bluetooth intorno a te (non solo Bluetooth LE). Di nuovo disclaimer: sono l'autore di BeeTee. ;-)
Quando codifichi il tuo codice "centrale" utilizzando CBCentralManager, ti connetteresti alla CBPeripheral che stai cercando. Una volta che sei connesso alla periferica, tieni un riferimento ad esso, imposta il tuo oggetto come delegato della periferica e invoca 'readRSSI' sulla periferica. Riceverai una richiamata delegata peripheral: didReadRSSI: error: Se scrivi un metodo che richiama 'readRSSI', puoi richiamarlo usando performSelector: withObject: afterDelay:.
Un'altra delle risposte suggerite a questa domanda è di fornire la chiave "consenti duplicati" durante la scansione. I documenti per il tasto dizionario CBCentralManagerScanOptionAllowDuplicatesKey quando passati a scanForPeripheralsWithServices:options: indicano che "Disabilitare questo filtro può avere un effetto negativo sulla durata della batteria e dovrebbe essere usato solo se necessario".
Se si sceglie di scrivere un richiamo ritardato, è possibile ottimizzare la frequenza delle chiamate per aiutare l'amministratore a gestire l'impatto sulle batterie degli utenti.
- 1. Ottenere la potenza del segnale bluetooth
- 2. Come misurare la potenza del segnale GPS su Android?
- 3. Trovare la potenza del segnale GPS
- 4. Potenza del segnale dell'emulatore Android
- 5. nodifica del segnale Bluetooth
- 6. Forza segnale Bluetooth LE Linux
- 7. Ottieni la potenza del segnale di WIFI e dati mobili
- 8. È possibile ottenere la potenza del segnale Wi-Fi in ios 9
- 9. Come determinare la potenza del segnale quando GSM restituisce "99"?
- 10. Android: Come monitorare la potenza del segnale WiFi
- 11. Rilevamento della frequenza esatta del segnale Bluetooth
- 12. Come rilevare in tempo reale l'aumento/diminuzione della potenza del segnale cellulare in iOS
- 13. come ottenere la potenza del segnale del modem 3g in C++ linux?
- 14. Come misurare la distanza tra due dispositivi iPhone tramite Bluetooth?
- 15. Come posso misurare la velocità del codice scritto in PHP?
- 16. Non è disponibile la potenza di due trame in iOS
- 17. Android: Come ottengo la potenza del segnale GSM per tutti gli operatori di rete disponibili
- 18. Come posso misurare la dimensione del testo nelle app UWP?
- 19. Stampante iOS Bluetooth?
- 20. Come è possibile ordinare l'elenco di getScanResults() in base alla potenza del segnale in ordine ascendente?
- 21. iOS In quali condizioni il restauro del Core Bluetooth funziona?
- 22. Libreria di elaborazione del segnale in Java?
- 23. Modalità sfondo Bluetooth iOS
- 24. Profilo SPP bluetooth iOS
- 25. C# - Come accedere alla potenza del segnale WLAN e ad altri?
- 26. Bluetooth iOS - Coppia ora popup
- 27. React Native - Come misurare la dimensione del contenuto in ScrollView?
- 28. Come posso attivare il Bluetooth su iOS Simulator?
- 29. Misurare la copertura del codice Scala nei test in Eclipse
- 30. come misurare la larghezza del testo in kineticjs?