Neuigkeiten    Das Projekt    Technik    RoboSpatium    Unterstützung    Stichwortverzeichnis    Download    Reaktionen    Spiele    Gadgets    Kontakt   




<<< Maschinensteuerung per Webserver         SKT Version 2 >>>

Sicheres Kommunikations-Terminal (SKT)

Das Video zu ersten "Prototypen"


Einfach ist einfach Manipulationssicherer!

In den letzten Jahrzehnten der Entwicklung digitaler Datenverarbeitung ist man den Weg hin zur "Eierlegenden Wollmilchsau" gegangen. Es soll ein Gerät und ein Betriebssystem für alles konfigurierbar sein. Dabei hat man auf die Hardwarearchitektur mit jeder Generation mehr und immer unterschiedlichere Zusatzfunktionen gepackt. Gleichzeitig hat man mehr und mehr Codezeilen geschrieben, um die zusätzlichen Hardwarefunktionen ansprechen zu können und weitere Konfigurationsmöglichkeiten softwareseitig implementiert. Als Ergebnis tragen wir Rechner in unseren Hosentaschen, die zu Beginn der Entwicklung einem Supercomputer alle Ehre gemacht hätten. Die Werbeindustrie hat es gleichzeitig fertiggebracht, die Botschaft "Mehr ist Besser" fest in die Hirne gedankenloser Konsumenten zu verankern.

Ich denke dabei immer an eine Begegnung mit einem Kumpel auf der Kirmes zurück der mir mit den Worten "Guck mal!" das neuste Produkt aus Cupertino vor die Nase gehalten hat. Auf meine Bemerkung "Und?" kam die Antwort "das ist das schnellste Smartphone, das es gibt!". Darauf ich: "Wetten, dass du damit keine Mail doppelt so schnell versenden kannst wie ich mit meiner 4 Jahre alten Gurke, die weniger als die Hälfte der Rechenleistung besitzt?". Die Wette ist er trotz Kirmes nicht eingegangen, er hat umgehend eingesehen, dass er auf verlorenem Posten steht. Besagter Kumpel hat den "Walled Garden" mittlerweile wieder verlassen.

Die Anekdote zeigt aber ganz gut auf, dass die Grundbedürfnisse der Kommunikation in den letzten, sagen wir mal 20 Jahren, nahezu unverändert geblieben sind, die hinzugewonnene Rechenleistung irgendwie "verpufft" ist. Wo? Nun, in Closed Source Betriebssystemen können das nur diejenigen sagen, die Einblick in den Quellcode haben und auch diese Menschen nicht mit Bestimmtheit, einfach, weil eine einzelne Person schon lange nicht mehr den ganzen Wust an Codezeilen überblicken, geschweige denn die Logik dahinter verstehen kann. Open Source Betriebssysteme geben Einblick in den Quellcode, aber auch hier wächst der Dschungel mit jeder neuen Distribution kräftig weiter. Ein Plus an Sicherheit ist hier in sofern gegeben, als bewusste Implementierungen zum Nachteil der Nutzer üblicherweise schnell entdeckt werden. In Closed Source Ökosystemen muss man sich auf die Versprechen der Anbieter verlassen und die jüngere Geschichte hat gezeigt, dass hier gelogen wird, dass sich die Balken biegen. Neben der versteckt ablaufenden, absichtlichen Manipulation der Endverbraucher im Software-Dschungel gibt's dann noch die Programmierfehler, welche dazu führen, dass auch begabte Menschen außerhalb der Hersteller-Clique unbeschränkten Zugriff auf die Geräte erhalten. Ist verboten, hindert "böse" Hacker aber nicht daran, es trotzdem zu tun. Mir kommt da gleich das Brecht-Zitat in den Sinn: "Bankraub: eine Initiative von Dilettanten. Wahre Profis gründen eine Bank."

Raus aus den Diktaturen, machen wir unser eigenes Ding!

Dieses "eigene Ding" soll (nach momantaner Planung) kein fertiges Produkt werden! Anstelle dessen möchte ich in verschedenen Kapiteln zeigen, wie man vorgehen kann, um eigene Kommunikationsterminals zu kreieren und untereinander zu vernetzen. Wer verstanden hat, wie's geht, kann je nach Wunsch eine den eigenen Bedürfnissen entsprechende Tastatur, ein Display oder einen speziellen Mikrocontroller verwenden. Die Demokraten dieser Welt sollen ein besseres Verständnis der Vorgänge hinter digitaler Kommunikation bekommen.

