-
Diese
Anmeldung betrifft serielle Bluetooth-Adapter.
-
Bluetooth
bezeichnet einen erst in jüngster
Zeit entwickelten, jedoch bereits wohlbekannten Standard bzw. ein
System bzw. ein Protokoll für
den Funkfrequenz-Nahverkehr. Bluetooth wird in vielen verschiedenen Fällen benutzt,
zum Beispiel bei der Kommunikation zwischen PCs, von PCs zu Taschencomputern,
von Mobiltelefonen zu PCs und von den Handapparaten von Mobiltelefonen
zu den Ohrhörern.
In der EP-A-1093272 ist ein Kommunikationsgerät offenbart, das Bluetooth
verwendet.
-
In
seiner Gesamtheit ermöglicht
das Bluetooth-System bzw. der Bluetooth-Standard einen umfangreichen
Bereich verschiedener Kommunikationsregimes. Dadurch ist es bzw.
er äußerst flexibel
und sehr generisch konstruiert, um eine Nutzung auf diese vielerlei
unterschiedlichen Weisen zu ermöglichen.
Aufgrund dessen gestaltet sich jedoch als Begleiterscheinung das
Implementieren eines spezifischen Kommunikationssystems unter Verwendung
von Bluetooth kompliziert und nimmt umfangreiche Mengen von Rechenressourcen ein.
-
Anders
ausgedrückt
kommt es bei der Verwendung eines vollkommen funktionsfähigen Bluetooth-Systems
zu einem riesigen Verarbeitungsaufwand. Derartige Systeme sind zwar
durchführbar,
wenn sie auf einem relativ leistungsfähigen Rechner, beispielsweise
einem PC mit Windows-Betriebssystem (für das es geeignete Softwaretools
zur Steuerung von Bluetooth-Verbindungen gibt), implementiert werden.
Bei nur begrenzter Verarbeitungsleistung stellen diese Systeme hingegen
keine praktikable Lösung
dar. Typische Fälle für begrenzte
Verarbeitungsleistung sind Geräte
mit eingebetteten Prozessoren. Es gibt einen umfangreichen Bereich
von Geräten
mit eingebetteten Prozessoren, einschließlich Maschinen und Geräten in Haushalt,
Gewerbe und Industrie.
-
Eine
besondere Situation, in der man mit einem eingebetteten Prozessor
und begrenzter Verarbeitungsfähigkeit
konfrontiert ist, ist bei Mobiltelefonen und ihren Ohrhörern gegeben.
Wie bereits erwähnt,
ist dies ein Einsatzgebiet für
die Bluetooth-Kommunikation. In diesem Fall (sowie anderen, ähnlichen
Fällen)
wird ein Teil von Bluetooth verwendet, der nur nach Bedarf spezifische
Funktionen implementiert. In diesem Fall müssen bei der erstmaligen Aktivierung
die beiden bluetoothfähigen
Geräte
(Handapparat und Ohrhörer)
miteinander „gekoppelt" werden. Ist dies
erledigt, wird eine Verbindung zwischen den beiden Geräten hergestellt und
die Kommunikation kann stattfinden.
-
Dieses
auch als „Bonding" bezeichnete Koppeln
ist ein einfacher Vorgang für
den Benutzer, da im Normalfall bei der Aktivierung der Geräte hierfür lediglich
ein Knopfdruck (oder Schalterdruck) erforderlich ist. Jedes bluetoothfähige Gerät verfügt über eine
eindeutige Adresse und während
des Koppelvorgangs werden diese Adressen zusammen mit einer PIN-Zahl
hin- und hergeschickt. Nach dem Bonding können sich die Geräte zwar
miteinander, aber mit keinem weiteren bluetoothfähigen Gerät „unterhalten". Soll eine Kommunikation
eines der beiden Geräte
mit einem dritten Gerät
möglich
sein, so muss die bestehende Koppelung aufgehoben werden und die
neue Koppelung mittels eines geeigneten menschlichen Eingriffs,
der üblicherweise
manuell erfolgt, erstellt werden.
-
Aufgrund
dieser Notwendigkeit sind derartige Systeme unausführbar, wenn
zum Beispiel eine zentrale Einheit gewünscht wird, die über ein
einziges Bluetooth-Verbindungsgerät an der zentralen Einheit
mit mehreren peripheren Einheiten kommunizieren kann. Dabei wäre nämlich jedes
Mal ein manueller Eingriff erforderlich, wenn die Kommunikation
mit der einen peripheren Einheit zugunsten einer anderen unterbrochen
werden sollte.
-
1 zeigt
in Diagrammform die Schichten eines „unintelligenten" Bluetooth-Geräts als Ersatz
für ein serielles
Kabel. Dieses Gerät
könnte
in einem vereinfachten Bluetooth-Kommunikationssystem der eingangs beschriebenen
Art verwendet werden.
-
Auf
der Grundlage des Zustands des „Schalters" befindet sich die als „virtuelle
Maschine als Ersatz für ein
serielles Kabel" bezeichnete
Schicht in einem von zwei Modi. In dem einen Modus ermöglicht sie
das Sichten oder Erkennen anderer Bluetooth-Geräte und bei Erkennen eines „Zwillings" koppelt sie sich
dann mit diesem Ge rät.
In dem anderen Modus versucht sie, wenn ihr Einzelheiten eines zuvor
gekoppelten Ferngeräts vorliegen,
eine Bluetooth-Verbindung zu diesem herzustellen. Sie wird dies
immer wieder versuchen, bis eine Verbindung hergestellt ist.
-
Nach
dem Verbindungsaufbau werden unter Verwendung eines über die
Schicht RFCOMM gerouteten Profils zum Emulieren eines seriellen
Ports (das in der Version 1.1 der Veröffentlichung „Specification
of the Bluetooth System Profiles" definiert
ist) alle am seriellen Port anliegenden „Anwendungs"-Daten transparent an
der Funkschnittstelle vorgelegt. Besteht keine Verbindung, dann
werden die Daten der Anwendung verworfen.
-
Eine
Alternative zur Ermöglichung
einer Bluetooth-Kommunikation von einem Gerät mit eingebettetem Prozessor
besteht darin, ein System bereitzustellen, bei dem die Verarbeitung
am eingebetteten Prozessor oder an einem zugehörigen Prozessor im Gerät erfolgt
und ein separates generisches Bluetooth-Verbindungsgerät verwendet
wird. Dies stellt eine Analogie zu Systemen dar, bei denen die notwendige
Verarbeitung und Implementierung durch einen PC unter Windows erfolgt.
Bei der Verfolgung dieses Ansatzes sind jedoch umfangreiche Änderungen
der Programmierung bzw. Hardware-/Firmware-Änderungen erforderlich, was
sich erheblich auf die Zeit bis zur Vermarktung auswirkt.
-
Bei
diesem Szenario residieren die oberen Schichten des Bluetooth-Stapels
in dem Gerät
mit dem eingebetteten Prozessor (dem Hostgerät). Für dieses System ist eine Bluetooth-Qualifizierung
erforderlich. Darüber
hinaus ist die Aufgabe des Portierens der oberen Schichten des Protokollstapels
oder -stacks auf das Hostgerät
nicht trivial. Es lässt
sich zwar die Funktionalität
steigern, dabei ist jedoch der Arbeitsaufwand im Vergleich zur obigen
Lösung
um einige Größenordnungen
umfangreicher. Darüber
hinaus werden an den eingebetteten Prozessor höhere Verarbeitungsanforderungen
gestellt. 2 zeigt die Schichten im Hostgerät und im
Bluetooth-Gerät
bei einem derartigen System.
-
Es
ist Aufgabe dieser Erfindung, Verfahren, Systeme und Vorrichtungen
zur Erleichterung einer Bluetooth-Kommunikation mit Geräten mit
begrenzten Verarbeitungsfähigkeiten
bereitzustellen.
-
Gemäß vorliegender
Erfindung werden ein serieller Bluetooth-Adapter nach Anspruch 1,
ein Verfahren zur Kommunikation über
eine Bluetooth-Verbindung nach Anspruch 7, ein virtuelles serielles
Verbindungssystem nach Anspruch 9, ein Computerprogramm nach Anspruch
11 sowie ein computerlesbarer Datenträger nach Anspruch 12 zur Verfügung gestellt.
-
Es
versteht sich, dass die Schnittstelle innerhalb eines gegebenen
Geräts
in beiden Richtungen funktioniert. D.h. während des Betriebs des Adapters
können
Ereignisse/Befehle zur Steuerung einer Bluetooth- und einer seriellen
Verbindung in beiden Richtungen gesendet und empfangen werden und
ein Abbilden kann in beiden Richtungen stattfinden, entweder vom
seriellen Port oder von der Funkschnittstelle.
-
Es
ist zu beachten, dass gemäß anderen
Merkmalen der Erfindung ein serieller Bluetooth-Adapter wie oben
definiert in Kommunikation mit einer anderen Art von bluetoothfähigem Gerät verwendet
werden kann. Dies erfolgt auf der Grundlage, dass das andere bluetoothfähige Gerät auf eine
mit dem seriellen Bluetooth-Adapter kompatible Weise betrieben wird.
-
Der
Satz von seriellen Verbindungs-Steuerbefehlen kann passend für eine spezifische
Implementierung gewählt
werden. Üblicherweise
ist dieser Satz von Befehlen im Vergleich zu der Vielfalt der in
Bluetooth möglichen
Ereignisse und Fähigkeiten
begrenzt. Obwohl jeder serielle Verbindungs-Steuerbefehl auf ein
entsprechendes Bluetooth-Ereignis abgebildet wird, gibt es nämlich bei
einer typischen Implementierung zahlreiche Bluetooth-Ereignisse, für die es
keinen entsprechenden seriellen Verbindungs-Steuerbefehl gibt. Natürlich können solche
Ereignisse innerhalb des entsprechenden Systems oder Verfahrens
nicht verwendet werden. Worauf es jedoch ankommt, ist, dass zur
Erleichterung einer virtuellen seriellen Verbindung, also dem Hauptziel
hier, die meisten Bluetooth-Fähigkeiten
irrelevant sind.
-
Aufgrund
dieses verringerten und vereinfachten Befehlssatzes vereinfacht
sich der Vorgang der Rekonfigurierung eines Geräts mit seriellem Port, um dieses
mit einem seriellen Adapter gemäß vorliegender
Anmeldung funktionsfähig
zu machen, erheblich und dadurch wird auch der Einsatz einer Bluetooth-Verbindung einfacher.
Dadurch sinkt einerseits der für
das Gerät
erforderliche Aufwand hinsichtlich Programmierung oder Änderungen
an Hardware bzw. Firmware, damit dieses geeignete Be fehle ausgeben
und empfangen kann, auf ein Minimum und andererseits verringert
sich auch der Umfang der vom Gerät
durchzuführenden
Verarbeitung.
-
Dieser
Verarbeitungs- und Rekonfigurationsaufwand wird nämlich bereits
bei der Entwicklung und beim Betrieb des Adapters in Angriff genommen.
An sich fällt
ein Großteil
der Rekonfigurationsarbeit lediglich einmal an – nämlich bei der Entwicklung des
Adapters, der ohne Weiteres bei anderen Geräten verwendet werden kann.
Ferner wurde in jedem Fall der erforderliche Gesamtverarbeitungsaufwand
durch die Entwicklung eines zur Erfüllung einer spezifischen Aufgabe
konstruierten Adapters gesenkt, und ein Teil dieser Verarbeitung
wird vom Adapter selbst durchgeführt,
um den in dem Gerät
mit dem seriellen Port erforderlichen Verarbeitungsaufwand weiter
zu senken.
-
Die
vorliegende Anmeldung betrifft die Protokolle bzw. Befehle, welche
zur Steuerung einer Verbindung zwischen zwei Geräten, die eine Bluetooth-Verbindung
verwenden, zum Einsatz kommen. Nach dem Verbindungsaufbau hat der
serielle Adapter seine Funktion erfüllt. Bei den zur Übertragung
der Daten an sich verwendeten Protokollen etc. handelt es sich um
eine andere Angelegenheit, mit der diese Anmeldung nicht befasst
ist.
-
Bei
bevorzugten Ausführungsformen
der Erfindung umfassen die Steuerbefehle für die serielle Verbindung einen
Befehlssatz mit Befehlen, die zu Befehlen analog sind oder noch
bevorzugter in direktem Bezug zu diesen stehen oder im Wesentlichen
identisch mit diesen sind, wie sie in einem zur Steuerung von Modemverbindungen
be nutzten Industriestandard-Befehlssatz verwendet werden. Dies kann
dem seriellen Adapter die Annahme von Befehlen von sowie die Ausgabe
von Befehlen an Modems oder Geräte
ermöglichen,
die zum Austausch derartiger Befehle mit Modems konfiguriert sind.
-
Es
werden sich wahrscheinlich Fälle
ergeben, in denen Befehle zwischen dem Adapter und Geräten ausgetauscht
werden müssen,
die nicht standardgemäß zur Annahme
von Industriestandard-Modembefehlen bereit sind. Für derartige
Geräte
ist eine Rekonfiguration/Programmierung erforderlich, aber dies
wäre ohnehin der
Fall, ganz gleich, um welchen Befehlssatz es sich handelt, daher
ist dies kein Nachteil. Darüber
hinaus fällt bei
Kenntnis der Modembefehle der Prozess der Rekonfiguration/Programmierung
wahrscheinlich leichter.
-
Ein
ursprünglich
von Hayes entwickelter und als der AT-Befehlssatz bekannter Befehlssatz ist
der zur Zeit meistverwendete Befehlssatz zur Steuerung von Modemverbindungen.
Vorzugsweise umfassen die Steuerbefehle für die serielle Verbindung einen
Satz von AT-Befehlen. Diese sind Entwicklern/Programmierern bekannt
und werden von AT-kompatiblen Modems und anderen Geräten erkannt.
Es ist unwahrscheinlich, dass bei einem System der vorliegenden
Art der komplette AT-Befehlssatz bzw. das komplette AT-Protokoll
verwendet werden muss.
-
Die
Steuerbefehle für
die serielle Verbindung können
den in Abschnitt 3.2 von Anhang 1 der Beschreibung dieser Anmeldung
aufgeführten
und erläuterten
Befehlssatz oder einen Untersatz dieser Befehle umfassen. Die Steuerbefehle
für die
serielle Verbindung können
einen mo difizierten Befehlssatz umfassen, der auf dem in Abschnitt
3.2 von Anhang 1 der Beschreibung dieser Anmeldung aufgeführten und
erläuterten
Befehlssatz oder auf einer Untermenge dieser Befehle basiert. Dabei
können
die Modifikationen das Ersetzen der generischen Startsequenz „AT" (oder eines Teils
dieser Startsequenz) durch eine andere, zum Beispiel „BT" oder „TDK" umfassen.
-
Im üblichen
Fall umfasst das Bluetooth-Verbindungsmodul einen Bluetooth-Chip.
Zumindest bei einigen Standard-Bluetooth-Chips
ist eine programmierbare virtuelle Maschine vorhanden, die zur Durchführung sekundärer Funktionen
eingesetzt werden kann. Bei einem Beispiel wird die Seriell-zu-Bluetooth-Schnittstelle durch
geeignete Programmierung der auf dem Bluetooth-Chip vorgesehenen
virtuellen Maschine implementiert.
-
Dadurch
ergibt sich eine besonders effiziente Lösung. Die von der virtuellen
Maschine bereitgestellte Funktionalität ist zur Durchführung des
Abbildungsvorgangs besonders geeignet. Des weiteren wird bei zahlreichen
aktuellen Implementierungen die über
die virtuelle Maschine zur Verfügung
stehende Verarbeitungsleistung in nur geringem Umfang oder überhaupt
nicht genutzt.
-
Es
folgt nunmehr eine lediglich beispielhafte Beschreibung von Ausführungsformen
der vorliegenden Erfindung, in der auf die beiliegenden Zeichnungen
Bezug genommen wird. Es zeigen:
-
1 die
Schichten in einem „unintelligenten" Bluetooth-Kommunikationsgerät aus dem
Stand der Technik als Ersatz für
ein serielles Kabel;
-
2 die
Schichten in einem Hostgerät
und in einem Bluetooth-Gerät
bei einem alternativen Bluetooth-Kommunikationssystem, bei dem sich
ein Teil des Bluetooth-Stapels auf dem Hostgerät befindet;
-
3 eine
vereinfachte schematische Darstellung eines Kommunikationssystems
mit seriellen Bluetooth-Adaptern gemäß vorliegender Erfindung;
-
4 die
Schichten in einem seriellen Bluetooth-AT-Modul, das als serieller Bluetooth-Adapter
gemäß vorliegender
Erfindung fungiert; und
-
5 eine
schematische Darstellung einer Anwendung für serielle Bluetooth-AT-Module
gemäß vorliegender
Erfindung.
-
3 zeigt
schematisch ein Kommunikationssystem, bei dem zwei Hostgeräte 1 mit
(nicht dargestellten) eingebetteten Mikroprozessoren und seriellen
Ports SP miteinander verbunden sind, um die Übertragung von Daten zwischen
diesen Geräten
zu ermöglichen.
-
Sollte
hierfür
nicht ausdrücklich
eine Funkverbindung gewünscht
werden, könnte
man die beiden Geräte
auch über
ein serielles Kabel direkt miteinander verbinden. Funkverbindungen
bringen jedoch Vorteile mit sich, bei spielsweise, dass keine Kabel
mehr gezogen oder umgeleitet werden müssen.
-
Die
vorliegende Anmeldung betrifft ein Ermöglichen des Ersetzens von seriellen
Kabelverbindungen durch Funkverbindungen und insbesondere Bluetooth-Verbindungen.
Die Konzepte der vorliegenden Anmeldungen erweisen sich dann als
besonders sinnvoll, wenn die zu verbindenden Geräte eingebettete Prozessoren
beinhalten. Derartige Geräte
haben häufig
nur begrenzte Verarbeitungsfähigkeiten.
Des Weiteren besteht allgemein der Wunsch, den Rekonfigurations-
und/oder Umprogrammierungsaufwand für derartige eingebettete Prozessoren
so niedrig wie möglich
zu halten.
-
Bei
dem in 3 gezeigten System ist jedes Gerät über ein
entsprechendes serielles Kabel C an einen seriellen Port SP eines
entsprechenden seriellen Bluetooth-Adapters 2 angeschlossen.
Bei den seriellen Bluetooth-Adaptern 2 handelt es sich
um bluetoothfähige
Geräte,
und über
Bluetooth-Funkfrequenzsignale 3 können Daten zwischen den Adaptern 2 übertragen
werden.
-
Die
Funktionsweise des Verbindungssystems ist zwar erst nachstehend
erläutert,
es sollte jedoch hier bereits angemerkt werden, dass bei bestehender
Verbindung über
die Adapter 2 diese Verbindung für die Hostgeräte 1 nicht
von einer direkten seriellen Kabelverbindung zu unterscheiden ist.
Das in 3 gezeigte Verbindungssystem emuliert somit eine
direkte serielle Kabelverbindung und kann somit als virtuelle serielle
Kabelverbindung betrachtet werden.
-
Jeder
serielle Bluetooth-Adapter 2 umfasst dabei ein Bluetooth-Verbindungsmodul 21 mit
einer Antenne 22, die für
das Senden und das Empfangen von Bluetooth-Funkfrequenzsignalen
vorgesehen ist. Zwischen dem seriellen Port SP und dem Bluetooth-Verbindungsmodul 21 ist
eine Seriell-zu-Bluetooth-Schnittstelle 23 vorgesehen.
-
Zwar
sind in 3 das Verbindungsmodul 21 und
die Schnittstelle 23 als separate Komponenten dargestellt;
es versteht sich jedoch, dass dies lediglich dem besseren Verständnis dient.
Bei einigen Implementierungen lassen sich das Verbindungsmodul 21 und
die Schnittstelle 23 durch separate softwaregesteuerte Hardwarekomponenten
realisieren. Bei anderen Implementierungen wird diese funktionelle
Trennung zwischen dem Verbindungsmodul 21 und der Schnittstelle 23 möglicherweise
nicht durch eine klare physische Trennung von Hardware- und/oder Softwarekomponenten
wiedergegeben.
-
Zumindest
einige Standard-Bluetooth-Chips sind mit einer programmierbaren
virtuellen Maschine für die
Ausführung
sekundärer
Funktionen versehen. Bei einer bevorzugten Implementierung, die
im seriellen Bluetooth-AT-Modul
der Anmelderin verwendet wird, wird ein (nicht dargestellter) Bluetooth-Chip
mit einer solchen virtuellen Maschine zum Betreiben der Verbindung 21 ausgewählt. Die
Funktionen der Schnittstelle 23 werden dann durch geeignete
Programmierung der auf dem Bluetooth-Chip vorgesehenen virtuellen Maschine ausgeführt.
-
Als
Teil des Systems ist ein Befehlssatz definiert, welcher so ausgelegt
ist, dass er jedem Gerät 1 das Freischalten
und Steuern einer Verbindung über
seinen jeweiligen Adapter 2 ermöglicht. Diese Befehle können als
Steuerbefehle für
die serielle Verbindung bezeichnet werden. Der Befehlssatz bei dieser
Ausführungsform umfasst
eine Auswahl von Befehlen, die auf dem von Hayes entwickelten Industriestandard-AT-Befehlssatz beruhen,
wie er zur Steuerung von Modemverbindungen verwendet wird.
-
Dabei
ist jedes Hostgerät 1 entweder
ein zur Verwendung des geeigneten Befehlssatzes vorkonfiguriertes
Modem (oder anderes Gerät)
oder ein Gerät,
das erst rekonfiguriert/programmiert werden muss, bevor der geeignete
Befehlssatz verwendet werden kann. Ist eine der beiden zuvor genannten
Bedingungen erfüllt, kann
das Hostgerät 1 durch
Ausgabe der entsprechenden Befehle die Verbindung freischalten und
weiter steuern.
-
Die
Seriell-zu-Bluetooth-Schnittstelle 23 wird betrieben, um über den
seriellen Port SP Befehle vom Hostgerät 1 zu empfangen,
und gibt auf der Grundlage dieser geeignete Steueranweisungen an
das Bluetooth-Verbindungsmodul 21 aus; diese Anweisungen
können
als Steuerereignisse für
die Bluetooth-Verbindung bezeichnet werden. Die Seriell-zu-Bluetooth-Schnittstelle 23 bildet
nämlich
Steuerbefehle für
die serielle Verbindung auf Steuerereignisse für die Bluetooth-Verbindung
ab.
-
Bei
der bevorzugten Implementierung werden bei Verwendung der programmierten
virtuellen Bluetooth-Maschine Steuerbefehle für die serielle Verbindung von
der programmierten virtuellen Maschine empfangen und verarbeitet
und es werden entsprechende Steuersignale von der Maschine ausgegeben,
um den eigentlichen Bluetooth-Chip zu steuern.
-
Die
oben erwähnten
Prozesse funktionieren allesamt auch in umgekehrter Richtung. D.h.
es werden vom Bluetooth-Verbindungsmodul
kommende Steuerereignisse für
die Bluetooth-Verbindung, die an der Schnittstelle 23 empfangen
werden, verarbeitet und in der Tat in entsprechende Steuerbefehle
für die
serielle Verbindung umgewandelt bzw. auf solche abgebildet, die
an das entsprechende Gerät 1 ausgegeben
werden können.
-
Diese
Prozesse finden in beiden Adaptern 2 statt, um die Verbindung
zwischen den zwei Hostgeräten 1 freizuschalten
und zu steuern.
-
Weitere
Einzelheiten zu dem bei einer Ausführungsform verwendeten Befehlssatz,
zu dem seriellen Bluetooth-AT-Modul
der Anmelderin, sowie Beispiele dafür, wann und wie diese Befehle
verwendet werden, sind im beiliegenden Anhang 1 zur Beschreibung,
mit dem Titel „Technischer
Vorschlag – Intelligenter
Serieller Bluetooth-Adapter" aufgeführt.
-
Selbstverständlich lässt sich
dabei der verwendete Befehlssatz auf vielerlei Art und Weise geringfügig modifizieren.
Werden Modifikationen vorgenommen, dann soll dabei vorzugsweise
die allgemeine Struktur der Befehle beibehalten werden, so dass
die Programmierung durch Kenntnis des AT-Protokolls erleichtert
wird. Somit könnte
man die generische Startsequenz „AT" der Befehle zu beispielsweise „BT" oder „TDK" ändern.
-
Ein
Nachteil beim Abgehen vom AT-basierten Befehlssatz besteht darin,
dass dann der Befehlssatz ohne entsprechende Änderungen nicht von existierenden
AT-kompatiblen Geräten
verwendet werden kann. Dies stellt jedoch kein unüberwindbares
Problem dar.
-
4 zeigt
die Schichten in einem seriellen Bluetooth-AT-Modul, das als serieller
Bluetooth-Adapter 2 der selben allgemeinen Art wie in 3 gezeigt
fungiert und bei dem die Schnittstelle durch geeignetes Programmieren
der virtuellen Maschine des Bluetooth-Chips realisiert wird. Es versteht sich,
dass durch das auf der virtuellen Maschine vorhandene Programm dem
Kommunikationssystem eine Schicht „Virtuelle Maschine für AT-Protokoll" hinzugefügt wird.
Dies kann als das Ersetzen einer entsprechenden Schicht einer virtuellen Maschine
in dem in 1 gezeigten „unintelligenten" Bluetooth-Gerät als Ersatz
für ein
serielles Kabel betrachtet werden.
-
Beim
Hochfahren initialisiert sich die Schicht „AT-Protokoll" in einen Ruhe- oder Grundzustand. In
diesem Zustand besteht keine Bluetooth-Verbindung, und sie überwacht
kontinuierlich die ,Anwendungsdaten'. Handelt es sich bei den von der Anwendung
eingehenden Daten um einen gültigen
,AT'-Befehl, dann
wird dieser ausgeführt.
Es gibt ,AT'-Befehle,
die Aktionen ermöglichen,
zum Beispiel: Ausführen
einer Bluetooth-Suche; Vergeben eines benutzerfreundlichen Namens
für das
Gerät;
Erstellen von Bluetooth-Verbindungen; Abbrechen bestehender Verbindungen
etc.
-
Befindet
sich die Schicht ,AT Protokoll' im
verbundenen Zustand, dann werden sämtliche Anwendungsdaten über RFCOMM
an die RF-Schicht geleitet, zu ihrer weiteren Übertragung an das entfernt
befindliche Gerät,
wobei dies dann über
die Bluetooth-Verbindung erfolgt.
-
Das
in 1 dargestellte System wurde als „unintelligentes" Bluetooth-Gerät als Ersatz
für ein
serielles Kabel beschrieben. Im Gegensatz dazu stellen die seriellen
Bluetooth-Adapter gemäß vorliegender
Erfindung, zum Beispiel das serielle Bluetooth-AT-Modul, einen „intelligenten" Ersatz für ein serielles
Kabel zur Verfügung.
Wird ein serielles Kabel durch das vorliegende System ersetzt, dann
müssen
dafür keine
zwei Bluetooth-Geräte miteinander
gekoppelt werden. Durch Verwendung des Befehlssatzes lassen sich
Verbindungen je nach und bei Bedarf aufbauen und abbrechen.
-
Darüber hinaus
vereinfacht das vorliegende System die bei den Hostgeräten benötigten Bedienelemente
und Verarbeitungsleistung derart, dass eingebettete Prozessoren
jederzeit die erforderliche Verarbeitung übernehmen können und dadurch die für die Hostgeräte erforderliche
Rekonfiguration/Neuprogrammierung auf einem überschaubaren Niveau gehalten
wird.
-
Diese
Faktoren ermöglichen
den Einsatz von Bluetooth-Verbindungen
in einem völlig
neuen Umfeld. Es wird nunmehr möglich,
ein zentrales Gerät
mit nur einem Bluetooth-Verbindungsgerät (zum Beispiel einem seriellen
Bluetooth-AT-Modul) zu verwenden, welches periodisch mit mehreren
anderen Geräten
mit seriellen Bluetooth-AT-Modulen
kommunizieren kann. Dabei kann die Kommuni kation zwischen dem zentralen
Gerät und
den anderen Geräten
durch ein Zeitmultiplexverfahren mehrfach zur Verfügung gestellt
werden.
-
Dies
lässt sich
natürlich
ohne menschlichen Eingriff und insbesondere ohne manuelle Intervention
am Standort eines jeden der anderen Geräte bewerkstelligen. Darüber hinaus
wird dies unter Verwendung von in sich selbst abgeschlossenen Einheiten – zum Beispiel
serieller Bluetooth-AT-Module – realisiert,
anstatt dafür separate,
externe und teure Verarbeitungsleistung und Systeme zu verwenden,
wie sie bei Techniken erforderlich sind, die auf der Verwendung
von PCs unter einem Windows-Betriebssystem basieren. Die in sich
abgeschlossenen Einheiten (autonome Module) enthalten auch die erforderliche
Antenne.
-
5 zeigt
schematisch ein System, bei dem serielle Bluetooth-AT-Module des
oben unter Bezugnahme auf 4 beschriebenen
Typs zum Einholen von Informationen von mehreren Geräten über Bluetooth-Verbindungen
eingesetzt werden können.
-
Das
System von 5 verfügt über eine zentrale Einheit 100 mit
einem Modem 101, welches über ein serielles Kabel an
ein serielles Bluetooth-AT-Modul 102 angeschlossen ist.
Dabei steht die zentrale Einheit in einer Spielhalle mit mehreren
Spielautomaten 104. In 5 sind zwar
nur drei Spielautomaten dargestellt, in der Praxis können jedoch
Spielautomaten in weitaus höherer
Anzahl vorhanden sein. Jeder Spielautomat 104 ist über ein
serielles Kabel an ein entsprechendes serielles Bluetooth-AT-Modul 102 angeschlossen.
-
Informationen über den
Betrieb eines jeden Spielautomaten 104 werden am jeweiligen
Spielautomaten 104 aufgezeichnet. Diese Informationen können beispielsweise
den Geldbetrag in der Geldkassette des Automaten einschließen. Wir
gehen davon aus, dass der Wunsch besteht, die Informationen in einer
Rechenzentrale an einem zentralen Standort, auf die über das
Modem 101 zugegriffen werden kann, zu protokollieren und/oder
durchzusehen.
-
Während eines
Initiierungsstadiums wird das serielle Bluetooth-AT-Modul 102 an
jedem Spielautomaten 104 in einen empfangsbereiten Zustand
versetzt, indem der jeweilige Spielautomat 104 entsprechende AT-Befehle
ausgibt. Die seriellen Bluetooth-AT-Module 102 bleiben
in diesem Zustand und sind somit stets zum Empfang und zum Senden
von Daten über
die Bluetooth-Verbindung 2 an die zentrale Einheit 100 bereit.
-
Durch
das Einholen der gewünschten
Informationen kann die Rechenzentrale am zentralen Standort der
Reihe nach eine Verbindung zu jedem Spielautomat 104 aufbauen.
Wird eine Verbindung von der Rechenzentrale initiiert, dann muss
zuerst eine Verbindung zwischen dem Computer, seinem Modem und dem
Modem 101 der zentralen Einheit 100 aufgebaut
werden. Dann gibt das Modem 101 der zentralen Einheit 100 AT-Befehle
an das serielle Bluetooth-AT-Modul 102 der zentralen Einheit
aus. Diese Befehle schließen
die Identität des
Spielautomaten 104 ein, zu dem eine Verbindung hergestellt
werden soll – im
ersten Fall des Spielautomaten 1. Geeignete Bluetooth-Signale werden
dann von der zentralen Einheit 100 übertragen und von dem seriellen
Bluetooth-AT-Modul 102 eines jeden Spielautomaten 104 erfasst.
Aufgrund der Tatsache jedoch, dass die Signale die Identität des Spielautomaten
1 enthalten, werden geeignete AT-Befehle nur zwischen dem Spielautomaten
1 und seinem seriellen Bluetooth-AT-Modul 102 ausgetauscht,
wodurch die Verbindung zwischen der Rechenzentrale und dem Spielautomaten
1 aufgebaut wird. Nach Aufbau der Verbindung können Daten vom Spielautomaten
1 an die Rechenzentrale übertragen
werden. Dabei ist anzumerken, dass die Bluetooth-Datenverbindungen
fakultativ auch so konfiguriert werden können, dass sie verschlüsselt sind,
um dadurch ein unbefugtes „Abhören" der Daten zu verhindern.
-
Nach
Abschluss dieser Übertragung
kann eine Verbindung zum Spielautomaten 2 initiiert werden und so
weiter.
-
Bei
Alternativen kann ein komplexeres, alternierendes („interleaved") Zeitmultiplexsystem
dann zum Einsatz kommen, wenn es unangemessen ist zuzulassen, dass
ganze Datensätze
in einem Block übertragen werden.
Es können
dabei für
jedes Gerät
einmal je aufeinanderfolgender vorbestimmter Perioden Zeitschlitze vergeben
werden. Allgemein gesagt sind den Anwendungsmöglichkeiten der vom vorliegenden
System bereitgestellten Fähigkeiten
kaum Grenzen gesetzt.
-
Andere
Fälle,
in denen Systeme gemäß vorliegender
Anmeldung eingesetzt werden können,
sind unter anderem: Verbindungen zwischen einer elektronischen Kasse
und mehreren Süßwaren-/Getränkeautomaten;
Verbindungen zwischen einer entfernt befindlichen Datenprotokollierungsvorrichtung
und einem bluetoothfähigen
Mobiltelefon und weiter zu einem Zentralrechner; und Verbindun gen
zwischen einem Zentralrechner und mehreren Geräten einer Testeinrichtung.
-
Anlage 1
-
Technischer Vorschlag
-
Intelligenter Serieller
Bluetooth-Adapter
-
1. Einführung
-
Der
auf der Chip-Gruppe BC02 von TDK basierende Bluetooth-USB-Adapter
vermittelt über
einen fakultativen Steckverbinder mit 40 Kontaktanschlüssen (Pins)
Zugang zu folgenden Signalen:
-
Dies
bedeutet, dass es nunmehr – bei
entsprechenden Änderungen
der Firmware – möglich ist,
ein Kabel zu konstruieren, das über
eine UART-Schnittstelle Zugang zum Bluetooth-Modul vermittelt. Dabei
kann das Kabel passiv sein, nämlich
für eingebettete
Anwendungen, bei denen das Hostgerät eine UART-Schnittstelle auf
,TTL'-Ebene bietet,
ODER es kann aktiv sein, im Fall einer Umsetzung auf RS232-Ebene.
-
Bei
der Hardware-Fähigkeit
allein bleibt es jedoch nicht. Es muss nämlich auch angesprochen werden, wie das
Gerät „anzusteuern" ist. Diesbezüglich gibt
es drei Optionen: (1) über
das UART H4 HCI Protokoll, (2) über
das UART BCSP HCI Protokoll, (3) unmittelbar („raw"). In den ersten beiden Fällen ist
ein Bluetooth-Stapel beim Hostgerät erforderlich, während bei
der dritten Option davon ausgegangen wird, dass der Bluetooth-Stapel
in der Firmware des Geräts
eingebettet ist, und jedwede über
die UART-Schnittstelle an es angelegte Daten werden per Funk über ein
serielles Portprofil (SPP) übertragen.
-
Wird
unser Gerät
in Form der Optionen (1) und (2) angeboten, dann impliziert dies,
dass unsere Kunden für
ihre bestimmte Anwendung und Plattform erheblich in die Entwicklung
und/oder den Erwerb eines eingebetteten Bluetooth-Stapels investieren
müssen.
Dies stellt gegenwärtig
ein großes
Hindernis dar, das eine breitere Anwendung von Bluetooth-Funklösungen in
diesem Marktsektor verhindert.
-
Option
(3) hingegen bietet die leichteste, schnellste und kosteneffizienteste
Möglichkeit
für Bluetooth, sich
in dem Marktsegment für
eingebettete Systeme/vertikale Integration durchzusetzen.
-
In
dieser Schrift ist der technische „Nachweis der Funktionsfähigkeit
des Konzepts" für einen
intelligenten seriellen Bluetooth-Adapter im Gegensatz zum konventionelleren
seriellen Bluetooth-Adapter als ,Kabelersatz' beschrieben.
-
2. Konventioneller
serieller Adapter als Kabelersatz
-
Von
CSR gibt es ein Referenzdesign für
ein Bluetooth-Modul
als Kabelersatz auf der Grundlage ihrer Chipgruppen BC01 und BC02.
-
Wie
funktioniert es?
-
Aus
Sicht eines Benutzers liegt eine Situation vor, bei der zwei intelligente
Geräte über ein
serielles Kabel miteinander kommunizieren. Der Benutzer nimmt also
zwei „serielle
Kabelersatz-Adapter" mit
der gleichen Art von Steckverbindern wie die Kabel und steckt diese
in die entsprechende Anschlüsse
an beiden Enden der seriellen Datenverbindungsstrecke ein.
-
Dann
findet eine ,Einmal'-Prozedur
statt, bei der diese beiden Geräte
miteinander gekoppelt werden und ab diesem Zeitpunkt zeigt sich
für die
miteinander kommunizierenden Geräte
kein Unterschied dahingehend, dass die Datenverbindungsstrecke jetzt
virtueller Natur ist.
-
Soll
dann eines dieser Geräte
mit einem anderen Gerät
benutzt werden, so müssen
dafür erst
die zwei Geräte
durch manuellen Eingriff voneinander entkoppelt werden, damit sie
anderweitig wieder eingesetzt werden können. Vermutlich wird sich
angesichts dieses manuellen Eingriffs die Durchsetzung eines solchen
Geräts
auf dem Markt für
eingebettete Lösungen
erheblich verzögern.
-
Dies
impliziert, dass ein ohne manuellen Eingriff rekonfigurierbarer
serieller „Kabelersatz"-Adapter wün schenswert
ist. Damit dieser für
den Markt für
eingebettete Lösungen
interessanter wird, muss das Rekonfigurierungsprotokoll möglichst
einfach sein und vorzugsweise Konzepte aus bestehenden Protokollen
verwenden oder zu Leihe nehmen.
-
Im
nächsten
Abschnitt ist ein solches Gerät
beschrieben, das vom bereits existierenden USB-Bluetooth-Adapter
der Anmelder ausgeht und entsprechend angepasst wurde.
-
3. Intelligenter
serieller Bluetooth-Adapter
-
Die
Idee für
ein derartiges Gerät
ergab sich daraus, dass die Bluetooth-Kommunikation auf eine den Fernsprechmodems
sehr ähnliche
Weise verbindungsorientiert ist. In beiden Fällen gibt es ein Konzept von ,Online'-(also „verbunden") und ,Offline'-(also „nicht verbunden")Betriebsmodi, im
letzteren Fall gibt es auch ein Konzept eines ,Befehls'-Modus.
-
Zieht
man diesen Vergleich weiter, dann ergibt sich die logische Schlussfolgerung,
dass eine Untermenge des AT-Befehlsprotokolls
einen sehr guten Kandidaten für
die Portierung auf einen seriellen Bluetooth-Adapter darstellt.
-
Dies
impliziert, dass der serielle Adapter – wie Fernsprechmodems – in einen
Funkmodus hochfahren sollte, in dem er weder verbunden noch empfangsbereit
und unintelligent ist und nur über
die serielle Schnittstelle reagiert. Dann kann genau wie bei der
Steuerung eines nor malen Modems das Hostgerät Befehle ausgeben, die dann
auf diverse, uns allen bekannte Bluetooth-Aktivitäten abgebildet
werden, zum Beispiel Anfrage, Warten auf Verbindung, Verbinden,
Koppeln, Verschlüsselung
etc.
-
Bei
diesem Gerät
gibt es eine serielle Schnittstelle und einen Endpunkt für Funkkommunikation.
Letzterer hat ein Konzept verbundener und nichtverbundener Moden
und erstere hat ein Konzept von Befehls- und Online-Modus. Daraus
ergibt sich eine 2×2-Matrix
von vier Zuständen,
die nachstehend dargestellt ist.
-
-
Dabei
ergibt eine Kombination, nämlich „ohne Funkverbindung" und „Online-Modus", keinen Sinn und wird
daher außer
Acht gelassen.
-
Ein
Navigieren zwischen diesen Zuständen
erfolgt unter Verwendung einer Untermenge von AT-Befehlen, und diese
sind ausführlich
im nächsten
Abschnitt erläutert.
-
3.1 Digitaler & Analoger Eingang/Ausgang
(I/O)
-
Das
Modul vermittelt Zugriff auf 8 digitale Ein-/Ausgangsleitungen und
2 Analogleitungen. Letztere können
als AD-Wandler oder DA-Wandler konfiguriert sein.
-
Zugriff
auf diese Leitungen erfolgt über
den ATS-Befehl. Dabei haben Schreibvorgänge auf diese die Form ATSnnn=mmm
und Lesevorgänge
die Form ATSnnn?.
-
Mehr
dazu in Abschnitt 3.2.7. Grundsätzlich
sind S-Register im Bereich 600 bis 699 für den Zugriff auf diese Ein-/Ausgangsleitungen
vorgesehen.
-
Zum
Beispiel führt
der Befehl ATS601? zum Einlesen über
die analoge Leitung 1 dazu, dass der zuletzt erstellte Wert zurückgeschickt
wird. Wäre
Leitung 2 als Ausgang konfiguriert, dann erzeugt entsprechend ATS602=100
einen neuen analogen Wert. Alle als Ausgänge konfigurierten digitalen
Leitungen werden durch ATS6xx=1 gesetzt und unter Verwendung von
ATS6xx=0 zurückgesetzt.
-
3.2 AT-Befehlssatz
-
3.2.1 Annahmen
-
Die
Chip-Gruppe BC02 im TDK-Adapter ist speicherressourcenbegrenzt.
Es wird ebenfalls NICHT vorgeschlagen, das AT-Protokoll vollständig zu
implementieren, wie dies bei Modems der Fall ist. Was für dieses Gerät beansprucht
wird, ist, dass es ein Protokoll ähnlich einem AT-Modem hat.
-
Daher
wird von folgenden Annahmen ausgegangen:
- – Alle Befehle
werden mit dem Wagenrücklaufzeichen
0x0D beendet, das in den nachstehenden Ausführungen durch die Zeichenfolge <cr> dargestellt ist und
nicht verändert
werden kann.
- – Bei
allen Antworten vom Adapter geht der Antwort ein Zeilenvorschubzeichen
(„live
feed", lf) voran
bzw. ist dieser ein Wagenrücklaufzeichen
(„car riage
return", cr) angehängt. Diese
Zweizeichenfolge hat den Wert 0x0A bzw. 0x0D und wird von der Zeichenfolge <lf,cr> dargestellt und kann
nicht verändert
werden.
- – Alle
Bluetooth-Adressen werden durch eine feste 12-stellige Hexadezimalziffernfolge
dargestellt.
- – Alle
Klassencodes für
Bluetooth-Geräte
werden durch eine feste 6-stellige Hexidezimalziffernfolge dargestellt.
- – Alle
neuen Bluetooth-spezifischen Befehle werden durch die Folge +BTx
identifiziert, bei der x eine mnemonische Abkürzung für die beabsichtigte Funktionalität ist.
- – Das
Gerät befindet
sich STETS im nicht-wiederholenden Modus („Non-Echo").
- – Alle
AT-Befehle sind in Großbuchstaben
angegeben und davor oder danach sind keine Zwischenräume (sog.
Whitespaces) zulässig.
-
3.2.2. AT
-
- Antwort: <lf,cr>OK<lf,cr>
-
3.2.3. ATZ {Zurücksetzen}
-
Dadurch
wird das Gerät
in einen bekannten Zustand zurückgesetzt,
bei dem es sich um den Befehlsmodus ohne Bluetooth-Verbindung handelt.
Alle S-Register werden ebenfalls auf Grundeinstellung gesetzt.
- Antwort: <lf,cr>OK<lf,cr>
-
3.2.4. ATR {Zurücksetzen
der Hardware}
-
Zwingt
das Gerät,
ein Rücksetzen
der Hardware durchzuführen.
Dadurch können Änderungen
am PS-Speicher wirksam werden. Zum Beispiel eine Übertragungsratenänderung
(in Baud) durch einen ATS520-Befehl. Es dauert ca. 2 Sekunden, bis
das Gerät
danach wieder auf AT-Befehle antwortet.
- Antwort: <lf,cr>OK<lf,cr>,
und dann findet ein Rücksetzen
statt
-
3.2.5 AT&F {Setzen der
Hersteller-Grundeinstellungen}
-
Installieren
der Grundeinstellungswerte in allen S-Registern. Setzen des benutzerfreundlichen
Gerätenamens
auf „TDK
nnn", wobei nnn
die Bluetooth-Adresse darstellt. Setzen des Geräteklassencodes auf FFFFFF.
- Antwort: <lf,cr>OK<lf,cr>
-
3.2.6 ATIn {Informationen}
-
Hierdurch
erhält
man als Rückantwort
Informationen über
das Modul. Zum Beispiel Seriennummern, Herstellerangaben etc.
-
Im
Fall von n=0 kommt als Rückantwort
die CSR-Chip-Gruppe
- Antwort: <lf,cr>BC2<lf,cr>OK<lf,cr>
-
Bei
n=1 kommt als Rückantwort
die Versions- oder Baureihennummer der CSR-Firmware, zum Beispiel
- Antwort: <lf,cr>310<lf,cr>OK<lf,cr>
-
Bei
n=2 kommt als Rückantwort
die TDK-Speicherabbildnummer („Image
Number"), zum Beispiel
- Antwort: <lf,cr>06G<lf,cr>OK<lf,cr>
-
Bei
n=3 kommt als Rückantwort
die Serien- oder Versionsnummer der virtuellen Maschine, zum Beispiel
- Antwort: <lf,cr>1.01<lf,cr>OK<lf,cr>
-
Bei
n=4 kommt als Rückantwort
die durch Doppelpunkte unterteilte Bluetooth-Adresse des Geräts
- Antwort: <lf,cr>aabbccddee<lf,cr>OK<lf,cr>
-
Bei
n=5 kommt als Rückantwort
die Herstellerangabe für
dieses Gerät
- Antwort:
<lf,cr>TDK Systems Europe
Ltd, UK<lf,cr>OK<lf,cr>
-
3.2.7 ATSn=nnnn {Setzen
des S-Registers}
-
Es
gibt ein Konzept von Registern, die zum Speichern von Parametern
verwendet werden, beispielsweise des Escape-Sequenz-Zeichens, der
Anfrageverzögerungszeit
etc. wie nachstehend ausführlich
aufgeführt.
- Antwort: <lf,cr>OK<lf,cr>
-
Wird
das Register nicht erkannt oder der angegebene Wert liegt außerhalb
des Bereichs, dann
- Antwort: <lf,cr>ERROR
nn<lf,cr>
-
3.2.8 ATSn? {Abfrage S-Register}
-
Dies
liefert den aktuellen Wert von Register n.
-
Bei
erkannten Werten von n
- Antwort: <lf,cr>(entsprechender
Wert)<lf,cr>OK<lf,cr>
-
Bei
nicht erkannten Werten von n
- Antwort: <lf,cr>ERROR
nn<lf,cr>
-
3.2.9 ATD123456789012
{Verbindungsaufbau}
-
Aufbau
einer Verbindung zu dem Gerät
mit der Bluetooth-Adresse
123456789012. Zugriffsberechtigungsprüfung und Verschlüsselung
erfolgen gemäß S-Registern
500 und 501. Die Zeitabschaltung wird vom S-Register 505 vorgegeben.
- Antwort: <lf,cr>CONNECT<lf,cr>
-
3.2.10 +++ {Eintritt in
den Befehlsmodus}
-
Normalerweise
ist dies die Escape-Sequenz, um ein im Online-Zustand befindliches
Modem in den Befehlsmodus zu zwingen. Da dieses Gerät aber auch
zum Verbinden eines Mobiltelefonmodems über ein serielles Bluetooth-Portprofil verwendet
werden könnte,
könnte
es zu einer erheblichen Verwechslungsgefahr kommen, deshalb wird
die als nächstes
beschriebene Sequenz ^^^ verwendet.
-
3.2.11 ^^^ {Eintritt in
den Befehlsmodus}
-
Im
Online- und verbundenen Modus kann das Hostgerät das Gerät in einen Befehls- und verbundenen Modus
zwingen, so dass AT-Befehle an das Gerät ausgegeben werden können. Das
Zeichen bei dieser Escape-Sequenz ist im S2-Register angegeben, lässt sich
also ändern.
Ferner wird die Schutzzeit für
die Escape-Sequenz vom S-Register 12 vorgegeben. Gemäß Grundeinstellung
ist die Schutzzeit auf 100 Millisekunden gesetzt. An dieser Stelle
wird auf Abschnitt 5: Verbindungsabbruch zugunsten relevanterer
Informationen verwiesen.
- Antwort: <lf,cr>OK<lf,cr> {muss entschieden
werden}
-
3.2.12 ATA {Annehmen eines
Anrufs}
-
Annehmen
einer eingehenden Verbindungsanfrage. Wird angezeigt durch die unaufgeforderte
Zeichenfolge <lf,cr>RING 123456789012<lf,cr> im Sekundentakt. Dabei
ist 123456789012 die Bluetooth-Adresse des die Verbindung aufbauenden
Geräts.
- Antwort: <lf,cr>CONNECT<lf,cr>
-
3.2.13 ATH {Verbindungsabbruch}
-
Abbruch
einer bestehenden Verbindung oder Ablehnen einer durch unaufgeforderte
,RING'-Mitteilungen
angezeigten eingehenden Verbindungsanfrage
- Antwort: <lf,cr>OK<lf,cr>
-
3.2.14 ATO {Eintritt in
den Online-Modus} (Buchstabe ,o')
-
Rückkehr in
den Online-Datenmodus. Nach Empfang von OK wird in den Online-Modus
geschaltet. Besteht keine Bluetooth-Verbindung, dann kommt als Antwort
,ERROR', also Fehler.
- Antwort: <lf,cr>OK<lf,cr>
oder
- Antwort: <lf,cr>ERROR nn<lf,cr>
-
3.2.15 AT+BTO {Öffnen und
Einheit erkennbar machen}
-
Nach
dem Hochfahren und (dem Befehl) ATZ wird dieser Befehl gesendet,
so dass RFCOMM initialisiert und geöffnet wird und der in AT+BTN
angegebene Dienstname über
die SDP-Registrierdatenbank („Registry") offengelegt wird.
-
3.2.16 AT+BTQn {Freigabe/Sperren
von Inquiry Scans}
-
Bei
n=0 werden Inquiry Scans gesperrt und bei n!=0 werden Inquiry Scans
freigegeben. Bei freigegebenem Inquiry Scan impliziert dies, dass
dieses Gerät
auf Anfragen von anderen Geräten
antwortet.
- Antwort: <lf,cr>OK<lf,cr>
-
3.2.17 AT+BTK="012345" {Paßschlüssel Setzen}
-
Verwenden
des Paßschlüssels 012345
für alle
nachfolgenden Zugriffsberechtigungsprüfungen. Der Wert wird als Zeichenfolge
und nicht als Zahl gespeichert, um sicherzustellen, dass führende Nullen
beibehalten werden.
- Antwort: <lf,cr>OK<lf,cr>
-
3.2.18 AT+BTI {Anfragen}
-
Dies
veranlasst, dass das Gerät
eine Anfrage nach Verzögerungs
Millisekunden und max Anzahl eindeutiger Antworten durchführt, wobei
Verzögerung
von S-Register 502 und max vom S-Register 503 spezifiziert wird.
Die Art der Antwort wird vom S-Register 504 spezifiziert. Das Format
der Antworten ist wie folgt:
- S504=0 liefert nur die Bluetooth-Adressen.
Antwort:
<lf,cr>12346789012
<lf,cr>12345678913
<lf,cr>12345678914
<lf,cr>OK<lf,cr>
S504=1
liefert die Bluetooth-Adressen und Geräteklassencode als aus 6 Zeichen
bestehende Hexadezimalziffernfolgen.
Antwort:
<lf,cr>12346789012,123456
<lf,cr>12345678913,123456
<lf,cr>12345678914,123456
<lf,cr>OK<lf,cr>
S504=2
ergibt das selbe wie S504=1, jedoch zusätzlich noch den benutzerfreundlichen
Namen in Anführungszeichen.
Enthält
der benutzerfreundliche Namen eingebettete " Zeichen, dann werden diese als "" entwertet.
Antwort:
<lf,cr>12346789012,123456,"TDK AT DONGLE 1"
<lf,cr>12345678913,123456,"TDK AT DONGLE 2"
<lf,cr>12345678914,123456,"TDK AT DONGLE 3"
<lf,cr>OK<lf,cr>
-
3.2.19 AT+BTX {Sperren
von Page Scanning}
-
Sperren
des Page Scanning. Dies bedeutet, es werden keine eingehenden Verbindungen
angenommen.
- Antwort: <lf,cr>OK<lf,cr>
-
3.2.20 AT+BTP {Freigabe
von wahllosem Page Scanning}
-
Freigeben
von Page Scanning und Warten auf eine Verbindung von jedwedem Gerät.
- Antwort: <lf,cr>OK<lf,cr>
-
3.2.21 AT+BTP123456789012
{Freigabe von eingeschränktem
Page Scanning}
-
Freigeben
von Page Scanning und Warten auf eine Verbindung von einem Gerät mit der
Bluetooth-Adresse 123456789012. Lautet die spezifizierte Adresse
000000000000, dann werden eingehende Verbindungen von jedwedem Gerät angenommen,
d.h. wie bei AT+BTP ohne bestimmte Adresse.
- Antwort: <lf,cr>OK<lf,cr>
-
3.2.22 AT+BTN="Mein benutzerfreundlicher
Name" {Setzen des
benutzerfreundlichen Namens}
-
Hierdurch
wird der benutzerfreundliche Name dieses Geräts gesetzt, wie er für andere
Geräte
sichtbar ist. Er wird in einem nichtflüchtigen Speicherbereich gespeichert.
- Antwort: <lf,cr>OK<lf,cr>
-
3.2.23 AT+BTR=123456 {Setzen
des Geräteklassencodes
für Anfragen}
-
Hierdurch
wird der Geräteklassencode
zur Verwendung für
alle nachfolgenden Anfragen gesetzt, was durch den Befehl AT+BTI
getriggert wird.
- Antwort: <lf,cr>OK<lf,cr>
-
3.2.24 AT+BTC=123456 {Setzen
des Geräteklassencodes
für Antworten
auf GK-Anfragen}
-
Hierdurch
wird der Geräteklassencode
dieses Geräts
gesetzt, wie er für
andere Geräte
sichtbar ist.
- Antwort: <lf,cr>OK<lf,cr>
-
3.2.25 AT+BTS="Neuer Dienstname" {Setzen des Dienstnamens}
-
Dadurch
wird der Dienstname gesetzt, wie er für andere Bluetooth-Geräte sichtbar
ist, wenn sie eine Diensteabfrage durchführen.
- Antwort: <lf,cr>OK<lf,cr>
-
Kann
der Dienstname aus irgendeinem Grund nicht gesetzt werden, dann
kommt eine Fehlerantwort ERROR 11 zurück.
-
4. Eingehende
Verbindungen
-
Das
Gerät lässt sich
unter Verwendung des AT+BTP-Befehls derart konfigurieren, dass es
nach eingehenden Verbindungen von anderen Bluetooth-Geräten „horcht". Die von CSR zur
Verfügung
gestellte RFCOMM API ist derart, dass eingehende Anrufe bei freigegebenem
Page Scanning IMMER angenommen werden. Durch das AT-Protokoll hat
ein Hostgerät
jedoch über
die Befehle ATA bzw. ATH immer die Wahl, den Anruf anzunehmen oder
auch nicht.
-
Wenn
also die unteren Schichten anzeigen, dass ein eingehender Anruf
angenommen wurde, dann wird eine RING 123456789012 Kette (im Sekundentakt)
an das Hostgerät
geschickt. Sendet das Hostgerät den
Befehl ATA, dann wird sofort CONNECT gesendet und das Gerät in den
Online-Modus geschaltet. Sendet das Hostgerät hingegen den Befehl ATH,
dann wird die Verbindung abgebrochen und eine OK Antwort zurückgeschickt.
-
5. Verbindungsabbruch
-
Bei
einem herkömmlichen
Fernsprechmodem wird ein Anruf normalerweise dadurch beendet, dass zuerst
eine Zeichenfolge +++, umgeben von einer Schutzzeit für die Escape-Sequenz
(in der Größenordnung von
100 bis 1000 Millisekunden) und dann der Befehl ATH gesendet wird.
-
Dieses
Gerät bietet
zwei Möglichkeiten
zum Abbrechen einer Verbindung. Dabei ähnelt ein Verfahren dem obigen,
wobei jedoch stattdessen eine ^^^-Zeichenfolge verwendet wird, damit
es zu keiner Mehrdeutigkeit kommt, wenn gerade ein Datenanruf über ein
Mobiltelefon erfolgt, der unter Verwendung des Bluetooth-AT-Modems
des Mobiltelefons hergestellt wurde. Beim zweiten Verfahren setzt
das Hostgerät
die DTR-Handshaking-Leitung zurück.
-
Die
Fähigkeit
zum Abbrechen einer Verbindung unter Verwendung der Escape-Sequenz
^^^ wirkt sich jedoch schwerwiegend auf den Datendurchsatz aus,
tatsächlich
hat die Datenrate dann eine Größenordnung von
40 kbps anstelle von ca. 200 kbps. Um dieser Leistungsstörung Rechnung
zu tragen, lässt
sich die Fähigkeit
des Geräts
zum Verbindungsabbruch so konfigurieren, dass sie einen von zwei
Modi umfasst.
-
Dabei
ermöglich
Modus 1 das Abbrechen einer Verbindung unter Verwendung eines der
beiden Verfahren, und Modus 2 ermöglicht den Verbindungsabbruch
unter Verwendung nur des DTR-Verfahrens. Von seiner Grundeinstellung
her befindet sich das Gerät
in Modus 1. Dieser Modus wird unter Verwendung des S507-Registers
gewählt.
Siehe die in einem Abschnitt weiter oben beschriebene S-Registertabelle.
-
6. Fehlerantworten
-
Alle
Fehlerantworten vom Gerät
liegen in der Form <lf,cr>ERROR nn<lf,cr> vor, wobei nn eine
Zahl im Bereich von 000 bis 999 ist. Bei einem Fehlerwert unter
100 sind führende
Nullen vorhanden.
-
Die
Fehlerwerte sind wie folgt bezeichnet:
-
7. RS232-Signalpinabbildung
-
Beim
seriellen TDK-Adapter wird es sich genau wie bei einem Fernsprechmodem
um ein DCE-Gerät handeln,
daher werden die am Verbinder gemäß Abschnitt 1 vorgesehenen GPIO-Pins
zur Bereitstellung der Steuersignalfunktionalität eingesetzt.
-
Die
Abbildung ist dabei wie nachstehend angegeben, wobei bezüglich der
Richtung aus der Sicht des Geräts
und nicht aus derjenigen des Hostgeräts ausgegangen wird.
-
-
Anmerkungen:
-
- – Der
GPIO-Pin 3 (CI) ist normalerweise rückgesetzt. Wird eine eingehende
Verbindung entdeckt, dann wird er gesetzt, bis die Verbindung unter
Verwendung von ATA bzw. ATH entweder beantwortet oder zurückgewiesen
wird.
- – Der
Zustand von GPIO-Pin 4 (DTR) wird über RFCOMM an das Ferngerät übertragen,
um dem verbundenen Gerät/Hostgerät den Bereit-Zustand
des Hostgeräts
anzuzeigen.
- – Der
GPIO-Pin 6 (DCD) ist rückgesetzt,
wenn sich das Gerät
im nichtverbundenen Zustand befindet. Gesetzt, wenn eine Verbindung
aktiv ist. Da dieser Pin am vorliegenden Gerät auch eine LED steuert, wird außerdem eine
Verbindung auch visuell angezeigt.
- – Der
GPIO-Pin 7 (DSR) ist eine Anzeige an das Hostgerät, dass dieses Gerät verfügbar ist.
Er ist ebenfalls mit einer LED am Gerät verbunden.
-
RTS
und CTS können
gegenwärtig
(gemäß Bluelab
v2.4) nicht über
die virtuelle Maschine gesteuert werden. Sie werden von dem Treiber
der unteren Ebene gesteuert bzw. erfasst. Außerdem ist gemäß Bluelab v2.4
kein Ausschalten des Hardware-Handshakings möglich.
-
Die
GPIO-Pins 0, 1, 2 und 5 stehen zur Mehrzweckverwendung zur Verfügung.
-
8. Verwendungsfälle
-
8.1 Beispiel 1: Lichtschaltersteuerung
-
8.1.1 Hintergrund
-
Eine
kleine Mikrosteuerung steuert einen einzigen Lichtschalter. Der
serielle Port ist mit dem AT-Dongle verbunden und eine digitale
Ausgangsleitung treibt ein Relais, das ein Licht steuert. Das ferne
Hostgerät sendet
den Text „ON" (also „EIN") zum Einschalten
des Relais und „OFF" (also „AUS") zum Ausschalten
desselben. 8.1.2
AT-Befehlsfolge
-
8.2 Beispiel 2: Entfernter
Datenprotokollierer
-
8.2.1 Hintergrund
-
Ein
Datenprotokollierer an einem entfernten Ort sammelt Daten, die dann über ein
bluetoothfähiges Telefon
an einen zentralen Ort übertragen
werden. Es wird davon ausgegangen, dass auf den entfernten Ort über den
Telefonanschluss 02089388609 zugegriffen wird und dass der an das
Modem angeschlossene PC die Daten in eine Datei protokolliert, so
dass der Datenprotokollierer ledig lich eine Verbindung öffnen und
dann Textdaten entsprechenden den gesammelten Daten senden muss.
-
Es
wird davon ausgegangen, dass der Datenprotokollierer die BT-Adresse
des Telefons kennt und dass sie 123456789012 lautet.
-
Es
wird zudem davon ausgegangen, dass das Bluetooth-Telefon ein serielles
Portprofil zur Verfügung stellt, über das
auf ein AT-Modem zugegriffen werden kann. 8.2.2.
AT-Befehlsfolge