RFID čtečka

Odpovědět
Tomas Z
Příspěvky: 12
Registrován: 26 led 2018, 09:37
Reputation: 0

RFID čtečka

Příspěvek od Tomas Z » 24 dub 2018, 13:50

Ahoj, prosím o radu.
Mam RFID čtečku (MF RC522) a snažím se arduinem přečíst text který je na kartě zadaný. Z různých návodů jsem získal informace o velikosti, adresu, ale nikde jsem nenašel jak mam program upravit, aby se mi vypsal i text.
Když kartu načtu na mobilu, text se mi vypíše, ale arduinem jsem toto nedokázal.
Poradí prosím někdo?

K380
Příspěvky: 134
Registrován: 04 srp 2017, 12:43
Reputation: 0

Re: RFID čtečka

Příspěvek od K380 » 24 dub 2018, 14:50

Tady máš soubor který přečte údaje z karty nebo tagu RFITu to znamená kód karty nebo tagu který potom zadáš do programu který použiješ. Nic jiného z karty nebo tagu nepřečteš. Žádný text tam není !
sketch_mar08a.ino
(2.48 KiB) Staženo 251 x

Wojta
Příspěvky: 184
Registrován: 22 črc 2017, 16:39
Reputation: 0

Re: RFID čtečka

Příspěvek od Wojta » 24 dub 2018, 15:08

Vždyť karta, tag, nebo cokoliv jiného přeci paměť má, většinou okolo 1K. Pokud jsou dostupné klíče pro přístup do sektorů (a ty by měli být), neměl by být problém něco do nich zapsat a pak vyčítat, tím pádem mít tam uložený text (samozřejmě ve formě bytů)... Možná se mílím tak mě opravte pokud ano. Tomáši, co vám vypadne do serial monitoru pokud nahrajete ukázkový program DumpInfo z té knihovny? Mělo by to vypsat různé informace a mimo to právě i obsah celé paměti karty, právě tam by měl být váš text zapsán a to ve formě bytů. Zkuste to vyjet a hodit sem výsledek.

Tomas Z
Příspěvky: 12
Registrován: 26 led 2018, 09:37
Reputation: 0

Re: RFID čtečka

Příspěvek od Tomas Z » 24 dub 2018, 19:13

P_20180424_190638.jpg
Zdravim Vás Wojto,

Tady vypisuji výpis ze serial monitoru po načteni karty. Nahrál jsem jak jste požadoval ukázkový kod DumpInfo. Karta po načteni na mobilu zobrazí text "Ahoj"

Firmware Version: 0x12 = (unknown)
Scan PICC to see UID, SAK, type, and data blocks...
Card UID: 72 C9 B5 89
Card SAK: 08
PICC type: MIFARE 1KB
Sector Block 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 AccessBits
15 63 PCD_Authenticate() failed: Timeout in communication.
14 59 PCD_Authenticate() failed: Timeout in communication.
13 55 PCD_Authenticate() failed: Timeout in communication.
12 51 PCD_Authenticate() failed: Timeout in communication.
11 47 PCD_Authenticate() failed: Timeout in communication.
10 43 PCD_Authenticate() failed: Timeout in communication.
9 39 PCD_Authenticate() failed: Timeout in communication.
8 35 PCD_Authenticate() failed: Timeout in communication.
7 31 PCD_Authenticate() failed: Timeout in communication.
6 27 PCD_Authenticate() failed: Timeout in communication.
5 23 PCD_Authenticate() failed: Timeout in communication.
4 19 PCD_Authenticate() failed: Timeout in communication.
3 15 PCD_Authenticate() failed: Timeout in communication.
2 11 PCD_Authenticate() failed: Timeout in communication.
1 7 PCD_Authenticate() failed: Timeout in communication.
0 3 PCD_Authenticate() failed: Timeout in communication.

Wojta
Příspěvky: 184
Registrován: 22 črc 2017, 16:39
Reputation: 0

Re: RFID čtečka

Příspěvek od Wojta » 24 dub 2018, 21:08

Hlavní je pro nás tahle chyba:

PCD_Authenticate() failed: Timeout in communication.

Znamená to že selhalo ověření při pokusu přečíst kartu. Každý ten sektor který chceme číst je zašifrovaný pomocí klíčů a tyhle klíče musí program použít aby se do karty dostal, pokud je nemá, nazdar, nedostane se nikam.
Kdyby jste tu kartu takhle přiložil čistě od výrobce a nezapisoval do ní telefonem, ukázala by se normálně, všechny sektory by se vypsali a fungovala by i pokud byste do ní arduinem zapisoval. Je tomu tak protože tak knihovna co máte rozumí právě tomu základnímu šifrování které na těch kartách je a má pro ně i klíče.

Tím že jste zapsal telefonem, změnil se formát karty. Android totiž používá jako formát NDEF, tudíž si kartu naformátoval a pak zapsal. NDEF má ale jiné klíče a jiný styl zapisování kterému ta knihovna co používáte na potvoru nerozumí tudíš posílá špatné klíče, do sektoru se nedostane a bum, tady je naše chyba autorizace. Jak tedy teď.

Být vámi, zkusil bych se trochu pobrouzdat po internetu a něco na toto téma najít, podívat se po klíčových slovech, nejdříve asi po knihovně která zvládne NDEF nebo po úpravách té stávající. Zkuste to a ozvěte se, uvidíme s čím přijdete, přeju hodně štěstí!

K380
Příspěvky: 134
Registrován: 04 srp 2017, 12:43
Reputation: 0

Re: RFID čtečka

Příspěvek od K380 » 25 dub 2018, 09:28

Zdravím!
Zaujalo mě čtení karty RFID pomocí příkladového programu v Arduinu. Použil jsem při provedení otvírání dveří pro načtení kódu výše zmíněný program mar08a. Teď jsem ze zvědavosti použil příkladový program a vyjely tyto údaje:

Firmware Version: 0x91 = v1.0
Scan PICC to see UID, SAK, type, and data blocks...
Card UID: 92 9E A4 85
Card SAK: 08
PICC type: MIFARE 1KB
Sector Block 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 AccessBits
15 63 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF [ 0 0 1 ]
62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 0 0 0 ]
61 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 0 0 0 ]
60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 0 0 0 ]
14 59 PCD_Authenticate() failed: Timeout in communication.
13 55 PCD_Authenticate() failed: Timeout in communication.
12 51 PCD_Authenticate() failed: Timeout in communication.
11 47 PCD_Authenticate() failed: Timeout in communication.
10 43 PCD_Authenticate() failed: Timeout in communication.
9 39 PCD_Authenticate() failed: Timeout in communication.
8 35 PCD_Authenticate() failed: Timeout in communication.
7 31 PCD_Authenticate() failed: Timeout in communication.
6 27 PCD_Authenticate() failed: Timeout in communication.
5 23 PCD_Authenticate() failed: Timeout in communication.
4 19 PCD_Authenticate() failed: Timeout in communication.
3 15 PCD_Authenticate() failed: Timeout in communication.
2 11 PCD_Authenticate() failed: Timeout in communication.
1 7 PCD_Authenticate() failed: Timeout in communication.
0 3 PCD_Authenticate() failed: Timeout in communication.

Je to podstatně více než kolegovi výše. Dají se řádky pod č. 15 nějak identifikovat co znamenají ? Ty od č. 14 už jsou zodpovězeny v předešlém příspěvku. Díky za odpověď !

Wojta
Příspěvky: 184
Registrován: 22 črc 2017, 16:39
Reputation: 0

Re: RFID čtečka

Příspěvek od Wojta » 25 dub 2018, 11:51

Dá se vyčíst docela dost. Každý z těch sektorů je rozdělený na 4 bloky, z toho jsou jen 3 volné pro uživatelská data a vždy ten poslední v sobě má konfigurační byty. Měl by být složen takto:

blok 3 [-------KEY A-------] [Access Bits] [-------KEY B-------]
blok 2 [------------------------------- Data -------------------------------]
blok 1 [------------------------------- Data -------------------------------]
blok 0 [------------------------------- Data -------------------------------]

Tím pádem u vás je to takto.

[-------KEY A-------] [Access Bits] [-------KEY B-------]
00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF

Ty access bits (přístupové bity) jsou ještě rozděleny. Jsou tam sice 4 byty ale využité jsou jen 3. Každý z těch bytů pak určuje přístupová práva k jednomu z těch tří dostupných bloků, různá práva na zápis a čtení, jaký klíč může co a tak. Nějaké konfigurace se dají najít v datasheetu.

K380
Příspěvky: 134
Registrován: 04 srp 2017, 12:43
Reputation: 0

Re: RFID čtečka

Příspěvek od K380 » 25 dub 2018, 12:55

Díky za informaci i když je pro mě španělská vesnice. V příkladech jsou ještě dva programy (poslední dva), předpokládám že jeden je pro čtení a druhý umožňuje asi zápis. Bylo by dobré vědět kdo přístupovou kartu nebo tag použil pro vstup pokud oprávněných osob je více. Budu se muset po nějakém programu na intrnetu podívat. Používám přístupový systém s Arduinem pro vstup do dílny, bez problémů.

Tomas Z
Příspěvky: 12
Registrován: 26 led 2018, 09:37
Reputation: 0

Re: RFID čtečka

Příspěvek od Tomas Z » 26 dub 2018, 07:16

Také díky za všechny informace. Zkusím něco najít a popřípadě se ozvu.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti