Blog von Marian Edinger:
02.09.2024:
At the kick-off event, the start of the final project for all project groups was announced. After we received basic information such as deadlines, structure, and rules, we went to our project in room W03.
Once we had set up, we began brainstorming for the specifications document and elected Lukas as our project spokesperson. However, since there were both legal and technical questions regarding access to the school server, I was assigned the task of clarifying what is possible with Mr. Fieser, the school's IT representative.
Additionally, during the week, I created an initial mockup of the user interface for our control system.
09.09.2024:
At the beginning of today’s meeting, we discussed the results of the mockups and our next steps.
With Florian's help, we quickly completed some simple tasks on slightly defective cabinets.
We divided the tasks of the specifications document into areas of responsibility, with me initially taking on the tasks of "Python login system" and "replacing the Excel list with a database." However, we agreed from the start that we would help each other should any problems arise.
In further discussions with Mr. Fieser, it became clear that implementing the login system according to our wishes is indeed possible.
On Thursday, Lukas and I met again to inventory some of the inventory items.
12.09.2024:
On Thursday, Lukas and I met again to inventory some of the inventory items.
Additionally, I took the Raspberry Pi home, on which our control system, including the Excel list of inventory items, is located, to begin implementing the database.
16.09.2024:
At today's meeting, I was able to present the first results of my database. The database was set up and had its initial functions: adding materials, removing materials, and displaying contents.
Together, we began to inventory additional materials and, with Mr. Schäfer's support, worked on the LED control system. Since Florian had already obtained a quote for the LED wiring inside the cabinets, we discussed the financial aspects with Mr. Müller and Mr. Brand.
19.09.2024:
Lukas and I met again to connect the GUI and the database. We quickly connected the search button, and I planned to tackle further steps in the coming days (implementing the search function itself, storing and retrieving items, and separating the quantity into maximum and available amounts).
23.09.2024:
Unfortunately, I cannot be present at school on this day due to personal reasons. However, I connected the GUI and the database for full functionality. Additionally, I programmed error messages, the display of the database in table format, and the search function, which now also finds results for partially correct entries. Furthermore, in consultation with Lukas and Florian, I took on the task of implementing a backup system for our script as well as a new display field for the newly generated error messages. I will also focus more closely on the LDAP query of our login system and begin the detailed documentation of our script.
30.09.2024:
Unfortunately, I was still unable to be present at the school. I implemented the backup system last week, and now, every time the Logicore program is closed, a backup is created with the date and time. I considered introducing a cycle to delete backups, but given the size of only 16 kB, I thought it was unnecessary.
Additionally, I noticed that the export function in the script stopped working properly after the display window was switched from text format to table format.
However, the problem was quickly resolved. I also began programming the script to log into the school network via an LDAP request.
07.10.2024:
Finally, I was able to be at the school again! Together with Lukas and Florian, we continued the inventory of the storage. I also tried, unsuccessfully, to connect the Raspberry Pi to the school's Wi-Fi. Mr. Müller then suggested that it would likely be possible to install a repeater in the workshop. Unfortunately, a LAN connection is essential for the LDAP request to the school network. Since I have now completed the LDAP script, I will need to contact Mr. Fieser regarding the school network’s data, and I will also address the Wi-Fi issue at that time.
Afterward, I attempted unsuccessfully to control the LEDs through our Logicore program.
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:
We had decided to use the autumn break to meet at the school and continue the inventory. After 2 hours of organizing, I had to leave for work. Lukas and Florian had time off and continued working for a while longer.
28.10.2024:
I was quite surprised when I arrived at the school and saw that all the tables were empty, but the cabinets were full! Lukas and Florian had really done a great job during the meeting in the holidays.
Lukas and I wanted to try today to get the script, which works fine on our computers, running on the Raspberry Pi. After numerous unsuccessful attempts to install all the required Python modules and a few choice words, I decided to take the Raspberry Pi home and continue working on the issue there. A complete reinstallation of the device was supposed to resolve the problem. At least, that was our hope.
04.11.2024:
A lot of work came my way. Getting the script to run on the Raspberry turned out to be more problematic than originally anticipated. After completely re-setting up the Raspberry, the script still didn’t work. It turned out that Raspberry OS didn't accept many of the Python modules I was using. The solution was to create virtual environments in which I could easily install the required modules.
In this virtual environment, I was finally able to start the script. After re-setting and filling the database, the Raspberry was now ready.
The joy was immense when the LEDs finally lit up.
11.11.2024:
Since we had to hold our interim presentation next week, we made it our task to go through the basic structure of the presentation. We created the shared part of the presentation and made it our goal to finish our individual sections by Sunday. Since the LEDs had unfortunately not arrived yet, we called it an early day. The remaining work could be done from home. On Sunday, we met again online to finalize the presentation.
25.11.2024:
Unfortunately, the ordered LEDs still hadn't arrived. Since one of the points of criticism in the presentation was the neglect of the QR codes, Lukas and I got to work creating the self-adhesive codes using a template we adjusted. After printing the codes, I searched for the items that still lacked QR codes and applied them. During the week, I also got in touch with Mr. Fieser. He gave me a script that can establish the LDAP connection to the server.
02.12.2024:
Finally, the LEDs arrived! Unfortunately, our electrician Florian was unavailable on this day, but there was still enough preparatory work to be done. Without his expertise, it would have been quite difficult for us to correctly install the LEDs. While preparing, Lukas and I quickly realized that a problem arose. The aluminum profiles couldn't be riveted into the cabinets as originally planned because the spacing was too wide. I then came up with the idea to rivet the protective cover in place instead of the aluminum profiles and then snap the aluminum profiles into place. With a bit of dexterity and practice, this worked out. We sawed some more aluminum profiles to size and drilled a few holes. Additionally, I rewrote the script given to me by Mr. Fieser into Python using Chat-GPT. Unfortunately, I was unable to establish a connection. An attempt to ping the server went unanswered. When I checked which IP I was currently on, it turned out that the server I am supposed to connect to has a different IP.
I will need to discuss this issue with the school's IT department.
07.12.2024:
I had scheduled an appointment with the IT department during the week. I wanted to review the situation on-site with the IT team in the morning before work. It turned out that it's not possible to establish an LDAP connection to the server via the school's Wi-Fi. The nearest LAN connection is two rooms away. Additionally, because the router for the LEDs is connected through the Raspberry Pi's network port, we would need another Raspberry Pi. This unfortunately means that we have to switch to Plan B, which is the sole login via RFID cards. The advantage of this is that login can be completely independent of any network connection.
09.12.2024:
Today, Florian and I were able to begin working on the wiring and checking the LEDs. We had some issues with the WLED controller and controlling it. Additionally, the wiring diagram from the previous group was unfortunately unclear. After some back and forth, we finally figured out how everything works, and next week nothing should stand in the way of the installation.
16.12.2024:
Again today, we didn't make as much progress as hoped. While we were able to start the soldering work, we had to realize that a parallel circuit wouldn't be possible. With a parallel circuit, the controller controls multiple segments simultaneously. This means that when one segment is addressed, the same segment is addressed in each of the parallel circuits. So, we had no choice but to wire the LEDs in series. If we encounter voltage drop issues, it means we would have to solder a bridge for the power supply.
19.12.2024:
Our last class before the holidays was canceled today. To make up for the lost time, we decided to continue working on our project. And indeed, we made it through without any issues. Florian was soldering, while Lukas and I assisted him. By the end of the day, all the LEDs were installed in the cabinets. I then tried to adjust the script so that I could control the individual cabinet compartments. The logic behind it turned out to be more difficult than expected. This was to be my homework over the holidays: controlling the LEDs, making improvements to the script, and documenting my work.
03.01.2025:
During the holidays, I worked a lot on controlling the LEDs via the script. The new LEDs had to be added to the directory, and their control had to be revised. Additionally, I worked diligently on my documentation.
Today, I met up with Lukas at school to test the newly programmed LED control. For some inexplicable reason, the LEDs unfortunately did not light up. I was unable to find the error that day.
With some disappointment, I had to go home with a non-functioning script. I also took the Raspberry Pi with me again. By now, the Raspberry Pi had probably spent more time in my apartment than in its actual home—the school storage room.
11.01.2025:
At home, I found what seemed to be the error. The segments in the directory were incorrectly assigned. I had listed the LEDs individually in the directory, but the logic required a start and a stop.
During the school break on Saturday, I wanted to give it another try. However, all LEDs on one W-controller still didn’t turn on. This might have been a hardware issue.
Additionally, we completed the documentation and proofread each other’s work.
13.01.2025:
Today was the submission deadline for the documentation. After handing it in both on paper and digitally, I set out to fix the LED control.
It turned out that the controller wasn’t defective after all, but there was an error in my logic. Unfortunately, my logic confused the W-LED controllers so much that they had to be rebooted every time the script was used. It made no sense.
With a lot of frustration and cursing, I searched and searched for the error but just couldn’t find it. Once again, the Raspberry Pi had to settle in at my apartment for a while longer.
20.01.2025:
After some joint troubleshooting with my flatmate, we actually managed to find the error. I had written "start" instead of "Start."
Additionally, I programmed a small Easter egg: if you enter "PARTY HARD!" in the search field, all LEDs light up one after another for a few seconds.
Later, Mr. Schäfer was visibly pleased to review our work. After two small improvements, we were finally done. I turned our script into an executable file and placed it on the desktop.
With that, my work on the project was officially complete.
27.01.2025:
The past few days, we focused on preparing our final presentation. For my part, I will demonstrate our project in action. I also wrote a small user manual.
Today, our technical discussions took place. I wasn’t completely satisfied with my performance, but I also found the questions rather poor. I would have loved to explain my script and logic in more detail, but the questions were more general in nature.
As someone without formal programming training, I found that particularly challenging.
30.01.2025:
Instead of the regular classes that were scheduled for today, all project groups were allowed to prepare their rooms for Saturday’s presentations. Since Lukas, Florian, and I didn’t want to leave anything to chance, we arrived at school around noon to set everything up.
Chairs had to be arranged, the screen had to be set up, and we needed to get a lectern. Additionally, we prepared the Raspberry Pi so that switching between the PowerPoint presentation and the Raspberry interface would be seamless during our presentation.
Over the past few days, I had also finished the user manual, so in the evening, we could fully focus on rehearsing our presentations.
01.02.2025:
Presentation day. The nervousness was palpable. Mr. Schäfer was present right from our first presentation. Everything went according to plan, and we wouldn’t see him again until after all the presentations were over.
In the end, the three of us were very satisfied with our performance. After a short speech by the principal, there was a toast with sparkling wine, and we could head into our well-deserved weekend.
03.02.2025:
The final project Monday! We cleaned up the workshop and handed over the project to Mr. Schäfer.
After a brief feedback session—since, in our opinion, not everything went smoothly from the teachers' or school's side—we headed home.
13.02.2025:
This will be the final entry in our shared project journey. The last adjustments to the documentation and the completion of the final video were still on the agenda.
I recorded, edited, and assembled the video clips, while Lukas and Florian took care of the voice-over. A big thank you to both of them—despite the challenges, I had a lot of fun and will always look back on this time with fond memories.
Create Your Own Website With Webador