NFC-Reader Beispielsoftware

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Benutzeravatar
fishfriend
Beiträge: 2274
Registriert: 26 Nov 2010, 11:45

Re: NFC-Reader Beispielsoftware

Beitrag von fishfriend » 27 Apr 2024, 23:31

Hallo...
Ok, ich habe es mir viel viel einfacher vorgestellt.
Alleine rauszubekommen was man für einen NFC Tag man hat ist schon kompliziert.
Hier mal eine Übersicht auf Seite 6:
https://www.nxp.com/docs/en/application ... N10833.pdf
Ich hab dann mal eben einen Arduino genommen und meine vorhandenen Tags ausgelesen:

Chip PN5 gefunden32
Firmware ver. 1.6
Warte auf einen ISO14443A Chip ...

Found an ISO14443A card
UID Length: 4 bytes
UID Value: 0x43 0x3A 0xF7 0x0C
Scheint eine Mifare Classic zu sein #1127937804
blauer Anhänger

Found an ISO14443A card
UID Length: 4 bytes
UID Value: 0x93 0x30 0x2C 0x35
Scheint eine Mifare Classic zu sein #2469407797
weiße Karte

Found an ISO14443A card
UID Length: 7 bytes
UID Value: 0x04 0x39 0x65 0xB2 0x78 0x00 0x00
runder Aufkleber

Found an ISO14443A card
UID Length: 7 bytes
UID Value: 0x04 0x0F 0x7B 0x72 0x2B 0x14 0x90
rechteckiger Aufkleber

So, ich werde mich mal auf diese Möglichkeiten beschränken.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

vleeuwen
Beiträge: 1609
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: NFC-Reader Beispielsoftware

Beitrag von vleeuwen » 29 Apr 2024, 18:44

RRFID/NFC in particular is a complex process.
It covers various layers of the 7 layer OSI model.
Being able to (partially) read the map doesn't say much.
Some tags are secure and others are inaccessible.

General introduction to NFC: https://digitalgadgetwave.com/understan ... -guide-to/

Here are a few links to help you understand the connection
The basis: RFID
https://en.wikipedia.org/wiki/Radio-fre ... tification
RFID Vs NFC:
https://www.rfwireless-world.com/Termin ... -RFID.html
NFC basic:
https://www.rfwireless-world.com/Articl ... asics.html

The NFC has several blocks with their own security.
https://www.rfwireless-world.com/Tutori ... orial.html.
See also the part about the OSI layers.

Different TAG types.
https://www.rfwireless-world.com/Tutori ... Types.html
The MIFARE tag family:
https://en.wikipedia.org/wiki/MIFARE

NFC and Python:
Good overview of possibilities
https://nfcpy.readthedocs.io/en/latest/
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

Benutzeravatar
fishfriend
Beiträge: 2274
Registriert: 26 Nov 2010, 11:45

Re: NFC-Reader Beispielsoftware

Beitrag von fishfriend » 04 Mai 2024, 16:28

Hallo...
Scheinbar nutzt der TXT 4.0 die nfc-tools/libnfc:
Beispiel in c: https://github.com/nfc-tools/libnfc/blo ... example1.c
Aber halt in c und nicht in Python. (Hinweis: wobei c-Programme wohl auch auf dem TXT 4.0 laufen)
Ich bin da nicht so fitt, nun c-Libs in Python einzubauen oder zu benutzen.
Ich hab auch mal die Firmware des TXT 4.0 durchgearbeitet bzw bin noch dabei.
Es gibt da
libnfc.so
libnfc.so.6
usw.
Scheinbar kann man das Modul darüber ansprechen.
Bei den Lizenzen sind auch noch andere interessante Libs aufgeführt, die scheinbar vom TXT 4.0 genutzt werden.
Ich hab nun mal ft angefragt, ob die ein einfaches Beispiel uns geben können.
Ich gebe zu, ich hätte nicht gedacht wieviel Zeit das in anspruch nimmt.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

vleeuwen
Beiträge: 1609
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: NFC-Reader Beispielsoftware

Beitrag von vleeuwen » 04 Mai 2024, 22:28

The Python version for the NFC library:
https://pypi.org/project/nfcpy/
The nfcpy module implements NFC Forum specifications for wireless short-range data exchange with NFC devices and tags. It is written in Python and aims to provide an easy-to-use yet powerful framework for applications integrating NFC.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

Benutzeravatar
fishfriend
Beiträge: 2274
Registriert: 26 Nov 2010, 11:45

Re: NFC-Reader Beispielsoftware

Beitrag von fishfriend » 30 Sep 2025, 18:24