Meine Leitsätze für sichere Kommunikationsterminals lauten dabei:
  • Mach in Sachen Software wenig, das aber gut!
  • Nimm möglichst leistungsschwache Hardware, denn die deckt schonungslos auf, wenn man gegen Punkt 1 verstößt.
  • Die Hardwarekomponenten sollen austauschbar sein, GPIOs sind die einzigen Schnittstellen - intern oder hin zur Außenwelt.
  • Programmierbar per frei verfügbarer Open Source Software.
Neben dem Hard- und Softwarebudle von Eigenbau-Kommunikationsterminals werde ich auch zeigen, wie man eine Infrastruktur zum Informationsaustausch über herkömmliche PCs aufbaut. Alles plattformunabhängig und mit freier, Open Source Software.

Erste "Prototypen"

Die beiden in dem Video zu diesem Kapitel gezeigten Terminals sind in dem momentanen Versionsstand weder sonderlich sicher, noch komfortabel in der Bedienung, eignen sich aber für erste Gehversuche in Sachen Hard- und Software. Die Vorteile sind, dass die nötige Hardware günstig in der Anschaffung ist und die Software recht kompakt ausfällt.

Teileliste

Wie das auf dem Arduino UNO basierende Terminal aufgebaut ist, steht im Kapitel zur Funktionsweise einer LED Matrix. Dort ist auch das Board mit den größeren LEDs unter Verwendung des ATmega328P beschrieben. Benötigt wird zusätzlich lediglich ein Tastschalter als Morsetaste. Daher folgt hier nur die Hardwarebeschreibung des Raspberry Pico Terminals:
Bauteil Online Shops Bemerkung
Raspberry Pico Raspberry Pico auf eBay

Raspberry Pico auf Amazon
Mikrocontroller Board mit mehr als ausreichend Rechenleitung für ein Kommunikationsterminal.
3x4 Tastaturmatrix 3x4 Tastatur auf eBay

3x4 Tastaturmatrix auf Amazon
Eingabegerät
Display ILI9341 Display ILI9341 auf eBay

Display ILI9341 auf Amazon
2.4 Zoll Diagonale, 320x240 Pixel, gibt's auch mit Touch-Funktion, meine Displays sind ohne
TSOP32536 TSOP32536 IR Sensor auf eBay

TSOP 4838 auf Amazon
Infrarot Sensor (Empfänger)
Infrarotdiode IR Diode 940nm auf eBay

IR diode 940nm auf Amazon
Sender
Widerstände Widerstände auf eBay

Widerstände auf Amazon
Kohleschichtwiderstände mit 5% Toleranz sind günstig und für Experimente rund um LEDs gut geeignet.

Elektronik

Webserver Apache auf einem Raspberry Pi Model B+
Abbildung 1:
Text Terminals auf Basis ATmega328 (Arduino UNO) und Raspberry Pico
Webserver Apache auf einem Raspberry Pi Model B+
Abbildung 2:
Verkabelung Raspberry Pico.

Software/Download

Die Software zu den beiden Terminals läuft, ist aber erstmal nur ein sehr grobes, auf die Schnelle geschriebenes Grundgerüst. Das Arduino UNO Terminal ist mit Hilfe der Arduino IDE in C programmiert, das Raspberry Pico Terminal verwendet Code in Micropython, geschrieben mit Thonny. Der Quellcode beider Terminals ist im Download-Paket (1.1MB) enthalten.
Den Code überlasse ich euch erst einmal weitgehend unkommentiert. In künftigen Kapiteln werde ich zeigen, wie die einzelnen Komponenten (Tastatur, Display, Kommunikationsschnittstelle) per Software angesprochen werden können.

Der Quellcode des Arduino kommt ohne Einbinden von Bibliotheken aus, womit der gesamte, auf dem ATmega 328P laufende Quellcode (mit Ausnahme des Bootloaders) in einer einzigen Datei aufgelistet ist. Der Code des Raspberry Terminals scheint kürzer zu sein, was aber lediglich daran liegt, dass hier Code aus externen Python Skripts (=Bibliotheken) eingebunden wird.



<<< Maschinensteuerung per Webserver         SKT Version 2 >>>


Neuigkeiten    Das Projekt    Technik    RoboSpatium    Unterstützung    Stichwortverzeichnis    Archiv    Download    Reaktionen    Spiele    Verweise    Gadgets    Kontakt    Impressum   





Twitter YouTube Hackaday Patreon TPO