2013-07-02 7 views
6

Gibt es eine Möglichkeit, ein BTLE-Gerät (z. B. Hardware-ID) eindeutig zu identifizieren? Ich habe 2 Hardware BTLE Geräte und 2 Soft BTLE Geräte (mit CBCentralManager). Alle diese Geräte senden dieselbe UUID.Eine Möglichkeit, ein BTLE-Gerät eindeutig zu identifizieren

Ich möchte das genaue BTLE-Gerät identifizieren, wenn alle Geräte in meiner Nähe liegen. Irgendeine Ahnung?

+0

Es wird zu erhalten interessante Antworten zu sehen dazu. Ich verwende einen BTLE als 'Serial Port Cable Replacement' für ein Gerät. Sobald ich festgestellt habe, dass ein Gerät sendet meine UUID in CentralManager: (CBCentralManager *) zentrale didDiscoverPeripheral: (CBPeripheral *) Peripherie ... Ich verbinde mich dann mit ihm und senden Sie einen virtuellen seriellen Port-Befehl, um seine Geräte-ID (eine Variable Wir haben den Mikrocontroller dieser Maschine gesendet. Ich stimme dann der CBPeripheral Uuid, dass iOS das Gerät mit unserer Geräte-ID zugewiesen. – drinck

+0

Sehen Sie dies: http://StackOverflow.com/Questions/12524871/CoreBluetooth-How-to-get-a-unique-uuid – novis

Antwort

2

Die Geräte sollten eindeutige Bluetooth-Adressen haben. Wenn sie dies nicht tun, können Sie sich nicht richtig mit ihnen verbinden, ohne dass sie sich gegenseitig stören. Mit BTLE ist es jedoch möglich, dass ein Gerät eine zufällige Adresse für die Privatsphäre hat (aber diese entsprechen einem bestimmten Muster, so dass Sie erkennen können, ob Sie diese Art von Adresse erhalten). Die Adresse ist 6 Byte und wird normalerweise in Hex angezeigt (zB A1-B2-C3-D4-E5-F6). Die ersten 2 Bytes geben normalerweise den Hersteller an.

UPDATE: Meine Antwort ist gültig für die meisten BLE Nutzung, aber als die Frage markiert Sie können bei this other answer about getting a unique id on ios als Möglichkeit betrachten möchten die Bluetooth-Adresse

+2

Noch wichtiger für die Frage ist, dass, obwohl BTLE-Geräte (im Allgemeinen) eindeutige Adressen haben sollten, iOS weigert sich, diese Informationen an Anwendungsprogramme weiterzugeben, sondern versteckt sie hinter temporären Kennungen, die vom Telefon zugewiesen wurden und die keine Zuordnung zu den tatsächlichen Eigenschaften der Geräte haben, die sie repräsentieren. –

+0

Die ersten * 3 Bytes * geben normalerweise den Hersteller (des Geräts oder des Chips) an, wenn es sich um eine öffentliche Adresse handelt, aber die Adresse kann auch zufällig sein (statisch oder privat) – calandoa

Verwandte Themen