Hallo...
Neuigkeiten :-)
Also..., ich habe sehr viel ausprobiert, wirklich sehr viel.
Es gibt u.a. auch weitere Beispielprogramme, wo der NFC-Reader PN532 genutzt wird.
Ich habe viel versucht die Software so anzupassen, dass nur noch der NFC-Reader benutzt wird. Aber es hat nicht so funktioniert, wie ich es wollte.
Ich habe mich dann an fischertechnik gewendet und habe nun ein funktionierendes Beispielprogramm, was läuft.
Interessanterweise, habe ich den NFC-Reader mit meinen Programmen schon am laufen gehabt - ich hab es nur nicht gemerkt, da ich die Meldungen in Robo Pro Coding falsch interpretiert habe. Ich dachte es ist eine Fehlermeldung, das ein Teil der Lib nicht läuft. Es war aber eine Logginmeldung.
Das war mein Fehler. Nun ja.
Es ist auch die Frage, von wo man die Beispiele laufen lässt, da auch Teilweise Daten (z.B. MQTT) übertragen werden.
Wenn man nur den einen TXT 4.0 betreibt scheint sich mein Programm auch selber zu blockieren, da man vom PC aus keine Verbindung z.B. mit dem Browser oder Node Red aufbauen kann.

Ich habe nun freundlicherweise ein lauffähiges Testprogramm bekommen, das -nur- den NFC Reader 532 auf dem I2C Bus (3) anspricht.
Also auch keine weiteren ft-Sensoren braucht.
Es hat auch eine Ausgabe auf dem Bildschirm und dem Display vom TXT 4.0 .

Ich bin noch etwas am Testen.
Und ich freue mich riesig, dass es nun schon mal läuft. :-)
Das Beispielprogramm bezieht sich auf die fischertechnik Fabrik. Man kann es sich aber auch für seine eigenen Modelle umprogrammieren.
Ich denke den Datenbereich braucht so nicht jeder.
Besonders zu beachten ist, das so eine NFC Datenübertragung doch länger braucht als man ermal denkt.
Es muss ja je nach TAG die Übertragung eingestellt werden.
Wenn man nur einen Typ benutzt, kann man ja die anderen aus der Initialisierung raus lassen.

Ich frage mich aber inwieweit man einen Geschwindigkeitvorteil bekommt, wenn man das ganze Logging weglassen würde.
Ich gebe aber zu, das ich das noch nicht ganz überblicke.

Ja, das Thema ist was für die nächste FTPedia und/oder eine eigene PDF.
Zumal man da auch mit Minimalbeispielen fischertechnik Modelle betreiben kann und so besser in das Thema rein kommt.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
calliope
Beiträge: 70
Registriert: 11 Mär 2025, 12:02

Re: NFC-Reader Beispielsoftware

Beitrag von calliope » 30 Sep 2025, 19:09

Kann man das funktionierende Beispiel in fischertechnik GitLab finden?

Und mit welchem NFC Reader Modell läuft das? Fischertechnik hat doch keinen eigenen?
Ein Link zum Hersteller wäre hilfreich.

FG Lutz
I²C für Calliope, TXT 4.0 und RX Controller.
https://git.fischertechnik-cloud.com/users/i2c/projects

Benutzeravatar
fishfriend
Beiträge: 2274
Registriert: 26 Nov 2010, 11:45

Re: NFC-Reader Beispielsoftware

Beitrag von fishfriend » 01 Okt 2025, 18:20

Hallo...
Nein, das Beispiel-Programm ist nicht online.
fischertechnik benutzt den PN532. Die Module gibt es wie Sand am Meer. Die sind auch in den Anleitungen zur fischertechnik Fabrik abgebildet.
Es gibt auch Sets, wobei man da auf passende Tags achten muss.
Die Werkstücke haben den NTAG213 und die Karte und der Schlüsselanhänger sind Mifare.

Leider scheint es so, dass es das ft-Gehäuse für den PN532 so nicht gibt. Momentan tue ich mich etwas schwer mit den Erstellen von stl-Dateien und dem 3D Drucken. Man kann aber auch aus ft-Bausteinen ein Gehäuse machen. Man muss beachten, dass man nicht den maximalen Abstand von 20mm zum Tag überschreitet.

Tipp
Je nachdem ob beim PN532 Stecker oder keine sind, sollte man besser -keine- Stecker anlöten. Man kann auch die Kabel oder Buchsenkabel direkt anlöten. Das hat den Vorteil, dass die Höhe nicht so größ wird. Man kann auch die Platine auf die andere Seite drehen, um die Stecker unten zu haben.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
fishfriend
Beiträge: 2274
Registriert: 26 Nov 2010, 11:45

Re: NFC-Reader Beispielsoftware

Beitrag von fishfriend » 01 Okt 2025, 21:41

Hallo...
Ich glaube, ich muss noch mal nachfragen, was genau die für NTAGs die einsetzen.
Neben Mifare und NTAG213 gibt es noch Desfire.
Ich werde mir mal verschiedene andere NTAGs wie die 215 und 216 mal besorgen.
Die haben zwar mehr Speicher, werden aber wohl auch nur mit 144Bytes angesprochen.
Ich will mal ausprobieren ob der Subtype erkannt wird oder nicht und ob es zu einer Fehlermeldung kommt.

Zumindest scheint die Unterscheidung im Fabrikprogramm nur durch die Länge der uid zu sein.
Interessant gemacht...

Minimalversion vom NFC Reader
Im Grunde besteht das Hauptprogramm nur aus einer Variablen nfc_obj, wo nfc_init der nfc-Lib zeigt und
dann einer Variablen die auf nfc_read zeigt, mit einer dritten Variablen nfc_uid die auf nfc_read_ui zeigt.
Wenn man die beiden letzten Variablen in eine Schleife packt und die alle 200ms durlaufen lässt bekommt man die Daten vom NTAG in das Programm.
Bei manchen Lösungen für den Aurduino wird der IRQ Ausgang vom NFC532 genommen. Wenn der einen NTAG erkennt lößt der einen IRQ aus und der Arduino kann die Datren erkannten einlesen. Mit der Schleife wird halt ein Kabel gespart. Nette Lösung. Man muss nur auf eine leere uid prüfen.
Das läd zum Experimentieren ein... :-)
Ich denke am Wochenende schaffe ich das und stelle ich mal meine Programme rein.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
fishfriend
Beiträge: 2274
Registriert: 26 Nov 2010, 11:45

Re: NFC-Reader Beispielsoftware

Beitrag von fishfriend » 03 Okt 2025, 18:32

Hallo...
OK, ich hab kleinere Probleme.
1. Scheint es ein kleines Problem mit der libnfc zu geben. Es wird eine Fehlermeldung rausgegeben, aber der pn532 arbeitet trotzdem.
2. Die Aktualisierung der Daten des Reader scheint nicht ganz richtig zu sein. Man hält einen TAG davor und nimmt ihn wieder weg. Wenn man die Daten in einer Dauerschleife ausliesst werden die alten Daten weiter übertragen. Momentan hift da nur den jedesmal zu initialisieren und dann auszulesen.
3. Ich gebe zu, ich verstehe das Programm nicht zu 100%. Es ist schwer für mich alle Abkürzungen der Variablen in Klartext zu übersetzen. Was genau ist "r" ?

Man hat unterschiedliche Vorgehensweisen um z.B. zu erkennen, ob ein TAG davorgehalten wird oder nicht.
Ich hab auch noch ein grobes Verständnissproblem bei Python mit dem Anhängen an eine Liste in dem Programm.
Das Minimalprogramm sieht schonmal so aus:
NFC Reader Robo Pro Coding2.png
NFC Reader Robo Pro Coding2.png (71.44 KiB) 582 mal betrachtet
Hier wird über einen Schalter am Display ein Schleife eingeschaltet, die alle 200ms Daten vom NFC Reader holt und ausgibt.
Ich brauch zwar noch etwas Zeit, aber eventuell könnte jemand mal über meine NFC Doku schauen und am besten mal ausprobieren.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
fishfriend
Beiträge: 2274
Registriert: 26 Nov 2010, 11:45

Re: NFC-Reader Beispielsoftware

Beitrag von fishfriend » 09 Okt 2025, 19:03

Hallo...
Ich gebe zu ich hab es mir einfacher vorgestellt.
OK, es läuft -aber-
Die Doku die man so im www zu den NFC Libs von Python und C findet, sind zum teil grotten schlecht, fehlerfahft, völlig veraltet und durchzogen mit toten Links, die ein Lesen teilweise unmöglich macht.
Mal so ein Beispiele:
"Subtype", "freefare_get_tag_type" "type", "HW/Product Type", "response byte2", "r_type"...
Bekommt man mit: GetVersion ... (NXP)
Dann kommen noch Sicherheitseinstellungen und haste nicht gesehen...
Es ist schon ein denkbar undankbarer Job auch mal andere TAGs auszulesen.
Andererseits wer will schon die Daten auf seiner Bankkarte löschen...
Mal schauen...
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Antworten