NFC – Zeiterfassung mit dem Smartphone

Author: maik hpunkt. | Sonntag, 03. Januar `16 | android, privates, Tutorials

Beruflich wie privat befasse ich mich momentan etwas ausfürlicher mit der RFID Technologie. Speziell genommen mit dem Ableger NFC – Near Field Communication. Wie der Name schon vermuten lässt, handelt es sich um eine Kommunikationstechnologie welche auf das nahe Umfeld ausgelegt ist. Der Clou an der Sache ist jedoch das bei der Datenübertragung nur ein der zwei Geräte über eine eigene Stromquelle verfügen muss. Der “passive” Part wird mit Strom versorgt sobald man sich mit der aktiven Quelle zirka 3-4 cm nähert.

Weihnachten 2015 011 (Small)

Einige kennen solche Systeme vielleicht schon von Arbeit. Dort werden solche Technologien beispielsweise zur Zutrittskontrolle, Zeiterfassung und Kantinennutzung eingesetzt. Für gewöhnlich haltet ihr hier eurer Identmedium in Form eines Schlüsselanhängers oder Karte vor ein Terminal (Lesegerät). Auf eurem Identmedium sind dabei verschiedene Daten abgelegt, welche wiederum von dem Terminal ausgelesen und verarbeitet werden.

Verschiedene Berechtigungen auf dem Chip können einem Schloß Daten übermitteln, ob ihr Zutritt zu einem bestimmten Bereich habt, oder eben nicht. Wenn ihr euch frühs auf Arbeit anmelden müsst indem ihr euren Schlüsselanhänger vor ein Lesegerät haltet, wird somit festgehlaten wann ihr an diesem Tag auf Arbeit erschienen seid. Zum Feierabend “loggt” man sich dann wieder aus.

Nun wäre es doch schön, wenn man eine Möglichkeit hätte solche kleinen Transponder selbst zu beschreiben und mit dem Handy auszulesen bzw weiter zu verarbeiten. Genau darum soll es in diesem Post gehen.

Die heutige Smartphone-Generation ist mittlerweile soweit mit NFC umzugehen, lesend und schreibend! Für den schreibenden Teil verwende ich eine App namens “NFC  Tools Pro“. Mit Hilfe dieser APP habe ich mir eine Zeiterfassung selbst erstellt. Was ihr dazu braucht? Ein NFC fähiges Smartphone, beschreibbare Tags (Transponder, Karten, Schlüsselanhänger…) und eine APP mit welcher ihr die Tags beschreiben könnt. Die APP welche ich benutze erwähnte ich ja bereits.

zeiterfassung

Die größte Stärke dieser APP liegt darin, bestimmte Aufgaben an Bedingungen zu knüpfen. Außerdem werden viele Variablen vorgegeben, mit denen ihr Vergleiche anstellen könnt. Auch eigene Variablen lassen sich hinzufügen. Im folgenden möchte ich die einzelnen Punkte erläutern und euch Schritt für Schritt erklären wie das Programm mit den Bedingungen umgeht.

Vorweg habe ich im internen Speicher einen Ordner erstellt welchen ich den Namen Zeiterfassung gegeben haben. In diesem Ordner befindet sich eine zeiterfassung.xls Datei welche bekanntlich mit Excel weiterverarbeitet werden kann.

Bedingung 1 mit folgender Aufgabe

Bedingung Nr.1 – Datei  Inhalt überprüfen

Hier wird in der Datei zeiterfassung.xls nachgeschaut, ob bereits an diesem Tag ein Eintrag in die Datei gestempelt wurde. Speziell wird nach {DATEEU},{DAYNAME},{VAR_KOMMEN} gesucht. Diesen Eintrag gibt es aber nur, wenn ihr bereits am gleichen Tag den Chip einmal eingelesen habt.

     Aufgabe zu Nr. 1 – Schreibe in Datei

Hier wird nun in Abhängingkeit von Punkt 1 entschieden. Sollte der Eintag vorhanden sein, also frühs schon mal eingecheckt, wird hier ein neuer Eintrag an das Ende der Datei angehangen mit dem Fotmat: Datum – Wochentag – gehen – Stunde:Minute.

Sollte dieser Eintrag jedoch nicht da sein, wird dieser Punkt übersprungen. Dies passiert jeden morgen bzw jedes mal wenn ihr euch auf Arbeit anmeldet. Das Programm schreibt den ersten Eintrag, also jenen der das “kommen” speichert, mit der zweiten Bedingung.

Bedingung Nr.2 – Datei  Inhalt überprüfen

Ähnlich wie unter Bedingung Nr. 1 wird hier nach einem bestimmten Inhalt in der Datei zeiterfassung.xls gesucht.  Wenn der Eintrag  {DATEEU},{DAYNAME},{VAR_KOMMEN} bereits existiert, mache nichts! (weiter mit Bedingung Nr.1) Wenn der Eintrag noch nicht exsistiert mache folgendes…

      Aufgabe zu Nr.2 – Schreibe in Datei

Hier wird nun wieder ein Eintrag in die Datei erzeugt, sofern noch keiner zuvor erzeugt wurde.  Dieser Eintrag hat folgendes Format {DATEEU},{DAYNAME},{VAR_KOMMEN}, {HOUR}:{MINUTES}. Letztendlich wird der Eintag in eurer Datei wie folgt aussehen:

01.01.2016 – Freitag – kommen – 08:51 Uhr

Zusammenfassung

Ihr kommt frühs auf Arbeit und legt euer Smartphone über den NFC Tag. Nun wird Bedingung 1 missachtet und dierekt zu Bedingung 2 übergegangen, weil es den Eintrag nach dem gesucht wird noch nicht gibt. Nun wird in die Datei geschrieben. Zum Feierabend hält man wieder das Telefon vor den Tag. Dieses mal wird Bedingung 1 ausgefürt, weil der gesuchte Text in der Datei vorkommt. Am nächsten Tag geht das Spiel von vorn los.

Das sieht dann so aus.

 

zeiterfassung2

 





Ähnliche Themen, welche Dich interessieren könnten...


Kommentieren