Blog von Marian Edinger:

02.09.2024:

Bei der Kick-off Veranstaltung wurde der Beginn des Abschlussprojektes für alle Projektgruppen eingeläutet. Nachdem wir grundlegende Informationen wie Termine, Struktur und Regeln erfahren hatten ging es für uns zu unserem Projekt im Raum W03.

Nachdem wir uns eingerichtet hatten, starteten wir mit der Ideenfindung des Pflichtenheftes und wählten Lukas zu unserem Projektsprecher. Da es aber sowohl rechtliche als auch technische Fragen bzgl. Zugriffs auf Schulserver gab, kam mir die Aufgabe zuteil, mit Herrn Fieser, dem IT Beauftragten der Schule, zu klären was möglich ist.

Außerdem erstellte ich im Lauf der Woche ein erstes Mockup der Nutzeroberfläche unseres Leitsystems.


09.09.2024:

Zum Beginn des heutigen Treffens, besprachen wir die Ergebnisse der Mockups und unser weiteres Vorgehen.

Einige einfache Arbeiten an leicht defekten Schränken, waren mit der Hilfe von Florian schnell erledigt.

Wir unterteilten Aufgaben des Pflichtenheftes in Aufgabenbereiche, wobei mir vorerst die Aufgaben "Python Loginsystem" und "ersetzen der Excelliste durch eine Datenbank" zufielen. Wir waren uns allerdings von Anfang an einig, dass wir uns gegenseitig helfen werden, sollte es zu Problemen kommen.

Im weiterem Gespräch mit Herr Fieser, kristalisierte sich dann heraus, dass ein Umsetzen des Login Systems nach unseren Wünschen durchaus möglich ist.

Donnerstags trafen sich dann Lukas und ich nochmals um einige der Inventurgegenstände zu inventarisieren.


12.09.2024:

Donnerstags trafen sich Lukas und ich nochmals um einige der Inventurgegenstände zu inventarisieren.

Außerdem nahm ich noch den Rasperry Pie, auf dem sich unser Leitsystem inklusive Excelliste der Inventargegenstände befindet, mit nach Hause um die Umsetzung der Datenbank in Angriff zu nehmen.


16.09.2024:

An unserem heutigen Treffen konnte ich die ersten Ergebnisse meiner Datenbank vorstellen. Die Datenbank war aufgesetzt und hatte ihre ersten Funktionen: Einfügen von Material, Entfernen von Material und Anzeigen der Inhalte.

Zusammen begannen wir weiteres Material zu inventarisieren und arbeiteten uns mit der Unterstützung von Herr Schäfer in das LED Steuerungssystem ein. Da Florian bereits ein Angebot für die LED Verkabelung im Inneren der Schränke eingeholt hatte, besprachen wir mit Herr Müller und Herr Brand die finanziellen Dinge.

 


19.09.2024:

Lukas und ich trafen uns nochmals um die GUI und die Datenbank miteinander zu verbinden. Den Suchen Button hatten wir auch schnell verbunden, weitere Schritte hatte ich mir für die nächsten Tage vorgenommen (die Suchfunktion an sich, einlagern und auslagern, trennen der Menge in maximale und vorhandene Menge).


23.09.2024:

Leider kann ich an diesem Tag aus privaten Gründen nicht in der Schule anwesend sein. Allerdings verband ich die GUI und die Datenbank zur vollen Funktion. Außerdem programmierte ich noch Fehlermeldungen, das Anzeigen der Datenbank in Tabellenform und die Suchfunktion, die nun auch Ergebnisse bei nur teilweise richtigen Eingaben findet. Zudem habe ich, in Absprache mit Lukas und Florian, die Aufgabe ein Backupsystem für unser Skript sowie ein neues Anzeigefeld für die neu entstandenen Fehlermeldungen einzuführen. Desweiteren werde ich mich genauer mit der LDAP Abfrage unseres Login System befassen und mit der genauen Dokumentation unseres Scripts beginnen.


30.09.2024:

Weiterhin konnte ich leider nicht in der Schule anwesend sein. Das Backupsystem hatte ich innerhalb der letzten Woche umgesetzt, nun wird jedes Mal, wenn das Logicore Programm geschlossen wird, ein Backup mit Datum und Uhrzeit erstellt. Ich war am überlegen, einen Zyklus einzuführen, in dem die Backups gelöscht werden, hielt das angesichts der Größe von nur 16 kB jedoch für überflüssig.

Außerdem ist mir im Skript aufgefallen, dass die Auslagerfunktion aufgrund der Umstellung des Anzeigefensters von Textform zur Tabellenform nicht mehr richtig funktionierte.

Das Problem war dann aber auch schnell behoben. Das Programmieren des Skripts zum einwählen in das Schulnetz über eine LDAP Anfrage habe ich auch begonnen.

07.10.2024:

Endlich konnte ich wieder in der Schule anwesend sein! Mit Lukas und Florian setzten wir die Inventarisierung des Lagers fort. Außerdem versuchte ich den Rasperry erfolglos mit dem W-Lan der Schule zu verbinden. Herr Müller meinte daraufhin, dass es bestimmt möglich wäre, einen Repeater in der Werkstatt zu installieren. Eine LAN- Verbindung ist zwecks LDAP Anfrage an das Schulnetz leider zwingend notwendig. Da ich mittlerweile auch das LDAP Skript fertig gestellt habe, muss ich allerdings eh Kontakt  zu Herr Fieser zwecks Daten des Schulnetzes aufnehmen, in dem Zuge werde ich auch die W-LAN Problematik klären.

Danach versuchte ich noch erfolglos die LED-Steuerung über unser Logicore Programm anzusteuern.

10.10.2024:

Die letzten zwei Tage hatte ich viel Zeit aufgewendet, um zu recherchieren, wie es möglich ist, die LED Verbindung anzusteuern. Über einen von uns programmierten Schaltfeld, wären das nur wenige Zeilen. Allerdings wollte ich, dass sobald eine Zeile in der Tabelle ausgewählt ist, der Schrank der in dieser Zeile angegeben ist, auch leuchtet. Da diese Tabelle jedoch ein Modul von TKinter ist, dachte ich, ich müsste in dem TK Modul programmieren. Das hätte selbst für einen sehr erfahrenen Informatiker vor Probleme gestellt.

Glücklicherweise bekam ich von meinem Mitbewohner (Informatiker) noch den Tipp, einfach das Event des Markierens in der Tabelle anzusteuern.

Die LED Steuerung heute auch wirklich zum laufen zu bekommen, war mein großes Ziel. Nach einigen Startschwierigkeiten wegen falscher IP Namen, war dann die Freude auch sehr groß als die LEDs leuchteten.

 


21.10.2024:

Wir hatten uns entschlossen, die Herbstferien zu nutzen, um uns in der Schule zu treffen und die Inventur weiterzuführen. Nach 2 Stunden des Einlagerns musste ich dann allerdings auf die Arbeit. Lukas und Florian hatten Urlaub und arbeiteten noch eine Weile weiter.


28.10.2024:

Ich staunte nicht schlecht, als ich in die Schule kam und sah, dass alle Tische leer waren und dafür die Schränke voll! Lukas und Florian hatten an dem Termin in den Ferien wirklich ganze Arbeit geleistet.

Lukas und ich wollten heute versuchen, dass Skript, welches ja auf unseren Rechnern schon funktioniert, auch auf dem Raspberry zum laufen zu bringen. Nach etlichen vergeblichen Versuchen, alle erforderlichen Python-module zu installieren und dem ein oder anderen Schimpfwort, entschloss ich mich den Raspberry mit nach Hause zu nehmen und dort weiter an der Problematik zu arbeiten. Eine gänzliche Neuinstallation des Gerätes sollte die Problematik beenden. So zumindest, war unsere Hoffnung.


04.11.2024:

