Tartalomjegyzék:

Elektronikus pénztárca: 3 lépés
Elektronikus pénztárca: 3 lépés

Videó: Elektronikus pénztárca: 3 lépés

Videó: Elektronikus pénztárca: 3 lépés
Videó: 7 лайфхаков с ГОРЯЧИМ КЛЕЕМ для вашего ремонта. 2024, November
Anonim
Elektronikus pénztárca
Elektronikus pénztárca

MEGJEGYZÉS: Most már olyan Instructables van, amely Arduino kódot kínál az RC522 és a PN532 számára.

Korábbi bejegyzésemben részletesen ismertettem az MFRC522 és PN532 RFID modulokkal való kommunikáció alapjait, hogy adatokat lehessen olvasni/írni a Mifare Classic 1k címkékből. Ebben a bejegyzésben egy lépéssel tovább megyek, és megmutatom, hogyan lehet ezeket a modulokat használni a címkékből elektronikus pénztárca létrehozásához. Az előző hozzászóláshoz hasonlóan ezt is alapvető megvalósításként mutatjuk be, de alapot kell adnia számos olyan alkalmazáshoz, amelyek növelési/csökkentési vagy számítási funkciókat igényelnek.

1. lépés: Az adatok integritása

Az elektronikus pénztárca esetében mindig aggodalomra ad okot, hogy valaki hozzáadhat hitelt anélkül, hogy fizetne érte. Az is aggodalomra ad okot, hogy a címkén lévő betűk véletlenül megsérülhetnek az adatok írása során. Az adathozzáféréshez szükség van a címke kulcs használatára, ezért a címke első inicializálásakor meg kell változtatni az alapértelmezett kulcsot. Vannak online cikkek, amelyek arról beszélnek, hogyan lehet feltörni egy címkét, még akkor is, ha nem ismeri a kulcsot, de a technika nem triviális. Nem javaslom ezeknek a címkéknek a használatát a bankszámlájához, de elég jóak sok kevésbé kockázatos alkalmazáshoz.

Az adatok sérülésének valószínűsége viszonylag kicsi, de a szoftvernek képesnek kell lennie legalább az alapeset kezelésére. Ez a folyamat két lépést tartalmaz, az első lépés a korrupció egyszerű felderítése. Ebben a projektben úgy kezelik, hogy mind a hitelértéket, mind a hitelkeret 1 -es kiegészítését tárolják. Ez lehetővé teszi az értékek egyszerű összehasonlítását. A második lépés a mentési változat és a kiegészítő érték tárolása. Ez lehetővé teszi a helyreállítási műveletet, ha az első kreditkészlet megsérül. Ha mindkét készlet sérült, a szoftver megpróbálja újra inicializálni a címkét, ami az összes jóváírás elvesztését eredményezi.

2. lépés: Hardver

Hardver
Hardver

A hardvercsatlakozásokat a fenti ábra mutatja. Ez ugyanaz a beállítás, mint az előző bejegyzés, két kapcsoló és egy felhúzó ellenállás hozzáadásával. Az egyik kapcsolóhoz nincs szükség felhúzó ellenállásra, mert olyan PIC bemeneten van, amely gyenge felhúzási képességgel rendelkezik. A gyakorlatban mindkét kapcsoló rejtve lenne, mert a hitelek hozzáadására és a címke inicializálására szolgálnak. Az inicializáló kapcsoló opcionális (kézi jóváírás nullázásához), mert a szoftver önmagában képes felismerni és inicializálni egy új címkét. A kapcsolók helyett jumper csapok is használhatók.

3. lépés: Szoftver

A szoftver fő hurokját kiegészítették, hogy lehetővé tegye a két kapcsoló leolvasását és a címke inicializálását igénylő állapot észlelését. Amint azt a hardver részben említettük, a címke inicializálása manuálisan vezérelhető egy kapcsolóval. A szoftver két másik esetben is parancsot adhat a címke inicializálására. Először is, ha új címkét vagy adatszektort észlel, másodszor, ha mindkét hiteladat -készlet sérült.

