NFC und Airtag

  • Hi zusammen,


    irgendwie läuft mein doorpi daher ganz schön ruhig hier. Aber jetzt kam ich auf ne Frage die ich so recht im Netz nicht beantwortet gefunden habe.


    Kann man mit dem NFC Reader auch die AirTags von Apple erkennen? Die haben neben BLE ja auch ein NFC drin?

    Aktuell habe ich einen RFID der ist ja auf einer anderen Frequenz. Aber wenn ich einen NXP verbaue? Habt Ihr da Erfahrungen?

  • Danke. Ich hab mal den PN532 schon mal bestellt und probiere das mal im Versuchsaufbau. Die 10 Euro kann man mal probieren.


    BLE fände ich nicht so gut. Löst ja eigentlich aus wenn man in der nähe ist. Also vermutlich dann auch beim raus gehen oder mal vor die Tür gehen und doch wieder weg. Glaub das bekommt man nicht Safe hin. Vielleicht höchstens wenn man noch die BLE Entfernung mit auslesen kann ähnlich wie bei iPhone wenn man einen Tag sucht. Das man nur auslöst bei einer gewissen Entfernung.

  • So kann mir selbst antworten nach ausprobieren: Ja Airtag lesen geht mit dem PN532


    Warum auch immer, glaube wegen meiner Pin Belegung wollte ich das ganze über den I2C machen.


    Funktioniert auf aber mit nfc-list bekomme ich den Tag aber auch zwei Fehlermeldungen die ich nicht einsortieren kann.


    Code
    NFC device: PN532 board via i2c opened
    1 ISO14443A passive target(s) found:
    ISO/IEC 14443A (106 kbps) target:
        ATQA (SENS_RES): 00  44  
           UID (NFCID1): 5f  69  d3  95  55  1b  af  
          SAK (SEL_RES): 20  
                    ATS: 78  80  42  02  
    
    error    libnfc.driver.pn532_i2c    Application level error detected  (127)
    error    libnfc.driver.pn532_i2c    Application level error detected  (127)


    Zur doorpi Integration bin ich noch nicht gekommen. Aber mit dem Keyboard über I2C sollte doch auch gehen oder?


    Weiterer Test: Wenn man ein iPhone im Bezahlmodus setzt kann man auch ein "Karten" Tag lesen. Ist das iPhone noch nicht im Bezahlmodus wird dieser nach nfc-list sogar gestartet und man soll die karte wählen. Demnach wäre ein öffnen so per Handy Kreditkarte auch möglich

  • Update: Nachdem ich gerafft habe das i2c nicht unterstützt wird hab ich meinen RDM6300 gegen den pn532 getauscht. War ein wenig gefummel aber geht nun.

    ABER: Ich denke das liegt am alten Python. Denn Tags und Karten erkennt er als Type2... Ein AirTag geht nicht denn der ist Type3...gefolgt von einem fluchenden Wort.


    Also hat sich nichts Verbessert. Man das schreit nach DoorPi3 ;)


    Als nächsten Workarpound versuche ich NFC unter Pythen 3 auszulesen und werde es vermutlich vom DoorPi entkoppeln.

  • An der Antwort von nf-list.


    Soweit mir bekannt:

    Die UID von Type2 Buttons und Karten (die z.B. bei Leser dabei waren) sind 2x4 stellen.

    Die UID vom AirTag, sorry ist meine ich Type4 nicht 3, sind mehr Stellen. Hier 2x7 wie oben im Beitrag.


    Glaube aber auch das Ack Handling ist anders. aber wie gesagt da bin ich nur gefährliches Halbwissen fit drin.


    Beim Probieren merke ich aber gerade das es nicht so einfach ist das einzubinden. Das Keyboard unter python2.7 kann das nicht. Der PN532 habe ich für doorpi auf UART geändert. Aber auch nfc-list zeigt unter Jessie keinen AirTag


    Die Ausgabe oben war von einem Pi mit aktuellem System, python3.4 über i2c.


    Ich checke das die Tage nochmal. Wenn es mit python3 geht werde ich vermutlich auf dem doorpi mir einen kleinen Service schreiben der dann das nfc handling macht. Aber so ganz check ich das noch nicht denn die libs von 2.7 und 3.4 sind fast gleich..okay fast.

  • Sorry hatte mich oben korrigiert. AirTag ist wohl Type4. Aber ja ich dachte auch das müsste ggf. egal sein, Hauptsache es kommt eine ID vom Tag.


    Was mich stutzig machte ist das ich auf einem Pi3 mit neuem System, mit nfc-list den Tag bekomme.

    Aber unter Pi3 mit Jessie mit nfc-list nichts kommt.


    Daher tippe ich auf ältere Bibliotheken bei Jessie. Das muss ich noch weiter analysieren.

  • So aktueller Stand.

    Auf einem Testaufbau: Pi3 mit Bullseye und dem PN532 über UART


    warum auch immer ich unter Jessy keine AirTag Ausgäbe bekomme aber unter Bullseye.


    Damit es mit dem Keyboard from_pn532.py auch klappt muss man folgendes in pn532_recognizedändern.

    Code
                if tag.type == "Type4Tag":
                    ID = str(format(tag.identifier.encode('hex')))
                else:
                    hmm = str(tag)
                    ID = str(hmm.split('ID=')[-1:])[2:-2]
                logger.debug("ID: %s", ID)


    Damit man die UID bekommt. Ansonsten bekommt man bei einem Type4 nur die Rückgabe:

    Type4ATag MIU=255 FWT=0.004833

    genauso wie über tagtool.py