Viel Arbeit war auf mich zugekommen. Das Skript zum auf dem Raspberry zum laufen zu bringen stellte sich die ganze Sache problematischer als ursprünglich gedacht dar. Nachdem ich den Raspberry komplett neu aufgesetzt hatte, lief das Skript immer noch nicht. Es stellte sich heraus, das Raspberry OS, viele der von mir benutzten Python Module, nicht akzeptierte. Die Lösung war dann, virtuelle Umgebungen zu erstellen, in denen ich die benötigten Module problemlos installieren konnte.

In dieser virtuellen Umgebung, konnte ich das Skript nun endlich starten. Nach einem neu aufsetzen und befüllen der Datenbank, war der Raspberry nun bereit.

Die Freude war dann dementsprechend groß, als die LEDs leuchteten.

 


11.11.2024:

Da wir in der nächsten Woche unsere Zwischenpräsentation halten mussten, machten wir es uns zur Aufgabe, die Grundstruktur eben jener durchzugehen. Wir erstellten den gemeinsamen Teil der Präsentation und machten es uns zur Aufgabe unsere individuellen Bereiche bis Sonntags fertig zu stellen. Da die LEDS leider noch nicht angekommen waren, machten wir früh Feierabend. Die restliche Arbeit ließ sich schließlich auch von zu Hause erledigen. Sonntags trafen wir uns nochmals online um die Präsentation fertig zu stellen.


 25.11.2024:

Leider kamen die bestellten LEDs immer noch nicht. Da einer der Kritikpunkte in der Präsentation die Vernachlässigung der QR-Codes war, machten Lukas und ich uns daran, die selbsklebenden Codes mit Hilfe einer Vorlage die wir angepasst haben, zu erstellen. Nachdem wir die Codes ausgedruckt hatten, suchte ich die Gegenstände heraus, an denen noch QR-Codes fehlten und beklebte sie. Unter der Woche hatte ich noch einmal Kontakt zu Herr Fieser. Der gab mir ein Skript, welches die LDAP- Verbindung zum Server herstellen kann.


 02.12.2024:

Endlich kamen die LEDS! Leider war unser Elektriker Florian an diesem Tag verhindert, aber es war auch so genug Vorarbeit zu erledigen. Ohne seine Expertise wäre es ehr schwer für uns die LEDs korrekt zu verlegen. Bei der Vorbereitung merkten Lukas und ich schnell, dass ein Problem entstand. Die Aluprofile konnten nicht so wie vorgestellt in den Schränken vernietet werden, da der Abstand zu weit war. Ich hatte dann die  Idee, anstelle der Aluprofile, die Schutzabdeckung festzunieten und dann die Aluprofile einzurasten. Mit etwas Fingergeschick und Übung, funktionierte das auch. Wir sägten noch einige Aluprofile zu Recht und bohrten einige Löcher. Außerdem schrieb ich das von Herr Fieser erhaltene Skript mit Hilfe von Chat-Gpt in Python um. Leider konnte ich keine Verbindung herstellen. Ein Versuch den Server anzupingen, blieb ohne Antwort des Severs. Als ich dann nachschaute, auf welcher IP ich mich derzeitz befinde, stellte sich heraus, dass der Server mit dem ich mich verbinden soll, eine andere IP hat.

Dieses Problem werdeich mit der IT Abteilung der Schule besprechen müssen.


 07.12.2024:

Ich hatte im Laufe der Woche einen Termin mit der IT-Abteilung ausgemacht. Ich wollte mir morgens vor der Arbeit zusammen mit der IT die Situation vor Ort anschauen. Dabei stellte sich heraus, dass es nicht möglich ist, eine LDAP Verbindung zum Server über das W-Lan der Schule herzustellen. Die nächste LAN-Verbindung wäre allerdings zwei Räume weiter. Außerdem bräuchten wir, weil über den Netzanschluss unseres Raspberries der Router der LEDs angeschlossen ist, einen weiteren Raspberrie. Das bedeutet leider, dass wir zu Plan B übergehen müssen, der alleinige Login über RFID Karten. Der Vorteil daran ist, dass ein Login damit komplett ohne Netzanschluss möglich ist.


09.12.2024:

Heute konnten Florian und ich beginnen uns mit der Verkabelung und Kontrolle der LEDs auseinanderzusetzen. Wir hatten einige Probleme mit dem WLED-Controller und der Ansteurem von eben jenem. Außerdem war der Schaltplan unserer vorherigen Gruppe leider unklar. Nach einigem Hin und Her, fanden wir allerdings heraus wie alles funktioniert und in der nächsten Woche sollte uns dementsprechend nichts mehr von der Installation aufhalten.


16.12.2024:

Auch heute kamen wir nicht so schnell voran wie erhofft. Wir konnten zwar mit den Lötarbeiten starten, jedoch mussten wir feststellen, dass eine Parallelschaltung nciht möglich sein würde. Mit einer Parallelschaltung steuert der Controller nämlich mehrere Segmente gleichzeitig an. Bedeutet: Wird ein Segment angesteuert, wird eben jenes Segment in jeder der parallelen Schaltungen angesteuert. Uns blieb also nichts anderes übrig, als die LEDs in Reihe zu schalten. Falls es zu Problem mit Spannungsabfall kommen sollte, bedeutet das, dass wir eine Brücke für die Stromversorgung löten müssten.


19.12.2024:

Unser letzter Unterricht vor den Ferien fiel heute aus. Um die verlorene Zeit aufzuholen, entschlossen wir uns, stattdesen an unserem Projekt weiterzuarbeiten. Und tatsächlich, wir kamen ohne Probleme durch. Florian war am löten, Lukas und ich ihm am zuarbeiten. Am Ende waren tatsächlich alle LEDs in den Schränken. Ich versuchte nun das Skript derart anzupassen, dass ich die Schrankfächer einzeln ansteuern kann. Die Logik dahinter stellte sich als schwerer heraus als gedacht. Dies sollte meine Hausaufgaber über die Ferien sein. Ansteuerung der LEDs, Verbesserungen am Skript sowie die Dokumentation meiner Arbeit.


03.01.2025:

Über die Ferien arbeitete ich viel an der Ansteuerung der LEDs über das Skript. Die neuen LEDs mussten in das Verzeichnis übernommen werden, sowie die Ansteuerung dieser überarbeitet werden. Zudem arbeitete ich fleißig an meiner Dokumentation. Heute traf ich mich dann mit Lukas in der Schule, um die neu programmierte LED Ansteuerung auszuprobieren. Aus mir unerfindlichen Gründen leuchteten die LEDs leider nicht auf. Den Fehler konnte ich an diesem Tag auch nicht mehr finden.  Mit einiger Entäuschung musste ich dann mit einem nicht funktionierenden Skript wieder nach Hause fahren. Den Raspberry nahm ich auch wieder mit. Mittlerweile befand sich der Raspberry bestimmt schon länger in meiner Wohnung, als in seiner eigentlichen Heimat, dem schulischen Lager.


11.01.2025:

Ich hatte zuhause den vermeintlichen Fehler gefunden. Die Segmente im Verzeichnis waren falsch zugeordnet. Ich hatte die LEDs einzeln im Verzeichnis eingetragen, jedoch benötigt die Logik einen Start und ein Stop. In der Schulpause an diesem Samstag wollte ich dann einen neuen Versuch starten. Alle LEDs auf einem W-Controller starteten trotzdem nicht. Möglicherweise war das ein Hardwarefehler. Außerdem hatten wir die Dokumentation fertig gestellt und gegenseitig Korrektur gelesen.


13.01.2025:

Heute war Abgabetermin der Dokumentation. Nachdem wir die Dokumentation sowohl auf Papier als auch digital abgegeben hatten, machte ich mich daran, die LED-Steuerung zu reparieren. Es stellte sich heraus, dass der Controller nicht defekt war, sondern ein Fehler in meiner Logik bestand. Leider brachte meine Logik die W-LED Controller derart durcheinander, dass sie nachdem das Skript benutzt wurde, jedes Mal rebootet werden mussten. Es machte keinen Sinn. Mit viel fluchen suchte und suchte ich nach dem Fehler, aber konnte Ihn einfach nicht finden. Der Raspberry musste sich einmal mehr auf einige Zeit in meiner Wohnung einlassen.


20.01.2025:

Nach einiger gemeinsamer Suche mit meinem Mitbewohner konnten wir tatsächlich den Fehler finden. Ich hatte ein "start" anstatt eines "Start" geschrieben. Außerdem programmierte ich noch ein kleines Easter Egg. Gibt man nun in das Suchfeld "PARTY HARD!" ein, leuchten alle LEDs für einige Sekunden nacheinander auf. Herr Schäfer durfte später mit sichtbarer Freude unsere Arbeit begutachten. Zwei kleinere Verbesserungen später, waren wir dann auch endgültig fertig. Ich machte aus unserem Skript eine ausfürbare Datei und legte diese auf den Desktop. Meine Arbeit am Projekt selbst, war hiermit abgeschlossen.


27.01.2025:

Die letzten Tage machten wir uns daran, unsere Abschlusspräsentation vorzubereiten. Ich für meinen Teil, werde unser Projekt in Funktion zeigen. Außerdem habe ich noch eine kleine Betriebsanleitung geschrieben. Heute fanden dann unsere Fachgespräche statt. Ganz zufrieden mit meiner Leistung war ich nicht, allerdings fand ich die gestellten Fragen auch eher schlecht. Ich hätte sehr gerne mein Skript und meine Logiken genauer erklärt, aber die Fragen waren doch eher allgemeinerer Natur. Das fiel mir als eigentlich ungelernter Programmierer sehr schwer.


30.01.2025:

Statt des normalen Unterrichts der heute angestanden hätte, durften alle Projektgruppen Ihre Räume für die Präsentationen am Samstag vorbereiten. Da Lukas, Florian und ich nichts dem Zufall überlassen wollten, kamen wir schon Mittags in die Schule und bauten alles auf. Stühle mussten platziert, die Leinwand gestellt, das Rednerpult besorgt werden. Außerdem bereiteten wir den Raspberry derart vor, dass während unserer Präsentation ein einfaches Umschalten des Beamers von Powerpoint zu Raspberryoberfläche möglich war. Ich hatte die letzten Tage noch die Betriebsanleitung fertig gestellt und so konnten wir uns Abends dann nur auf das Einstudieren unserer Präsentationen konzentrieren.


01.02.2025:

Tag der Präsentation. Die Nervosität machte sich spürbar breit. Herr Schäfer war direkt zu unserer ersten Präsentation anwesend. Alles verlief nach Plan und wir sollten Ihn deswegen an diesem Tag auch erst nach den Präsentationen wieder sehen. Am Ende waren wir alle 3 sehr zufrieden mit unserer Leistung. Nach einer kurzen Rede des Schulleiters, gab es noch einen Sekt zum Anstoßen und wir konnten in unser verdientes Wochenende gehen.


03.02.2025:

Der letzte Projektmontag! Wir räumten die Werkstatt wieder um und übergaben dann das Projekt an Herrn Schäfer. Nach einer kurzen Kritikrunde, denn unserer Ansicht lief nicht alles optimal von Lehrer bzw. Schulseite, gingen wir dann auch nach Hause.


13.02.2025:

Dies wird der entgültig letzte Eintrag in unserer gemeinsamen Projektzeit sein. Die letzten Änderungen an Dokumentation, sowie die Fertigstellung des Abschlussvideos standen noch an. Ich hatte die Videoschnipsel aufgenommen, geschnitten und zusammengefügt. Lukas und Florian kümmerten sich dann um die Vertonung. Vielen Dank den beiden an dieser Stelle, auch wenn es anstrengend war hatte ich viel Spaß und werde immer positiv auf diese Zeit zurück blicken.

Erstelle deine eigene Website mit Webador