A címkék hitelesítéséhez az „A kulcs” használata szükséges a céladat -szektor számára. A Mifare Classic 1k címkék alapértelmezett kulcsa az „FF FF FF FF FF FF”, de módosítani kell az alkalmazáshoz. A szoftver definiálja mind az alapértelmezett, mind az új kulcsot („My_Key”). Csak csatlakoztassa a kívánt értékeket a „My_Key” -hez. A szoftver mindig megpróbálja először hitelesíteni a címkét a „My_Key” használatával. Ha ez nem sikerül, akkor a címke inicializálására szolgáló rutin meghívásra kerül, és az alapértelmezett kulcsot használja a hitelesítéshez. Az inicializáló rutin megváltoztatja a kulcsot „My_Key” értékre, és a jóváírásokat nullára állítja. Ha nem címkével ellátott címkével rendelkezik, és nem tudja, mi az, akkor a címke nem hitelesíthető. Ha ez megtörténik, érdemes ellenőrizni a többi adatszektort az alapértelmezett kulccsal, hogy megtudja, elérhető -e. A Trailer blokk, az Adatblokk és a Backup blokk a szoftverlista elején van megadva, így könnyedén megváltoztathatja azokat.

Az alkalmazás címkéjében tárolt adatok formátuma csak pozitív számokat használ (hiányosságok nem megengedettek), és az értékeket négy bájtnyi BCD (binárisan kódolt tizedes) tárolja. Ez 0 és 99, 999, 999 (két számjegy bájtonként) hitelkeretet tesz lehetővé. A jóváírás értéke és 1 -es kiegészítője csak 16 bájtból 8 -at használ egyetlen adatblokkban, a többi pedig nullával van kitöltve. Ugyanebben az adatblokkban van hely a biztonsági másolathoz, de úgy döntöttem, hogy biztonságosabb, ha a biztonsági másolatot külön adatblokkba helyezzük. A biztonsági mentési blokk ugyanabban a szektorban van, mint az adatblokk, ezért nincs szükség külön hitelesítésre. Még biztonságosabb lehet, ha fontolóra veszi a biztonsági mentés másik adatszektorba történő behelyezését, de akkor külön hitelesítési lépésre van szükség az adatok eléréséhez.

A hitelek olvasásakor a kiegészített értéket is beolvassák, majd összehasonlítják a kettőt egymással. Ha eltérés van, akkor az érték/kiegészítés tartalék készletét beolvassuk és összehasonlítjuk. Ha megegyeznek, akkor a biztonsági mentést helyesnek kell tekinteni, és a sérült adatok javítására használják. Ha a biztonsági másolatok nem egyeznek, akkor a címke rossznak minősül, és megpróbálják újra inicializálni.

A növekmény és csökkenés értékei a lista eleje közelében vannak megadva, és várhatóan csomagolt BCD -ben lesznek. Azok a rutinok, amelyek a növekményt és a csökkentést hatékonyan végzik, ezt 32 bites számon végzik. A matematika nagyon egyszerű, de rutinok használatát igényli az egyes csomagolt BCD bájtokban és az egyik bájtról a másikra történő átvitel eredményeinek beállításához. Ezt a DAA (decimális kiigazítás összeadása) és a DAS (decimális kiigazítás kivonása) makrók használatával érik el. Ezek a makrók gondoskodnak arról, hogy minden 4 bites BCD számjegy mindig a 0-9 tartományon belül maradjon.

Az előző bejegyzésben megjelenített üzeneteken kívül ez az alkalmazás számos további lépéshez tartalmaz üzeneteket - különösen, ha adathibák vannak, és/vagy a címkét javítani vagy inicializálni kell. A jóváírások a növekmény/csökkenés lépése előtt és után is megjelennek, így láthatja az értékek változását.

Ennyi a bejegyzéshez. Nézze meg a többi elektronikai projektemet is: www.boomerrules.wordpress.com

Ajánlott: