Plakat zum abschließenden Projekt XPORT

Terminplanung:

1. Februarwoche in den einzelnen Teams (im BNT oder zu Hause):
- Abschlussprojekt im W56 entsprechend der vergebenen Themen
fertig stellen und für die gemeinsame Internetdokumentation vorbereiten
(Weitere Inhalte können und sollten jederzeit im Raum 2.14 ergänzt werden). 

Do, 08.02.2007, 7. – 10. Stunde als gesamtes Projektteam W56:
- letzte Möglichkeit vor Abgabe der Facharbeit, Inhalte der XPort-Website hinzuzufügen.
- Aufbau und abschließender Test der Versuchsanordnung

Mi., 14.02.2007, bis 22:00 Uhr
- Facharbeiten mir zumailen.
(Die Inhalte inklusive der Grafiken können unter anderem der XPort-Webseite entnommen werden,
jedoch die Zusammenstellung/Strukturierung und Formatierung der Facharbeit, ebenso die Einführung (Motivation),
die Zusammenfassung und die Schlussbemerkung macht jeder für sich).

Do. 01.03.2007, 7. – 13. Stunde
- Fachgespräche (Anwesenheit aber nur in der halben Stunde, in der jeder jeweils geprüft wird)

Start

Um den XPort anzusprechen, muss man als erstes seine IP-Adresse festlegen. Dazu stehen mehrere Verfahren zur Auswahl: Der DeviceInstaller von Lantronix (Soft-Link) sucht per UDP-Broadcast (Port 30718) nach XPorts, die per DHCP eine IP-Adresse erhalten haben. Alternativ weist er selbst einem Modul eine IP zu, sofern man dessen MAC-Adresse kennt. Empfängt der XPort während des Bootens nacheinander drei X-Zeichen auf der seriellen Schnittstelle, so bietet er über diese ein Konfigurationsmenü an, in dem sich unter anderem die IP-Adresse einstellen lässt. Wer weder den Deviceinstaller noch die RS-232-Schnittstelle nutzen möchte, kann auch mit:

arp -s <IP> <MAC-ADRESSE>

einen temporären Eintrag im ARP-Cache seines Windows- oder Linux-PC anlegen und erhält dann mit

telnet <IP> 9999

Zugang zur Konfiguration. Neben dem Menüsystem, das man per Telnet (Port 9999) oder über die serielle Schnittstelle erreicht, bieten auch der DeviceInstaller und ein Web-Frontend auf dem XPort Zugriff auf alle wichtigen Einstellungen. Eine detaillierte Erklärung zu den einzelnen Optionen sowie zu den Details der Konfiguration der seriellen Schnittstelle (Baud-Rate, Flusskontrolle) findet sich im XPort User Guide (siehe Soft-Link).

Scheinwelt

Ohne Änderungen an der Konfiguration reicht der XPort alle Daten, die auf dem TCP-Port 10001 eingehen, direkt an seinen seriellen Port weiter und umgekehrt. Ein einfaches Telnet-Programm reicht deshalb schon aus, um ein angeschlossenes serielles Gerät zu bedienen. Optional fragt der Xport vor dem Durchleiten der Daten einmal nach einem Passwort. Mehr Komfort bietet unter Windows ein Treiber (COM Port Redirector), der einen virtuellen COM-Port einrichtet. Dieser ist völlig transparent. So bekommt zum Beispiel die Software zur Konfiguration einer Telefonanlage überhaupt nichts von der Netzwerkverbindung zwischen PC und Anlage mit, sofern sie mit einer COM-Port-Nummer oberhalb von zwei umgehen kann.

Der Redirector (siehe Soft-Link) kann pro COM-Port bis zu vier XPorts verwalten. Er probiert, sobald ein Programm auf die virtuelle Schnittstelle zugreift, alle Kandidaten durch, bis er einen freien gefunden hat. Das dort angeschlossene Gerät erscheint dann am jeweils gewählten COM-Port. Sobald die Applikation den Port wieder freigibt, baut der Treiber auch die TCP-Verbindung ab. Nützlich ist dies beispielsweise für einen Modem-Pool, bei dem es keine Rolle spielt, welches Gerät man zugewiesen bekommt, Hauptsache kein anderer Nutzer belegt es.

Für Linux übernimmt das Programm socat (siehe Soft-Link) die Emulation einer seriellen Schnittstelle. Der Befehl

socat PTY,link=/dev/XPort TCP:<XPORT-IP>:10001

legt zum Beispiel ein neues Pseudo-Terminal als /dev/XPort an. Dieses kann dann ein Terminalprogramm wie Minicom öffnen und sieht nur das an den XPort angeschlossene serielle Gerät. Leider wartet socat nicht, bis das Pseudo-Terminal benutzt wird, sondern stellt sofort eine Verbindung her und blockiert somit den XPort.

Ein Xport kann nicht nur auf eingehende Verbindungen warten, sondern sie auch selbst aufbauen. So bilden zwei über ein TCP/IP-Netz verbundene COM-auf-LAN-Adapter eine volltransparente Brücke für eine RS-232-Datenverbindung. Empfängt einer der XPORTs ein Zeichen auf seiner seriellen Schnittstelle, baut er über das Netzwerk einen Tunnel zu seinem Partner auf, ohne dass die beiden seriellen Geräte etwas davon mitbekommen. Ein solcher Tunnel verbindet serielle Geräte sogar über das Internet und überbrückt dabei für RS-232-Kabel unerreichbare Distanzen.

Dienstleister

Der XPort kann aber nicht nur als reine Datenbrücke zwischen Ethernet und seriellen Schnittstellen (3,3-V-Logik, mit Pegelwandler RS-232) arbeiten, sondern verfügt auch über einen integrierten Webserver. Seine 384 KByte Speicherplatz dürfen beliebige Dateien füllen, solange jede einzelne nicht größer als 64 KByte ist. Der findige Programmierer kann über Java-Applets, die er auf dem Webserver installiert, das serielle Gerät und die I/O-Ports bedienen. Zum Upload der Dateien auf den Server dient das TFTP-Protokoll, für das sowohl die meisten Linux- als auch Windows-Versionen schon Software mitbringen (siehe Soft-Link).

Im Kasten ist zur Demonstration ein Applet mit Terminal-Programm und Zugriff auf die universellen Ein-/Ausgabe-Pins (GP-I/O) beschrieben. Für Diskussionen über eigene Experimente und den Austausch von Quellcode haben wir zusätzlich ein Leserforum [1] zu diesem Artikel eingerichtet.

Baustelle

Die Rechenleistung für den Webserver und den Umsetzer stellt eine 16-Bit-80186er-CPU mit 48 MHz zur Verfügung. Sie besitzt 256 KByte SRAM und 512 KByte Flash und läuft mit einer proprietären Software von Lantronix.