Soft Skills und Technische Kompetenz (WiSe20/21 - SoSe2021) - Gruppe 15

Entwicklungstagebuch

Entwicklertagebuch 31.07. – 05.08.

Wir haben angefangen uns die ersten Male zu treffen und dabei in Brainstormings Ideen ausgetauscht, was wir in dem Projekt machen wollen.

Dabei haben wir uns auf eine Idee geeinigt. Wir wollen ein Check-in System für die Räume der Uni entwickeln. Dabei soll es möglich sein, dass Studierende und Mitarbeitende der Uni sich mit ihrer Campuscard oder einem RFID Chip im System eintragen und ihre Kontaktdaten hinterlegen. Somit können ohne eine externe App verwenden zu müssen einfach und sicher die entsprechenden Daten erfasst werden. Dabei haben Lehrende keinen direkten Zugriff auf diese Daten.


Kleine Bugfixes und Probleme 06.08. – 12.08.

Wir haben uns zusammengesetzt, um einige kleine Probleme mit dem Microcontroller zu beheben. Die Testprogramme für den OLED-Shield und den RFID-Scanner haben einzeln gut funktioniert, aber in unserem Hauptprogramm wurden vom Scanner keine Werte übermittelt. Wir haben verschiedene Sachen auf der suche nach der Lösung ausprobiert, aber nichts hat wirklich funktioniert. Dann sind wir auf die Idee gekommen, dass es etwas mit der Hardware zu tun hat. Nachdem wir uns nochmal die Pins des Wemos angeschuat hatten, ist aufgefallen das GPIO “0” der selbe Pin ist wie “D3”. Das bedeutet, dass beide Geräte den Selben Pin zum reset benutzen. Der reset-port vom RFID-Scanner wurde dann auf “D4” umgelötet, und jetzt scheint es zu funktionieren. Außerdem gab es Probleme bei der Umwandlung der Hexadezimalen Id der NFC-Chips von einem String zu einem Characterarray. Dies konnte aber schnell behoben werden.


Entwicklertagebuch 9.8.-15.8.

In dieser Woche ist weiterhin nicht allzu viel passiert, da wir alle Im Team weiterhin Klausuren schreiben


Entwicklertagebuch 16.8. – 22.8.

Nun sind die Klausuren endlich zu Ende und wir können voll durchstarten mit der Umsetzung des Projektes.

Am Anfang der Woche haben wir uns bereits einmal zusammen gesetzt und besprochen, wie der aktuelle Stand bei jedem Einzelnen ist.

Dabei kam raus, dass das Backend bereits gute Fortschritte gemacht hat und nun auch mit der Entwicklung eines Frontends begonnen werden kann.


Entwicklertagebuch 23.08. – 29.08.

In dieser Woche wurde am Frontend gearbeitet. Es wurde auf der Website eine Seite angelegt, mit der Infektionen im System gemeldet werden können. Dabei wird dann automatisch eine E-Mail an alle betreffende Studierende geschickt.


Funktionstest und Troubleshooting 23.08. – 29.08.

Das Testen der Hardware und Software hat sich etwas schwieriger ergeben als gedacht. Ein erster Test am Samstag (28.08) ist fehlgeschlagen, da es Verständnisprobleme mit dem Code für den Mikrocontroller gab und nur ein Zweier-Team mit dem Test beauftragt wurde. Das haben wir am Montag (30.08.) in einem gemeinsamen Gruppen-Meeting gelöst. 

Das erste Problem, war die Verbindung mit dem WLan. Hier fehlte nur ein String (die Variable war schon angelegt, aber leer), der dem Mikrocontroller eine WLan-ID gibt. Diese wird benötigt, damit der Mikrocontroller über PC oder Handy als WLan-Gerät sichtbar wird und man die Zugangsdaten eingeben kann. Das war eigentlich trivial, hat aber am Samstag den Fortschritt komplett blockiert. 

Als wir nun den Verbindungsaufbau zu unserer MQTT-Instanz testen wollten, sind wir auf weitere Probleme gestoßen. Hier hat sich der Mikrocontroller zwar mit dem WLan erfolgreich verbinden können, allerdings nicht zu unserem MQTT-Server. Mit einem älteren Node-Red Beispiel aus den Übungsblättern haben wir dann versucht, ob eine generelle Verbindung möglich ist, was auch der Fall war. Bei erneutem überprüfen unseres Codes haben wir dann festgestellt, dass die Zugangsdaten für den MQTT-Server Fehler enthielten, weshalb auch keine Verbindung möglich war. Nachdem wir auch diesen Fehler berichtigt haben, hat sich der Mikrocontroller direkt mit dem MQTT-Server verbinden können, so dass ein Austausch von Daten möglich wurde.

Das vorläufige Testen mit MQTT läuft momentan noch über eine Web-Instanz von Node-Red, da die Raspberry-Pi- Server implementierung noch nicht ganz fertig ist. Hier muss aber hauptsächlich nur noch der Pi richtig eingerichtet werden – auf der Software-Seite ist soweit alles fertig.

Ein weiteres Problem auf das wir gestoßen sind, war das Display, welches keine unserer Nachrichten dargestellt hat. Es blieb die ganze Zeit schwarz. Wir wussten nun nicht ob es ein Fehler im Code war den wir vielleicht übersehen haben oder ob es ein Fehler bei der Hardware war, wie zum Beispiel ein falsch verlöteter Kontakt oder sogar ein Defekt des Displays. Durch ein wenig recherche konnten wir schließlich herausfinden, dass der Fehler tatsächlich im Code lag. Hier muss für das Display eine Methode aufgerufen werden, damit dieses unsere gewünschten Nachrichten darstellen konnte. Diese Methode lautete display.display().

Zum Abschluss haben wir erste Gedanken für die kommende Abgabe und Präsentation ausgetauscht und uns feste Termine und Ziele gesetzt, wann wir mit diesen Aufgaben anfangen bzw. fertig werden wollen.


Raspberry Pi einrichten 30.08. – 05.09.

Das einrichten des Raspberry Pi war sehr aufwendig. Wir haben zunächst die 32bit Version von Raspbian installiert. Danach wurde über Putty der Pi konfiguriert und Docker installiert. Anschließend sollte das Projekt von GitLab gezogen und gebaut werden. Hier sind wir dann aber auf zahlreiche Fehler gestoßen. Viele ließen sich beheben, am ende brauchte der Code bzw. die Datenbank ein 64bit OS. 

Also mussten wir die lange Installation wiederholen, diesmal mit der 64bit Version von Ubuntu. Hier gab es aber wieder Fehler beim Bau des Projekts. 

Schließlich haben wir es mit der 64bit Version von Raspbian versucht. Diese haben wir am Anfang nicht benutzt, da es sich bei diesem OS noch um eine Beta-Version handelt. Mit viel mühe haben wir es aber geschafft. Ein großes Problem war die Speicherplatzverwaltung, da die verfügbare 8gb Micro-SD-Karte zu klein war. Durch das löschen der GUI von Raspbian konnten wir aber genug Speicher freigeben und unser Projekt installieren. 


Meilenstein 06.09. – 12.09.

Nach weiterm Testen funktioniert endlich der Scanner und der Raspberry Pi Endlich, nach weiterem Testen funktioniert die Kommunikation zwischen Scanner und Raspberry Pi zum ersten Mal. Beim Scannen des ID-Chips wird der angelegte Benutzer erfolgreich ein bzw. wieder ausgescheckt. Hierfür waren kleine Fehlerbehebungen im Code beider Geräte notwendig. Mit dieser Hürde aus dem Weg können wir uns nun darauf konzentrieren ein paar zusätzliche Details zu implementieren. Geplant sind das Aussehen und Positionierung der Hardware im Gehäuse zu verbessern und eventuell noch eine zusätzliche Funktion der Website.


Letze Änderungen und Fertigstellung 13.09. – 19.09.

Das Projekt ist nun nach ein paar anstrengenden Wochen vollständig funktionsfähig. Es wurde noch ein RFID-Sticker auf die Vorderseite des Scanners geklebt, damit dessen Funktion visuell etwas deutlicher wird. Im Inneren wurden zusätzlich noch Stützstrukturen aus Holz angefertigt. Dies verhindert einmal ein leichtes Kippen der Hardware, wenn der Deckel geschlossen wird. Außerdem hat das vorher „lose“ RFID-Shield jetzt eine aus Holz gefertigte Stütze. Das Holz kommt aus dem Mainframe – Oldenburg, bei dem wir glücklicherweise gleich auch ein paar Schrauben für das Gehäuse des RaspberryPi bekommen haben.

Antworten

*

© 2024 Soft Skills und Technische Kompetenz (WiSe20/21 – SoSe2021) – Gruppe 15

Thema von Anders Norén