EasyChart-Stick

Der Moment, wennst ein User-Script brauchst, um Leitungslängen zu erhalten…

Konstantin, Mai 2021

Der EasyChart-Stick ist das Herzstück dieses Projekts, das Endgerät.

Zu Beginn des Projekts, als wir alle noch hochmotiviert und etwas naiv waren, wollten wir gleich in die Vollen gehen, ein komplett eigenes Gerät bauen, welches als Basis eine ARM-CPU nutzt. Schnell wurde uns klar, dass dazu weder genug Zeit noch genug Hirnschmalz verfügbar war. Deshalb haben wir entschieden, für das Projekt ein Raspberry Compute Module 4 (CM4) zu verwenden. Bei dem CM4 handelt es sich um einen Raspberry Pi Computer in abgespeckter, miniaturisierter Form.

Uns war wichtig, das auf jeden Fall 4k Video-Output unterstützt wird, schließlich hat heutzutage fast jeder einen 4k-Fernseher zu Hause. Als Display-Schnittstelle sollte HDMI verwendet werden. Weiters waren drahtlose Schnittstellen wie Bluetooth und W-LAN sowie kabelgebundenes Ethernet notwendig, um mit der Smartphone-App zu kommunizieren und aktuelle Daten herunterzuladen. Das CM4 war hierfür ein absoluter Glücksgriff, denn es vereint all diese Schnittstellen in einem eleganten und einfach zu programmierenden Paket.

Das CM4 selbst verfügt über keinerler physischer Schnittstelle, abgesehen von den beiden großen Steckern auf der Unterseite. Um nun Ethernet oder HDMI verwenden zu können, ist ein zusätzliches PCB notwendig, welches die Pins des CM4 auf physische Anschlüsse ausführt, selbst allerdings keine Funktionalität bereitstellt.

Das Design des Boards wurde in Eagle durchgeführt. Hierbei wurden schon bald Probleme sichtbar, etwa das es in Eagle keine einfache Möglichkeit gibt, die Länge einer Leitung zu messen. Dies erschwerte den Entwurf der HDMI-Leitungen unnötig, da diese aufgrund der Architektur von HDMI die exakt selbe Länge aufweisen müssen. Autodesk Fusion wäre hier die bessere Wahl gewesen.

Der endgültige Entwurf stellt dem Nutzer einen HDMI-Anschluss, eine Ethernet-Buchse sowie einen USB-C Stromanschluss zur Verfügung. Der Taster wurde primär für Debug-Zwecke eingebaut, im Endgerät übernimmt dieser die Reset-Funktion. Die PCBs befinden sich in einem per 3D-Druck erzeugten Gehäuse.

Die Software wurde im Programmierframework Qt geschrieben, da einige Projektmitglieder im 5. Semester eine Veranstaltung dazu besucht hatten und Qt für Einsätze auf einem Raspberry Pi ideal geeignet ist.