Përmbajtje:

Portofol elektronik: 3 hapa
Portofol elektronik: 3 hapa

Video: Portofol elektronik: 3 hapa

Video: Portofol elektronik: 3 hapa
Video: Tesla HEPA Filter | Keeping Your Cabin Air Clean 2024, Qershor
Anonim
Portofol elektronik
Portofol elektronik

SH NOTNIM: Tani kam Instructables që ofrojnë kodin Arduino për RC522 dhe PN532.

Në postimin tim të mëparshëm kam detajuar bazat për komunikimin me modulet MFRC522 dhe PN532 RFID për të lexuar/shkruar të dhëna nga etiketat Mifare Classic 1k. Në këtë postim e bëj një hap më tej dhe tregoj se si t'i përdor ato module për të krijuar një portofol elektronik nga etiketat. Ashtu si me postimin e mëparshëm, ky është paraqitur si një zbatim bazë, por duhet të sigurojë një bazë për një sërë aplikimesh që kërkojnë rritje/ulje ose numërim të funksioneve.

Hapi 1: Integriteti i të dhënave

Për një kuletë elektronike ekziston gjithmonë një shqetësim që dikush mund të shtojë kredi pa paguar për to. Ekziston gjithashtu një shqetësim që kreditet në etiketë mund të korruptohen pa dashje gjatë shkrimit të të dhënave. Qasjet në të dhëna kërkojnë përdorimin e çelësit të etiketës, kështu që është e nevojshme të ndryshoni çelësin e paracaktuar kur etiketa është inicuar për herë të parë. Ka artikuj në internet që flasin se si të hakoni një etiketë edhe nëse nuk e dini çelësin, por teknika nuk është e parëndësishme. Unë nuk do të rekomandoja përdorimin e këtyre etiketave për llogarinë tuaj bankare, por ato janë mjaft të mira për shumë aplikime më pak të rrezikshme.

Probabiliteti i prishjes së të dhënave është relativisht i vogël, por softueri duhet të jetë në gjendje të paktën të trajtojë rastin bazë. Ky proces përfshin dy hapa me hapin e parë për të zbuluar thjesht korrupsionin. Në këtë projekt që trajtohet duke ruajtur si vlerën e kredisë ashtu edhe një shtesë 1 të vlerës së kredisë. Kjo lejon një krahasim të thjeshtë të vlerave. Hapi i dytë është ruajtja e një versioni rezervë të vlerës së kredisë dhe plotësuesit të saj. Kjo lejon një operacion rimëkëmbjeje nëse grupi i parë i kredive korruptohet. Nëse të dy grupet janë të korruptuar, atëherë softueri përpiqet të riinitalizojë etiketën, e cila rezulton në humbjen e të gjitha krediteve.

Hapi 2: Pajisje kompjuterike

Hardware
Hardware

Lidhjet e harduerit tregohen në diagramin e mësipërm. Ky është i njëjti konfigurim si postimi i mëparshëm me shtimin e dy ndërprerësve dhe një rezistencë tërheqëse. Një ndërprerës nuk kërkon një rezistencë tërheqëse sepse është në një hyrje PIC që ka një aftësi të dobët tërheqëse. Në praktikë, të dy çelsat do të fshiheshin sepse përdoren për shtimin e krediteve dhe për inicimin e një etikete. Ndërprerësi i inicimit është opsional (për të bërë zeroimin e kreditit manual) sepse softueri mund të zbulojë dhe iniciojë një etiketë të re më vete. Kunjat e bluzave mund të përdoren në vend të çelsave.

Hapi 3: Softuer

Shtesat në lakin kryesor në softuer u bënë për të lejuar leximin e dy çelsave dhe për zbulimin e një gjendjeje që kërkon inicimin e etiketës. Siç u përmend në pjesën e harduerit, inicimi i etiketës mund të komandohet manualisht me një ndërprerës. Softueri gjithashtu mund të komandojë një inicim të etiketës në dy raste të tjera. Së pari, nëse zbulon një etiketë të re ose sektor të dhënash dhe së dyti, nëse të dy grupet e të dhënave të kreditit janë të korruptuara.

Vërtetimi i etiketave kërkon përdorimin e "çelësit A" për sektorin e të dhënave të synuar. Çelësi i paracaktuar për etiketat Mifare Classic 1k është "FF FF FF FF FF FF FF", por duhet të ndryshohet për aplikacionin tuaj. Softueri siguron përcaktime si për çelësin e parazgjedhur ashtu edhe për një çelës të ri ("My_Key"). Thjesht futni vlerat që dëshironi në "My_Key". Softueri gjithmonë përpiqet të vërtetojë etiketën duke përdorur "My_Key". Nëse kjo dështon, atëherë quhet rutina për të inicializuar etiketën dhe çelësi i paracaktuar përdoret për vërtetim. Rutina e fillimit ndryshon çelësin në "My_Key" dhe i vendos kreditet në zero. Nëse keni një etiketë me një çelës jo të paracaktuar dhe nuk e dini se çfarë është, atëherë etiketa nuk mund të vërtetohet. Nëse kjo ndodh, ju mund të dëshironi të kontrolloni sektorët e tjerë të të dhënave duke përdorur çelësin e paracaktuar për të parë nëse një është në dispozicion. Blloku i rimorkios, blloku i të dhënave dhe blloqet rezervë përcaktohen të gjitha në fillim të listimit të softuerit, në mënyrë që t'i ndryshoni me lehtësi.

Formati për të dhënat e ruajtura në etiketë për këtë aplikacion përdor vetëm numra pozitivë (nuk lejohen defiçite) dhe vlerat ruhen si katër byte të BCD të paketuara (dhjetore të koduara binare). Kjo lejon një gamë krediti nga 0 në 99, 999, 999 (dy shifra për bajt). Vlera e kredisë dhe komplementi i saj 1 përdorin vetëm 8 nga 16 bajtët në një bllok të vetëm të dhënash dhe pjesa tjetër mbushen me zero. Ka vend në të njëjtin bllok të të dhënave për kopjen rezervë, por unë vendosa që do të ishte më e sigurt të vendosja kopjen rezervë në një bllok të veçantë të të dhënave. Blloku rezervë është në të njëjtin sektor me bllokun e të dhënave, kështu që nuk kërkohet vërtetim i veçantë. Për të qenë edhe më të sigurt, mund të konsideroni vendosjen e kopjes rezervë në një sektor të ndryshëm të të dhënave, por atëherë do të nevojitej një hap i veçantë autentifikimi për të hyrë në ato të dhëna.

Kur bëhet leximi i krediteve lexohet edhe vlera e plotësuar dhe pastaj të dy krahasohen kundër njëri -tjetrit. Nëse ka një mospërputhje, atëherë grupi rezervë i vlerës/komplementit lexohet dhe krahasohet. Nëse ato përputhen, atëherë kopja rezervë supozohet të jetë e saktë dhe përdoret për të riparuar të dhënat e dëmtuara. Nëse kopjet rezervë nuk përputhen, atëherë etiketa konsiderohet e keqe dhe bëhet një përpjekje për ta rifilluar atë.

Vlerat e rritjes dhe zvogëlimit përcaktohen pranë pjesës së përparme të listës dhe pritet të jenë të paketuara në BCD. Rutinat që bëjnë rritjen dhe zvogëlimin në mënyrë efektive e bëjnë këtë në një numër 32-bit. Matematika është shumë e thjeshtë, por kërkon përdorimin e rutinave për të rregulluar rezultatet për bartjet brenda secilit bajt të paketuar BCD dhe nga një bajt në tjetrin. Kjo arrihet me përdorimin e makrove DAA (Shtimi i rregullimit dhjetor) dhe DAS (Zbritja e rregullimit dhjetor). Këto makro sigurohen që çdo shifër 4-bit BCD të qëndrojë gjithmonë brenda intervalit 0-9.

Përveç mesazheve të shfaqura në postimin e mëparshëm, ky aplikacion ka mesazhe për shumë nga hapat shtesë - veçanërisht nëse ka gabime në të dhëna dhe/ose etiketa duhet të fiksohet ose inicohet. Kreditet shfaqen gjithashtu para dhe pas një hapi shtimi/zvogëlimi, në mënyrë që të shihni ndryshimin e vlerave.

Kjo është ajo për këtë postim. Shikoni projektet e mia të tjera elektronike në: www.boomerrules.wordpress.com

Recommended: