Blog von Lukas Branse:

02.09.2024:

Kickoff Event for the Final Projects. Together with the other project groups and project leaders, many organizational matters were clarified, such as lab rules, dates for interim and final presentations, and the handover of keys and tools.

Furthermore, we "set up" room W03 for our work. We also began to derive a specifications document from the requirements document, but there is still a need for clarification on what can ultimately be implemented (financial and data protection hurdles).

I will take on the honorable role of project spokesperson myself.

We have also agreed on a new name for our project; BBS-System Warehouse is now "Logicore."

My task until the next meeting on September 9, 2024, is to create a website and a mockup for the graphical user interface of the Logicore system.


09.09.2024

In the last week, I have created a website using Webador and roughly designed it. Additionally, I created a logo draft, and after a brief discussion with my colleagues, we decided on this logo after making a few adjustments.

We have made some progress toward completing the specifications document by discarding the idea of lockable cabinets, as the costs and effort would be prohibitive. We will include the lighting in a few cabinets. The previously established areas of responsibility have been divided among the team.

Furthermore, during several tests, we discovered two bugs that we would like to fix with our extension (a small empty window opens at startup, and the current stock amount can exceed the maximum stock amount).


12.09.2024

After class, we had some time left, which we used to add and store more materials in the system. Among them were various electric motors and fieldbus controllers from SEW and other manufacturers. We recorded the components in the system with as accurate a description as possible.


16.09.2024

After extensive research on the topic of RFID, I became aware of a specific type of RFID system (Mifare Desfire). With this, one could write data such as username and password encrypted onto a tag, which would then fill in the data in the login window when read. Initially, I will try to obtain such a device through my workplace or through a team member.

In the meantime, I have also largely completed the structure for the login window; the individual elements will later need to be linked to the interfaces of the school server and the functions of the Python script. The same applies to the user interface of the actual program, which is already in progress.

We began today's project day by bringing each other up to date on the progress of the other team members. After that, we continued together with the storage of new items in the heavy-duty shelving. For now, only a few "indefinable" small parts remain.

Furthermore, we familiarized ourselves with the WLED software for controlling the individual LED strips. The software runs through the browser, and the interface is quite clear and intuitive to use; the difficulty will lie in controlling the LED controllers via the Python script.

In the coming days, I will continue to work on the interface and the internal functions of the GUI.


19.09.2024

During the week, I began developing the graphical interface for the actual program.

Unfortunately, it turned out that the 125kHz RFID device that Mr. Becker generously provided for our use is unsuitable for our planned application. None of the RFID types that operate at 125kHz can store more than 256 bits of data, which is insufficient for a username and potentially long password. I am continuing my research for a suitable device in order to obtain a quote for a new one soon, as the school unfortunately does not have any in stock.

Today, Mr. Edinger and I, with partial success, linked our scripts to integrate the database functions for the inventory list into the GUI.


23.09.2024

We discussed the points that we absolutely need to include in the requirements and specifications documents and began creating them. In the excitement of implementing our ideas, we apparently neglected the planning phase. However, everything will be completed in time for submission next Monday. Once everything is finished, I will publish the documents on the website.

Additionally, I checked the network connections of the Raspberry Pi; it has both a Wi-Fi and a wired network interface, so it should be possible to control the system via the FritzBox as planned while simultaneously querying the school network for user data.

In the meantime, I have identified 2-3 RFID devices that would fulfill our purposes.

We will also likely need a USB hub for the Raspberry Pi, as the USB interfaces are insufficient.


27.09.2024

Today, I spoke on the phone with the company GiS mbH. The German manufacturer offers RFID read/write devices and accessories. Unfortunately, according to their information, their software does not work on Linux. However, the gentleman on the phone offered me assistance from one of their software specialists, who has apparently heard something about operating under Linux. Since time is pressing for orders, I am skeptical that I will find a viable solution with GiS mbH in time. Therefore, I also requested a quote from Identible.de; the device available there from ELATEC has been tested for operation under Linux, and there is also German-speaking support. I am now hoping for a prompt response from the shop, although I am not sure if online shops provide quotes at all.


