Bitübertragung zwischen zwei Rechnern
Verbinden der Netzwerkschnittstellen
Für die folgenden Experimente werden Netzwerkschnittstellen von zwei Rechnern (d.h.: zwei Calliope) miteinander verbunden. Rechner A sendet auf Pin 1, während Rechner B auf Pin 2 empfängt. Deshalb wird Pin 1 von Rechner A mit Pin 2 von Rechner B verbunden. Aus dem gleichen Grund wird Pin 1 von Rechner B mit Pin 2 von Rechner A verbunden. Ein Stromkreis muss immer geschlossen sein. Deshalb müssen die beiden Masse-Pins miteinander verbunden werden.
Auf diese Weise ist es möglich, Daten von einem Rechner zu einem anderen Rechner zu übertragen.
Bitübertragung - interaktiv
Aufgabe 1
(a) Verbinde die beiden Calliope wie im obenstehenden Bild. Der linke Calliope ist Rechner A angeschlossen, der rechte an Rechner B.
(b) Probiere den folgenden Dialog aus und analysiere ihn. Wer sendet hier welche Daten an wen?
(c) Sende in einem zweiten Dialog die Bitfolge '101' von Rechner A an Rechner B. Anschließend soll Rechner B die Bitfolge '101' zurück an Rechner A schicken.
Rechner A | Rechner B |
---|---|
>>> from calli_inter import Interface >>> interA = Interface() |
|
>>> from calli_inter import Interface >>> interB = Interface() |
|
>>> interA.write(1) |
|
>>> interB.read() True |
|
... | ... |
Aufgabe 2
Die Datenübertragung kann auch mit geeigneten Hilfsprogrammen erfolgen.
(a) Lade den Quelltext zu dem Sendeprogramm sender.py und zu dem Empfangsprogramm empfaenger.py herunter. Starte auf dem einen Rechner das Sendeprogramm und auf dem anderen Rechner das Empfangsprogramm. Teste das Sender-Empfänger-System.
(b) Mit dem Sender-Empfänger-System sollen Bitfolgen wie z.B. '1001' oder '1101' übertragen werden. Die Bits sollen wie folgt erzeugt bzw. angezeigt werden: 1: Taste ist gedrückt / Lampe ist an; 0: Taste ist nicht gedrückt / Lampe ist aus. Begründe, dass Sender und Empfänger zuerst eine Zeit vereinbaren müssen, die für die Darstellung eines einzelnen Bits benutzt werden soll.
(c) Beschreibe die Probleme, die auftreten, wenn die folgenden Bitfolgen übertragen werden sollen:
- 00001111
- 11110000