Die Mischung machts!
Informationssystemtechnik - woraus besteht der Studiengang und was lernt man eigentlich?

Studierende stellen ihr Projekt vor: Informationssystemtechnik ist eine Mischung aus Elektro- und Informationstechnik und Informatik und besteht dem entsprechend aus einer Mischung der Module, die die Etitler und Informatiker besuchen. Das heißt, wenn ihr als iSTler die Vorlesungen besucht, sitzen dort entweder Informatiker oder Etitler mit euch. Das bringt neben der Wahl der Module eine recht große Freiheit – man kann sich frei entscheiden, in welche Richtung man später seinen Schwerpunkt setzen möchte.

Nun aber, was heißt denn jetzt eigentlich Elektro- und Informationstechnik und Informatik? Und was kann man eigentlich mit dieser einzigartigen Kombination erreichen?

Die Elektro- und Informationstechnik beschäftigt sich in Systemen, unter anderem, häufig mit der Hardware. Das heißt, der Elektro- und Informationstechniker beschäftigt sich mit den Komponenten, durch die Strom fließt. Das können Prozessoren, Platinen, Speicherbauteile, Spulen, Transformatoren, Verstärker und noch sehr viel mehr sein. Aus diesen wiederum bestehen komplexe analoge oder digitale Schaltungen. Hier ist Mathematik gefragt! Vieles muss berechnet werden. Es gibt viele Formeln, aber auch viel logisches Denken, da die entsprechenden Bestandteile auch entsprechend angeordnet werden müssen, um bestimmte Funktionsweisen erreichen zu können. Aber auch, weil die realen Modelle von den theoretischen, idealen Modellen abweichen – also mehr praktisches Rechnen, als nur bloße Beweise und graue Theorie!

Schaltung der Getränkemaschine (s. u.)
Schaltung der Getränkemaschine (s. u.)

Der Informatiker dagegen beschäftigt sich mit der Software. Er schreibt Programme, die dann – hoffentlich – auf der zuvor erstellten Hardware laufen oder diese nutzen. Dazu werden Programmiersprachen genutzt. Das kann man sich vielleicht in etwa so vorstellen, als würde man eine Anleitung mit einer sehr klaren Zeichensetzung, die verschiedene Befehle und Variablen von einander trennt – das, was eine Programmiersprache zum Teil ausmacht – für den Computer schreiben. Je nach Sprache hat man verschiedene Möglichkeiten für den Satzbau, und man kann unterschiedlich komplexe Sätze schreiben. Nur werden beim Programmieren so wenige Wörter verwendet, dass man diese selten als Satz bezeichnen würde. Die geschriebene Anleitung wird dann über die jeweilige Sprache für den Computer übersetzt und auf Befehl vom Computer ausgeführt.

Code des ESP32 der Getränkemaschine (s. u.) zum öffnen und schließen der Ventile
Code des ESP32 der Getränkemaschine (s. u.) zum öffnen und schließen der Ventile

Die Mischung machts!

Was bringt nun die Kombination? Gerade die Kombination ist wichtig! Man kann fast alles! In den meisten modernen Systemen kommt beides zum Einsatz. Immer seltener findet man rein analoge Schaltungen, wobei der digitale Anteil immer komplexer wird und häufiger von einem Prozessor übernommen wird, der programmiert werden muss. Mit iST könnt ihr beides! Ihr könnt z. B. einen kleinen Mikrocontroller nutzen und diesen programmieren, der dann wiederum eure Schaltung, die ihr gelötet habt, nutzt um etwas zu steuern.

Das, was den iSTlern fehlt, ist die Physik. Nur recht selten setzt man sich mit Kräften auseinander, die z. B. auf Materialien wirken, und berechnet, wie stabil etwas gebaut sein muss oder wie es geformt sein muss, um bestimmten Kräften standhalten zu können. Aber wer macht das auch schon freiwillig? Wenn etwas nicht funktioniert, sieht man es schon! Aber ohne die Steuerung hinter allem, funktioniert gar nichts!

Die Getränkemaschine

Ein Beispiel, was man mit der Mischung anfangen kann?

Wir haben in unserer WG eine Getränkemaschine gebaut!

Bestehend aus einem ESP32, der über das lokale Netzwerk (über den Router, bzw. WLan) mit unserem Raspberry PI kommuniziert und einer kleinen Schaltung, um die Ventile anzusteuern, kann man über eine App auf dem Handy Befehle über das lokale Netzwerk an den PI senden, der in einer Datenbank speichert, was, wie viel, von wem und zu welcher Uhrzeit getrunken wurde und dann den entsprechenden Befehl an den ESP schickt, der dann in ein Glas auf einer Waage die entsprechenden geforderten Mengen der entsprechenden Getränke über die Ventile einfüllt. Währenddessen zeigt der ESP den aktuellen Status und Fehlermeldungen über ein Display und LEDs an den Flaschen an. Außerdem loggt der PI die von der ebenfalls in unserer WG stehenden Zapfanlage gezapften Biere in die Datenbank ein und zeigt diese auf unserer eigenen WG-Website an, sodass alle unsere Gäste sehen können, was und wie viel sie getrunken haben. Außerdem soll die Getränkemaschine in Zukunft noch mit Alexa bedient werden können und auch mit dem Trinkspiel, welches Alexa bereits fast beherrscht, funktionieren.

Die Getränkemaschine
Die Getränkemaschine

