-
Die Erfindung betrifft ein Verfahren und ein
Kommunikationsgerät zur Kommunikationsvermittlung zwischen einem TCP/IP
Netzwerk und einem elektronischen Endgerät ohne
implementierte TCP/IP-Protokolle bzw. eines sogenannten "TCP/IP-Stacks".
Unter einem Protokollstack versteht man dabei die Gesamtheit
aller möglichen zusammenwirkenden und aufeinander
abgestimmten Protokolle, die eine vollständige Kommunikationsbeziehung
abdecken und erst ermöglichen. TCP/IP-Protokolle bilden
beispielsweise die Basis für die Kommunikation im Internet und
auch in einem Intranet einer Firma. IP steht für Internet
Protocol, TCP für Transmission Control Protocol.
Elektronische Endgeräte, auch als sogenannte "Client Applikationen"
bezeichnet, die Kommunikationsgeräte benutzen, um Zugang zu
einem TCP/IP-Netzwerk, wie beispielsweise zu dem Internet
oder einem Intranet einer Firma zu erhalten, benötigen einen
eigenen implementierten TCP/IP-Stack, um eine Kommunikation
mit dem TCP/IP-Netzwerk vornehmen zu können. Die
Implementierung eines TCP/IP-Stacks benötigt allerdings sehr viele
Ressourcen, wie beispielsweise Arbeitsspeicher, sogenanntes RAM
(Random Access Memory), Rechenleistung und hohen
Entwicklungsaufwand. So benötigen beispielsweise alle Anwendungen
auf einem PDA, die ein GPRS-Mobilfunkgerät mit GPRS benutzen
wollen einen eigenen TCP/IP-Stack. Viele Client-Applikationen
haben aus Ressourcenmangel nicht die Möglichkeit einen
eigenen TCP/IP-Stack zu implementieren. Als Beispiel kann dabei
ein Stromzähler angeführt werden, der einen gemessenen
Stromverbrauch an eine Zentrale sendet. Dabei könnte es
wünschenswert sein, den Stromzähler recht einfach zu konstruieren, was
durch ein gleichzeitiges Vorsehen eines TCP/IP-Stacks nicht
möglich wäre. Das schnurlose Versenden der Daten könnte als
Zusatzoption vorgesehen werden, wie beispielsweise als eine
Bestückungsvariante. Um Zugang zum Internet gewähren zu
können, ist, wie oben bereits erwähnt, ein Kommunikationsgerät
vorzusehen. Um zudem nun die Anbindung des Stromzählers an
das Internet so einfach wie möglich zu gestalten, wäre es
erforderlich alle kommunikationsspezifischen Software-
Protokolle in dem Kommunikationsgerät einzubinden. Als
weiteres Beispiel kann man eine MAUT-Einrichtung nennen, wie
beispielsweise eine Kopplung eines GPS-Moduls zur
Positionsbestimmung eines Fahrzeugs mit einem Kommunikationsgerät. Die
Position des Fahrzeuges kann so über das Internet an eine
Zentrale gesendet werden, die dann die anfallenden
Straßenbenutzungsgebühren berechnen kann. Dabei ist es auch
wünschenswert, die nicht ausreichenden Ressourcen im GPS-Modul nicht
erweitern zu müssen.
-
Bekannt ist es, einen TCP/IP-Stack in der Client Applikation
zu implementieren. Beispielsweise ist in allen Notebooks oder
PDAs, mit denen über ein Mobilfunkgerät eine Verbindung zum
Internet hergestellt werden kann, ein TCP/IP-Stack
implementiert. Dazu wird das Notebook bzw. das PDA über eine serielle
Schnittstelle oder über eine schnurlose serielle
Infrarotverbindung (IRDA) an das Mobilfunkgerät angeschlossen. Daraus
folgt, wie bereits erwähnt, ein höherer Bedarf an Speicher
und Rechenleistung. Allen anderen Anwendungen blieb der
Zugriff auf ein TCP/IP-Netzwerk bisher verwehrt. Dies hat zur
Folge, dass vielen mobilen Anwendungen die Verwendung der von
GPRS angebotenen höheren Transferraten verwehrt bleibt.
-
Eine Aufgabe der vorliegenden Erfindung war es somit, auch
Anwendungen ohne eigenen TCP/IP-Stack einen Zugriff auf ein
TCP/IP-Netzwerk zu ermöglichen.
-
Gelöst wird diese Aufgabe durch ein erfindungsgemäßes
Kommunikationsgerät gemäß Anspruch 1 und/oder durch ein
erfindungsgemäßes Verfahren gemäß Anspruch 6. Vorteilhafte
Ausführungsformen der Erfindung sind in den jeweiligen
Unteransprüchen angeführt.
-
Gemäß Anspruch 1 wird ein Kommunikationsgerät mit
implementierten TCP/IP-Protokollen, einer Kommando-Schnittstelle und
einer seriellen Schnittstelle bereitgestellt, wobei das
Kommunikationsgerät mittels eines Zusammenwirkens der Kommando-
Schnittstelle und der implementierten TCP/IP-Protokolle zur
Kommunikationsvermittlung eines elektronischen Endgerätes
ohne implementierte TCP/IP-Protokolle mit einem TCP/IP-Netzwerk
einsetzbar ist.
-
Bei dem elektronischen Endgerät kann es sich dabei
beispielsweise um ein PDA handeln, um eine Messeinrichtung, wie
beispielsweise um einen Stromzähler oder um eine Wetterstation,
um eine Steuereinheit, wie beispielsweise um eine
Lichtanlage, um einen Verkaufsautomaten oder um ein Kassenterminal für
Geldkarten.
-
In einer besonders bevorzugten Ausführungsform des
erfindungsgemäßen Kommunikationsgerätes ist die Kommando-
Schnittstelle eine AT-Schnittstelle bzw. ein sogenanntes AT-
Interface. Ein derartiges AT-Interface ist mit sogenannten
AT-Befehlen steuerbar. Die AT-Befehle können in einem Display
des elektronischen Endgerätes eingegeben werden und über die
serielle Schnittstelle an das Kommunikationsgerät gesendet
werden. Das Kommunikationsendgerät bzw. das AT-Interface des
Kommunikationsgerätes empfängt die AT-Befehle, interpretiert
deren Inhalt und löst die den AT-Befehlen zugrundeliegenden
Aktionen aus. Es sei angemerkt, dass erfindungsgemäß auch
jede andere Schnittstelle denkbar ist.
-
Bei den AT-Befehlssatz handelt es sich um einen von der Firma
Hayes entwickelten Befehlssatz (Hayes-Befehlssatz) zur
Steuerung beispielsweise eines Modems, eines Moduls oder ähnlicher
Funktionseinheiten. Dieser Befehlssatz beginnt mit dem Befehl
AT, für Attention, wovon sich auch der Namen ableitet. Dieser
Befehlssatz hat sich als Quasi-Standard entwickelt.
-
In einer bevorzugten Ausführungsform des erfindungsgemäßen
Kommunikationsgerätes ist das Zusammenwirken der Kommando-
Schnittstelle und der implentierten TCP/IP-Protokolle
programmgesteuert. Erfindungsgemäß wird ein Algorithmus
bereitgestellt, mit dessen Hilfe es möglich ist, den im
Kommunikationsgerät implementierten TCP/IP-Stack auch für externe
elektronische Endgeräte ohne implementierten TCP/IP-Stack
nutzbar zu machen. Über das AT-Interface werden von einem
derartigen Endgerät über die serielle Schnittstelle zum
Kommunikationsgerät gelangende Daten an den TCP/IP-Stack des
Kommunikationsgerätes weitergeleitet und von dort in
entsprechendem Format in ein TCP/IP-Netzwerk, wie beispielsweise ins
Internet oder in ein Intranet einer Firma transferiert.
Entsprechendes Vorgehen kann in der Umkehrrichtung, d. h. von
einem TCP/IP-Netzwerk zu dem Endgerät vorgenommen werden. Das
funktionale Interface des TCP/IP-Stacks wird auf das AT-
Interface abgebildet. Das bedeutet, dass für jede Funktion,
die eine Implementierung des TCP/IP-Protokolls zur Verfügung
stellt, ein entsprechendes AT-Kommando bereitgestellt wird.
Es entsteht so ein vollständiger AT-Kommandosatz, mit dem
alle Funktionen für die Benutzung und die Konfiguration des
TCP/IP-Protokolls ausgeführt werden können.
-
Vorzugsweise gehört das erfindungsgemäße Kommunikationsgerät
zu einer Gruppe an Geräten, bestehend aus Modulen, Telefonen
und Modems.
-
Vorzugsweise ist das erfindungsgemäße Kommunikationsgerät in
einer Gruppe von Kommunikationssystemen einsetzbar ist, die
besteht aus GSM, GPRS, Bluetooth, EDGE, UMTS, DECT, HOMEFREE.
-
Ferner wird durch die Erfindung ein Verfahren zur
Kommunikationsvermittlung zwischen einem TCP/IP Netzwerk und einem
elektronischen Endgerät bereit gestellt, bei dem zwischen das
elektronische Endgerät und dem TCP/IP Netzwerk ein
Kommunikationsgerät mit implementierten TCP/IP-Protokollen, einer
Kommando-Schnittstelle und einer seriellen Schnittstelle
angeordnet wird, wobei die implementierten TCP/IP-Protokolle und
die Kommando-Schnittstelle programmgesteuert zusammenwirken.
-
Vorzugsweise wird als Kommando-Schnittstelle eine AT-
Schnittstelle bzw. ein sogenanntes AT-Interface gewählt.
-
In einer besonders bevorzugten Ausführungsform des
erfindungsgemäßen Verfahrens wird das Zusammenwirken der TCP/IP-
Protokolle bzw. des sogenannten TCP/IP-Stacks mit der AT-
Schnittstelle durch einen durch AT-Befehle realisierten
Algorithmus erzielt. Durch diesen Algorithmus wird die TCP/IP-
Schnittstelle auf die AT-Schnittstelle abgebildet, so dass
eine Kommunikation zwischen einem Endgerät ohne
implementierten TCP/IP-Stack mit einem TCP/IP-Netzwerk über ein
entsprechendes Kommunikationsgerät möglich wird.
-
Vorzugsweise wird das erfindungsgemäße Verfahren in einem
Kommunikationssystem durchgeführt, das zu einer Gruppe von
Kommunikationssystemen gehört, die besteht aus GSM, GPRS,
EDGE, Bluetooth, UMTS, DECT und HOMEFREE.
-
Im Folgenden werden drei Programmabläufe beschrieben:
Beispiel A
Abholen einer Email von einem POP3-Server
-
Im Folgenden gelten folgende Bezeichnungen:
→ Senden an das erfindungsgemäße Endgerät
← Empfangenen von dem erfindungsgemäßen Endgerät
-
Die einzelnen Programmschritte sind durchnumeriert. Eine
Erläuterung der AT-Kommandos findet sich im Anhang
1. Konfiguration der Verbindung
-
Zuerst wird ein Kommunikationsprofil erstellt, dass alle
notwendigen Daten enthält, um über einen Internet Service
Provider eine Verbindung zum Internet aufzubauen. Jedem
Konfigurationsprofile ist eine Verbindungs-ID zugeordnet.
2. Verbindung herstellen
-
Mit folgendem Kommando wird die Verbindung für das
entsprechende Kommunikationsprofil hergestellt, d. h. das
erfindungsgemäße Endgerät ist dann mit dem Internet verbunden.
3. IP-Socket anfordern
-
Für die Verbindung mit der Verbindungs-ID wird ein IP-Socket
erzeugt und der Identifikationsnummer zurückgegeben
4. Den IP-Socket mit Port (Anschlussposition) 110 auf dem
pop3-Server (Post Office Protocol) verbinden
5. In den Daten-Modus schalten
6. POP3-Protokoll: vorhandene Emails abholen
7. Zurück in den AT-Modus
8. IP-Socket schließen
9. Internet-Verbindung beenden
Beispiel B
Einrichten eines HTTP-Servers
-
1.-3. Wie in Beispiel A
4. IP-Socket auf Standard-HTTP-PORT 80 binden
5. Bereitschaft für Verbindungsanfragen herstellen,
Warteschlange einrichten
6. Signalisierung, dass ein Client in der Warteschlange ist
7. Client Verbindung annehmen
8. In den Daten-Modus schalten
9. HTTP-Protokoll: Client Anfragen bearbeiten
10. Zurück in den AT-Modus
11. IP-Socket schließen
12. Auf neue Clients warten
-
Weitere Vorteile sollen anhand der folgenden Figuren
aufgezeigt werden.
-
Fig. 1 Schematische Darstellung eines Zusammenspiels eines
elektronischen Endgerätes ohne implementierten TCP/IP-Stack
mit einer Ausführungsform eines erfindungsgemäßen
Kommunikationsgerätes;
-
Fig. 2 Schematische Darstellung eines Zusammenspiels eines
elektronischen Endgerätes ohne implementierten TCP/IP-Stack
mit einer weiteren Ausführungsform eines erfindungsgemäßen
Kommunikationsgerätes.
-
In Fig. 1 ist ein Kommunikationsgerät 1 über eine serielle
Schnittstelle 2 mit einem elektronischen Endgerät 3
verbunden. Durch Senden definierter Zeichenfolgen, sogenannter AT-
Befehle, über die serielle Schnittstelle 2 kann das
elektronische Endgerät 3 das Kommunikationsgerät 1 ansteuern.
Gleichzeitig kann das elektronische Endgerät 3 Zeichenfolgen
auf der Schnittstelle 2 empfangen. Dabei kann es sich um
Daten oder eine Signalisierung des Kommunikationsgerätes 1
handeln. Bei den von dem elektronischen Endgerät 3 gesendeten
AT-Befehlen handelt es sich um Kommandos, die die Funktionen
eines TCP/IP-Protokolls ansteuern. Der Programmteil in dem
elektronischen Endgerät 3, der die AT-Befehle versendet, kann
so über einen TCP/IP-Stack 4 des Kommunikationsgerätes 1 eine
Verbindung zum Internet 5 herstellen, und sowohl als
Internet-Client als auch als Internet-Server agieren.
-
Im Kommunikationsgerät 1 werden die AT-Befehle von einem
sogenannten AT-Interface 6 ausgewertet und die entsprechenden
Funktionen des TCP/IP-Protokolls aufgerufen. Wenn das
elektronische Endgerät 3 in einem Programmablauf Daten in das
Internet 5 senden will, so werden diese Daten mit Hilfe dieser
Funktionen in IP-Pakete verpackt. Um diese IP-Pakete in das
Internet 5 zu versenden, besitzt das Kommunikationsgerät 1
die Möglichkeit über verschiedene Kommunikationsprotokolle,
wie beispielsweise GSM, GPRS oder UMTS, eine Verbindung zum
Internet 5 aufzubauen.
-
In Fig. 2 ist eine serielle Schnittstelle 2 mit einem
Multiplex-Protokoll 7 versehen. Das Multiplex-Protokoll 7
ermöglicht über die serielle Schnittstelle 2, die einem
physikalischen Kanal entspricht, mehrere logische Kanäle 8 zu
benutzen. Jeder Internet-Anwendung 9 in dem elektronischen
Endgerät 3 ist ein logischer Kanal 8 zugeordnet. Über diesen
jeweiligen Kanal 8 kann die Internet-Anwendung die TCP/IP-AT-
Befehle versenden, bzw. Daten senden oder empfangen.
Entsprechend ist in dem Kommunikationsgerät 1 auch ein Multiplex-
Protokoll 10 vorgesehen. Jedem logischen Multiplexer-Kanal 11
ist dabei eine Instanz 12 des AT-Interfaces 6 zugewiesen,
d. h. dem Programmteil der die TCP/IP-AT-Befehle erkennt und
die entsprechenden Funktionen des TCP/IP-Stacks 4 aufruft.
Anhang
Generisches AT-Interface
!.AT Kommandos für die Handhabung einer physikalischen
Verbindung
1.1 Konfiguration der Verbindung
-
Mit diesem AT-Kommando wird ein Kommunikationsprofil
erstellt, dass alle notwendigen Daten enthält, um über einen
Internet Service Provider eine Verbindung zum Internet
aufzubauen. Jedem Konfigurationsprofile ist eine Verbindungs-ID
zugeordnet.
Kommando
1.2 Öffnen einer Verbindung
-
Wurde für eine Verbindungs-ID ein Konfigurationsprofil
erstellt, kann mit folgendem AT-Kommando versucht werden, die
Verbindung zum Internet aufzubauen.
Kommando
1.3 Status einer Verbindung abfragen
-
Mit diesem Kommando kann der Status einer Verbindung
abgefragt werden:
Kommando
1.4 Schließen einer Verbindung
Kommando
1.5 Signalisierung eines Verbindungsabbruchs
Naricht
2. AT Kommandos für IP Sockets
2.1 Abfrage der eigenen IP Adresse
Kommando
2.2 Ermittlung der IP-Adresse einer Internet-Namensadresse
Kommando
2.3 Aufbau eines IP-Sockets
Kommando
2.4 Schließen eines IP-Sockets
Kommando
2.5 Verbindung zu einem Server herstellen
Kommando
2.6 Binden eines Sockets an eine IP-Adresse und an einen
Port
Kommando
2.7 Bereitschaft für Verbindungsanfragen herstellen
Kommando
2.8 Signalisierung von Verbindungsanfragen
Naricht
2.9 Verbindungen annehmen
Kommando
2.10 Socket Status abfragen
Kommando
2.11 Daten über einen Socket senden
Kommando
2.12 Daten über einen Socket empfangen
Kommando
2.13 Schnittstelle für eine Socket in den Datenmodus schalten
-
Mit folgendem Kommando kann der Datenmodus auf der
Schnittstelle aktiviert werden, d. h. alle auf die Schnittstelle
gesendeten Daten werden über den angegebenen Socket gesendet.
Alle auf dem Socket empfangenen Daten werden direkt auf der
Schnittstelle ausgegeben.
Kommando
2.14 Schnittstelle zurück in den Kommandomodus schalten
[Pause 1 sec.] +++ [Pause 1 sec.]
Rückgabewert: OK
2.15 Indikation, dass Daten an einem Socket zum Empfang
bereit sind
-
Die folgende Nachricht signalisiert, dass Daten an einem
Socket zum Empfang bereit sind und durch Umschalten in den
Datenmodus, bzw. mit "+IPrecv" empfangen werden können.
Naricht
2.16 Indikation, dass ein Socket geschlossen wurde
Naricht