Netzwerkschnittstelle
Was sind Hardware-Schnittstellen?
Hardware-Schnittstellen werden benötigt, damit Rechner mit der Außenwelt
Daten austauschen können. Solche Schnittstellen werden beispielsweise benutzt, um Daten von
Tastatur und Maus zu übernehmen oder Daten an Bildschirm, Drucker und Lautsprecher weiterzugeben.
Sicher hast du auch schon die USB-Schnittstelle benutzt, um Daten von bzw. an externe Datenträger zu
übertragen.
Hardware-Schnittstellen begegnen uns wie bei dieser Laptop-Rückseite in Form von Buchsen und Steckern, mit deren Hilfe die
Verbindung zum Innern
eines Rechners hergestellt werden.
Aufgabe 1
Benenne die abgebildeten Schnittstellen und zähle Nutzugsbeispiele auf. Kennst du weitere Schnittstellen?
Das folgende Bild zeigt eine Netzwerkschnittstelle. Am linken Rand erkennt man eine Buchse, in die man ein Neztwerkkabel stecken kann. Zu der Netzwerkschnittstelle gehören auch die elektronischen Bauteile, die rechts von der Buchse zu sehen sind.
Eine Hardwareschnittstelle (kurz: Schnittstelle) ist eine Hardwareeinheit, über ein Rechner mit
Geräten (z.B. Tastatur, Maus, Drucker, Monitor) oder anderen Rechnern kommunizieren kann.
Aufbau und Verhalten der Schnittstelle müssen in einer Schnittstellenbeschreibung genau festgelegt sein.
Die englische Wort für Schnittstelle ist Interface.
Zu einer Schnittstelle gehören in der Regel elektronische Bauteile sowie eine Buchse, an der eine Leitung angeschlossen werden kann. Bei einer WLAN-Schnittstelle oder einer Bluetooth-Schnittstelle gibt es anstelle einer Leitung ein kleines Funkmodul mit einer Antenne.
Voraussetzungen für die Experimente in diesem Abschnitt
Für die folgenden Experimente benötigst du ...
- ... zwei Rechner
- ... zwei Calliope Mini
- ... mehrere Leitungen mit Krokodilkabeln
- ... eine LED mit integriertem Vorwiderstand
- ... das Python-Modul calli_inter
Details und Anleitungen zu den benötigten Materialien findest du hier: Exkurs - Materialien
Der Calliope Mini als Netzwerkschnittstelle
Bei der Netzwerkschnittstelle, die in einem Rechner eingebaut ist, können wir mit einem Python-Programm nicht direkt auf die einzelnen Anschlüsse zugreifen.
Deshalb verwenden wir den Calliope Mini als Netzwerkschnittstelle. Dazu muss auf dem Calliope Mini folgendes Programm installiert sein:
mini-calli_inter_v1_v2.hex (Calliope Version 1 und 2)
mini-calli_inter_v3.hex (Calliope Version 3)
Wir werden die Daten bitweise (d.h. Bit für Bit nacheinander) übertragen.
Ein Datenbit wird dabei durch eine Spannung zwischen Pin 1 und dem Pin - des Calliope Mini repräsentiert:
Wert des Bit | Spannung |
---|---|
0 | 0V |
1 | 3,3V |
Ein Dialog mit der Netzwerkschnittstelle
Aufgabe 2: Schreiben auf der Netzwerkschnittstelle
Schließe eine LED an Pin 1 und den Massepin des Calliope an.
Gehe dabei vor wie im folgenden Bild dargestellt.
Die LED benötigt einen Widerstand, der mit der LED in Reihe geschaltet ist.
Der Widerstand verhindert, dass die LED oder der Calliope zerstört werden.
Tipp: Bei dieser Aufgabe kannst du zusätzlich ein Voltmeter verwenden.
Schließe den schwarzen Anschluss des Voltmeters an den Massepin des Calliope und den roten Anschluss an Pin 1 an.
Führe den folgenden Python-Dialog aus.
Beobachte die LED und erkläre deine Beobachtungen.
>>> from calli_inter import Interface # die Klasse Interface wird importiert
>>> inter = Interface() # ein Objekt inter der Klasse Schnittstelle wird erzeugt
>>> inter.write(1) # auf Pin 2 wird eine 1 geschrieben
>>> inter.write(0) # auf Pin 2 wird eine 1 geschrieben
>>> inter.write(0) # auf Pin 2 wird eine 1 geschrieben
>>> inter.write(1) # auf Pin 2 wird eine 1 geschrieben
>>> inter.write(1) # auf Pin 2 wird eine 1 geschrieben
>>> inter.close() # die Schnittstelle wird geschlossen
Aufgabe 3: Lesen von der Netzwerkschnittstelle
Verbinde die Pins 1 und 2 miteinander:
Führe den folgenden Python-Dialog aus.
Beobachte die Werte, die der Befehl inter.read()
ausgibt. Erkläre deine Beobachtungen.
>>> from calli_inter import Interface # die Klasse Interface wird importiert
>>> inter = Interface() # ein Objekt inter der Klasse Schnittstelle wird erzeugt
>>> inter.read() # Pin 1 abfragen
0
>>> inter.write(1) # auf Pin 2 wird eine 1 geschrieben
>>> inter.read() # Pin 1 abfragen
1
...
>>> inter.close() # die Schnittstelle wird geschlossen
Zeitliche Abfolge von Signalen
Außer der Spannung, die wir ausgeben, muss auch die Dauer kontrolliert werden können.
Dazu nutzen wir die Funktion sleep
aus dem Modul time
.
Das folgende Programm zeigt, die die Funktion sleep
verwendet wird:
from time import sleep
print("Hallo")
sleep(3)
print("wie")
sleep(3)
print("geht's?")
Aufgabe 3
Schreibe ein Programm, das die LED zum blinken bringt.
Quellen
- [1]: Netzwerkkarte(letzter Zugriff: 3.9.2024) - Urheber: Echoray - Lizenz: Creative Commons BY-SA 3.0