An der Getränkemaschine musste der ESP, sowie die App und der PI programmiert werden. Damit die Einbindung in das lokale Netzwerk und die Ansteuerung der Ventile entsprechend der Nutzereingaben, sowie das Interface für den Nutzer (App) also überhaupt funktionieren, braucht man das Können eines Informatikers.

Für die Ansteuerung der Ventile und der weiteren Elektronik, die hinter dem ESP hängt, braucht man dagegen den Elektrotechniker, der diese Schaltungen entwirft.

Die Schaltung, über die der ESP32 alles steuert
Die Schaltung, über die der ESP32 alles steuert

Die Schaltung, die am ESP32 angeschlossen ist, verteilt zum Beispiel die 9 angeschlossene Datenleitungen auf die 16 verbundenen Ventile und 8 RGB LEDs (3 Anschlüsse pro LED), um diese ansteuern zu können. Dies geschieht über Schieberegister, die die LEDs per PWM ansteuern. PWM steht für Pulsweitenmodulation: Hochfrequentes An- und Ausschalten der LEDs lässt diese so schnell flackern, dass menschliche Augen dies nicht erkennen können und je nach Länge der Zeit, die sie ein- bzw ausgeschaltet sind, dieses Flackern nur als Helligkeit der LED wahrnehmen lässt. Mit den 3 RGB Farben kann man die LEDs so in jeder beliebigen Farbe und Helligkeit leuchten lassen. Außerdem besitzt die Platine Spannungsregler, um die Spannungsversorgung der Ventile und LEDs zu gewährleisten. Wir mussten die Schaltung also erst entwerfen, sonst wäre dies nur mit dem ESP32 gar nicht erst möglich gewesen.

Zeichnung der Platine, die wir geätzt haben
Zeichnung der Platine, die wir geätzt haben
App, zur Bedienung der Getränkemaschine
App, zur Bedienung der Getränkemaschine

Für die Interaktion mit den Nutzern dagegen brauchten wir ein Interface, das jeder verwenden kann. Wir haben also eine App programmiert, mit der man seine Bestellungen abgeben kann. Auf dem Bild sieht man zum Beispiel den XML Code, der das Layout beschreibt für die allgemeine Oberfläche (XML wird in Android für das Design genutzt und beschreibt Elemente, die dann mit Java Code in der Oberfläche eingebunden werden und mit Funktionen versehen werden) und den Java Quellcode, der ein Pop-up erscheinen lässt, wenn man eine Bestellung abgegeben hat. Dieses Pop-up schauen wir uns nun näher an: es ist ein Alert Dialog, der mit einem Builder zunächst erstellt werden muss. In der ersten Zeile des Codes wird also als Erstes dieser Builder erstellt. Das erste Wort in Zeile 165 bezeichnet den Typ, von dem die Variable „a_builder“, also das zweite Wort, ist. Mit „=“ weist man dieser Variable einen Wert zu, in diesem Fall wird mit „new“ ein neuer Builder erschaffen („context“ einfach mal ignorieren). Es wird also die Variable vom Typ AlertDialog.Builder erschaffen, die a_builder heißt und auf den Wert eines neuen Builders gesetzt wird. In der folgenden Zeile wird als Erstes überprüft, ob beim Absenden der Bestellung eine Bestellmenge in Millilitern angegeben wurde. Dies geschieht über einen Schieberegler, eine Seekbar. Wenn dies nicht der Fall sein sollte, wird eine Fehlermeldung angezeigt mit einem Zurück-Button, der das Pop-up-Fenster schließt. Andernfalls wird eine Nachricht angezeigt, bei der man aufgefordert wird, seine Mischung zu überprüfen. Dazu wird der gewählte Inhalt aufgelistet (Erstellen der Liste hier nicht auf dem Screenshot drauf) und im Pop-up angezeigt. Zusätzlich besitzt das Pop-up zwei Buttons, einen zum Bestätigen, der die Nachricht an die Getränkemaschine übermittelt (geschwärzt) und einen, um zu dem vorherigem Bildschirm zurück zu kehren. Damit wurde der Inhalt des Pop-up aufgebaut und der Alert Dialog kann gebaut werden. Dies verhält sich ähnlich wie bei der Variable „a_builder“, nur wird hier mit .create() eine Methode aus „a_builder“ aufgerufen, die einen, den bisherigen Informationen entsprechenden, AlertDialog erschafft. Dem Alert Dialog wird der Titel, der zuvor je nach Zustand festgelegt wurde, gegeben und wird im Anschluss mit alert.show() angezeigt.

Um Flaschen anschließen zu können, haben wir in die Deckel von Flaschen Löcher gebohrt und Schläuche mit Ventilen von dort aus verlegt. Jede Flasche hat jeweils ein Ventil für Luft und eins für Flüssigkeit. Für kohlensäurehaltige Getränke brauchten wir jedoch größere Schläuche, da die Kohlensäure in den kleinen Schläuchen an der Innenseite Blasen gebildet hat. Für größere Schläuche brauchten wir jedoch dann auch größere Ventile, die wir mit selbst gezeichneten und im FabLab der TU- Darmstadt (gerne mal besuchen) 3D gedruckten Adaptern bestückt haben, sodass die Schraubverschlüsse von Flaschen an die Ventile geschraubt werden konnten.

Großes Ventil mit 3D gedrucktem Adapter für Flaschen
Großes Ventil mit 3D gedrucktem Adapter für Flaschen

Bei Fragen oder Anregungen zur Homepage wenden Sie sich gerne an