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