Studienarbeit Steuerung einer Hausautomatisierungsanlage über IrDA

Transcrição

Studienarbeit Steuerung einer Hausautomatisierungsanlage über IrDA
Technische Universität Ilmenau
Fakultät für Elektrotechnik und Informationstechnik
Studienarbeit
Steuerung einer Hausautomatisierungsanlage über IrDA
vorgelegt von:
Michael Reiß
geboren am:
Studiengang:
Elektrotechnik und Informationstechnik
Studienrichtung:
Informations- und Kommunikationstechnik
Verantwortlicher Professor:
Prof. Dr. rer. nat. habil. Jochen Seitz
Betreuender wiss. Mitarbeiter:
Dipl.-Ing. Michael Heubach
Beginn der Arbeit:
28.02.2004
Abgabe der Arbeit:
27.05.2004
Ilmenau, den 26.05.2004
Inhaltsverzeichnis
1 Einleitung
1
2 IrDA - Grundlagen
3
2.1
2.2
Der IrDA - Protokollstack . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1.1
Physical Layer (IrPHY) . . . . . . . . . . . . . . . . . . . . . .
4
2.1.2
Infrared Link Access Protocol (IrLAP) . . . . . . . . . . . . . .
6
2.1.3
Infrared Link Management Protocol (IrLMP) . . . . . . . . . .
7
2.1.4
IrLMP Information Access Service (LM-IAS) . . . . . . . . . . .
8
Optionale Protokolle des IrDA - Protkollstacks . . . . . . . . . . . . . .
8
2.2.1
Tiny Transport Protocol (TinyTP) . . . . . . . . . . . . . . . .
9
2.2.2
IrCOMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.2.3
IrOBEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.2.4
IrLAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.2.5
IrMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.2.6
IrTran-P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
I
INHALTSVERZEICHNIS
3 Architektur des Basisgerätes
II
11
3.1
Verfügbare Schnittstellen auf dem Basisgerät . . . . . . . . . . . . . . .
12
3.2
Anpassung des seriellen Signalpegels . . . . . . . . . . . . . . . . . . .
12
3.3
Verwendetes Betriebssystem . . . . . . . . . . . . . . . . . . . . . . . .
14
3.4
Die serielle Schnittstelle unter Linux . . . . . . . . . . . . . . . . . . .
14
4 Konzipierung der IrDA-Schnittstelle
16
4.1
Der IrDA-Protokollstack unter Linux . . . . . . . . . . . . . . . . . . .
16
4.2
Unterstützte IR-Dongles . . . . . . . . . . . . . . . . . . . . . . . . . .
17
4.3
Aufbau einer TCP/IP-Verbindung . . . . . . . . . . . . . . . . . . . . .
17
4.3.1
Das Point-to-Point Protocol . . . . . . . . . . . . . . . . . . . .
18
4.3.2
PPP-Verbindung über IrNET . . . . . . . . . . . . . . . . . . .
19
4.3.3
PPP-Verbindung über IrCOMM . . . . . . . . . . . . . . . . . .
21
5 Inbetriebnahme der IrDA-Schnittstelle
22
5.1
Konfiguration des Kernels . . . . . . . . . . . . . . . . . . . . . . . . .
22
5.2
Installation der irda-utils . . . . . . . . . . . . . . . . . . . . . . . . . .
25
5.2.1
Kompilierung und Installation des nicht kompilierten Pakets . .
25
5.2.2
Installation des vorkompilierten Debian-Pakets . . . . . . . . . .
27
5.3
Test der IrDA-Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . .
28
5.4
Installation und Konfiguration von SynCE . . . . . . . . . . . . . . . .
31
5.5
Installation und Konfiguration eines PPP-Servers . . . . . . . . . . . .
32
5.6
Start der notwendigen Prgramme für eine IrDA – TCP/IP-Verbindung
34
INHALTSVERZEICHNIS
III
6 Bewertung der Kommunikation über IrDA
37
A Umsetzer für die serielle Schnittstelle
39
A.1 Die COM-Schnittstelle auf dem Basisgerät . . . . . . . . . . . . . . . .
39
A.2 Schaltung des externen Schnittstellenumsetzers . . . . . . . . . . . . . .
40
B Installations- und Konfigurationsmaßnahmen
42
B.1 Installationsanleitung SynCE . . . . . . . . . . . . . . . . . . . . . . .
42
B.2 Einrichtung einer Direktverbindung unter Windows XP . . . . . . . . .
43
B.3 Herstellen einer Direktverbindung mit einem PDA . . . . . . . . . . . .
46
Abbildungsverzeichnis
2.1
IrDA - Protokollstack . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.2
Ablauf Informationstransfer auf IrLAP . . . . . . . . . . . . . . . . . .
7
3.1
LVTTL-Pegel, RS232C-Pegel
. . . . . . . . . . . . . . . . . . . . . . .
13
4.1
TCP/IP - Verbindung . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
5.1
Konfiguration des Kernels für IrDA . . . . . . . . . . . . . . . . . . . .
24
5.2
Konfiguration des Kernels für IrDA-Treiber . . . . . . . . . . . . . . . .
24
5.3
Start von IrDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
5.4
Ausgabe von irdadump . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
5.5
Ausgabe von ifconfig mit IrDA
. . . . . . . . . . . . . . . . . . . . . .
31
5.6
Ausgabe von ifconfig mit PPP . . . . . . . . . . . . . . . . . . . . . . .
35
5.7
Eigenschaften der PPP-Verbindung . . . . . . . . . . . . . . . . . . . .
36
A.1 Schaltung des Schnittstellenumsetzers . . . . . . . . . . . . . . . . . . .
40
A.2 Sicht auf geroutete Leiterplatte des Schnittstellenumsetzers . . . . . . .
40
B.1 Erstellen einer Direktverbindung . . . . . . . . . . . . . . . . . . . . . .
44
IV
ABBILDUNGSVERZEICHNIS
V
B.2 Eigenschaften der Direktverbindung . . . . . . . . . . . . . . . . . . . .
45
B.3 Direktverbindung herstellen . . . . . . . . . . . . . . . . . . . . . . . .
45
B.4 Aufruf von ActiveSync am PDA . . . . . . . . . . . . . . . . . . . . . .
46
B.5 Eigenschaften von ActiveSync . . . . . . . . . . . . . . . . . . . . . . .
47
Tabellenverzeichnis
1.1
Vorteile und Nachteile von IrDA gegenüber Bluetooth . . . . . . . . . .
2
4.1
Implementierung von IrDA-Protokollen in Windows / Linux . . . . . .
20
A.1 Pinbelegung COM-Schnittstelle auf Motherboard . . . . . . . . . . . .
39
A.2 Beschreibung der Signale auf COM-Schnittstelle . . . . . . . . . . . . .
39
A.3 Benötigte Bauelemente für den Umsetzer . . . . . . . . . . . . . . . . .
41
VI
Abkürzungsverzeichnis
4PPM . . . . . . . . Four Pulse Position Modulation
CRC . . . . . . . . . Cyclic Redundancy Check
FIR . . . . . . . . . . Fast Infrared
HDLC . . . . . . . High Level Data Link Protocol
IP . . . . . . . . . . . Internet Protocol
IR . . . . . . . . . . . Infrared
IrDA . . . . . . . . . Infrared Data Association
IrLAP . . . . . . . Infrared Link Access Protocol
IrLMP . . . . . . . Infrared Link Management Protocol
LAN . . . . . . . . . Local Area Network
LISTIG . . . . . . LAN-integriertes Steuerungssystem für intelligente Gebäudetechnik
LM-IAS . . . . . . IrLMP Information Access Service
LVTTL . . . . . . Low Voltage TTL
NDM . . . . . . . . Normal Disconnect Mode
NRM . . . . . . . . Normal Response Mode
PPP . . . . . . . . . Point-to-Point Protocol
RZI . . . . . . . . . . Return-to-Zero, inverted
SIR . . . . . . . . . . Serial Infrared
TCP . . . . . . . . . Transmission Control Protocol
TinyTP . . . . . . Tiny Transport Protocol
VFIR . . . . . . . . Very Fast Infrared
VII
Kapitel 1
Einleitung
Die elektronische Steuerung von Anlagen und Geräten in einem Haus über eine Automatisierungseinrichtung ist derzeit ein stark expandierendes Marktsegment. Schon
heute werden Geräte angeboten, die ausgehend von einer Hauszentrale Heizkörper,
Steckdosen, Rolläden und viele weitere Geräte über Funk steuern können. Es existiert
jedoch bei den angebotenen Automatisierungseinrichtungen kein allgemein anerkannter
Standard zur Steuerung der Anlage. Es ist bis jetzt nicht möglich, über ein beliebiges
Endgerät auf eine Hauszentrale zuzugreifen.
Durch das Projekt LAN-integriertes Steuerungssystem für intelligente Gebäudetech”
nik“ (LISTIG) soll erreicht werden, dass über ein einheitliches Basisgerät die verschiedenen Automatisierungseinrichtungen gesteuert werden können. Die Kommunikation
mit dem Basisgerät soll weiterhin mit beliebigen Endgeräten möglich sein. Abhängig
von den Endgeräten müssen somit unterschiedliche Kommunikationstechniken vom Basisgerät unterstützt werden.
Eine heute bei Endgeräten weit verbreitete Technik ist die Kommunikation über InfrarotLicht. Auch wenn mittlerweile neuere Kommunikationstechniken wie Bluetooth existieren, kann man einige Vorteile für eine Verbindung über einen Infrarot-Lichtstrahl nennen. Die Vergleichbarkeit von IrDA und Bluetooth ist gegeben, da sich beide Systeme
nur für die drahtlose Übertragung von Daten über kurze Entfernungen eignen.
1
KAPITEL 1. EINLEITUNG
Technik
IrDA
Vorteile
2
Nachteile
große Verbreitung bei Endgeräten nur sehr kurze Reichweite (bis 2 m)
sehr billig
direkte Sichtverbindung notwendig
keine Probleme mit EMV
Einfluß von Umgebungslicht
hohe Übertragungsraten möglich
keine Verschlüsselung
geringer Stromverbrauch
Bluetooth
größere Reichweite (bis 100 m)
eingeschränkter Frequenzbereich
kein Sichtkontakt notwendig
kleine Verbreitung bei Endgeräten
Verschlüsselung
elektromagnetische Störquellen
teurere Komponenten
Tabelle 1.1: Vorteile und Nachteile von IrDA gegenüber Bluetooth
Besonders der Vorteil der großen Verbreitung bei Endgeräten, welche sicherlich aus
den extrem niedrigen Kosten für eine Infrarot-Schnittstelle folgt, machen diese al”
te“ Technik trotz der vorhandenen Nachteile zur drahtlosen Kommunikation mit dem
Basisgerät interessant.
Das Ziel dieser Studienarbeit ist es, für das vorgegebene Basisgerät eine InfrarotSchnittstelle zu konzipieren und diese in Betrieb zu nehmen. Es soll untersucht werden,
mit welchen Endgeräten ein drahtloser Zugriff auf das Basisgerät über Infrarot möglich
ist. Abschließend soll eine Bewertung hinsichtlich Störanfälligkeit und Reichweite dieser
Kommunikationstechnik getroffen werden.
Kapitel 2
IrDA - Grundlagen
Die Infrared Data Assocation 1 (IrDA) ist eine im Juni 1993 von 50 Firmen gegründete
Nonprofit-Organisation von Geräte- und Softwareherstellern. Das Ziel der Organisation
ist die Entwicklung eines herstellerübergreifenden Standards für die Kommunikation
über Infrarot-Licht.
Die IrDA-Spezifikationen kann man in zwei grundlegende Standards unterteilen. Die
Spezifikation IrDA DATA wurde 1994 (IrDA 1.0 – SIR) für bidirektionale, kabellose Point-to-Point Verbindungen mittels Infrarot-Licht definiert. Dieser bzw. nachfolgende Standards (1995 IrDA 1.1 – FIR; 1999 VFIR) werden heute in über 300 Millionen Geräten, wie z. B. in Notebooks, Mobiltelefonen und PDA’s genutzt. Sender und
Empfänger müssen miteinander Sichtkontak haben, der Abstand zwischen Beiden sollte nach der Spezifikation von IrDA maximal 1 Meter betragen (meist wird von den
Infrarot-Geräten eine höhere Reichweite ermöglicht, als laut Spezifikation notwendig –
ein typischer Wert ist 2 Meter).
IrDA CONTROL ist die zweite wichtige Spezifikation. Sie wurde für Consumer-Geräte
entwickelt und ermöglicht es kabellosen Peripheriegeräten, wie z. B. Tastaturen oder
Fernbedienungen, mit ihren entsprechenden Hauptgeräten zu kommunizieren. Man
erreicht mit IrDA CONTROL eine Datenrate von 75 kbit/s zwischen Sender und
1
http://www.irda.org
3
KAPITEL 2. IRDA - GRUNDLAGEN
IrCOMM IrOBEX
IrLAN
IrLMP Information Access
Service (LM-IAS)
4
IrMC
...
IrTran-P
Tiny Transport Protocol (TinyTP)
Infrared Link Management Protocol (IrLMP)
Infrared Link Access Protocol (IrLAP)
Physical Layer (IrPHY)
SIR
FIR
2400 – 115200 Bit/s
4 Mbit/s
Standard-Protokolle
VFIR
16 Mbit/s
Optionale Protokolle
Abbildung 2.1: IrDA - Protokollstack
Empfänger, wobei die spezifizierte Reichweite mindestens 5 Meter beträgt.
Beide Spezifikationen bestehen aus verschiedenen Protokollen. Im Weiteren wird nur
auf den Protokollstack von IrDA DATA eingegangen, da über diesen die Kommunikation mit dem Basisgerät und damit die Steuerung der Hausautomatisierungsanlage
erfolgen wird.
2.1
2.1.1
Der IrDA - Protokollstack
Physical Layer (IrPHY)
Die unterste Schicht des Protokollstacks dient der reinen Übertragung von Daten
über ein Infrarotgerät. Hierbei ist eine direkte Sichtverbindung zwischen Sender und
Empfänger notwendig, wobei die Geräte so gegenüberstehen sollten, dass die Aufweitung des Sendestrahls weniger als 30◦ beträgt. Die mögliche Reichweite beträgt nach der
IrDA-Spezifikation bis zu 1 Meter (Standard IrDA-Gerät als Sender und Empfänger).
Weiterhin wurde auch eine Low-Power-Version mit einer Reichweite bis zu 0,2 Metern
(Low-Power IrDA-Gerät als Sender und Empfänger) verabschiedet. Die Datenpakete
werden bereits auf dieser Schicht mit Cyclic Redundancy Checks (CRC) geschützt.
KAPITEL 2. IRDA - GRUNDLAGEN
5
Man unterscheidet zwischen drei möglichen Protokollen auf der pyhsikalischen Schicht:
Serial InfraRed (SIR), Fast InfraRed (FIR) und Very Fast InfraRed (VFIR). Das zur
Zeit noch meistgenutzte Protokoll ist der SIR-Modus. Die Infrarot-Geräte emulieren
dabei einen seriellen Port, es entsteht ein asynchroner, serieller Datenstrom mit einer Übertragungsrate zwischen 2,4 – 115,2 kbit/s. Als Modulationsverfahren wird das
Return-to-Zero, inverted (RZI) - Verfahren eingesetzt. Eine auftretende logische Null
wird als IR-Impuls codiert, bei einer logischen Eins wird kein Impuls ausgesendet.
Die IR-Impulse selbst besitzen maximal eine Pulsbreite von 3/16 der Bitbreite. Aufgrund dieser genutzten Modulation erreicht man einen sehr geringen Stromverbrauch
der IrDA-Sender.
Im FIR-Modus sind Übertragungsraten von 576 kbit/s, 1,152 Mbit/s bzw. 4 Mbit/s
möglich. Als Modulationsverfahren wird bei den ersten beiden Übertragungsraten wieder das Return-to-Zero, inverted - Verfahren eingesetzt, jedoch mit einer maximalen
Impulsbreite von 1/4 der Bitbreite. Für die Übertragung mit 4 Mbit/s kommt eine
Four Pulse Position Modulation (4PPM) zum Einsatz. Hierbei werden jeweils zwei
Datenbits zu einem Datenbitpaar zusammengefasst, dieses wird über einen optischen
Impuls übertragen.
Die neuste Spezifikation ist der VFIR-Modus. Man erreicht eine Datenübertragungsrate
von bis zu 16 Mbit/s, eine Abwärtskompatibilität zu FIR und SIR ist gegeben. Diese
hohe Datenrate wird über die neu entwickelte HHH2 (1,13)-Modulation gewährleistet.
Die Aufgaben der pyhsikalischen Schicht kann man zusammenfassend mit drei wichtigen Punkten beschreiben:
• unzuverlässiges Senden / Empfangen von Daten im Halbduplex-Verfahren
• Kodierung der Datenbits, Modulation
• Zugriff auf die Infrarot-Hardware
2
benannt nach den Entwicklern Hirt, Hassner und Heise
KAPITEL 2. IRDA - GRUNDLAGEN
2.1.2
6
Infrared Link Access Protocol (IrLAP)
Direkt über der physikalischen Schicht liegt das obligatorische Infrared Link Access
Protocol (IrLAP). Es gewährleistet den Aufbau einer verlustfreien Übertragung von
Daten zwischen zwei Geräten. Der zuverlässige Datentransfer wird über eine LowLevel Flusskontrolle, Übertragungswiederholungen und Fehlerkorrektur erreicht. IrLAP
basiert auf dem High-Level Data Link Protcol (HDLC). Zwischen zwei IR-Geräten
besteht bei einer LAP-Verbindung eine Master-Slave-Beziehung. Die Primary Station
(Master) ist für den Aufbau der Verbindung, den Datentransfer, die Flusskontrolle
und die Behandlung von Übertragungsfehlern verantwortlich. Die Secondary Station
(Slave) sendet nur, wenn sie selbst angesprochen wird. Die maximale Sendedauer einer
Station ist jeweils auf 500 ms begrenzt.
Auf der IrLAP-Schicht kann man zwei verschiedene Betriebsmodes unterscheiden. Der
Grundzustand bei unverbundenen Geräten ist der Normal Disconnect Mode (NDM).
Bevor ein IR-Gerät auf das Medium zugreifen darf, muss es überprüfen, ob bereits
eine Übertragung stattfindet. Aus diesem Grund wird das Medium für eine Zeit von
mindestens 500 ms beobachtet. Findet keine Aktivität statt, ist das Medium frei für
eine neue Verbindung. Weiterhin wird im NDM die Aushandlung der Verbindungsparameter vorgenommen. Dazu wird eine Verbindung mit 9600 bit/s zwischen den Geräten
aufgebaut und es kommt zum Austausch der möglichen Übertragungsparameter. Danach werden von IrLAP die besten Parameter ausgewählt, die von beiden IR-Geräten
unterstützt werden.
Der Normal Response Mode (NRM) besteht bei verbundenen Geräten. Dort findet die
eigentliche Datenverbindung mit den ausgehandelten Parametern statt.
Da dieses Protokoll auf der Basis eines HDLC-Derivats arbeitet, existieren drei verschiedene IrLAP-Rahmen. Die unnummerierten Rahmen (U-Frames) werden zum Aufbau
und der Trennung von Verbindungen und zum Suchen von IR-Geräten genutzt. Zur
Übertragung von Informationen mit Sende- und Empfangsfolgenummer kommen Datenrahmen (I-Frames) zum Einsatz. Mit den Überwachungsrahmen (S-Frames) können
KAPITEL 2. IRDA - GRUNDLAGEN
7
Rahmen mit Sendefolgenummer, Empfangsfolgenummer beim Informationstransfer im NRM:
Primary Station I 0,0
I 3,2 P
I 1,0 I 2,0 P
I 0,3 I 1,3 F
Secondary Station
Rahmen beim Informationstransfer im NRM mit
Verlust eines Paketes:
#
- S 0, P
Primary Station I 0,0 I 1,0 P Timeout
Secondary Station
I 1,1 P
I 0,1 F
Abbildung 2.2: Ablauf Informationstransfer auf IrLAP
I-Frames bestätigt werden. Ein Poll-Bit und ein Final-Bit dienen zur Steuerung der
Übertragung. Mit Hilfe der Sende- und Empfangsfolgenummer kann ein zuverlässiger
Datentransfer gewährleistet werden (Abbildung 2.2 verdeutlicht den Ablauf).
Abschließend die wichtigsten Aufgaben von IrLAP:
• Bereitstellung einer zuverlässigen Vollduplexverbindung
• Aushandlung der Rollenverteilung mit bestmöglichen Verbindungsparametern
• Beobachtung der IR-Umgebung nach vorhandenen Geräten
2.1.3
Infrared Link Management Protocol (IrLMP)
Das obligatorische IrDA Link Management Protocol (IrLMP) setzt auf eine zuverlässige Verbindung auf und bietet neben Multiplexing auch die Auflösung von Adresskonflikten als Funktionalität an. Durch das Multiplexing ist es möglich, dass mehrere
IrLMP-Dienstnehmer über einen IrLAP-Link arbeiten (LM-MUX). Dazu werden in
dieser Schicht mehrere logische Verbindungen über einen physikalischen Datenkanal
aufgebaut. Falls mehrere Geräte dieselbe IrLAP-Adresse nutzen, fordert IrLMP die
Geräte auf, eine neue Adresse zu generieren und somit den Adresskonflikt aufzulösen.
Die Adressierung auf der IrLMP-Schicht besteht aus dem Logical Service Access Point
KAPITEL 2. IRDA - GRUNDLAGEN
8
(LSAP) und dem LSAP Selector (LSAP-SEL). Mit LSAP wird dabei die eigentliche
Geräteadresse bezeichnet. Die LSAP-SEL ist eine weitere Byte-Zahl und bezieht sich
auf die Adresse eines Dienstes innerhalb einer Station.
Die Hauptaufgaben von IrLMP zusammengefasst:
• Bereitstellung mehrerer logischer Verbindungen (Multiplexing)
• Adresskonfliktauflösung
• Verdeckung der Rollenverteilung
2.1.4
IrLMP Information Access Service (LM-IAS)
Der Information Access Service (IAS) stellt einen Informationsdienst dar, der die
verfügbaren Dienste eines Gerätes beschreibt. Man kann ihn somit als eine Art Gel”
be Seiten“ für ein Gerät bezeichnen. Eine vollständige IAS-Implementierung besteht
aus einem Client und einem Server. Der Server besitzt die Informationen über eigene
(lokale) Dienste bzw. Anwendungen, die für eine ankommende Verbindung verfügbar
sind. Der Client erkundigt sich über die eingetragenen Dienste des Gerätes, mit dem
kommuniziert werden soll. Eine ankommende IAS-Anfrage wird somit vom IAS-Server
beantwortet.
Genutzt wird der IAS somit zur:
• Beschreibung der verfügbaren Dienste eines Gerätes
2.2
Optionale Protokolle des IrDA - Protkollstacks
Die folgenden Protokolle gehören zwar zum IrDA - Protokollstack, jedoch können Hersteller diese optional implementieren. Es werden hier nur ein paar ausgewählte Protokolle kurz beschrieben.
KAPITEL 2. IRDA - GRUNDLAGEN
2.2.1
9
Tiny Transport Protocol (TinyTP)
Das Tiny Transport Protocol (TinyTP) ist zwar ein optionales Protokoll, jedoch fast
alle weiteren Protokolle bauen darauf auf. Man kann es somit als eine nötige Schicht
betrachten. TinyTP bietet eine credit-basierte Flusskontrolle für die einzelnen IrLMPVerbindungen und eine Segmentierung / Reassemblierung (SAR) an. Das Protokoll
arbeitet verbindungsorientiert, als Dienstprimitive nutzt es TTP Connect (aushandeln der jeweiligen SDU-Größe), TTP Disconnect, TTP Data (zuverlässige Datenübertragung) und TTP UData.
2.2.2
IrCOMM
Das IrCOMM-Protokoll dient der Emulation einer seriellen Schnittstelle. Dadurch
können Applikationen, die über die serielle Schnittstelle kommunizieren, dies in gleicher
Weise über eine Infrarot-Verbindung tun. Die Steuerleitungen der seriellen Schnittstelle
werden durch eine Unterteilung der übertragenen Daten in Daten- und Steuerpakete
nachgebildet.
2.2.3
IrOBEX
Ein Transfer von Datenobjekten (z. B. Dateien, elektronische Visitenkarten) von einem Gerät auf ein beliebig anderes Gerät wird mit dem Ir Object Exchange Protocol
(IrOBEX) erreicht. Die Vorteile von IrOBEX liegen in der Anwendungsfreundlichkeit,
der Kompaktheit und der Plattformunabhängigkeit.
2.2.4
IrLAN
Über IrLAN soll die Anbindung portabler PC’s an ein Local Area Network (LAN)
gewährleistet werden. Das Protokoll unterstützt eine LAN-artige Verbindung zweier
IrDA-Geräte untereinander, die Anbindung eines PC’s an ein LAN über einen zweiten
PC, welcher selbst ein Netzanschluss besitzt und somit als Router fungiert oder die
Verbindung eines PC’s an ein LAN über ein Access Point Device (IR-LAN Adapter).
KAPITEL 2. IRDA - GRUNDLAGEN
2.2.5
10
IrMC
Das IrMC-Protokoll (Mobile Communications) legt fest, wie Mobiltelefone und andere
mobile Geräte Daten miteinander austauschen. Dabei vereint IrMC wiederum mehrere andere Protokolle: IrOBEX (Austausch elektronischer Visitenkarten, Kalender),
IrCOMM (Nutzung des im Mobiltelefon integrierten Modems) und RTCON (Real Time Transfer Protcol für die Sprachübetragung zur Freisprecheinrichtung).
2.2.6
IrTran-P
Die Möglichkeit zum Austausch von Bilddateien mit digitalen Kameras oder Scannern
soll mit Hilfe des IrDA Transfer Picture Protocol (IrTran-P) gewährleistet werden.
Kapitel 3
Architektur des Basisgerätes
Das Basisgerät beruht auf einem Board mit dem von der Firma ST Microelectronics
gefertigten STPC Atlas Prozessors. Diese passiv gekühlte CPU unterstützt direkt die
herkömmlichen Schnittstellen wie den PCI-Bus, sowie Standardschnittstellen für Eingabegeräte und Speichermedien. Weiterhin ist in dem Prozessor eine Grafikkarte integriert, die sowohl einen analogen (CRT-Monitore, HDSUB-Buchse, 15 polig) als auch
einen digitalen Ausgang (TFT-Display, ODU-Minifix Stiftleiste, 40 polig) besitzt. Trotz
der kleinen Abmessungen des Motherboard’s von 120 mm x 124 mm sind somit alle zum
Betrieb eines Computersystems relevanten Schnittstellen vorhanden. Ohne zusätzliche
Hardware können Eingabegeräte wie eine Tastatur oder Maus (serielle Schnittstelle,
USB) und Massenspeichergeräte wie Festplatten oder CD-ROM Laufwerke (IDE) angeschlossen werden. Das vorhandene Basisgerät wurde mit folgender Konfiguration
betrieben:
Massenspeicher:
Hauptspeicher:
Primary Master
Festplatte 850 MB
Primary Slave
CD-ROM Laufwerk
128 MB SDRAM, aufgelötet
Im späteren Betrieb kann auf den Einsatz einer Festplatte verzichtet werden. Stattdessen sind jeweils Flash-Speicher (4 MB / 8 MB) für das Betriebssystem und als
Programmspeicher vorgesehen. Somit enthält das Basisgerät keine mechanisch beweg11
KAPITEL 3. ARCHITEKTUR DES BASISGERÄTES
12
ten Bauelemente mehr, dies führt zu einer sehr hohen Betriebssicherheit und zu keiner
Lärmemission.
3.1
Verfügbare Schnittstellen auf dem Basisgerät
Auf dem Board des Basisgerätes befindet sich keine integrierte IrDA-Schnittstelle. Zur
Erweiterung des Systems um eine Infrarot-Schnittstelle muss deswegen ein externes
IrDA-Gerät, ein sogenannter Dongle, angeschlossen werden. Diese Dongles werden auf
dem Markt sowohl für die serielle als auch für die USB-Schnittstelle angeboten.
Das Embedded System mit dem STPC Atlas Prozessor bietet neben zwei seriellen
Schnittstellen auch ein USB Interface. Beide Schnittstellentypen eignen sich für den
Anschluß eines IrDA-Dongles. Das Basisgerät soll aber auch mit einer BluetoothFunktionalität ausgestattet werden. Die dafür benötigten Bluetooth-Sticks werden jedoch meist nur für USB angeboten. Zur Vermeidung der Verwendung eines USB-Hubs
muss somit für das IrDA-Gerät die serielle Schnittstelle genutzt werden. Dies stellt
jedoch nur bedingt eine Einschränkung dar. Es kann über die serielle Schnittstelle eine
maximale Geschwindigkeit von 115,2 kbit/s erreicht werden. Diese Datenrate ist jedoch
nahezu doppelt so hoch wie bei einer ISDN-Verbindung. Zur drahtlosen Steuerung einer
Hausautomatisierungsanlage müssen relativ wenige Daten ausgetauscht werden. Somit
stellt die Datenrate bei einem SIR-IrDA-Dongle vordergründig kein Problem dar. Ein
klarer Vorteil eines seriellen Dongles ist die sehr gute Treiberunterstützung für Linux.
3.2
Anpassung des seriellen Signalpegels
Die beiden seriellen Schnittstellen auf dem Basisgerät arbeiten intern mit einem LowVoltage-TTL (LVTTL) Pegel. Diese allgemeine Logik-Spezifikation arbeitet mit CMOSSchaltkreisen, die eine Speisespannung von 3.3 V benötigen. Durch diese niedrige
Speisespannung erreicht man eine Verminderung der Verlustleistung und, bedingt durch
kleinere Abmessungen der Halbleiterstrukturen, einen höheren Integrationsgrad.
KAPITEL 3. ARCHITEKTUR DES BASISGERÄTES
LVTTL-Pegel
VCC
3.3 V
2.4 V
2.0 V
VOH
VIH
0.8 V
0.4 V
GND
VIL
VOL
VOH
VOL
VIH
VIL
–
–
–
–
Ausgangsspannung High
Ausgangsspannung Low
Eingangsspannung High
Eingangsspannung Low
13
RS232C-Pegel
15 V
5V
3V
VOH
VIH
0V
-3 V
-5 V
VIL
VOL
-15 V
Abbildung 3.1: LVTTL-Pegel, RS232C-Pegel
Der Infrarot-Dongle erwartet jedoch an der seriellen Schnittstelle die elektrischen Eigenschaften des EIA1 RS232C-Standards (entsprechender ITU2 -Standard: V.24 und V.28).
Das zu übertragende Spannungssignal ist hierbei bipolar, man arbeitet im V.28-Standard
mit einem Spannungspotential von +/- 15 V. Die Daten werden dabei in negativer Logik, die Steuersignale in positiver Logik übertragen.
Für die Anpassung der elektrischen Spannungspegel (siehe Abbildung 3.1) ist somit
ein externer Schnittstellenumsetzer vorzusehen.
Die passende Schaltung zur Umwandlung der Spannungspotentiale beruht auf dem
Schaltkreis MAX212 von Maxim. Die Funktionalität dieses Schaltkreises lässt sich in
drei Teile zerlegen:
1. Eine Spannungsversorgung konvertiert aus den angelegten 3.3 V eine Spannung
von etwa +/- 6.5 V.
2. Der IC besitzt 3 Sender mit einer typischen Ausgangsspannung von +/- 5.5 V.
Damit kann aus dem LVTTL-Pegel ein gültiger RS232C-Pegel konvertiert werden.
1
2
Electrical Industry Association
International Telecommunication Union
KAPITEL 3. ARCHITEKTUR DES BASISGERÄTES
14
3. Weiterhin existieren 5 Empfänger am MAX 212, die eine Eingangsspannung von
+/- 25 V akzeptieren und daraus wieder einen gültigen LVTTL-Pegel erzeugen.
Der Schaltkreis mit diesen 3 Sendern und 5 Empfängern kann somit eine RS232 mit
allen Steuer- und Datenleitungen umsetzen. Die erreichbare Datenrate der Schaltung
soll bei bis zu 120 kbit/s liegen. Mit Hilfe des Flachbandkabels wird die Schaltung
auf das Motherboard des Basisgerätes auf COM1 oder COM2 angeschlossen. In den
weiteren Ausführungen wird davon ausgegangen, dass die COM1-Schnittstelle dafür
genutzt wird. Der IrDA-Dongle kann nun an den Sub-D-Stecker des Schnittstellenumsetzers angeschlossen werden.
Die entworfene Schaltung und eine Liste der notwendigen Bauelemente ist im Anhang
A.2 beigefügt. Weiterhin befindet sich auf der beiliegenden CD-ROM das Gerber-File
der hergestellten Leiterplatte.
3.3
Verwendetes Betriebssystem
Auf dem Basisgerät wird das Open-Source Betriebssystem Debian/GNU Linux verwendet. Das Debian-Projekt3 wurde im August 1993 gegründet und ist eine Gemeinschaft von fast 1000 aktiven Entwicklern. Das Ziel der Gemeinschaft ist es, ein freies
Betriebssystem auf der Basis des Linux-Kern, der von Linus Torvalds begonnen wurde,
zu entwickeln. Für Debian sind mittlerweile über 8700 Pakete (vorkompilierte Software) frei verfügbar. Die aktuelle stabile (stable) Version ist Debian GNU/Linux 3.0
r2 (freigegeben am 21.11.2003), welche auch den Codenamen Woody“ trägt.
”
3.4
Die serielle Schnittstelle unter Linux
Der Zugriff auf die seriellen Schnittstellen geschieht über sogenannte Gerätedateien
(device files). Diese befinden sich in dem Verzeichnis /dev/. Die erste serielle Schnittstelle (COM1) spricht man über die Gerätedatei ttyS0, die Zweite (COM2) über ttyS1
3
http://www.debian.org
KAPITEL 3. ARCHITEKTUR DES BASISGERÄTES
15
an. Die Schnittstellen werden normalerweise während des Kernel-Starts automatisch
erkannt. Mit Hilfe des Befehls setserial kann man Informationen über die zur Verfügung
stehenden seriellen Schnittstellen ermitteln:
listig# setserial -bg /dev/ttyS*
/dev/ttyS0 at 0x03f8 (irq = 4) is a 16550A
/dev/ttyS1 at 0x02f8 (irq = 3) is a 16550A
Die Angabe 16550A bedeutet, dass man eine UART (Universal Asynchronus Receiver
/ Transmitter) mit einem Zwischenpuffer (FIFO) von 16 Zeichen hat. Bei diesem Typ
wird nach spätestens 14 empfangenen Bytes ein Interrupt ausgelöst, wodurch die CPU
alle 14 Bytes auf einmal auslesen kann.
Kapitel 4
Konzipierung der
IrDA-Schnittstelle
Die zu konzipierende IrDA-Schnittstelle am Basisgerät soll die Infrarot-Kommunikation
mit in der Umgebung vorhandenen PDA’s oder PC’s ermöglichen. Das Ziel besteht
darin, eine TCP/IP-Verbindung auf dem IrDA-Protokollstack aufzusetzen.
4.1
Der IrDA-Protokollstack unter Linux
Für die Implementierung der von IrDA herausgegebenen Standards unter Linux setzt
sich seit 1997 das Linux-IrDA Projekt1“ ein. Seit Februar 1999 ist das Projekt ein
”
offizielles Mitglied der Infrared Data Assocation.
Zur Nutzung von IrDA muss im Linux-Kernel der Support dafür aktiviert werden.
Weiterhin müssen die vom Linux-IrDA Projekt herausgegebenen Utility-Programme
(irda-utils), die für den Betrieb eines Infrarot-Gerätes benötigt werden, installiert werden. Die dazu notwendigen Schritte werden im nächsten Kapitel erläutert.
1
http://irda.sourceforge.net
16
KAPITEL 4. KONZIPIERUNG DER IRDA-SCHNITTSTELLE
4.2
17
Unterstützte IR-Dongles
Die folgenden Dongles2 für die serielle Schnittstelle werden vom Linux-IrDA Projekt
unterstützt:
• ACTiSYS ACT-IR200L, IR220L, IR220L+, IR220LN
• Adaptec Airport 1000, 2000
• Extendsys JetEye PC (ESI-9680)
• Greenwich GIrBIL
• Parallax Litelink
• Tekram IRmate IR-210B
Zur Realisierung einer IrDA-Schnittstelle am Basisgerät wurde der Dongle IRmate IR210B der Firma Tekram ausgewählt. Es handelt sich dabei um einen IrDA-kompatiblen
SIR Infrarot-Adapter mit einer maximalen Übertragungsgeschwindigkeit von 115,2
kbit/s. Angeschlossen wird dieser an die Schaltung zur Signalpegelanpassung der seriellen Schnittstelle (siehe 3.2, Seite 12).
4.3
Aufbau einer TCP/IP-Verbindung
Die flexibelste Möglichkeit eine TCP/IP-Verbindung auf dem IrDA-Protokollstack aufzubauen, ist die Nutzung des Point-to-Point Protocols (PPP). Die Abbildung 4.1 zeigt
die grundsätzliche Idee für eine TCP/IP-Kommunikation über PPP zwischen zwei
Geräten.
Weiterhin besteht die Variante, mit dem im IrDA-Stack definierten IrLAN eine TCP/IPVerbindung zu realisieren. Dies führt jedoch in der Praxis zu Problemen. IrLAN ist laut
der IrDA-Spezifikation nur ein optional zu implementierendes Protokoll. Die neueren
2
http://irda.sourceforge.net/dongles.html
KAPITEL 4. KONZIPIERUNG DER IRDA-SCHNITTSTELLE
Basisgerät
PPP-Server
18
PDA, PC, ...
TCP/IP-Verbindung
-
PPP-Client
IrCOMM bzw. IrNET
IrCOMM bzw. IrNET
IrDA-Protokollstack
IrDA-Protokollstack
IR-Link
Standard IrDA-Protokolle
Optionale IrDA-Protokolle
Abbildung 4.1: TCP/IP - Verbindung
Betriebssysteme von Microsoft unterstützen es nicht mehr (Tabelle 4.1). Eine sicherlich
berechtigte Annahme ist, dass sehr viele Endgeräte auf einem Microsoft-Betriebssystem
basieren. Es ergibt somit keinen Sinn, eine TCP/IP-Verbindung über das IrLANProtokoll aufbauen zu wollen, welches von Endgeräten kaum unterstützt wird. Aus
diesem Grund muss man die zweite Variante verwerfen und die Realisierung über PPP
abwickeln.
4.3.1
Das Point-to-Point Protocol
Mit Hilfe des Point-to-Point Protocols (PPP) ist es möglich, zwei verbundene Rechner
direkt miteinander zu vernetzen. Die Verbindung kann dabei über einen aufgebauten
Telefonkanal, eine direkte Leitung oder auch über eine Infrarot-Kommunikation realisiert sein. PPP erlaubt eine Vielzahl von Einstellungen an Parametern, man kann z. B.
die IP-Adressen beider Rechner festlegen und eine Authentifizierung der Kommunikationspartner verlangen. Durch diese hohe Flexibilität des Protokolls ist es sehr weit
verbreitet, beispielsweise nutzt nahezu jeder Internet-Provider für den Zugang seiner
Kunden PPP.
Der Vorgänger von PPP war SLIP (serial line IP). Dieses Protokoll bietet jedoch keine
Fehlererkennung, keine Authentifikation und keine dynamische Adresszuweisung. Es
wird deshalb kaum mehr genutzt.
Das Point-to-Point Protocol verwendet wiederum eine Reihe weiterer Protokolle. Das
KAPITEL 4. KONZIPIERUNG DER IRDA-SCHNITTSTELLE
19
Schicht-2-Rahmenformat beruht auf dem HDLC-Protokoll (High-Level Data Link Control Protocol). In dem Paketformat sind im Nutzlast-Feld neben dem IP-Protokoll u. A.
auch IPX oder AppleTalk möglich. Ein seperates Network Control Protocol (NCP) wird
für alle unterstützten Protokolle auf der Vermittlungsschicht verwendet. Das Steuerprotokoll von PPP (LCP, Link Control Protocol) dient zum Verbindungsaufbau, Verbindungstest, der Verbindungsverhandlung und dem Verbindungsabbau.
Der Aufbau einer PPP-Verbindung besteht zunächst darin, dass eine Verbindung zwischen zwei Rechnern auf der physikalischen Schicht hergestellt wird. Danach werden
mit Hilfe der genannten Protokolle die Authentifizierung, die Aushandlung von IPAdressen und weiterer Parameter ausgeführt. Können sich die beiden Rechner nicht
über die IP-Adressen (z. B. weil ein Rechner nur bestimmte IP-Adressen akzeptiert)
oder nicht über das Protokoll zur Authentifizierung einigen, wird die Verbindung abgebrochen. Daran sieht man, dass bei PPP eigentlich keine Einteilung in Server und
Client möglich ist. Dennoch werden auf Grund der Übersichtlichkeit im Folgenden diese
Begriffe verwendet. Als Client wird der Rechner bezeichnet, der eine PPP Verbindung
aufbaut. Der Rechner, der die Verbindung entgegennimmt, ist in diesem Sinne der
Server.
4.3.2
PPP-Verbindung über IrNET
IrNET für Linux-IrDA ist ein Open Source Projekt. Die Arbeit an diesem Protokoll, welches TCP/IP-Verbindungen zwischen zwei IrDA-Geräten erlaubt, begann im
Frühjahr 2000.
Das Protokoll IrNET ist keine Spezifikation von IrDA und fehlt somit im IrDA-Protokollstack. Es gibt jedoch Bestrebungen, dieses Protokoll dort mit aufzunehmen. IrNET
setzt auf TinyTP auf und transportiert ankommende PPP-Pakete zu dieser Schicht.
TinyTP selbst bietet einen zuverlässigen, reihenfolgetreuen Transport der Pakete an.
Der Vorteil von PPP über IrNET gegenüber PPP über IrCOMM besteht darin, dass
man die serielle Emulation mit den sehr kurzen Datenrahmen vermeidet, welche bei
KAPITEL 4. KONZIPIERUNG DER IRDA-SCHNITTSTELLE
Treiberunterstützung
Standard Stack
IrOBEX
IrLAN
IrCOMM
IrNET (nicht IrDA)
Linux Win 2000/XP
gut
sehr gut
!
!
!
!
!
!
!
#
teilweise
!
20
Win 9x/ME Win NT
sehr gut
keine
!
!
!
!
#
#
#
#
#
#
Tabelle 4.1: Implementierung von IrDA-Protokollen in Windows / Linux
IrCOMM zu einem Leistungsengpass führen. Der Hauptunterschied zu IrLAN ist die
Verwendung von PPP für das Verbindungsmanagement bei IrNET. PPP bietet im
Gegensatz zu IrLAN ein interoperables und flexibles Standardprotokoll, welches sich
gleichzeitig um Authentisierung, Verschlüsselung und Kompression kümmert.
Als Erster führte Microsoft das Protokoll IrNET in den IrDA-Stack von Windows 2000
ein. Dafür implementierte man IrLAN überhaupt nicht mehr und IrCOMM nur noch
teilweise. Es existiert unter Windows 2000 nur ein versteckter virtueller COM-Port.
Die gleiche Situation besteht bei Windows XP.
In den Versionen Windows 9x/ME ist IrCOMM noch vollständig implementiert, jedoch existiert dort kein IrNET. Unter Linux wurde IrNET erstmalig im Kernel 2.4.0
implementiert, alle darauffolgende Kernel unterstützen das Protokoll.
Eine Übersicht der von den Betriebssystemen unterstützten Protokolle findet man in
Tabelle 4.1.
Aus diesen Gründen kann man folgende Schlußfolgerung ziehen: Um den Zugriff von
einem Windows 2000/XP - Rechner auf die Hausautomatisierungsanlage über eine
TCP/IP-Verbindung mittels Infrarotkommunikation zu gewährleisten, muss auf dem
Basisgerät ein PPP-Server gestartet werden, der auf IrNET aufbaut.
Die notwendigen Einstellungen von Windows 2000/XP zum Aufbau einer Direktverbindung über Infrarot findet man im Anhang B.2.
KAPITEL 4. KONZIPIERUNG DER IRDA-SCHNITTSTELLE
4.3.3
21
PPP-Verbindung über IrCOMM
Bei der Benutzung eines PDA’s zur Steuerung der Anlage stellt sich eine andere
Situation dar. Ein PDA mit dem Pocket PC Betriebssystem besitzt keine IrNETImplementierung, jedoch kann man hier eine PPP-Verbindung über IrCOMM aufbauen.
Problematisch ist die eigentliche Erstellung einer Verbindung zwischen Basisgerät und
PDA. Es ist bei dem Betriebssystem Pocket PC nicht möglich, eine PPP-Direktverbindung über Infrarot zu erstellen. Die einzigen Infrarot-Verbindungen, die erzeugt
werden können, beziehen sich auf Wählverbindungen über das in einem Mobiltelefon
eingebaute Modem.
Als ein Ausweg besteht die Möglichkeit, die ActiveSync-Funktion des PDA’s zu nutzen.
Diese Funktion dient eigentlich zum Synchronisieren der Daten des PDA’s mit dem PC.
Hierbei wird eine echte PPP-Verbindung zwischen PDA und PC aufgebaut, wobei die
Synchronisierung über Kabel oder Infrarot erfolgt. Somit kann man die ActiveSyncFunktion über Infrarot nutzen, um eine PPP-Verbindung zum Basisgerät aufbauen
zu können. Auf dem Basisgerät selbst läuft die Open Source Software SynCE, die
die ActiveSync-Verbindung steuert, aufrechterhält und bei Verbindungsaufbau einen
PPP-Server startet.
Für Testzwecke kann man sicherlich von der Möglichkeit einer PPP-Verbindung über
die ActiveSync-Funktion eines PDA’s mit Pocket PC-Betriebssystem Gebrauch machen. Im späteren Einsatz wäre es aber sinnvoll, eine Software-Implementierung auf
dem PDA vorzunehmen, die eine Direktverbindung über Infrarot ohne ActiveSyncFunktion ermöglicht. Es ist einem potentiellen Kunden schwer erklärbar, warum er
die ActiveSync-Funktion seines PDA’s nutzen soll, um auf das Basisgerät zugreifen zu
können.
Die Anleitung zum Aufbau einer ActiveSync-Verbindung befindet sich im Anhang B.3.
Kapitel 5
Inbetriebnahme der
IrDA-Schnittstelle
Ausgehend vom vorhergehenden Kapitel sieht man, dass die notwendigen Installationsmaßnahmen am Basisgerät aus vier Teilen bestehen:
1. Der Linux-Kernel muss so kompiliert werden, dass er die Unterstützung für IrDA
enthält.
2. Die irda-utils vom Linux-IrDA Projekt müssen installiert werden.
3. Die Software SynCE muss installiert und konfiguriert werden.
4. Installation eines PPP-Servers und dessen Konfiguration für die verschiedenen
Verbindungen.
Für alle folgenden Installations- und Konfigurationsmaßnahmen sollte man als Benutzer root im System eingeloggt sein. Nur als Administrator unterliegt man keinen
Beschränkungen bei den Zugriffsrechten.
5.1
Konfiguration des Kernels
Bei der Grundinstallation von Debian Linux 3.0 r2 ( Woody“) wird der Kernel 2.4.18
”
genutzt. In diesem ist die IrDA-Unterstützung bereits integriert. Die Funktionalität
von IrDA wird dabei über Module (z. B. irda, irtty, und ircomm) bereitgestellt.
22
KAPITEL 5. INBETRIEBNAHME DER IRDA-SCHNITTSTELLE
23
Das Vorhandensein der entsprechenden Dateien im Modulverzeichnis (es befindet sich
unter /lib/modules/kernel-version/, wobei man die Kernel-Version mit dem Befehl
uname -r erfährt) zeigt, dass der Kernel bereits alle notwendigen Module enthält.
Ist dies der Fall, muss der Kernel theoretisch nicht neu übersetzt werden.
Auf dem Basisgerät ist aber auf Grund der ebenfalls geforderten Bluetooth- & WLANUnterstützung ein neuerer Kernel notwendig. Im Rahmen der verschiedenen Studienarbeiten zu diesem Thema einigten wir uns auf die Kernel-Version 2.4.22. Dieser Kernel
muss mit den entsprechenden Optionen für IrDA kompiliert werden. Nach dem Download des Kernel-Quellcodes1 wird dieser in das Verzeichnis /usr/src kopiert und danach
in das Verzeichnis /usr/src/linux-2.4.22 entpackt.
listig# cd /usr/src
listig# tar xfvz linux-2.4.22.tar.gz
listig# ln -s linux-2.4.22 linux
listig# cd linux
Aus diesem Verzeichnis ruft man mit Hilfe von make menuconfig die Konfiguration
des Kernels auf. Um die Option menuconfig nutzen zu können, muss vorher das Paket
libncurses5-dev installiert sein.
listig# apt-get install libncurses5-dev
listig# make menuconfig
In dem nun erscheinenden Dialog wählt man den Punkt IrDA (infrared) support aus,
dadurch erscheint ein weiterer Dialog (Abbildung 5.1).
Der erste Eintrag (IrDA subsystem support) steht für die eigentliche Unterstützung der
Protokolle von IrDA im Kernel und muss somit unbedingt ausgewählt werden (z. B. mit
Taste M modular im Kernel integrieren). Die weiteren Optionen sollten entsprechend
der gelben Markierung in der Abbildung 5.1 gewählt werden. Durch diese Einstellung
wird das IrCOMM und das IrNET Protokoll modular in den Kernel eingebunden,
im Modulverzeichnis erhält man nach der Neukompilierung des Kernels die Dateien
1
http://www.kernel.org
KAPITEL 5. INBETRIEBNAHME DER IRDA-SCHNITTSTELLE
24
Abbildung 5.1: Konfiguration des Kernels für IrDA
Abbildung 5.2: Konfiguration des Kernels für IrDA-Treiber
ircomm.o, ircomm-tty.o und irnet.o. Als nächstes muss der Punkt Infrared-port device
drivers gewählt werden. Ein neuer Dialog mit den Konfigurationsvariablen für die
IrDA-Treiber erscheint (Abbildung 5.2).
Auch hier sollten wieder die markierten Einträge übernommen werden. Für einen seriellen Dongle benötigt man einen IrDA-Treiber und einen Dongle-Treiber. Für den
Dongle-Treiber wählt man den Tekram IrMate 210B dongle, im Modulverzeichnis wird
dadurch später das Modul tekram.o erzeugt. Als IrDA-Treiber sollte man IrTTY verwenden (erzeugt das Modul irtty.o). Dieser nutzt den Standard-Treiber für die serielle
Schnittstelle von Linux (tty-Layer) und ist zur Zeit der sicherste und einfachste Weg,
um ein IrDA-Gerät an der seriellen Schnittstelle zu betreiben. Ein zweiter möglicher
Treiber, IrPORT, erlaubt dem IrDA-Stack den direkten Zugriff auf den seriellen Port
(damit gibt es weniger Overhead). Dieser ist aber bisher wenig getestet und komplizierter in der Nutzung. Ein zuverlässiges Arbeiten über IrPORT ist noch nicht möglich,
der Treiber sollte deswegen nicht verwendet werden.
Nachdem alle Einstellungen vorgenommen wurden, kann die Kernel-Konfiguration abge-
KAPITEL 5. INBETRIEBNAHME DER IRDA-SCHNITTSTELLE
25
speichert und beendet werden. Der Kernel muss nun neu übersetzt und installiert werden. Dazu nutzt man am Besten das Debian-Paket kernel-package.
listig# apt-get install kernel-package
listig# make-kpkg clean
listig# make-kpkg kernel-image –revision=angepasst.0
listig# cd ..
listig# dpkg -i kernel-image-2.4.22-angepasst.0 i386.deb
Abschließend muss LILO für den neuen Kernel entsprechend angepasst werden.
5.2
Installation der irda-utils
Nachdem auf dem Basisgerät ein lauffähiger Kernel mit Support für IrDA erzeugt
wurde, müssen nun Utility-Programme installiert werden, die für den Betrieb eines
Infrarot-Gerätes benötigt werden. Diese sogenannten irda-utils werden vom Linux-IrDA
Projekt erarbeitet und auf deren Homepage2 veröffentlicht. Die aktuelle Version der
irda-utils wurde am 31.03.2004 mit der Nummer 0.9.16 offiziell bereitgestellt.
Es gibt zwei verschiedene Wege, um die irda-utils zu installieren. Einerseits kann man
die bereitgestellten Quelltexte des Linux-IrDA Projektes nutzen. Man muss diese aber
noch kompilieren. Andererseits gibt es für Debian auch vorkompilierte Pakete der irdautils 3 . Da man sicherlich davon ausgehen kann, dass die vorkompilierten Debian-Pakete
immer mit einer gewissen Zeitverzögerung in der gleichen Version erscheinen, beschreibe
ich nachfolgend beide Wege der Installation.
5.2.1
Kompilierung und Installation des nicht kompilierten
Pakets
Nach dem Download2 der aktuellen irda-utils muss das Paket entpackt werden. Dies
sollte im Verzeichnis /usr/src geschehen.
2
3
http://irda.sourceforge.net/download.html
http://packages.debian.org/testing/utils/irda-utils
KAPITEL 5. INBETRIEBNAHME DER IRDA-SCHNITTSTELLE
26
listig# cd /usr/src
listig# tar xfvz irda-utils-0.9.16.tar.gz
listig# cd irda-utils-0.9.16
Nun müssen die Quelltexte übersetzt werden. Dazu ist ein C-Compiler notwendig, der
aber meistens schon installiert ist. Sollte er noch fehlen, erscheinen bei der Kompilierung Fehlermeldungen und sie wird abgebrochen. Die fehlenden Pakete müssen dann
vorher zusätzlich (mit Hilfe von apt-get install Paketname) installiert werden. Danach
kann die Kompilierung erneut gestartet werden.
listig# make clean
listig# make all
listig# make install
Weiterhin müssen die entsprechenden Devices mit den korrekten Major- und MinorGerätenummern und dem Typ des Zugriffs (c steht für zeichenorientierten Zugriff)
im Verzeichnis /dev angelegt werden. Danach können die Zugriffsrechte mit Hilfe von
chmod gesetzt werden (der Binärcode 666 erlaubt den Lese- und Schreibzugriff für alle
Benutzer).
listig# cd /
listig# mknod /dev/ircomm0 c 161 0
listig# mknod /dev/ircomm1 c 161 1
listig# mknod /dev/irlpt0 c 161 16
listig# mknod /dev/irlpt1 c 161 17
listig# mknod /dev/irnet c 10 187
listig# chmod 666 /dev/ir*
Zum Abschluss der Installation sind noch einige Konfigurationen notwendig. Die Datei /etc/modules.conf muss angepasst werden. Außerdem kann man ein Start-Skript
schreiben, welches alle notwendigen IrDA-Treiber bereits beim Starten des Kernels
lädt.
Um die Anpassung von /etc/modules.conf vorzunehmen, sollte man mit Hilfe eines
KAPITEL 5. INBETRIEBNAHME DER IRDA-SCHNITTSTELLE
27
Editors (z. B. nano, emacs, vi ) eine Datei /etc/modutils/irda erzeugen.
listig# cd /
listig# nano /etc/modutils/irda
In dieser Datei muss man folgende Einträge hinzufügen:
# IrDA over a normal serial port
alias tty-ldisc-11 irtty
# IrCOMM (for PPP, minicom, etc.)
alias char-major-161 ircomm-tty
# IrNET module
alias char-major-10-187 irnet
# serial dongle: Tekram IrMate IR-210B
alias irda-dongle-0 tekram
Diese Änderungen werden dann in die Datei /etc/modules.conf übernommen:
listig# update-modules
Ein mögliches Start-Skript mit dem Namen irda im Verzeichnis /etc/init.d sollte jetzt
noch nicht angelegt werden, da man zum Testen der verschiedenen Funktionen die
Module einzeln aufrufen sollte.
Nach einem Neustart des Rechners ist die Installation der irda-utils abgeschlossen.
5.2.2
Installation des vorkompilierten Debian-Pakets
Ein für Debian vorkompiliertes Paket der irda-utils findet man auf der Homepage3
von Debian Linux. Dieses Paket irda-utils 0.9.16-1 i386.deb ist abhängig von weiteren
Paketen (Abhängigkeiten werden auf der Homepage mit angegeben), wobei zwei dieser
notwendigen Pakete nicht in der benötigten Version auf den Debian Woody“ CD’s
”
vorhanden sind. Die beiden Pakete libc6 2.3.2.ds1-11 i386.deb und libd1-compat 2.1.37 i386.deb müssen somit ebenfalls von der Debian-Homepage heruntergeladen werden.
KAPITEL 5. INBETRIEBNAHME DER IRDA-SCHNITTSTELLE
28
Nach dem Kopieren der Dateien in das Verzeichnis /usr/src werden die Pakete mit
Hilfe der Debian Paketverwaltung dpkg installiert.
listig# cd /
listig# cd /usr/src
listig# dpkg -i libc6 2.3.2.ds1-11 i386.deb libdb1-compat 2.1.3-7 i386.deb
listig# dpkg -i irda-utils 0.9.16-1 i386.deb
Das folgende kurze Installationsprogramm ist selbsterklärend und fragt unter anderem
den verwendeten Dongle (Tekram IRmate IR-210B ) und die dafür genutzte Schnittstelle (ttyS0 ) ab. Die hier eingestellten Parameter werden in der Datei /etc/irda.conf
abgelegt. Durch das vorkompilierte Paket werden die entsprechenden Devices angelegt
und die wichtige Datei /etc/modules.conf automatisch geändert. Weiterhin wird ein
Start-Skript mit dem Namen irda im Verzeichnis /etc/init.d erzeugt. Um IrDA nun zu
verwenden, müsste man den Kernel neu starten. Zum Testen ist es wiederum günstig,
kein automatisches Start-Skript zu verwenden. Deshalb sollte man diese Datei vorerst
in ein anderes Verzeichnis verschieben.
5.3
Test der IrDA-Schnittstelle
Nach der erfolgreichen Installation und einem Neutstart des Systems ist es sinnvoll,
die Funktionsfähigkeit des Dongles zu testen. Dazu lädt man als Erstes das Modul
tekram. Anschließend wird die IrDA-fähige Schnittstelle (ttyS0 oder ttyS1 ) an das
Linux-IrDA-System angehängt, eine Aufgabe die von irattach übernommen wird. Als
Argumente enthält irattach die Schnittstelle, unter der das IrDA-Gerät angesprochen
werden kann, und den Namen des Dongles, der an dieser Schnittstelle verwendet wird.
Durch den Aufruf von irattach werden die Module irda und irtty automatisch geladen.
Zur Kontrolle kann man sich die geladenen Module mit Hilfe von lsmod anzeigen lassen
(siehe Abbildung 5.3).
listig# modprobe tekram
listig# irattach /dev/ttyS0 -d tekram
KAPITEL 5. INBETRIEBNAHME DER IRDA-SCHNITTSTELLE
29
Abbildung 5.3: Start von IrDA
listig# lsmod
Nachdem die Module erfolgreich geladen wurden, kann mit Hilfe eines zweiten IrDAfähigen Geräts getestet werden, ob das System funktioniert. Bei dem benutzten Gerät
(z. B. Mobiltelefon, PDA) muss die eigene IrDA-Schnittstelle aktiviert werden. Danach
bringt man es in die Reichweite der Infrarot-Schnittstelle des Basisgerätes. Über den Befehl irdadump kann man sich nun den Verkehr zwischen den Kommunikationspartnern
anzeigen lassen.
listig# irdadump
In der Ausgabe von irdadump (siehe Abbildung 5.4) sieht man das Vorhandensein
zweier Geräte: das Basisgerät selbst mit Namen listig2“ und ein weiterer PC mit
”
dem Namen Michi-Laptop“. Das Gerät in der Umgebung antwortet auf Anfragen
”
des Basisgerätes. Dabei teilt es gleichzeitig mit, welche Kommunikationsprotokolle es
beherrscht. Das Programm irdadump kann mittels der Tastenkombination [Strg]+[C]
abgebrochen werden.
Für die IrDA-Verbindung wird unter Linux ein Interface mit dem Namen irda0 angelegt. Dies kann man sich mit Hilfe des Befehls ifconfig anzeigen lassen. Das Interface
verwendet das Protokoll IrLAP und kann mit ifconfig irda0 down abgeschaltet, bzw.
mit ifconfig irda0 up wieder aktiviert werden. Es wird neben der Hardware-Adresse
auch die Anzahl der gesendeten und empfangenen Pakete angegeben. Die Zuweisung
einer IP-Adresse an das Interface ist auf der Schicht zwei noch nicht möglich. In der
Abbildung 5.5 sieht man das entsprechende Interface, welches als UP gekennzeichnet
KAPITEL 5. INBETRIEBNAHME DER IRDA-SCHNITTSTELLE
30
Abbildung 5.4: Ausgabe von irdadump
ist und somit Daten übertragen kann.
listig# ifconfig
Eine weitere Möglichkeit zur Überprüfung der IrDA-Schnittstelle ist über die LogDateien von IrDA möglich (diese werden nur angelegt, wenn bei der Kompilierung
des Kernels die Debug information mit ausgewählt wurde – siehe Abbildung 5.1). In
dem Verzeichnis /proc/net/irda findet man unter Anderem die Datei discovery. Diese
enthält alle zur Zeit der Verbindung vorhandenen IrDA-Partnerrechner in der InfrarotUmgebung, die Kommunikation geschieht über Schicht drei.
listig# cat /proc/net/irda/discovery
IrLMP: Discovery log:
nickname: SIEMENS S25, hint: 0x9024, saddr: 0xda6bd664, daddr: 0x06924172
In dem Beispielausdruck lag ein Siemens S25 Mobiltelefon in der IR-Reichweite des
Basisgerätes. Die Angabe source address (saddr) enthält die Adresse des InfrarotDongles am Basisgerät (welche schon in der Abbilung 5.5 sichtbar war). Daddr steht
für destination address und beinhaltet die Adresse des S25 Mobiltelefons.
KAPITEL 5. INBETRIEBNAHME DER IRDA-SCHNITTSTELLE
31
Abbildung 5.5: Ausgabe von ifconfig mit IrDA
Mit Hilfe der destination address ist es theoretisch auch möglich, einen Ping mit TestFrames an dieses Gerät zu senden. Leider unterstützen wohl nur sehr wenige Geräte
diese ping’s“. Bei einem Test mit dem Mobiltelefon und einem weiteren Test mit einem
”
PDA hat keines der Geräte darauf reagiert. Versuchsweise kann man trotzdem über den
Befehl irdaping daddr probieren, ob ein Gerät die Test-Frames beantwortet.
Das Verzeichnis /proc/net/irda bietet neben dieser Information noch mehr DebugDateien (irlap, irlmp, irias und irttp). Diese liefern weitere Hinweise über die Instanzen
der jeweiligen Protokollschicht.
Sollten die bisherigen Tests mit der IrDA-Schnittstelle erfolgreich verlaufen sein, kann
davon ausgegangen werden, dass alles ordnungsgemäß installiert wurde. Man kann mit
der Installation der weiteren Programme, die für eine TCP/IP-Verbinung über IrDA
benötigt werden, fortsetzen.
5.4
Installation und Konfiguration von SynCE
Die Notwendigkeit der Software SynCE wurde bereits im Kapitel 4.3.3 beschrieben.
SynCE ist ebenfalls ein Open Source Projekt und hat sich zum Ziel gesetzt, eine Kommunikation zwischen einem Windows CE und einem Linux Rechner zu gewährleisten.
KAPITEL 5. INBETRIEBNAHME DER IRDA-SCHNITTSTELLE
32
Auf der Projekt-Homepage4 kann man die aktuelle Software (Version 0.8.9) herunterladen. Dort wird auch ein für Debian kompiliertes Paket von SynCE angeboten, jedoch
bisher nur in der Version 0.7. Auf Grund dessen wurde auf dem Listig-Basisgerät nicht
das vorkompilierte Paket, sondern die aktuellen Quelltexte in der Version 0.8.9 genutzt.
Die folgenden Archive müssen von der SynCE -Homepage heruntergeladen werden (bzw.
sind sie auch auf der beiliegenden CD-ROM enthalten): synce-librapi2-0.8.9.tar.gz,
synce-libsynce-0.8.9.tar.gz, synce-dccm-0.8.9.tar.gz, synce-serial-0.8.9.tar.gz und libmimedir-0.3.tar.gz.
Zur Kompilierung der Pakete benötigt man weiterhin die Debian-Pakete autoconf-2.53,
automake-1.6.1 und libtool-1.4.2. Die davon benötigten Versionen sind auf der DebianHomepage veröffentlicht. Beachten muss man, dass beispielsweise das Paket libtool1.4.2 von zwei weiteren Paketen (linux-kernel-headers, libc6-dev ) abhängt, die somit
auch installiert werden müssen. Alle benötigten Pakete sind auf der beiliegenden CDROM vorhanden.
Nach der erfolgreichen Installation (eine genaue Installationsanleitung befindet sich im
Anhang B.1), muss man SynCE noch für eine Infrarot-Verbindung konfigurieren. Dazu
ruft man einfach das Konfigurationsprogramm mit dem Infrarot-Port als Parameter
auf.
listig# synce-serial-config ircomm0
Somit ist die Installation und Konfiguration erfolgreich abgeschlossen und es kann eine
Verbindung aufgebaut werden.
5.5
Installation und Konfiguration eines PPP-Servers
Bei der Grundinstallation von Debian Linux wird normalerweise die Software installiert, die zur Verwendung von PPP nötig ist. Beachten muss man, dass der Support
4
http://synce.sourceforge.net/synce
KAPITEL 5. INBETRIEBNAHME DER IRDA-SCHNITTSTELLE
33
für PPP im Kernel bei einer Neukompilierung aktiviert sein muss (bei der KernelKonfiguration muss der Punkt ppp (point-to-point protocl) support, der sich in der
Gruppe Network device support befindet, ausgewählt werden)! Sollte dies vergessen
werden, ist der Aufbau eines PPP-Servers nur über eine erneute Kernelkompilierung
möglich. Eine eventuell nachträglich notwendige Installation der Software-Pakete von
PPP ist jederzeit z. B. mit Hilfe von dselect oder apt-get install möglich (apt-get install
ppp).
Die Konfigurationsdateien von PPP befinden sich im Verzeichnis /etc/ppp. Wie schon
gesagt, ist PPP ein sehr flexibles Protokoll mit vielen Einstellungsmöglichkeiten. Deswegen gehe ich hier nur kurz auf die absolut notwendige Konfiguration ein. Für weitere
Informationen über mögliche Parameter siehe [11].
Es gibt mehrere Möglichkeiten, um Optionen an PPP zu übergeben. Neben dem Aufruf
der Optionen auf Kommandozeile, kann man auch vier verschiedene Konfigurationsdateien dafür nutzen. Beachten muss man, dass sich gleiche Optionen mit verschiedenen
Werten in der Reihenfolge der Abarbeitung der Dateien überschreiben. Die gerätespezifische Konfigurationsdatei /etc/ppp/options.device wird als vorletzte ausgewertet
und überschreibt z. B. gleiche Optionen der Kommandozeile. Für die Konfiguration des
PPP-Servers wird in der Studienarbeit diese Datei benutzt. Zuerst muss sie mit der
Angabe des richtigen Devices erzeugt werden.
listig# cd /
listig# nano /etc/ppp/options.irnet
Mit Hilfe des Editors sollte man die folgenden Optionen eintragen, die Kommentare
dienen zur Erklärung der jeweiligen Parameter.
# Konfiguration für PPP über Irnet
# Geschwindigkeit der Verbindung:
115200
# keine Authentifizierung notwendig (Alternative: Authentifizierung über
# PAP – Password Authentification Protocol oder
KAPITEL 5. INBETRIEBNAHME DER IRDA-SCHNITTSTELLE
34
# CHAP – Challenge Handshake Authentification Protocol)
noauth
# bestimmte Steuerleitungen der ser. Schnittstelle werden nicht verwendet
local
# PC wartet immer auf ankommende Verbindungen (PPP-Server wird nicht abgebaut)
passive
# notwendig für erneute Verbindungsaufnahme
persist
# Zuweisung der IP-Adressen (local IP:remote IP)
141.24.93.150:141.24.93.151
Damit sind die wichtigsten Konfigurationen für den PPP-Server abgeschlossen.
5.6
Start der notwendigen Prgramme für eine IrDA
– TCP/IP-Verbindung
Nach dem erfolgreichen Abschluss der einzelnen Installationen ist es nun möglich, eine TCP/IP-Verbindung über IrDA aufzubauen. Zuerst muss auf dem Basisgerät wieder der Infrarot-Dongle an den IrDA-Protokollstack angehangen werden. Danach wird
zusätzlich das IrNet-Protokoll geladen.
listig# modprobe tekram
listig# irattach /dev/ttyS0 -d tekram
listig# modprobe irnet
Jetzt kann der PPP-Server mit der geschriebenen Konfigurationsdatei gestartet werden.
listig# pppd /dev/irnet
Der PPP-Server legt, wie auch IrDA, ein eigenes Interface an. Es enthält wieder zahlreiche Informationen und kann über ifconfig angezeigt werden (Abbildung 5.6).
Als letzter Schritt werden die Utilities der SynCE -Software aufgerufen. Dadurch wird
KAPITEL 5. INBETRIEBNAHME DER IRDA-SCHNITTSTELLE
35
Abbildung 5.6: Ausgabe von ifconfig mit PPP
ein weiterer PPP-Server gestartet, der Anfragen über das IrCOMM-Protokoll beantwortet.
listig# modprobe ircomm
listig# modprobe ircomm-tty
listig# dccm -r
listig# synce-serial-start
Wenn der PDA, welcher mit Hilfe der ActiveSync-Funktion auf den PPP-Server zugreift, über ein Passwort geschützt ist, muss das Programm dccm mit der Option -p
password aufgerufen werden.
Es besteht nun die Möglichkeit, mit Hilfe eines anderen Gerätes eine Direktverbindung
über das point-to-point Protokoll aufzubauen. Nach dem Zuweisen der IP-Adressen
und eventuell weiteren Parametern ist die Verbindung aufgebaut. Testen kann man
diese entweder über ein ping mit der entsprechenden IP-Adresse oder man startet
auf dem Basisgerät beispielsweise einen Webserver (z. B. apache). Ein Zugriff auf die
dort hinterlegten Webseiten ist mit Hilfe eines Webbrowsers (Adresse des Basisgerätes:
KAPITEL 5. INBETRIEBNAHME DER IRDA-SCHNITTSTELLE
36
http:// IP-Adresse) von dem entfernten IrDA-Gerät möglich. Über die Eigenschaften
der Direktverbindung kann man unter Windows die zugewiesenen IP-Adressen von
Server bzw. Client ablesen (Abbildung 5.7).
Abbildung 5.7: Eigenschaften der PPP-Verbindung
Kapitel 6
Bewertung der Kommunikation
über IrDA
Eine über Infrarot-Licht hergestellte Verbindung hat den Nachteil, dass Sichtkontakt
zwischen den beiden IrDA-Geräten bestehen muss. Weiterhin ist die überbrückbare
Reichweite relativ gering. In je einem Test mit einer Infrarot-Schnittstelle eines Laptops und eines PDA’s konnten die Geräte bis zu circa 1,5 Meter vom IR-Dongle des
Basisgeräts entfernt werden, bevor die Verbindung verloren ging. Dieser Test kann mit
Hilfe von irdadump leicht durchgeführt werden.
Falls ein Gegenstand in den Infrarot-Strahl gelegt wird, wird die Verbindung unterbrochen. Nach dem Entfernen des Hindernisses ist die Verbindung wieder verfügbar.
Die Reaktionszeiten auf eine ping-Anfrage schwanken unabhängig von der Entfernung
sehr stark. Die kleinsten Zeiten betrugen ungefähr 90 ms, aber auch Zeiten von 500 ms
und einigen Sekunden traten auf.
Ein weiterer Gesichtspunkt ist die Nutzung eines Handys mit IrDA-Schnittstelle als
Eingabegerät zur Steuerung der Anlage. Dies ist jedoch so nicht möglich. Die meisten
Mobiltelefone unterstützen zwar das IrCOMM und IrOBEX - Protokoll, doch kann
man es nicht zum Aufbau einer Direktverbindung über PPP mit einem anderen Gerät
nutzen. Das IrCOMM-Protokoll wird hauptsächlich dafür genutzt, um vom Laptop auf
das im Handy integrierte Modem zugreifen zu können oder zur Synchronisation von
Telefonbüchern. Diese Verbindungen werden jedoch immer vom PC aufgebaut, vom
37
KAPITEL 6. BEWERTUNG DER KOMMUNIKATION ÜBER IRDA
38
Handy hat man keine Möglichkeit einen Verbindungsaufbau zu realisieren. Mit IrOBEX
kann man einzelne Objekte zwischen zwei Handys oder mit einem PC austauschen.
Dies funktioniert natürlich auch zwischen Handy und Basisgerät, hat aber hier keine
praktische Bedeutung.
Für die Realisierung eines Zugriffs auf eine Hauszentrale mit einem Handy über Infrarot wäre eine eigene Softwareimplementierung auf dem Mobiltelefon notwendig. Diese
müsste den Aufbau einer PPP-Verbindung z. B. über IrCOMM erlauben. Somit wäre
es theoretisch auch möglich, dem Handy eine IP-Adresse zuzuweisen. Außerdem könnte
man dann eventuell über den Browser WAP-Seiten anzeigen lassen, die vom Basisgerät
per Infrarot zum Handy übertragen werden.
Zusammenfassend kann man feststellen, dass ein Zugriff auf das Basisgerät über einen
PC mit IrDA kein Problem darstellt. Praxisrelevant ist dieser Fall jedoch kaum. Nahezu jeder PC ist mit einer LAN oder WLAN-Karte ausgestattet und wird diese auch
zur Kommunikation mit der Hauszentrale nutzen.
Bei PDA’s, welche fast alle eine IrDA-Schnittstelle besitzen, ist dessen Nutzung zur
Steuerung auch ohne Probleme möglich. Allerdings sollte zur vereinfachten Bedienung
eine eigene Softwareimplementierung geschaffen werden. Durch die Mobilität eines
PDA’s ist der Einsatz zur Infrarot-Kommunikation mit dem Basisgerät sehr sinnvoll.
Durch die bei Infrarot fehlenden elektromagnetischen Störquellen hat diese Technologie
zur Nahbereichskommunikation auch weiterhin eine Berechtigung. Man muss nicht auf
Frequenzbänder zurückgreifen, die wie das 2.4 GHz-Band mittlerweile von massenhaft
Geräten und Netzen genutzt wird. Die Nutzung und gegenseitigen Störungen in diesen
Frequenzbändern wird sicherlich weiter zunehmen. Gerade deswegen sollte man nicht
auf den Einsatz der sehr billigen Infrarot-Technik verzichten.
Anhang A
Umsetzer für die serielle
Schnittstelle
A.1
Die COM-Schnittstelle auf dem Basisgerät
Pin
1
3
5
7
9
Signal
DCD
RXD
TXD
DTR
GND
Pin
2
4
6
8
10
Signal
DSR
RTS
CTS
RI
+3,3 V
Tabelle A.1: Pinbelegung COM-Schnittstelle auf Motherboard
Signal
TXD
RXD
RTS
CTS
DSR
DCD
DTR
RI
GND
+3,3 V
Ein/Ausgang
Ausgang
Eingang
Ausgang
Eingang
Eingang
Eingang
Ausgang
Eingang
–
–
Beschreibung
Transmit Data
Receive Data
Request To Send
Clear To Send
Data Set Ready
Data Carrier Detect
Data Terminal Ready
Ring Indicator
Ground
–
Funktion
Sendedaten
Empfangsdaten
Sendeteil einschalten
Sendebereitschaft
Betriebsbereitschaft
Empfangssignalpegel
Endgerät bereit
Ankommender Ruf
Schaltungsmasse
Spannungsversorgung ext. Umsetzer
Tabelle A.2: Beschreibung der Signale auf COM-Schnittstelle
39
ANHANG A. UMSETZER FÜR DIE SERIELLE SCHNITTSTELLE
A.2
40
Schaltung des externen Schnittstellenumsetzers
Abbildung A.1: Schaltung des Schnittstellenumsetzers
Abbildung A.2: Sicht auf geroutete Leiterplatte des Schnittstellenumsetzers
ANHANG A. UMSETZER FÜR DIE SERIELLE SCHNITTSTELLE
Bauelement
Anzahl
bestellbar bei
MAX212CWG
1
Reichelt
L 15 uH
1
Reichelt
1N4148
2
Reichelt
C 0,33 uF
1
Reichelt
C 0,33 uF keramisch
1
RS Components
C 0,68 uF keramisch
1
RS Components
Sub-D Stecker 9-polig
1
Reichelt
Stiftleiste Mini-Fix, Serie 515, 101
ODU
polig, Raster 1,27 x 2,54 mm
Buchsenteil Mini-Fix, Serie 525,
1
ODU
10-polig, für Flachbandkabel
Flachbandkabel Mini-Fix, 10–
ODU
polig, Raster 0,635 mm
Gesamtkosten der Bauelemete pro Schaltung:
41
Preis/Stück ca.
9,00 ¤
0,20 ¤
0,02 ¤
0,09 ¤
0,35 ¤
0,80 ¤
0,45 ¤
–
Tabelle A.3: Benötigte Bauelemente für den Umsetzer
–
–
11,00 ¤
Anhang B
Installations- und
Konfigurationsmaßnahmen
B.1
Installationsanleitung SynCE
Nachdem man alle notwendigen Pakete in das Verzeichnis /usr/src kopiert hat, muss
man diese nacheinander entpacken und kompilieren. Dies funktionierte auf dem Basisgerät ohne Probleme.
listig# cd /usr/src
listig# apt-get install autoconf
listig# dpkg -i automake1.6 1.6.3-11 all.deb
listig# dpkg -i linux-kernel-headers 2.5.999-test7-bk-15 i386.deb
listig# dpkg -i libc6-dev 2.3.2.ds1-11 i386.deb
listig# dpkg -i libtool 1.5.2-1 i386.deb
listig# tar zxf synce-libsynce-0.8.9.tar.gz
listig# cd synce-libsynce-0.8.9
listig# ./configure
listig# make
listig# make install
listig# cd ..
listig# tar zxf synce-librapi2-0.8.9.tar.gz
42
ANHANG B. INSTALLATIONS- UND KONFIGURATIONSMASSNAHMEN
43
listig# cd synce-librapi2-0.8.9
listig# ./configure
listig# make
listig# make install
listig# cd ..
listig# tar zxf synce-dccm-0.8.9.tar.gz
listig# cd synce-dccm-0.8.9
listig# ./configure
listig# make
listig# make install
listig# cd ..
listig# tar zxf synce-serial-0.8.9.tar.gz
listig# cd synce-serial-0.8.9
listig# ./configure
listig# make
listig# make install
listig# cd ..
listig# tar zxf libmimedir-0.3.tar.gz
listig# cd libmimedir-0.3
listig# ./configure
listig# make
listig# make install
listig# cd ..
B.2
Einrichtung einer Direktverbindung unter Windows XP
Um eine Direktverbindung unter Windows XP anzulegen, muss man im Menü der
Netzwerkverbindungen eine Neue Verbindung erstellen. Als Netzwerkverbindungstyp
ANHANG B. INSTALLATIONS- UND KONFIGURATIONSMASSNAHMEN
44
wählt man eine erweiterte Verbindung aus.
Abbildung B.1: Erstellen einer Direktverbindung
Im nächsten Dialog markiert man den Punkt Verbindung direkt mit anderem Computer
herstellen. Die Rolle des Windows XP Rechner’s ist Gast, er soll ja auf das Basisgerät
zugreifen. Jetzt besteht die Möglichkeit, dieser Verbindung einen beliebigen Namen
zuzuweisen. Als letzten Schritt wählt man das Infrarotgerät zur Kommunikation aus
(Abbildung B.1).
Über die Eigenschaften der eben erzeugten Verbindung kann man weitere Optionen
einstellen. Als Netzwerkprotokoll muss unbedingt PPP ausgewählt sein.
Die Sicherheitseinstellung sollte entsprechend der Abbildung B.2 vorgenommen werden
(der PPP-Server läuft zur Zeit ohne Verschlüsselung).
Ein Doppelklick auf die erstellte Verbindung öffnet das Fenster aus Abbildung B.3. Ein
Benutzername und Kennwort sind zur Zeit noch nicht nötig (PPP-Server erfordert keine
Authentifizierung), die Kommunikation wird über die Taste Verbinden hergestellt.
ANHANG B. INSTALLATIONS- UND KONFIGURATIONSMASSNAHMEN
Abbildung B.2: Eigenschaften der Direktverbindung
Abbildung B.3: Direktverbindung herstellen
45
ANHANG B. INSTALLATIONS- UND KONFIGURATIONSMASSNAHMEN
B.3
46
Herstellen einer Direktverbindung mit einem
PDA
Die Direktverbindung wird mit Hilfe der ActiveSync-Funktion des PDA’s hergestellt.
Die folgende Anleitung beschreibt den Aufruf einer ActiveSync-Verbindung bei einem
PDA mit dem Betriebssystem Pocket PC 2002.
Um ActiveSync auf dem PDA aufzurufen, tippt man auf Start. Daraufhin öffnet sich
eine Liste mit den verfügbaren Programmen. Aus dieser wählt man den Punkt ActiveSync aus (Abbildung B.4).
Abbildung B.4: Aufruf von ActiveSync am PDA
In dem nun erscheinenden Dialog (Abbildung B.5) ist es notwendig, unter Extras die
Synchronisation über Infrarot auszuwählen.
Über den Verbindungsstatus erfährt man, ob eine ActiveSync-Verbindung aufgebaut
ist. Wenn dies der Fall ist (und auf dem Basisgerät ein Webserver läuft), kann man mit
Hilfe des Pocket Internet Explorer’s auf die hinterlegten Webseiten zugreifen.
Der Zugriff auf Webseiten mit dem Pocket Internet Explorer über eine hergestellte
ActiveSync-Verbindung funktioniert nur mit PDA’s, welche als Betriebssystem Pocket
PC 2002 (oder einen Nachfolger davon) nutzen. Mit früheren Betriebssystemen (z. B.
ANHANG B. INSTALLATIONS- UND KONFIGURATIONSMASSNAHMEN
47
Abbildung B.5: Eigenschaften von ActiveSync
Windows CE 3.0) ist dies nicht möglich! Ein ActiveSync-Verbindungsaufbau funktioniert jedoch auch hier einwandfrei.
Literaturverzeichnis
[1] Ellen Kayata Wesel. Wireless Multimedia Communications. Addison Wesley Longman, Inc., 1998
[2] Prof. Dr. Jochen Seitz. Skript Kommunikationsdienste und -netze
[3] Dirk Reusch. IrDA soll schneller werden. Funkschau, Ausgabe 18, 1999
[4] Patrick J. Megowan, David W. Suvak, Charles D. Knutson. IrDA Infrared
Communications:
An
Overview.
Counterpoint
Systems
Foundry,
http://www.countersys.com
[5] Dr. Peter Reichl. Skript Mikrocontrollertechnik
[6] Prof. Dr. Jochen Seitz. Skript Telekommunikationsdienste und -protokolle
[7] Michael Kofler. Linux – Installation, Konfiguration, Anwendung. Addison-Wesley,
6. Aufl., München, 2001
[8] Frank
Ronneburg.
Debian
GNU/Linux
Anwenderhandbuch.
http://www.openoffice.de/linux/buch/, 2004
[9] Rainer Krienke. Kommunikation unter Linux. Suse Press, 2. Aufl., Nürnberg, 2003
[10] Werner Heuser. Linux Infrared HOWTO. http://www.tldp.org/HOWTO/InfraredHOWTO/, 2003
[11] Corwin Light-Williams, Joshua Drake. PPP HOWTO. http://www.tldp.org
/HOWTO/PPP-HOWTO/, 2000
48

Documentos relacionados