
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:42

HUOMAUTUS: Minulla on nyt Instructables, joka tarjoaa Arduino -koodin RC522: lle ja PN532: lle.
Edellisessä viestissäni kerroin perusteet MFRC522- ja PN532 -RFID -moduulien kanssa kommunikoimiseen tietojen lukemiseksi/kirjoittamiseksi Mifare Classic 1k -tunnisteista. Tässä viestissä otan sen askeleen pidemmälle ja näytän kuinka näiden moduulien avulla luodaan tunnisteista sähköinen lompakko. Kuten edellisen viestin kohdalla, tämä esitetään peruskäytännönä, mutta sen pitäisi luoda perusta monille sovelluksille, jotka vaativat lisäys-/vähennys- tai laskutoimintoja.
Vaihe 1: Tietojen eheys
Sähköisessä lompakossa on aina huoli siitä, että joku voi lisätä luottoja maksamatta niistä. On myös huolestuttavaa, että tunnisteen tunnisteet voivat vahingossa vioittua tietojen kirjoittamisen aikana. Tietojen käyttö edellyttää tunnisteavaimen käyttöä, joten oletusavain on vaihdettava, kun tagi alustetaan ensimmäisen kerran. Verkossa on artikkeleita, joissa puhutaan tagin hakkeroinnista, vaikka et tiedä avainta, mutta tekniikka ei ole vähäpätöinen. En suosittelisi näiden tunnisteiden käyttöä pankkitililläsi, mutta ne ovat riittävän hyviä monille vähemmän riskialttiille sovelluksille.
Tietojen vioittumisen todennäköisyys on suhteellisen pieni, mutta ohjelmiston pitäisi pystyä käsittelemään ainakin perustapaus. Tämä prosessi sisältää kaksi vaihetta, joista ensimmäinen on yksinkertainen korruption havaitseminen. Tässä projektissa sitä käsitellään tallentamalla sekä luottoarvo että 1 -täydennys luottoarvosta. Tämä mahdollistaa arvojen yksinkertaisen vertailun. Toinen vaihe on tallentaa varmuuskopio sekä hyvitysarvosta että sen täydennyksestä. Tämä mahdollistaa palautustoimenpiteen, jos ensimmäinen luottojoukko vioittuu. Jos molemmat sarjat ovat vioittuneet, ohjelmisto yrittää alustaa tunnisteen uudelleen, mikä johtaa kaikkien hyvitysten menettämiseen.
Vaihe 2: Laitteisto

Laitteiston liitännät on esitetty yllä olevassa kaaviossa. Tämä on sama asetus kuin edellinen viesti, johon on lisätty kaksi kytkintä ja vetovastus. Yksi kytkin ei vaadi vetovastusta, koska se on PIC-tulossa, johon on sisäänrakennettu heikko vetokyky. Käytännössä molemmat kytkimet piilotetaan, koska niitä käytetään hyvitysten lisäämiseen ja tunnisteen alustamiseen. Alustuskytkin on valinnainen (manuaalisen luoton nollaus), koska ohjelmisto voi tunnistaa ja alustaa uuden tunnisteen itse. Kytkinten sijasta voidaan käyttää hyppytappeja.
Vaihe 3: Ohjelmisto
Ohjelmiston pääsilmukkaan tehtiin lisäyksiä kahden kytkimen lukemisen mahdollistamiseksi ja tunnisteen alustuksen edellyttävän tilan havaitsemiseksi. Kuten laitteisto -osassa mainittiin, tunnisteen alustus voidaan komentaa manuaalisesti kytkimellä. Ohjelmisto voi myös komentaa tunnisteen alustuksen kahdessa muussa tapauksessa. Ensinnäkin, jos se havaitsee uuden tunnisteen tai datasektorin ja toiseksi, jos molemmat luottotietosarjat ovat vioittuneet.
Tunnisteiden todentaminen edellyttää "avaimen A" käyttöä kohdetietosektorille. Mifare Classic 1k -tunnisteiden oletusavain on “FF FF FF FF FF FF”, mutta se tulisi muuttaa sovelluksellesi. Ohjelmisto tarjoaa määritelmät sekä oletusavaimelle että uudelle avaimelle ("My_Key"). Liitä haluamasi arvot "My_Key" -kenttään. Ohjelmisto yrittää aina ensin tunnistaa tunnisteen “My_Key” -toiminnolla. Jos tämä epäonnistuu, tagin alustusrutiini kutsutaan ja todennuksessa käytetään oletusavainta. Alustusrutiini muuttaa avaimen arvoksi "My_Key" ja asettaa hyvitykset nollaksi. Jos sinulla on tagi, jolla on ei-oletusavain, etkä tiedä mitä se on, tunnistetta ei voi todentaa. Jos näin tapahtuu, sinun kannattaa tarkistaa muut tietosektorit oletusavaimella, onko sellainen käytettävissä. Traileri-, datalohko- ja varmuuskopio -lohkot on määritelty ohjelmistoluettelon alussa, joten voit helposti muuttaa niitä.
Tämän sovelluksen tunnisteeseen tallennettujen tietojen muoto käyttää vain positiivisia numeroita (alijäämiä ei sallita) ja arvot tallennetaan neljänä tavuna pakattua BCD -koodia (Binary Coded Decimal). Tämä mahdollistaa luottorajan 0-99, 999, 999 (kaksi numeroa tavua kohden). Luottoarvo ja sen 1 täydennys käyttävät vain 8 16 tavusta yhdessä datalohkossa ja loput on täytetty nollilla. Samassa tietolohkossa on tilaa varmuuskopiolle, mutta päätin, että olisi turvallisempaa laittaa varmuuskopio erilliseen tietolohkoon. Varmuuskopiointi on samalla sektorilla kuin datalohko, joten erillistä todennusta ei tarvita. Vieläkin turvallisemmaksi kannattaa harkita varmuuskopion asettamista eri datasektorille, mutta silloin tarvitaan erillinen todennusvaihe näiden tietojen käyttämiseksi.
Kun hyvitykset on luettu, myös täydennetty arvo luetaan ja sitten näitä kahta verrataan toisiinsa. Jos täsmäytys ilmenee, arvon/täydennyksen varmuuskopio luetaan ja verrataan. Jos ne täsmäävät, varmuuskopion oletetaan olevan oikea ja sitä käytetään vioittuneiden tietojen korjaamiseen. Jos varmuuskopiot eivät täsmää, tunnisteen katsotaan olevan huono ja se yritetään alustaa uudelleen.
Lisäys- ja vähennysarvot on määritetty luettelon etuosan lähellä ja niiden odotetaan olevan pakatussa BCD -muodossa. Rutiinit, jotka lisäävät ja pienentävät tehokkaasti, tekevät niin 32-bittisellä numerolla. Matematiikka on hyvin yksinkertaista, mutta vaatii rutiinien käyttämistä tulosten säätämiseksi jokaisessa pakatussa BCD -tavussa ja tavusta toiseen. Tämä saavutetaan käyttämällä makroja DAA (Decimal Adjust Add) ja DAS (Decimal Adjust Subtraction). Nämä makrot varmistavat, että jokainen 4-bittinen BCD-numero pysyy aina välillä 0-9.
Edellisen viestin näyttöviestien lisäksi tässä sovelluksessa on viestejä monista lisävaiheista - varsinkin jos on datavirheitä ja/tai tagi on korjattava tai alustettava. Hyvitykset näkyvät myös ennen lisäys-/vähennysvaihetta ja sen jälkeen, jotta näet arvojen muutoksen.
Siinä tämä postaus. Tutustu muihin elektroniikkaprojekteihini osoitteessa: www.boomerrules.wordpress.com
Suositeltava:
Sähköinen musiikki -instrumentti 3D -painettu vahvistin: 11 vaihetta (kuvilla)

Sähköinen musiikki -instrumentin 3D -painettu vahvistin: projektin määritelmä Toivon, että teen tulostettavan vahvistimen käytettäväksi sähköviulun tai minkä tahansa muun sähkölaitteen kanssa. aktiivinen vahvistin ja pidä se pienenä
Sähköinen LED -merkki: 4 vaihetta

Sähköinen LED -merkki: Halloween lähestyy. Onko sinulla ajatuksia sisustamisesta ja pukeutumisesta? On mahtavaa, jos sinulla on yksinomainen sähköinen led -merkki. Joten keskustelemme tänään siitä, kuinka tehdä tällainen sähköinen merkki
IoT -lompakko (älykäs lompakko, jossa Firebeetle ESP32, Arduino IDE ja Google -laskentataulukko): 13 vaihetta (kuvilla)

IoT-lompakko (älykäs lompakko, jossa Firebeetle ESP32, Arduino IDE ja Google-laskentataulukko): Ensimmäinen palkinto Instructables Pocket-Sized Contest -kilpailussa!: DJos olet sijoittanut rahaa kryptovaluutoihin, tiedät todennäköisesti jo, että ne ovat erittäin epävakaita. Ne muuttuvat yön yli, eikä koskaan tiedä, paljonko oikeaa rahaa sinulla on lompakossasi
Altoids Tin lompakko: 4 vaihetta

Altoids Tin Wallet: Tätä monipuolista karkkipurkkia voidaan käyttää myös lompakkona! Jos et ole jo löytänyt, tavalliset luottokortit ja henkilötodistukset sopivat täydellisesti kunnioitettavaan Altoids -tinaan. Tarkista se! Tämä on erittäin helppoa, ja sen lisäksi, että vie aikaa syödä kaikki
Magic Duct Tape lompakko Roidsissa: 8 vaihetta

Magic Duct Tape lompakko Roids: Hei. Löysin tämän sivuston vähän aikaa sitten. Tein maagisen kangasnauhalompakon noin viikko sitten tämän upean opastettavan kangasnauha -maagisen lompakon ansiosta. Pidin siitä paljon, mutta halusin silti muutamia asioita, joten rakensin tämän muurin pedon