• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
rfid lettura scrittura e

[Problema] Lettura e scrittura RFID
#1
Ciao a tutti,
per fare un po’ di prove e con l’obiettivo finale di utilizzare un piccolo Rfid come apriporta invece che un braccialetto ho iniziato a giocare con la scheda RC522 collegata al mio Rasp pi 4.
Ho tre schede RFID, 2 (da ora A e B) che avevo preso dentro un kit per studiare sul Raspberry (della Freenove) e una che uso realmente come apri porta (da ora C).

Dopo aver collegato tutto per bene al Raspberry lancio un programma Python fornito insieme al kit e riesco a leggere di tutte e tre le schede i 64 settori, tutte le schede avevano “valorizzato” il settore 0 e tutti gli altri “vuoti” (oppure quelli di “controllo” il 3, 7, 11, 15….).

Sulla scheda A ho anche scritto il settore 1, con la funzionalità “write” messa a disposizione dal codice.
Poi ho aggiunto una funzionalità al codice “writeEX” che si differenziava dalla precedente per il parametro da scrivere, la prima era un stringa che poi ogni suo carattere veniva convertito in esadecimale e scritto in quella che ho fatto io passavo il codice esadecimale perché mi era più comodo (con copia e incolla le stringhe con caratteri “problematici” danno appunto problemi).
Utilizzata questa funzione sempre sulla scheda A ed è funzionata correttamente.


In questo momento però mi trovo in una situazione che mi risulta strana:

  • non riesco a leggere nessun settore della scheda A, nessuno. Mi da sempre errore di autenticazione per qualsiasi settore. Stesso discorso se provo a scriverci. Ma fino a ieri leggevo tranquillamente tutti i settori e su un paio ho scritto. Ah, non legge i settori ma la scheda la riconosce.
  • la scheda B leggo tranquillamente tutti i settori, non ho provato a scrivere
  • la scheda C è quella che mi fa l cosa più strana, leggo perfettamente i primi 4 settori (da 0 a 3) mentre tutti gli altri mi da errore di autenticazione, su questa non ho provato a scrivere e non ci proverò visto che è quella che mi serve veramente come apri porta.


Se posso pensare che per la scheda A o si sia smagnetizzata (anche se in realtà vien riconosciuta) oppure nel momento della scrittura c’è stato qualche casino ma la scheda C proprio non me la spiego, legge i primi 4 settori e gli altri da errore di autenticazione? Mi sembra assurdo.

Sottolineo che la cosa è sistematica, non lo fosse avrei pensato a qualche problema hardware (collegata male la scheda, tensione, interferenze ecc.) ma essendo sistematico per tutte e tre le schede e considerando che fino a ieri le leggeva tutte e tre perfettamente mi torna difficile pensare a qualche problema sul lettore.
Avete idee o suggerimenti?
 

Aggiungo un paio di domande generiche sugli RFID:
  • sulla scheda A dove ho scritto ho provato anche a scrivere sul settore 0 ma non mi faceva scrivere, ho letto in rete che su molte schede Rfid sul settore 0 non è scrivibile ma vien scritto solo dal produttore, mentre su altre fanno scrivere… vi torna la cosa?
  • ho comprato 5 rfid tondi di piccole dimensioni (diametro 2,5cm altezza 1 mm) perché sarebbero l’ideale da mettere attaccato al telefono o nella custodia ma non avevo fatto caso che fossero da 125kHz e RC522 funziona con quelli da 13,56mhz, conoscete delle schede rfid a 13 ma piccoli? C’è un lettore RFID per Raspberry compatibile con 125k e 13,56m?
  • l’apriporta che vorrei sostituire con uno più piccolo non so se funziona leggendo il settore 0 oppure usando il Card UID della scheda, nel caso il UID è scrivibile?
PS
dimenticavo, l'autenticazione a codice vien fatta:

Codice:
 # This is the default key for authentication
key = [0xFF,0xFF,0xFF,0xFF,0xFF,0xFF]
# Authenticate
status = mfrc.MFRC522_Auth(mfrc.PICC_AUTHENT1A, blockAddr, key, cardID)

Mi si potrebbe dire che è ovvio visot che si una una key costante e non è detto che sia quella, ma fino a ieri funzionava per tutte le schede e per tutti i settori.
E io non l'ho modificata (non saprei nemmeno come) e se lo avessi fatto per sbagliolo avrei fatto solo su quella dove ho scritto
Risposta
#2
Per lo standard, il settore 0 non è scrivibile, ma solo di lettura. contiene l'ID della scheda, quindi per sicurezza lo standard è così, in modo da non poter clonare una scheda creandone una copia identica.
Poi ci sono i cinesi che si sono inventati dei chip in cui si può scrivere anche il settore zero, in barba agli standard e alla sicurezza, ma proprio perché questa funzione potrebbe essere usata per usi malevoli, in rete si torva poco o nulla su come farlo.
Ne so qualcosa perché per entrare o uscire da alcune porte o usare la stampante o usare i mezzi aziendali devo usare il badge, ed è molto scomodo. Ho preso dei braccialetti RFID, in modo da averlo sempre al polso e però non c'è stato verso di copiarci il badge (che ha solo l'id sul settore zero e tutti gli altri vuoti)

Può essere che il tentativo di scrittura abbia corrotto il settore 0 della scheda A
Esistono una miriade di sottostandard per questi dispositivi, e di tag, può essere che la scheda C sia stata programmata in qualche modo come una scheda con solo settori disponibili (ad esempio lo standard Mifare classic 1k ha 1024 bytes di memoria totale, mentre lo standard Mifare Classic k ne ha 4096)

i dispositivi a 13,56mhz non sono RFID ma NFC. un lettore compatibile NFC, tipo questo, le potrà leggere e scrivere.
La comodità è che si possono leggere e scrivere anche con uno smartphone. che può sostituire anche il badge o scheda, che comunque esistono anche adesivi (quindi sottili).
solitamente gli apriporta, per i motivi suddetti , leggono l'UID..
Risposta
#3
(02/03/2024, 18:09)Zzed Ha scritto:
Ne so qualcosa perché per entrare o uscire da alcune porte o usare la stampante o usare i mezzi aziendali devo usare il badge, ed è molto scomodo. Ho preso dei braccialetti RFID, in modo da averlo sempre al polso e però non c'è stato verso di copiarci il badge (che ha solo l'id sul settore zero e tutti gli altri vuoti)


E' esattamente quello che volevo fare io con un apriporta di un campeggio, in questi due giorni non avevo a portata di mano questo apriporta e allora un po' di prove le ho fatto con il badge aziendale che anche a me serve per timbro/apriporta/stampanti/ecc. che è la scheda C di cui parlavo.
Ora quando avrò l'apriporta vedrò come sono i settori sperando che non sia scritto solo il settore 0, non credo perché so che li riscrivono e quindi il problema della scrittura del settore 0 lo avrebbero anche loro.

(02/03/2024, 18:09)Zzed Ha scritto:
Può essere che il tentativo di scrittura abbia corrotto il settore 0 della scheda A


L'ipotesi più probabile è quella, ho scritto il settore 1, ho fatto clean su qualche settore per prova e ho provato più volte a scrivere il settore 0 senza successo, potrebbe essere che l'ultimo tentativo che ho fatto (non ricordo quale) abbia "rovinato" la scheda.

(02/03/2024, 18:09)Zzed Ha scritto:
Esistono una miriade di sottostandard per questi dispositivi, e di tag, può essere che la scheda C sia stata programmata in qualche modo come una scheda con solo  settori disponibili (ad esempio lo standard Mifare classic 1k ha 1024 bytes di memoria totale, mentre lo standard Mifare Classic k ne ha 4096)


Eh no questo no perché nn era cosi da subito, la prima volta che la leggevo vedevo tutti i settori (valorizzato solo il settore 0 gli altri tutti "puliti") e su questa non ho provato mai a scrivere ne a fare clean visto che è il badge dell'ufficio, poi all'improvviso sono diventati leggibili solo i primi 4 settori.

(02/03/2024, 18:09)Zzed Ha scritto:
i dispositivi a 13,56mhz non sono RFID ma NFC. un lettore compatibile NFC, tipo questo, le potrà leggere e scrivere.
La comodità è che si possono leggere e scrivere anche con uno smartphone. che può sostituire anche il badge o scheda, che comunque esistono anche adesivi (quindi sottili).
solitamente gli apriporta, per i motivi suddetti , leggono l'UID..

mmmm allora qualcosa non mi è chiaro.
Partiamo dalle certezze, il badge dell'ufficio non è NFC perchè non sono riuscito a leggerlo con il telefono ma sono riuscito con RC522, quello del campeggio NON sono riuscito con il telefono devo provare con RC522.
Il telefono legge NFC perchè gli faccio leggere un "biglietto da visita" NFC.

Nelle specifiche di corredo a kit, che per carità non sono la bibbia, è scritto:
MFRC522
The MFRC522 is a highly integrated reader/writer IC for contactless communication at 13.56MHz.

Io ho comprato questi che sono descritti come "125KHz riscrivibile rfid" e infatti RC522 non me li rileva
Ho dato per scontato per il fatto che avessero frequenza a 125, magari non li rileva perchè sono una cinesata pacco.

Grazie dell'aiuto e delle info.
Risposta
#4
Riprendo il post che avevo lasciato indietro per un "inconveniente" (mi sono rotto un polso Dodgy ) e praticamente cambio tutto :-) 

Mi sono accorto che il braccialetto che uso come apri tornello non è un RFID ma un NFC quindi riesco a leggerlo e scriverlo anche con l'iPhone (come ho fatto anche con un biglietto da visita NFC) ma ho visto che tutti questi braccialetti hanno 0 record scritti quindi l'unico modo che immagino possa aprire il tornello è verificando il numero seriale.

Da qui alcune domande:
- gli NFC che si trovano su amazon o altri siti permettono la modifica del seriale?
- che scheda NFC mi consigliate per raspberry (magari corredata da software)
- Raspberry + scheda NFC permettono d cambiare il seriale di un NFC?

Grazie
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect