Lesen ist ein Mifare-Tags mit Windows Phone 8 NFC?
Windows Phone 8 NFC-Unterstützung Mifare Ultralight/Classic Basis-tags?
Ich benutze diesen code für den Zugriff auf NFC-Gerät auf dem Nokia Lumia 920 (code-Beispiel stammt von NDEF-Tag-Lesegerät – NFC NDEF-Tag-Reader)
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
ProximityDevice device = ProximityDevice.GetDefault();
device.DeviceArrived += DeviceArrived;
device.DeviceDeparted += DeviceDeparted;
device.SubscribeForMessage("NDEF", MessageReceived);
}
private void DeviceArrived(ProximityDevice sender)
{
//this event occurs when I am tapping any of my tags (tried 5 different Mifare Ultralight/Classic)
}
private void DeviceDeparted(ProximityDevice sender)
{
//this event occurs when I am moving away any tag
}
private void MessageReceived(ProximityDevice sender, ProximityMessage message)
{
//this event is never fired!!! :(
}
}
Ist NFC auf WP8 defekt oder ist dieser code falsch?
Update:
Aus diesem Dokument NFC-Forum Type-Tags können Sie feststellen, dass Mifare Ultralight ist kompatibel mit NDEF. Android-Geräte können Lesen tags dieses Typs leicht.
InformationsquelleAutor der Frage A-student | 2012-11-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mifrare unterstützt WP8 und das Lumia 920. Ich vermute hier, aber es ist wahrscheinlich, dass dein Mifare NFC-tag nicht formatiert/initialisiert zu NDEF. Sie können Fragen Sie Ihren NFC-tags werden NDEF formatiert, wenn Sie Sie kaufen, NFC-tags.
Dem Lumia 920 chip (NXP PN544 Familie) unterstützt die folgenden tag-Typen (mindestens):
Bezug auf NFC-tags NDEF Formatierung:
Aufrichtig
-- Justin Angel
Principal Engineer für Windows Phone Developer Experience bei Nokia
InformationsquelleAutor der Antwort JustinAngel
Den code, den Sie geschrieben ist, soll zu Lesen NDEF Nachrichten von einem NFC-tag.
In der Erwägung, dass Mifare ist auch mit NFC-tags, das ist, wo die ähnlichkeit endet: es ist ein völlig anderes Protokoll mit seinem eigenen (proprietären) Datenformat.
So, dieser code ist nicht wirklich falsch (noch ist NFC auf WP8 in der Regel 'mangelhaft'), aber wenn Sie erwarten, dass es zum Lesen von Mifare-tags, ist dieser Ansatz nicht für Sie arbeiten.
Ich weiß nicht, ob es möglich ist, zum Lesen von Mifare-tags mit WP8: das hängt von der hardware (wie Mifare verwendet einige nicht-ISO-Bilder) sowie die API unterstützen. Eine kurze Google-Suche deutet darauf hin, dass das Java-SDK für ältere Nokia-Handys unterstützt Mifare, so dass die hardware-Unterstützung da sein. Habe nichts gefunden, für WP8, aber so wird wahrscheinlich erfordern einige umfangreiche Codierung, ob es überhaupt funktioniert.
Um Ihnen eine Vorstellung davon geben, was nötig ist: nachdem Sie sich Ihre DeviceArrived Ereignis (das bedeutet, dass der Leser entdeckt eine ISO-NFC-tag), müssen Sie erhalten die UID der Karte. Dies sollte Recht einfach sein, da das die standard-ISO-Funktionalität.
Als Nächstes müssen Sie die Möglichkeit, direkt zu senden Mifare-Authentifizierung und Sektor Lesen/schreiben Befehle für den tag. Da diese Befehle sind nicht ISO-standard, dies ist, wo die Dinge komplizierter und Leser abhängig. Immer vorbei an diesem Stadium wirklich erforderlichen-Protokoll-Dokumentation und eine funktionierende Mifare-test-tool für Ihr Handy. Endlich, die meisten von Mifare-Karten sind völlig unlesbar, es sei denn, Sie zumindest wissen, ein Sektor-Taste, und die Anwendung von Daten-format proprietär ist (spezifisch für den Herausgeber der Karte), so dass auch nach all dieser Arbeit, ist es nicht garantiert, können Sie bekommen nützliche Informationen aus der Karte...
InformationsquelleAutor der Antwort mdb
Windows Phone 8 Apps haben nur Zugriff auf sehr hohem Niveau-Bibliotheken, und nicht beim Lesen von tags, die nicht sind NDEF formatiert.
MIFARE UL tags verwenden müssen, die NDEF NFC Forum Type 2-standard, das ist simpel, durch die kleine 48-byte user-Speicher des Tags.
Wenn Sie eine low-level-reader/writer, können Sie machen Sie Ihre UL-tag NDEF-kompatible verändern, ohne die Mehrheit Ihrer Daten, aber Sie müssen zu opfern:
Den tag formatiert ist, in etwa so: (Referenz - http://www.nfc-forum.org/specs/spec_list/#tagtypes)
BEISPIEL: Tag hat Nachrichtentyp ExternalRtd, und der record-Typ "abc" (record-Typ sollte technisch werden die im format "urn:nfc:ext:companyname.com:typename" voll NDEF-konform, aber wir können uns nicht leisten, zu viel Platz)
[Seite Nr. Byte-Nr.] , Wert , Kommentar
[5, 3] , 0x61 , Dritte byte der Typ, 0x63 = 99 = 'c'
Die restlichen 40 bytes des Tags, Seiten 6 bis 11, sind Ihre Nutzlast.
Wenn Sie nur wollen, Initialisieren Sie den tag, so dass das Telefon kann es Lesen und den rest zu tun, schreiben Sie einfach den CC, und nur der TLV mit einer L von null, und keine V. (4,0 = 0x03 und 4,1 =0x00).
InformationsquelleAutor der Antwort Ryan
Ich hatte ein ähnliches problem, ich kaufte pack von NFC-tags auf eBay, aber Sie waren nicht NDEF formatiert. WP8 nutzen können, nur NDEF-tags formatiert, also musste ich einen Weg finden, wie formatieren Sie Sie. Ich fand auf Twitter ein Kerl mit NFC ausgestattete Android-Handy, und er formatiert diese tags für mich.
Schade, dass Windows Phone 8 können das nicht so gut.
Abstimmen können Sie hier auf der offiziellen WPdev Uservoice-Seite für die low-level-NFC-API-feature:
Low-level-NFC-API für NDEF-Formatierung und (un -) schließ-tags
InformationsquelleAutor der Antwort Martin Suchan