30.09.2024

Over the past week, I primarily worked on the requirements and specifications documents. Writing these turned out to be more work than I had anticipated. Additionally, regarding the procurement of RFID hardware, I established contact with several manufacturers and distributors of such devices. Unfortunately, I had to decline an offer from a supplier in Italy because I was not aware that the school is not allowed to order from abroad.

Another manufacturer from Germany indicated that their devices do not work under Linux. However, a gentleman on the phone offered to connect me with their software specialist, who apparently has experience with Linux. After consulting with him, I decided that the effort to adapt the device to our circumstances and intentions would be too great.

The most promising supplier now seems to be Identbase. Here, I apparently receive good support in German and a useful selection of devices. There are still a few things to clarify, but I am sure to receive a quote during the week.

Today, Monday, we were finally able to clarify the extent of the LED extensions. Mr. Müller desires 8 cabinets, which would correspond to a total of 46 compartments. We will have the quote for the LEDs and accessories updated accordingly. However, I am very skeptical that implementation within the given timeframe will actually be possible, considering the conditions (overhead, in hard-to-reach angles, at floor level) under which the soldering and wiring work will take place. I suspect that we will have time for at most 4.

Mr. Müller pointed out that we must deliver a Gantt chart to illustrate the project timeline. We will, of course, provide this later.

Additionally, together with Mr. Müller, we developed a concept for the internal cabinet lighting and its mounting. The LEDs will be glued in packs of three onto aluminum rails, which will then be attached to the front of the respective cabinet base using rivets or screws. There will be five drill holes placed there: 2 for the rivets and 3 for the lights. We have precisely determined the distances between the drill holes to create a drilling template. We have cut and drilled one rail as an example, as well as the first shelf. The drilling in the cabinet turned out to be extremely difficult... was the drill bit worn out?!


07.10.2024

Over the past week, I received the quote from Identbase.de and forwarded it to Mr. Müller, who has initiated the order. It is for an ELATEC TWN4 and 50 Mifare Desfire EV1 transponders with 4KB of memory each. Additionally, there were further additions to the specifications document (Gantt chart, signature page).

We spent this Monday evening mostly storing additional materials from the field of pneumatics. This was relatively time-consuming, as various components were scattered in several boxes and therefore had to be sorted first.


10.10.2024

After extensive consideration regarding how to integrate the database functions into the GUI I developed, we decided to include all functions, except for the one used to input new materials, in the main program. The function for new materials will run in a separate application that will only be accessible to authorized personnel. I have incorporated various input validation checks into the graphical interfaces of both programs to prevent, for example, letters from being entered into fields meant only for numbers. Additionally, I have programmed the most important error and success messages. All windows that can be opened from the main windows are interlocked in such a way that only one instance of each window can be open at a time.

Starting today, the homepage can also be translated into English.

Today, I transferred and tested the graphical interface on the Raspberry Pi. The GUI starts without any issues, but window sizes can still be adjusted, even though they should be locked by the program, I'll need to investigate this further.

I also brought a USB hub from home to expand the number of USB ports on the Raspberry Pi. Contrary to my expectations, it works with plug and play.


21.10.2024

We decided to schedule an appointment during the holidays to log the remaining items provided by Mr. Müller into the system. Apart from a few components that are still in use, everything is now stored in the cabinets.


28.10.2024

At today’s meeting, Mr. Edinger and I attempted to transfer the new GUI elements and the associated database functions as a complete script to the Raspberry Pi. Numerous issues arose with the modules installed on the Raspberry Pi. As a result, we decided to completely reset the device to install only what we need from scratch. Mr. Edinger will take on this task.


04.11.2024

Early last week, I was able to pick up the RFID device from the school. After days of reading up on the topic and numerous attempts, I succeeded in writing individual data to a card and outputting it in the desired format in read mode. Automating the writing process will be a challenging and time-consuming task.

Today, we largely completed the inventory. Additionally, we finally managed to control the LEDs using our own script on the Raspberry Pi. All previous functions are now available again, but with our entirely new script, including the updated user interface. However, the GUI will likely undergo further adjustments.


11.11.2024

With moderate success, I am making progress with the script for the automatic writing of RFID tags. The issue lies in the inability to write passwords of varying lengths. The command consists of the 2-byte-long command code, several configuration bytes, and the data to be written. The program retrieves this data from the input fields of the input mask. Naturally, the command’s length varies depending on the password length, which is ultimately sent to the writing device. Apparently, the device cannot correctly interpret these commands. I will need to investigate this further or contact support to find a solution.

We used the last meeting before the interim presentation on 11/18/24 to prepare the presentation, particularly the sections we plan to present together, such as the introduction and the conclusion, which will include our future plans. Additionally, we designed a template for our slides. Each team member will create their individual sections in their free time. On Sunday, 11/17/24, we plan to hold a meeting via MS Teams to review our results and integrate them into a cohesive PowerPoint presentation.


18.11.2024

esterday's meeting was highly productive. Each participant briefly presented their slides and explained what they intended to say for each, which allowed us to identify and address several corrections and additions. We agreed on a logical sequence for the content to ensure the presentation flows smoothly. For the general sections, we redistributed speaking parts so that everyone gets a chance to contribute during both the introduction and conclusion.

The interim presentation was scheduled for today at 8:00 PM. We used the time beforehand to rehearse our prepared presentation. We conducted two run-throughs in room W017, which we felt left us well-prepared.

The interim presentation itself, in my opinion, went very well. There were no major errors, and we completed it in about 35 minutes. The feedback was mostly positive, with only a few criticisms. For example:

Some slides had representations that were too small, Slight deductions were made for posture, The audience felt the speaking parts were not evenly distributed.
Content-wise, one critique was that we completely overlooked QR codes. However, we were able to quickly address this, explaining that the reader functions independently of our script as it simply simulates a keystroke to enter an object's storage number into a search field.

My explanation of the 4KB memory of our RFID tags was apparently insufficient. Mr. Schäfer suggested revising the graphical user interface, and he requested that the "discard" function for items should not be available to users. This function will need to be moved to the data.


25.11.2024

Over the past week, I continued working on the software for the RFID reader. The program for reading the tags functioned as intended; however, due to the accompanying software for device configuration, I was limited to a byte count of 32 bytes.

After consulting with Elatec support, I received some tips to increase the byte count. However, I had to follow certain steps during the configuration process and subsequently adjust the resulting C source code to allow reading more than 32 bytes. I have now successfully increased the byte count to 64 bytes. This provides enough space to read the 14 ASCII characters of the username, leaving an additional 50 ASCII characters available for the password.

After the 14th character, a TAB is used as a separator. Once all characters are read, an ENTER command is issued as a suffix. The automatic writing of tags now works flawlessly as well. The 7th byte of the write command defines the length of the data to be written, meaning it must be adjusted according to the length of the password. The 7th byte is now determined by a variable that counts the entered characters beforehand and sets the byte accordingly. This ensures that any password with a minimum of 6 and a maximum of 50 characters can be written and read correctly.

Additionally, I have revised the GUI of the main program according to Mr. Schäfer's feedback, reducing wasted space.

Today, we created additional QR codes and a template to print them precisely onto the sheets with self-adhesive labels, as the existing QR codes only went up to 1430.

Furthermore, I transferred the scripts for the RFID device to the Raspberry Pi for testing. It took some time to identify the correct interface, but after that, the "auto-write script" also worked on Linux.


02.12.2024

This week, the LED shipment finally arrived.

After completing the incoming goods inspection, we were able to begin preparations for the electrical installation. This involved drilling holes into the shelves using the drilling template, cutting the plastic covers for the aluminum profiles to 140 mm, and making 4 mm holes 10 mm from the edge so they can be riveted to the cabinet compartments. The aluminum profiles are also cut to 140 mm and receive 6 mm holes to allow the cables to be routed in from the back.

Today, Mr. Edinger and I drilled several holes and riveted the plastic covers through the outer holes. The three central holes are reserved for the LEDs.


09.12.2024

At the end of last week, it was unfortunately decided that we have to implement Plan B. This means that the login will not take place via an LDAP request to the school server using the ILIAS login credentials as originally planned. The school’s network infrastructure, specifically in room W03, does not allow this approach.

Unfortunately, I am unable to attend this meeting at the school due to illness. Instead, I have been working on my documentation. Because of the decision to switch to Plan B, the majority of the documentation must now be completely revised.


16.12.2024

At today’s meeting, we were finally able to install and test the first LED strips inside the first cabinet. While Mr. Becker and Mr. Edinger soldered the LEDs, I worked on the next cabinet by drilling and deburring the holes, riveting the plastic covers to the shelves, and cutting and stripping the cable bridges. This allowed my colleagues to focus solely on the soldering.


17.12.2024

Since I was already on vacation, I was able to complete the drilling for the remaining two cabinets during this session. Additionally, I prepared the remaining aluminum profiles and their corresponding plastic covers using a handsaw, file, cordless drill, and deburrer. These were then mounted to the cabinets using 4 mm blind rivets. This ensured that everything was ready for the installation of the remaining lights.


19.12.2024

Since classes were canceled on the last school day before the Christmas break, we used today to complete the planned four cabinets. I assisted by cutting and stripping cable bridges. After the installation, we immediately conducted initial function tests: all LEDs are powered and can be controlled via the controller, successfully lighting up. However, the programming of the LEDs through the script still needs some fine-tuning.


03.01.2025

During the holidays, I focused intensively on writing the documentation and managed to complete the majority of it. In the coming days, I will work on refining and polishing it.

Today, I met with Mr. Edinger at the school. During the Christmas break, he had developed a solution for controlling the LEDs through the script. Unfortunately, the new solution also turned out to be faulty.


11.01.2025

The documentation has been completed, and each team member has reviewed the others' work for errors. On Sunday, January 12, 2025, we plan to meet via Teams to combine the individual documents into a single comprehensive documentation.

During today's school Saturday, we used the two 15-minute breaks to test again whether we could control the LEDs. The script now appears to be error-free, but we encountered an issue where we could no longer establish a connection to the corresponding LED controller. This must be thoroughly examined on Monday, and we may need to replace the controller. Fortunately, we have a spare one available.


13.01.2025

Today was the submission deadline for the documentation. Printed copies of the individual reports and the complete documentation were explicitly required, though none of the supervisors ultimately showed any interest in them. Unfortunately, some resources were wasted in this process.

Mr. Becker and I were busy organizing the cables inside the cabinets into cable ducts so that no cables would be visible. To achieve this, we individually cut the cable ducts to the height of the respective cabinet compartments using a handsaw and adhered them to the cabinet walls. Additionally, Mr. Becker and I worked together to neatly secure the loose cables above the cabinets into cable ducts.

We also managed to re-establish a connection to the presumably defective controller. Restarting the controller via the WLED software temporarily resolved the issue, but it seemed that an error in the script was the root cause of the problem. Mr. Edinger identified the issue and will hopefully be able to fix it by the next session.


20.01.2025

In addition to further testing of the LED control system, we planned to create a first draft of our final presentation today. During a Teams meeting the day before, we had already conducted a brainstorming session and outlined a rough structure for the presentation.

The tests and necessary adjustments to the script took some additional time, but we were all thrilled when only the desired LEDs lit up—the script now worked flawlessly.

After a brief demonstration, Mr. Schäfer pointed out a few minor aesthetic issues, which we were able to fix in just a few minutes.

We then reconnected all devices to the Raspberry Pi and remounted it on the wall to ensure there were no loose cables that could cause disorder or confusion.

Afterward, we agreed on the content of the presentation, the order in which we would present it, and which images and visuals to use for support. However, we still need to finalize the distribution of who will present which sections to ensure that speaking time is divided as evenly as possible without frequently switching speakers. We plan to hold additional online meetings to address this.


27.01.2025

During the week, I worked on and nearly completed the software portion of the presentation, which I will definitely be presenting. In multiple test runs, I almost perfectly hit the planned duration of 5 minutes. I adjusted the slides to ensure a smooth flow of speech with appropriate visual support. Given the tight time frame, I had to focus on the most essential aspects without neglecting key details.

Each team is also required to create a flyer for the presentation. Unfortunately, we started working on it quite late, leaving little time to design a polished version. Fortunately, my first draft was immediately approved by Mr. Becker and Mr. Edinger, so I ordered it via express delivery on Friday, January 24, 2025. The flyers arrived today.

Additionally, the very important technical discussions took place today. During these 15-minute conversations, the supervisors asked team members technical questions about the project, and this segment contributes a significant 20% to the overall project grade.

We used the remaining time today to rehearse our presentation and make a few final adjustments.


30.01.2025

In the past few days, all team members have worked on their individual presentation parts and familiarized themselves with the flow. Today, we were given time to prepare our project room for the final presentation. The room had to be set up with seating, and we received a projector and a screen from Mr. Brandt. We had to procure some of the cabling ourselves to seamlessly implement our planned concept, which involves switching between the presentation and a live feed from the Raspberry Pi.

Additionally, we rehearsed our presentation several times to refine the flow. After the initial test runs, it became clear that Mr. Becker had the largest speaking portion, so we decided to make an adjustment: I took over the introduction and the following overview. My main focus remained on the software section.

Overall, we feel exceptionally well-prepared to deliver a perfect presentation on Saturday.


01.02.2025

Heute war endlich der langersehnte Tag der Abschlusspräsentation. Insgesamt hielten wir unseren Vortrag sechs mal. Das Interesse der einzelnen Gruppen schien recht groß zu sein, da nach dem Vortrag stets interessante Fragen gestellt wurden. Alle Vorträge liefen nahezu perfekt ab. Im Rückblick hätten wir besser vor jedem Start noch zwei Minuten gewartet, da mehrfach noch Zuschauer hereinkamen als der Vortrag bereits lief, was zu kurzen Unterbrechungen führte.

Nach dem letzten Vortrag waren wir alle sehr erleichtert und ebenfalls zufrieden mit unserer eigenen Leistung. Die Zeit von 08:00 Uhr bis 13:00 Uhr verging wie im Flug.

Nach den Präsentationen gab es noch eine kleine Ansprache vom Schulleiter, kalte Getränke und eine Kleinigkeit zu Essen.


03.02.2025

Today was finally the long-awaited day of the final presentation. In total, we delivered our presentation six times. The interest from the various groups seemed quite high, as we consistently received interesting questions after each session. All presentations went almost perfectly. In hindsight, it would have been better to wait two minutes before starting each time, as some audience members arrived late, causing brief interruptions.

After the final presentation, we were all very relieved and satisfied with our performance. The time from 08:00 AM to 1:00 PM flew by.

Following the presentations, the school principal gave a short speech, and we enjoyed some cold drinks and a small snack.


13.02.2025

Today was the final official appointment of the project phase. The promotional video has been uploaded, along with the final additions to the documentation.

Despite some setbacks along the way, the project was ultimately a great success and even managed to impress external viewers. Our teamwork and the dedication of each individual led us to this achievement, and we are eagerly awaiting the evaluation from our project supervisors.

This will be the last entry in this blog... Adios!

Create Your Own Website With Webador