Forum: PC-Programmierung Auslesen von ST25DV64 mit NFC


von Vanye R. (vanye_rijan)


Lesenswert?

Moin Leute,

Ich habe hier einen kleinen Testaufbau mit einem ST25DV64. Das ist ein 
8kByte grosses EEPROM das sich auch mit NFC auslesen laesst.

Wenn ich auf meinem Handy die ST25 App von ST installiere dann kann ich 
damit dieses Eeprom lesen und schreiben. Ich weiss also das die Hardware 
funktioniert.

Jetzt wuerde ich das gerne mit Qt Nfc machen. :-)

Dieses EEPROM ist wohl nicht Ndef kompatibel. Nach meinem Verstaendnis 
sollte man aber dann doch RAW Daten mit  QNearFieldTarget::sendCommand 
und QNearFieldTarget::requestResponse austauschen koennen. Allerdings 
finde ich keine naehere Beschreibung wie das dann ablaufen sollte.

Ausserdem liefert mir  QNearFieldTarget::AccessMethod() nach 
erfolgreichem Verbindungsaufbau ein QNearFieldTarget::UnknownAccess 
zurueck.

Kann es sein das Qt nur mit Ndef Karten reden kann? Oder bin ich zu 
bloed? Waer schoen wenn da mal einer etwas Licht ins Dunkel bringen 
koennte.

Vanye
von Jim M. (turboj)


Lesenswert?

Der NFC Krempel liegt hinter einer fetten Paywall für die ganzen 
technischen Details.

Der ST Chip ist NFC Typ 5, die Beispielcodes sind i.d.R. für NFC Typ 4 
geschrieben und damit inkompatibel.

Die aktuelle Android Developer Doku erlaubt NDEF Support nur für NFC Typ 
1-4.

Ich sehe überhaupt keinen Support für Typ 5 in Qt. Da müsstest Du 
Wrapper für native Code (Android Java/Kotlin) schreiben.
von Vanye R. (vanye_rijan)


Lesenswert?

> Der NFC Krempel liegt hinter einer fetten Paywall für die ganzen
> technischen Details.

Ja, so ein Gedanke beschlich mich gerade auch schon mal. Internet ist 
dazu erstaunlich leer. :-(

Ich hab gerade dieses PDF gefunden:

https://www.st.com/resource/en/application_note/an4911-ndef-management-with-st25dvi2c-series-and-st25tv16k-and-st25tv64k-products-stmicroelectronics.pdf

Es zeigt wie man die ST-Eeprom die irgendwie RAW gelesen werden koennen 
in ein Type5 umwandeln kann. (mit der App von ST!)

Ich hab dann mal aus Spass da nur das erste Byte mit der ST25 App von ST 
reingebraten. Das war doof. :-D  Danach wurde das Teil gar nicht mehr 
erkannt weil es wohl als Type "irgendwas" rueberkommt. Das heisst auch 
da wird natuerlich vom Handy irgendwie der erste Block gelesen und dann 
setzt die grosse Verwirrung wegen falsche Daten ein. Also auch die ST25 
App erkennt dann nix mehr!
Dann hab ich ueber I2C alle acht Byte korrekt reingeschrieben. Das Teil 
wird nun wieder erkannt.

Wie du schon sagtest ist das nun eine Type5 Karte und wird auch vom 
Handy so mit der ST25 App erkannt. Aber leider kennt Qt wohl wirklich 
keine Type5 Karten. Da kann man also erstmal nix machen.
Zum einen etwas aergerlich, aber es verwundert mich auch weil die 
grunsaetzliche Funktionalitaet in den Treibern da sein muss. 
Schliesslich wird ja erstmal etwas uebertragen um dann zu sagen, "noe 
Typ5 ess ich nicht".

Ausserdem auch irgendwie erstaunlich das die Dinger noch nicht erkannt 
werden. Ich meine es ist schon ueber 10Jahre her das die FAEs von ST die 
Demokits mit den Teilen verteilt haben.

Naja, egal, ich hab zum rumspielen erstmal 50Stk "normale" bestellt, 
kosten ja nix.

Wer uebrigens auch mal spielen will, hier hat es einer ganz gut fuer Qt 
erklaert:

https://somcosoftware.com/de/blog/wie-verwende-ich-nfc-in-einer-qt-qml-anwendung

Aber Achtung, zwischen Qt5 und Qt6 gab es ein paar feine Aenderungen:

https://doc.qt.io/qt-6/de/qtnfc-changes-qt6.html

Hier noch ein paar Infos zu den Typen:

https://www.nfc-tag-shop.de/info/wissen/entwicklungsgrundlagen/uebersicht-ueber-nfc-chiptypen/


Vanye
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.