-
Die Erfindung betrifft eine Kommunikationsanordnung, ein Kommunikationsgerät sowie ein Verfahren zur Kommunikation zwischen Kommunikationsgeräten, insbesondere eine Bluetooth-Kommunikationsanordnung, ein Bluetooth-Kommunikationsgerät und ein Bluetooth-Kommunikationsverfahren.
-
Fahrzeuge oder andere Objekte verbinden sich heutzutage mit einer Vielzahl von externen Geräten mittels einer Kommunikationsverbindung, z.B. Bluetooth-Verbindung, wenn sich ein externes Gerät innerhalb einer bestimmten Reichweite um das Objekt herum befindet. Um zu erkennen, ob sich ein externes Gerät innerhalb der bestimmten Reichweite befindet, werden Nachrichten zwischen dem Objekt und dem externen Gerät ausgetauscht. Anhand solcher Nachrichten kann erkannt werden, dass sich das externe Gerät innerhalb der erforderlichen Reichweite befindet, und dass eine Kommunikationsverbindung hergestellt werden soll. Hierfür kann auf dem externen Gerät eine entsprechende Applikation (App) ausgeführt werden. Probleme können sich jedoch dann ergeben, wenn eine Kommunikationsverbindung zu einem Objekt hergestellt werden soll, während die Applikation auf dem externen Gerät im Hintergrund ausgeführt wird.
-
Aufgabe der Erfindung ist es, eine Kommunikationsanordnung, ein Kommunikationsgerät sowie ein Kommunikationsverfahren bereitzustellen, welche es ermöglichen, dass eine Kommunikationsverbindung zwischen zwei Geräten zuverlässig hergestellt werden kann wenn sich die Geräte innerhalb der erforderlichen Reichweite voneinander befinden, auch wenn eine entsprechende Applikation auf wenigstens einem der Geräte im Hintergrund ausgeführt wird.
-
Diese Aufgabe wird gelöst durch eine Kommunikationsanordnung gemäß Anspruch 1, ein Kommunikationsgerät gemäß Anspruch 8, sowie ein Verfahren gemäß Anspruch 10.
-
Die erfindungsgemäße Kommunikationsanordnung weist ein erstes Kommunikationsgerät, und ein zweites Kommunikationsgerät auf. Das erste Kommunikationsgerät ist dazu ausgebildet, wenn es zum ersten Mal eine Kommunikationsverbindung mit dem zweiten Kommunikationsgerät aufbaut, einen zweiten Schlüssel von dem zweiten Kommunikationsgerät zu empfangen und diesen zu speichern. Das erste Kommunikationsgerät ist weiterhin dazu ausgebildet, wenn es ein Advertising (Anbieten) Datenpaket von dem zweiten Kommunikationsgerät empfängt, welches keinen für das erste Kommunikationsgerät lesbaren Universally Unique Identifier des zweiten Kommunikationsgerätes enthält, und wenn das erste Kommunikationsgerät einen zweiten Schlüssel des zweiten Kommunikationsgerätes bereits gespeichert hat, anhand des zweiten Schlüssels eine Media-Access-Control-Adresse (Medien-Zugriffs-Steuerungs-Adresse) des zweiten Kommunikationsgerätes zu bestimmen, diese bestimmte Media-Access-Control-Adresse mit einer in dem Advertising Datenpaket enthaltenen Media-Access-Control-Adresse zu vergleichen, und eine Kommunikationsverbindung mit dem zweiten Kommunikationsgerät herzustellen, wenn die beiden Media-Access-Control-Adressen miteinander übereinstimmen.
-
Dadurch kann eine Verbindung zwischen den Geräten hergestellt werden, auch wenn eine entsprechende Applikation auf dem zweiten Kommunikationsgerät im Hintergrund ausgeführt wird, und ein Universally Unique Identifier des zweiten Kommunikationsgerätes welcher mit dem Advertising Datenpaket mit übertragen wird für das erste Kommunikationsgerät nicht lesbar ist.
-
Die Verbindung kann eine Verbindung nach einem Bluetooth-Standard oder einem Bluetooth Low-Energy Standard sein.
-
Mittels Bluetooth ist es möglich, dass sich zwei Geräte, welche einander bekannt sind, ohne weiteres Zutun eines Nutzers miteinander verbinden, wenn sie sich innerhalb einer entsprechenden Reichweite voneinander befinden. Eines der beiden Geräte versendet dabei Advertising Datenpakete, welche von dem anderen Gerät beantwortet werden.
-
Der zweite Schlüssel kann ein Identity Resolving Key (Identitäts-Auflösung-Schlüssel) sein. Unter Verwendung eines Identity Resolving Key ist es grundsätzlich möglich, eine aktuelle (Media-Control-Access) MAC-Adresse eines Gerätes zu ermitteln.
-
Das erste Kommunikationsgerät kann mit wenigstens einem weiteren Kommunikationsgerät ein Netzwerk bilden und kann weiterhin dazu ausgebildet sein, wenn es beim ersten Herstellen einer Kommunikationsverbindung mit dem zweiten Kommunikationsgerät den zweiten Schlüssel empfängt, den zweiten Schlüssel weiterhin an wenigstens ein weiteres Kommunikationsgerät in dem Netzwerk zu senden.
-
Somit ist der Schlüssel auch weiteren Kommunikationsgeräten in einem Netzwerk bekannt, so dass auch diese Kommunikationsgeräte eine MAC-Adresse des zweiten Kommunikationsgerätes bestimmen können, wenn eine Verbindung zu diesem hergestellt werden soll.
-
Das erste Kommunikationsgerät kann weiterhin dazu ausgebildet sein, die Empfangsfeldstärke eines empfangenen Advertising Datenpaketes zu bestimmen und anhand der bestimmten Empfangsfeldstärke eine Position des zweiten Kommunikationsgerätes in Bezug auf das erste Kommunikationsgerät zu ermitteln.
-
Die Kenntnis über die Position eines zweiten Kommunikationsgerätes in Bezug auf das erste Kommunikationsgerät kann für verschiedenste Anwendungen hilfreich sein.
-
Das zweite Kommunikationsgerät kann ein Mobiltelefon, Tablet (Computer), SmartWatch (intelligente Uhr), Laptop (Klapprechner) oder Personal Digital Assistant (PDA) sein.
-
Derartige elektronische Geräte werden häufig von Nutzern mit sich geführt und können zur Steuerung von Funktionen verschiedenster Objekte verwendet werden.
-
Das erste Kommunikationsgerät kann in einem Fahrzeug oder in einem Gebäude angeordnet sein.
-
Beispielsweise sind Zugangssysteme oder Smart-Home Systeme bekannt, welche es erlauben, Funktionen eines Fahrzeugs oder eines Gebäudes mittels eines elektronischen Geräts zu steuern.
-
Ein Kommunikationsgerät ist dazu ausgebildet, wenn es zum ersten Mal eine Kommunikationsverbindung mit einem zweiten Kommunikationsgerät aufbaut, einen zweiten Schlüssel von dem zweiten Kommunikationsgerät zu empfangen und diesen zu speichern. Das Kommunikationsgerät ist weiterhin dazu ausgebildet, wenn es ein Advertising Datenpaket von dem zweiten Kommunikationsgerät empfängt welches keinen für das erste Kommunikationsgerät lesbaren Universally Unique Identifier (Universelle Eindeutige Kennung) des zweiten Kommunikationsgerätes enthält und wenn das erste Kommunikationsgerät einen zweiten Schlüssel des zweiten Kommunikationsgerätes bereits gespeichert hat, anhand des zweiten Schlüssels eine Media-Access-Control-Adresse des zweiten Kommunikationsgerätes zu bestimmen, diese bestimmte Media-Access-Control-Adresse mit einer in dem Advertising Datenpaket enthaltenen Media-Access-Control-Adresse zu vergleichen, und eine Kommunikationsverbindung mit dem zweiten Kommunikationsgerät herzustellen, wenn die beiden Media-Access-Control-Adressen miteinander übereinstimmen.
-
Die Kommunikationsverbindung kann eine Verbindung nach einem Bluetooth-Standard oder einem Bluetooth Low-Energy (BLE) Standard sein.
-
Ein Verfahren weist das Aufbauen einer ersten Kommunikationsverbindung zwischen einem ersten Kommunikationsgerät und einem zweiten Kommunikationsgerät auf. Das Verfahren weist weiterhin das Übermitteln eines zweiten Schlüssels von dem zweiten Kommunikationsgerät an das erste Kommunikationsgerät auf. Der zweite Schlüssel wird in dem ersten Kommunikationsgerät gespeichert. Im Weiteren wird ein Advertising Datenpaket von dem zweiten Kommunikationsgerät an das erste Kommunikationsgerät übermittelt und, wenn das Advertising Datenpaket keinen für das erste Kommunikationsgerät lesbaren Universally Unique Identifier (UUID) des zweiten Kommunikationsgerätes enthält und wenn das erste Kommunikationsgerät einen zweiten Schlüssel des zweiten Kommunikationsgerätes bereits gespeichert hat, wird anhand des zweiten Schlüssels eine Media-Access-Control-Adresse des zweiten Kommunikationsgerätes bestimmt. Diese bestimmte Media-Access-Control-Adresse wird mit einer in dem Advertising Datenpaket enthaltenen Media-Access-Control-Adresse verglichen und es wird eine Kommunikationsverbindung zwischen dem ersten Kommunikationsgerät und dem zweiten Kommunikationsgerät hergestellt, wenn die beiden Media-Access-Control-Adressen miteinander übereinstimmen.
-
Die Erfindung wird nachfolgend anhand der in den Figuren der Zeichnung dargestellten Ausführungsbeispiele näher erläutert. Es zeigt:
- 1 beispielhaft ein Fahrzeug und ein externes Kommunikationsgerät,
- 2 anhand eines Zustandsdiagramms die Funktion der Link Layer (Verbindungsschicht)-Steuerung gemäß Bluetooth Low Energy Spezifikation,
- 3 beispielhaft eine Anzeige auf einem Display eines externen Gerätes,
- 4 umfassend die 4A bis 4C, beispielhaft in einem Blockschaltbild eine Kommunikationsanordnung gemäß einer Ausführungsform beim Herstellen einer ersten Kommunikationsverbindung,
- 5 umfassend die 5A und 5B, beispielhaft in einem Blockschaltbild eine Kommunikationsanordnung gemäß einer Ausführungsform beim Herstellen einer weiteren Kommunikationsverbindung, und
- 6 in einem Ablaufdiagramm ein Verfahren gemäß einer Ausführungsform.
-
1 zeigt ein Fahrzeug 10 mit einem ersten Kommunikationsgerät 20. Das erste Kommunikationsgerät 20 kann in oder an dem Fahrzeug 10 an jeder beliebigen geeigneten Stelle angeordnet sein. Das erste Kommunikationsgerät 20 kann dabei fest in dem Fahrzeug 10 verbaut sein. Das erste Kommunikationsgerät 20 kann mit einem externen Kommunikationsgerät 30 eine drahtlose Verbindung aufbauen. Die drahtlose Verbindung kann eine Verbindung nach einem gültigen Bluetooth-Standard, zum Beispiel dem Bluetooth Low Energy (BLE)-Standard sein.
-
Das Fahrzeug 10 kann jegliche Art von Fahrzeug sein, wie beispielsweise ein PKW, LKW, Traktor, Bus, Zug, Motorrad, Flugzeug, Schiff, o.ä. Anstatt in einem Fahrzeug 10, kann das erste Kommunikationsgerät 20 jedoch auch in jeglichem anderen Objekt angeordnet sein, wie beispielsweise in einem Gebäude (z.B. Wohnhaus, Bürogebäude, Garage, etc.). Eine Kommunikationsverbindung zwischen dem ersten Kommunikationsgerät 20 und einem externen Kommunikationsgerät 30 kann beispielsweise hergestellt werden, um ein Zugangssystem oder ein so genanntes „Smart Home“(intelligentes Zuhause)-System zu realisieren. Beispielsweise kann eine Kommunikationsverbindung hergestellt werden, sobald erkannt wird, dass sich das externe Gerät 30 in der Nähe des Objektes (des ersten Kommunikationsgerätes 20) befindet. Erkennt das System zudem beispielsweise den Wunsch des Nutzers, das Objekt öffnen zu wollen (z.B. Nutzer greift an den Türgriff), kann das Objekt entriegelt werden, ohne dass der Nutzer aktiv einen Schlüssel betätigen muss. Bei „Smart Home“-Systemen kann beispielsweise erkannt werden, dass sich das externe Gerät 30 in der Nähe oder in dem Objekt befindet und eine Kommunikationsverbindung mit dem externen Gerät 30 hergestellt werden. Der Nutzer kann dann beispielsweise begrüßt werden indem ein Text auf einem Bildschirm in oder an dem Objekt angezeigt wird (z.B. „Willkommen zu Hause“ auf einem Bildschirm an einem Kühlschrank oder Fernseher). Zudem können beispielsweise verschiedene Nutzerspezifische Einstellungen vorgenommen werden. Hierfür ist es erforderlich, dass das externe Gerät 30 eindeutig erkannt und einem bestimmten Nutzer zugeordnet werden kann.
-
Bluetooth ist eine international standardisierte Datenschnittstelle. Mittels Bluetooth können beispielsweise Daten oder Dateien zwischen zwei Kommunikationsgeräten ausgetauscht werden oder Musik und Sprache übertragen werden. Bluetooth-Geräte senden dabei mit einer Frequenz von 2,4 GHz und ermöglichen eine Datenübertragung mit einer kurzen Reichweite von normalerweise weniger als 50m. Derzeit sind verschiedene Bluetooth Standards bekannt, beispielsweise Bluetooth 1.0 und 1.0B 1999, Bluetooth 2.0 + EDR 2004, Bluetooth 4.0 2009, Bluetooth 4.1 2013, Bluetooth 4.2 Smart 2014 oder Bluetooth 5 2016. Dabei ist es bei der vorliegenden Erfindung nicht von Bedeutung nach welchem Standard das erste Kommunikationsgerät 20 und das externe Kommunikationsgerät 30 miteinander kommunizieren. Um eine Kommunikation zu ermöglichen, ist es jedoch in der Regel erforderlich, dass zwei Bluetooth-fähige Kommunikationsgeräte zwischen welchen eine Verbindung aufgebaut werden soll nach demselben Standard kommunizieren. Einige der Standards sind jedoch auch untereinander kompatibel.
-
Bluetooth-Geräte verbrauchen in der Regel verhältnismäßig viel Strom. Gerade in Fahrzeugen bzw. den zugehörigen externen Geräten (z.B. Smartphone) ist der Stromverbrauch jedoch meist kritisch. Daher finden sich immer häufiger so genannte Bluetooth Low Energy (BLE)-Geräte in Fahrzeugen und externen Geräten. Bluetooth Low Energy wird oft auch als Bluetooth-Smart bezeichnet. BLE basiert auf der klassischen Bluetooth Technologie, weist jedoch einen deutlich geringeren Stromverbrauch auf und ist in der Regel kostengünstiger. Bei Verwendung von BLE-Geräten in einem externen Kommunikationsgerät 30 wird somit die Batterie des externen Kommunikationsgerätes 30 (bzw. des Smartphones oder, allgemein, elektronischen Gerätes) weniger belastet als bei herkömmlichen Bluetooth-Geräten.
-
Zum Empfangen der von dem ersten Kommunikationsgerät 20 gesendeten Signale muss sich das externe Kommunikationsgerät 30 innerhalb eines bestimmten Radius um das Fahrzeug 10, bzw. um das erste Kommunikationsgerät 20 herum befinden, da Bluetooth, bzw. BLE-Signale nur eine begrenzte Reichweite haben.
-
Dieser Radius kann, in Abhängigkeit vom gewählten Übertragungsstandard, zum Beispiel 10m oder 50m betragen. Dies sind jedoch lediglich Beispiele. Die Reichweite kann, abhängig von den verwendeten Signalen und Antennen, auch größer oder kleiner sein.
-
Das tragbare externe Kommunikationsgerät 30 kann beispielsweise ein Mobiltelefon, Smartphone (intelligentes Telefon), Tablet, SmartWatch, Laptop oder Personal Digital Assistant (PDA) sein. Auf dem externen Kommunikationsgerät 30 kann beispielsweise ein gängiges Betriebssystem laufen, wie z.B. iOS.
-
Kommunikationsprotokolle, welche die Kommunikation zwischen zwei Kommunikationsgeräten definieren, sind typischerweise in einzelnen Schichten organisiert, welche zusammen den Protokollstapel bilden. Die unterste Schicht (Bitübertragungsschicht, engl. Physical Layer) stellt dabei meist mechanische, elektrische und weitere funktionale Hilfsmittel zur Verfügung, um physische Verbindungen zu aktivieren bzw. deaktivieren, sie aufrechtzuerhalten und Bits darüber zu übertragen. Die oberste Schicht (Anwendungsschicht, engl. Application Layer) stellt Funktionen für die Anwendungen zur Verfügung. Auf dieser Ebene findet beispielsweise die Dateneingabe und -ausgabe statt. Für den Aufbau und die Verwaltung von Verbindungen zwischen Geräten ist insbesondere die Link Layer Steuerung (Link Manager) in der Sicherungsschicht (engl. Data Link Layer) verantwortlich. Die Sicherungsschicht stellt direkt oberhalb der Bitübertragungsschicht die zweitunterste Schicht dar.
-
Die Link Layer Steuerung kann in der Regel verschiedene Zustände annehmen. Die Link Layer Steuerung und deren Zustände unterscheiden sich dabei von Funkstandard zu Funkstandard. Im Folgenden werden anhand des Zustandsdiagramms in 2 beispielhaft die Zustände der Bluetooth Low Energy (BLE) Spezifikation beschrieben.
-
Die Link Layer Steuerung kann zunächst einen Standby-Zustand 40 annehmen. Befindet sich die Link Layer Steuerung im Standby-Zustand 40 werden keine Daten gesendet oder empfangen. Der Standby-Zustand 40 kann von jedem anderen Zustand aus erreicht werden. Im so genannten Advertising-Zustand 41 werden Datenpakete (Advertising Channel Packets bzw. „Anbietungs-Kanal-Pakete“) gesendet. Ein anderes Gerät, welches ein solches Datenpaket empfängt kann daraufhin eine Antwort senden. Im Advertising-Zustand 41 werden somit nicht nur Datenpakete gesendet, sondern es wird auch auf Antwort von anderen Geräten gewartet. Auf eine Antwort kann entsprechend reagiert werden. Ein Gerät, welches sich im Advertising-Zustand 41 befindet wird häufig auch als Advertiser bezeichnet. Der Advertising-Zustand 41 kann nur aus dem Standby-Zustand 40 heraus erreicht werden.
-
Im so genannten Scanning-Zustand (Abtast-Zustand) 42 hört das entsprechende Gerät, ob ein anderes Gerät Advertising Channel Pakete aussendet. Ein Gerät, welches sich im Scanning-Zustand 42 befindet wird auch als Scanner (Abtasten bzw. Leser) bezeichnet. Der Scanning-Zustand 42 kann nur vom Standby-Zustand 40 aus erreicht werden.
-
Ein Gerät, welches sich im so genannten Initiating-Zustand (Anbahnungs-Zustand) 43 befindet, hört, ob ein bestimmtes anderes Gerät Advertising Channel Pakete aussendet und antwortet auf diese, um eine Verbindung mit dem anderen Gerät aufzubauen. Ein Gerät, welches sich im Initiating-Zustand 43 befindet wird auch als Initiator (bzw. Anbahner) bezeichnet. Der Initiating-Zustand 43 kann ebenfalls nur aus dem Standby-Zustand 40 heraus erreicht werden.
-
Der so genannte Connection-Zustand (Verbindungs-Zustand) 44 kann sowohl vom Advertising-Zustand 41 als auch vom Initiating-Zustand 43 aus erreicht werden. Ein Gerät, welches eine Verbindung zu einem anderen Gerät hergestellt hat, befindet sich im Connection-Zustand 44. Im Connection-Zustand 44 nimmt eines der beiden miteinander verbundenen Geräte die Rolle des Masters (Meisters) und das andere Gerät die Rolle des Slaves (Sklaven) oder Peripheriegerätes ein.
-
Ein Kommunikationsgerät, welches die Rolle des Peripheriegerätes eingenommen hat, kann eine bestehende Verbindung nicht aktiv trennen und in den Standby-Zustand (Bereitschafts-Zustand) 40 zurückkehren. Die Verbindung kann nur von dem Kommunikationsgerät getrennt werden, welches die Rolle des Masters eingenommen hat. Trennt der Master die Verbindung, kehren beide Geräte zurück in den Standby-Zustand 40.
-
Auf einem externen Gerät 30 kann ein Betriebssystem laufen, wie beispielsweise iOS. Weiterhin kann eine Applikation (APP) auf dem externen Gerät 30 installiert sein, welche dazu ausgebildet ist Kommunikationsverbindungen zu anderen Geräten herzustellen, zu verwalten und gegebenenfalls wieder zu trennen. Befindet sich ein solches Gerät im Advertising-Zustand 41, sendet also Datenpakete aus, kann die Applikation das Betriebssystem anweisen, jedem Datenpaket einen beliebigen Universally Unique Identifier (UUID) beizufügen.
-
Empfängt ein erstes Gerät 20 ein solches Datenpaket, kann es dieses empfangene Datenpaket nach einem UUID durchsuchen. Das erste Gerät 20 kann sich beispielsweise nur dann mit einem externen Gerät 30 verbinden, wenn ihm der UUID des externen Gerätes 30 bereits bekannt ist. In der Regel ist einem ersten Gerät 20 der UUID eines externen Gerätes 30 bekannt, wenn zuvor bereits ein so genanntes Pairing (Koppeln) durchgeführt wurde. Das bedeutet, das erste Gerät 20 und das externe Gerät 30 wurden vorher bereits wenigstens einmal miteinander über eine Kommunikationsverbindung desselben Standards miteinander verbunden. Werden zwei Geräte 20, 30 zum ersten Mal miteinander verbunden, ist in der Regel die Eingabe eines Passworts erforderlich. Die Geräte 20, 30 tauschen, bei Eingabe des korrekten Passworts, beispielsweise bestimmte Schlüssel K20, K30 (z.B. Identity Resolving Key, IRK) aus, welche in dem jeweils anderen Gerät abgespeichert werden. Dabei kann neben dem Schlüssel K20, K30 auch der UUID des jeweils anderen Gerätes 20, 30 gespeichert werden. Soll ein weiteres Mal eine Verbindung hergestellt werden, kann beispielsweise das erste Gerät 20 den von dem externen Gerät 30 mit dem Advertising Datenpaket zusammen empfangen UUID mit bereits gespeicherten UUIDs vergleichen. Ist der UUID des externen Gerätes 30 bereits bekannt, kann automatisch eine Verbindung hergestellt werden, ohne dass das Eingreifen eines Nutzers erforderlich ist. Auf diese Weise kann jedes Mal wenn sich die beiden Geräte 20, 30 innerhalb der erforderlichen Reichweite befinden automatisch eine Verbindung zwischen den Geräten 20, 30 hergestellt werden, ohne dass ein weiteres Mal ein Passwort abgefragt wird oder ein sonstiges Eingreifen eines Nutzers erforderlich ist.
-
Eine Applikation auf einem externen Gerät 30 kann entweder im Vordergrund oder im Hintergrund ausgeführt werden. 3A zeigt beispielhaft ein externes Gerät 30 (z.B. Smartphone) mit einem Bildschirm 32. Eine erste Applikation App1 wird ausgeführt und auf dem Bildschirm 32 angezeigt. Die erste Applikation App1 ist daher im Vordergrund. In 3B wird eine zweite Applikation App2 ausgeführt und auf dem Bildschirm 32 des Gerätes 30 angezeigt und befindet sich im Vordergrund. Die erste Applikation App1 befindet sich in dem Beispiel aus 3B somit im Hintergrund (wird im Hintergrund ausgeführt). 3C zeigt ein externes Gerät 30 bei welchem auf dem Bildschirm 32 keine Applikation geöffnet ist und im Vordergrund ausgeführt wird. Vielmehr wird ein Startbildschirm angezeigt. Eine Vielzahl N von Kacheln (App1, ..., AppN) wird auf dem Startbildschirm angezeigt. Mit Berühren einer der Kacheln (App1, ..., AppN) kann eine zugehörige Applikation App1, ..., AppN gestartet werden. Auch in dem in 3C dargestellten Beispiel wird die erste Applikation App1 im Hintergrund ausgeführt.
-
Wie oben beschrieben werden bei vielen Betriebssystemen Applikationen im Hintergrund ausgeführt, oder befinden sich im Hintergrund-Modus, wenn sie gerade nicht auf einem Bildschirm 32 angezeigt und aktiv ausgeführt werden. Dies soll dazu beitragen den Stromverbrauch des Gerätes 30 zu reduzieren. Würden zu viele Applikationen gleichzeitig ausgeführt, würde dies die Akkulaufzeit drastisch reduzieren.
-
Wird eine Applikation mittels welcher eine Kommunikationsverbindung hergestellt werden soll auf einem externen Gerät 30 im Hintergrund ausgeführt, wird bei manchen Betriebssystemen im Advertising-Zustand 41 der UUID den ausgesendeten Advertising Datenpaketen in einem speziellen Bereich (Overflow-Area) hinzugefügt. Andere Geräte 20, welche das selbe Betriebssystem aufweisen, können den UUID ohne weiteres aus dem Datenpaket auslesen und so das andere Gerät 30 erkennen. Geräte 20, welche ein unterschiedliches Betriebssystem aufweisen, sind jedoch möglicherweise nicht in der Lage auf diesen speziellen Bereich des Advertising Datenpakets zuzugreifen. Daher kann es vorkommen, dass ein erstes Gerät 20 ein externes Gerät 30 nicht erkennt, obwohl dem ersten Gerät 20 der UUID des externen Gerätes 30 bereits bekannt ist. In solchen Fällen kommt eine Kommunikationsverbindung zwischen den beiden Geräten 20, 30 möglicherweise nicht zu Stande.
-
Bezugnehmend auf 4 wird im Folgenden beispielhaft der Ablauf beim Herstellen einer ersten Verbindung zwischen einem ersten Gerät 20 und einem externen Gerät 30 beschrieben. Hierfür kann das erste Kommunikationsgerät 20 beispielsweise eine erste Kommunikationseinheit 21 (z.B. erste Bluetooth-Einheit), und das zweite Kommunikationsgerät 30 eine zweite Kommunikationseinheit 31 (z.B. zweite Bluetooth-Einheit) aufweisen. Die erste und die zweite Kommunikationseinheit 21, 31 können beispielsweise jeweils mindestens eine Antenne und entsprechende Signalerzeugungs- und - verarbeitungskomponenten aufweisen (nicht explizit dargestellt). 4A zeigt dabei beispielhaft die Geräte 20, 30 während dem Advertising (Anbieten). Wird das erste Mal eine Kommunikationsverbindung zwischen dem ersten Gerät 20 und dem externen Gerät 30 hergestellt, wird die entsprechende Applikation (App1) in der Regel im Vordergrund ausgeführt, da die Eingabe eines Passwortes durch einen Nutzer erforderlich ist. Häufig ist es auch erforderlich, dass ein Nutzer das so genannte Pairing aktiv initiieren muss. Soll eine Verbindung zwischen dem ersten Gerät 20 und dem externen Gerät 30 hergestellt werden, sendet das externe Gerät 30 ein Advertising Datenpaket an das erste Gerät 20 aus. Da die Applikation App zu diesem Zeitpunkt im Vordergrund ausgeführt wird, wird der UUID in dem Datenpaket mit übermittelt und das erste Gerät 20 kann diesen auslesen und speichern, unabhängig davon, welches Betriebssystem auf dem ersten Gerät installiert ist. Das erste Gerät 20 kann auf das Advertising Datenpaket entsprechend antworten.
-
Nun Bezug nehmend auf 4B kann anschließend das Pairing zwischen den beiden Geräten erfolgen. Dabei tauschen die beiden Geräte entsprechende Schlüssel K20, K30 aus. Das erste Gerät 20 kann beispielsweise einen ersten Schlüssel K20 an das externe Gerät 30 senden, welches diesen speichert. Das externe Gerät 30 kann einen zweiten Schlüssel K30 an das erste Gerät 20 senden, welches diesen speichert. Vor dem Austausch der Schlüssel K20, K30 ist meist die Eingabe eines Passworts durch einen Nutzer erforderlich. Dadurch wird verhindert, dass unberechtigte Geräte von nicht autorisierten Personen mit dem ersten Gerät 20 oder mit dem externen Gerät 30 verbunden werden.
-
Das erste Gerät 30 kann den zweiten Schlüssel K30 nicht nur speichern, sondern kann diesen auch, optional, an weitere Kommunikationsgeräte 51, 52, 53 verteilen, welche sich in dem selben Netzwerk befinden. Dadurch ist den weiteren Kommunikationsgeräten 51, 52, 53 der zweite Schlüssel K30 bekannt, auch wenn diese Kommunikationsgeräte 51, 52, 53 zuvor noch nicht mit dem externen Kommunikationsgerät 30 verbunden worden sind. Dies ist beispielhaft in 4C dargestellt.
-
In einem Advertising Datenpaket wird meist neben dem UUID auch eine Media-Access-Control-Adresse (MAC-Adresse) A30 des externen Gerätes mit übertragen. Grundsätzlich ist es möglich, dass das erste Gerät 20 das externe Gerät 30 nicht anhand des UUID, sondern anhand dessen MAC-Adresse A30 erkennt. Jedoch ändert sich die MAC-Adresse A30 eines Kommunikationsgerätes zeit- und/oder eventbasiert nach einem vorgegebenen Algorithmus. Würde das erste Gerät 20 somit die MAC-Adresse A30 des zweiten Gerätes 30 beim ersten Pairing speichern, so könnte es die zu einem späteren Zeitpunkt geänderte MAC-Adresse A30 des externen Gerätes 30 nicht erkennen.
-
Es ist jedoch möglich anhand des zweiten Schlüssels K30 die aktuelle MAC-Adresse A30 des externen Gerätes 30 zu berechnen. Wurde also bereits ein Pairing zwischen dem ersten Gerät 20 und dem externen Gerät 30 durchgeführt, kann das erste Gerät 20, wenn es bei einem weiteren Verbindungsversuch ein Advertising Datenpaket des externen Gerätes 30 empfängt und kein lesbarer UUID in dem Datenpaket enthalten ist, anhand des zweiten Schlüssels K30 eine aktuelle MAC-Adresse A301 des externen Gerätes 30 berechnen. Diese berechnete MAC-Adresse A301 kann das erste Gerät 20 dann mit der in dem Datenpaket enthaltenen MAC-Adresse A30 vergleichen. Stimmen die beiden MAC-Adressen A30, A301 überein, kann eine Verbindung zwischen den Geräten 20, 30 hergestellt werden. Dies ist beispielhaft in den 5A und 5B dargestellt.
-
Auf diese Weise ist es möglich, dass sich das externe Gerät 30 mit dem ersten Gerät 20 verbindet, auch wenn die Applikation App1 auf dem externen Gerät 30 gerade im Hintergrund ausgeführt wird und die beiden Geräte 20, 30 nicht das selbe Betriebssystem aufweisen.
-
Grundsätzlich kann das erste Gerät 20 beispielsweise auch anhand der Empfangsfeldstärke des Advertising Datenpaketes die Position des externen Gerätes 30 in Bezug auf das erste Gerät 20 bestimmen. Beispielsweise kann das Datenpaket von einem oder mehreren Empfängern (Antennen) des ersten Gerätes 20 empfangen werden, welche beabstandet zueinander angeordnet sind. Die Empfangsfeldstärke eines Signals nimmt mit zunehmendem Abstand zum Sender hin ab. Anhand der von einem Empfänger bestimmten Empfangsfeldstärke kann daher auf die Entfernung zwischen dem entsprechenden Empfänger und dem externen Gerät 30 geschlossen werden. Wird die Empfangsfeldstärke von lediglich einem Empfänger ermittelt, so ist bekannt, dass sich das externe Gerät 30 aus einem Kreisbogen mit einem bestimmten Radius um diesen Empfänger herum befindet. Wird die Empfangsfeldstärke von zwei Empfängern ermittelt, ist bekannt, dass sich das externe Gerät 30 auf einem der zwei sich durch die entsprechenden Kreisbögen gebildeten Schnittpunkte befindet. Wird die Empfangsfeldstärke von drei oder mehr Empfängern ermittelt, kann die Position des externen Gerätes 30 in Bezug auf das erste Gerät 20 eindeutig bestimmt werden, da die Positionen der Empfänger in Bezug auf das erste Gerät 20 bekannt sind. Hierfür können bekannte Trilaterations- oder Multilaterationsverfahren Anwendung finden. Die Bestimmung der Position des externen Gerätes 30 in Bezug auf das erste Gerät 20 kann dabei sowohl im Zweidimensionalen, als auch im Dreidimensionalen bestimmt werden.
-
Diese Positionsbestimmung kann jedoch nur dann erfolgen, wenn das erste Gerät 20 weiß, von welchem externen Gerät 30 das Advertising Datenpaket ausgesendet wurde. Wie oben bereits beschrieben, kann das erste Gerät 20 unter Verwendung des gespeicherten zweiten Schlüssels K30 die aktuelle MAC-Adresse A30 des externen Gerätes 30 verifizieren, auch wenn die Applikation App1 auf dem externen Gerät 30 zum Zeitpunkt des Aussendens des Datenpaketes im Hintergrund ausgeführt wird und der in dem Advertising Datenpaket mit übermittelte UUID möglicherweise für das erste Gerät 20 nicht lesbar ist. Das erste Gerät 20 kann somit auch in diesem Fall die anhand eines Datenpaketes bestimmte Position einem bestimmten externen Gerät 30 zuordnen.
-
Bezugnehmend auf 6 wird ein Verfahren beschrieben. Das Verfahren weist das Aufbauen einer ersten Kommunikationsverbindung zwischen einem ersten Kommunikationsgerät 20 und einem zweiten Kommunikationsgerät 30 auf (Schritt 601). Das Verfahren weist weiterhin das Übermitteln eines zweiten Schlüssels K30 von dem zweiten Kommunikationsgerät 30 an das erste Kommunikationsgerät 20 auf (Schritt 602). Der zweite Schlüssel K30 wird in dem ersten Kommunikationsgerät 20 gespeichert (Schritt 603). Im Weiteren wird ein Advertising Datenpaket von dem zweiten Kommunikationsgerät 30 an das erste Kommunikationsgerät 20 übermittelt (Schritt 604) und, wenn das Advertising Datenpaket keinen für das erste Kommunikationsgerät 20 lesbaren Universally Unique Identifier UUID des zweiten Kommunikationsgerätes 30 enthält und wenn das erste Kommunikationsgerät 20 einen zweiten Schlüssel K30 des zweiten Kommunikationsgerätes 30 bereits gespeichert hat, wird anhand des zweiten Schlüssels K30 eine Media-Access-Control-Adresse A301 des zweiten Kommunikationsgerätes 30 bestimmt (Schritt 605). Diese bestimmte Media-Access-Control-Adresse A301 wird mit einer in dem Advertising Datenpaket enthaltenen Media-Access-Control-Adresse A30 verglichen (Schritt 606) und es wird eine Kommunikationsverbindung zwischen dem ersten Kommunikationsgerät 20 und dem zweiten Kommunikationsgerät 30 hergestellt, wenn die beiden Media-Access-Control-Adressen A30, A301 miteinander übereinstimmen (Schritt 607).
-
Bezugszeichenliste
-
- 10
- Fahrzeug
- 20
- erstes Kommunikationsgerät
- 21
- erste Kommunikationseinheit
- 30
- externes Kommunikationsgerät
- 31
- zweite Kommunikationseinheit
- 32
- Display
- 40
- Standby-Zustand
- 41
- Advertising-Zustand
- 42
- Scanning-Zustand
- 43
- Initiating-Zustand
- 44
- Connection-Zustand
- 51, 52, 53
- weitere Kommunikationsgeräte
- App1, ..., AppN
- Applikationen
- K20
- erster Schlüssel
- K30
- zweiter Schlüssel
- A30
- MAC-Adresse
- A301
- berechnete MAC-Adresse