Sisukord:
Video: Elektrooniline rahakott: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
MÄRKUS. Mul on nüüd Instructables, mis pakuvad Arduino koodi RC522 ja PN532 jaoks.
Oma eelmises postituses kirjeldasin üksikasjalikult MFRC522 ja PN532 RFID moodulitega suhtlemise põhitõdesid, et lugeda/kirjutada andmeid Mifare Classic 1k siltidelt. Selles postituses astun sammu edasi ja näitan, kuidas neid mooduleid kasutada siltidest elektroonilise rahakoti loomiseks. Nagu eelmises postituses, on see ka esmane rakendus, kuid see peaks andma aluse mitmesugustele rakendustele, mis nõuavad suurendamise/vähendamise või arvutamise funktsioone.
1. samm: andmete terviklikkus
Elektroonilise rahakoti puhul on alati mure, et keegi võib krediiti lisada ilma selle eest maksmata. Samuti on murettekitav, et märgendi krediit võib andmete kirjutamise ajal tahtmatult rikutud saada. Andmetele juurdepääsuks on vaja kasutada märgendivõtit, nii et märgendi esmase lähtestamise korral on vaja vaikevõtit muuta. Internetis on artikleid, mis räägivad sildi häkkimisest isegi siis, kui te võtit ei tea, kuid see tehnika pole triviaalne. Ma ei soovitaks neid silte oma pangakonto jaoks kasutada, kuid need on piisavalt head paljude vähem riskantsete rakenduste jaoks.
Andmete riknemise tõenäosus on suhteliselt väike, kuid tarkvara peaks suutma vähemalt põhijuhtumit käsitleda. See protsess hõlmab kahte sammu, millest esimene on korruptsiooni tuvastamine. Selles projektis käsitletakse nii krediidiväärtuse kui ka krediidiväärtuse 1 täiendi salvestamist. See võimaldab väärtusi lihtsalt võrrelda. Teise sammuna tuleb salvestada nii krediidiväärtuse kui ka selle täienduse varundatud versioon. See võimaldab taastamistoimingut, kui esimene krediidikomplekt rikutakse. Kui mõlemad komplektid on rikutud, üritab tarkvara märgendit taasalustada, mille tulemusel kaotatakse kõik krediidid.
Samm: riistvara
Riistvaraühendused on näidatud ülaltoodud diagrammil. See on sama seadistus kui eelmine postitus, millele on lisatud kaks lülitit ja tõmbetakisti. Üks lüliti ei vaja tõmbetakistit, kuna see on PIC-sisendil, millel on nõrk sisse tõmbamisvõime. Praktikas oleksid mõlemad lülitid peidetud, kuna neid kasutatakse krediitide lisamiseks ja sildi lähtestamiseks. Initsialiseerimise lüliti on valikuline (käsitsi krediidi nullimiseks), kuna tarkvara saab uue sildi iseseisvalt tuvastada ja vormindada. Lülitite asemel võiks kasutada hüppajanõelu.
Samm: tarkvara
Tarkvara põhisilmusse tehti täiendusi, et võimaldada kahe lüliti lugemist ja märgendi lähtestamist nõudva seisundi tuvastamist. Nagu riistvara osas mainitud, saab sildi initsialiseerimist käsitseda lülitiga. Tarkvara saab ka kahel muul juhul käsu sildi initsialiseerida. Esiteks, kui see tuvastab uue märgendi või andmesektori ja teiseks, kui mõlemad krediidiandmete kogumid on rikutud.
Siltide autentimine nõuab sihtandmesektori jaoks võtme A kasutamist. Mifare Classic 1k siltide vaikevõti on „FF FF FF FF FF FF”, kuid seda tuleks teie rakenduse jaoks muuta. Tarkvara pakub määratlusi nii vaikevõtmele kui ka uuele võtmele (“My_Key”). Lihtsalt ühendage soovitud väärtused jaotisse „Minu_Kee”. Tarkvara üritab alati märgendit esmalt autentida, kasutades “My_Key”. Kui see ei õnnestu, kutsutakse sisse märgendi lähtestamise rutiin ja autentimiseks kasutatakse vaikevõtit. Initsialiseerimisrutiin muudab võtme väärtuseks „My_Key” ja määrab krediidid nulliks. Kui teil on vaikimisi võtmega silt ja te ei tea, mis see on, ei saa märgendit autentida. Kui see juhtub, võiksite vaikeklahvi abil kontrollida teisi andmesektoreid, et näha, kas see on saadaval. Treileriplokk, andmeplokk ja varuplokid on kõik tarkvaraloendi alguses määratletud, nii et saate neid hõlpsalt muuta.
Selle rakenduse märgendisse salvestatud andmete vorming kasutab ainult positiivseid numbreid (puudujääke ei ole lubatud) ja väärtused salvestatakse nelja baitina pakitud BCD -st (binaarselt kodeeritud kümnendkoht). See võimaldab krediidivahemikku 0 kuni 99, 999, 999 (kaks numbrit baidi kohta). Krediidiväärtus ja selle 1 täiend kasutavad ainult 8 andmebaasi 16 baidist ja ülejäänud on täidetud nullidega. Samas andmeplokis on ruumi varukoopia jaoks, kuid otsustasin, et turvalisem oleks varukoopia eraldi andmeplokki panna. Varuplokk asub andmeplokiga samas sektoris, nii et eraldi autentimist pole vaja. Veelgi turvalisemaks muutmiseks võite kaaluda varukoopia paigutamist teise andmesektorisse, kuid sellistele andmetele juurdepääsuks oleks vaja eraldi autentimisetappi.
Kui krediiti loetakse, loetakse ka täiendatud väärtus ja seejärel võrreldakse neid kahte omavahel. Mittevastavuse korral loetakse ja võrreldakse varuväärtuse/täiendi komplekti. Kui need kattuvad, eeldatakse, et varukoopia on õige ja seda kasutatakse rikutud andmete parandamiseks. Kui varukoopiad ei ühti, loetakse silt halvaks ja proovitakse see uuesti vormindada.
Kasvu- ja kahanemisväärtused on määratletud kirje esikülje lähedal ja eeldatavalt pakitud BCD -s. Rutiinid, mis suurendavad ja vähendavad, teevad seda tõhusalt 32-bitisel numbril. Matemaatika on väga lihtne, kuid nõuab rutiinide kasutamist, et kohandada iga pakitud BCD baidi ja ühe baidi vahel olevate edastuste tulemusi. See saavutatakse makrode DAA (kümnendkohanduse liitmine) ja DAS (kümnendkohanduse lahutamine) kasutades. Need makrod tagavad, et iga 4-bitine BCD number jääb alati vahemikku 0–9.
Lisaks eelmises postituses kuvatavatele sõnumitele on sellel rakendusel sõnumeid paljude täiendavate toimingute jaoks - eriti juhul, kui esineb andmevigu ja/või silt tuleb parandada või lähtestada. Krediidid kuvatakse ka enne ja pärast suurendamise/vähendamise sammu, et näeksite väärtuste muutumist.
See on selle postituse jaoks. Vaadake minu teisi elektroonikaprojekte aadressil: www.boomerrules.wordpress.com
Soovitan:
E-dohicky Russ'i laservõimsusmõõturi elektrooniline versioon Dohicky: 28 sammu (koos piltidega)
E-dohicky Russ'i laservõimsusmõõturi elektrooniline versioon Dohicky: Laser-elektritööriist. E-dohicky on Russ SADLERi dohicky elektrooniline versioon. Russ animeerib väga head SarbarMultimedia youtube'i kanalit https://www.youtube.com/watch?v=A-3HdVLc7nI&t=281sRuss SADLER esitab lihtsa ja odava lisaseadme
IoT -rahakott (nutikas rahakott koos Firebeetle ESP32, Arduino IDE ja Google'i arvutustabeliga): 13 sammu (koos piltidega)
IoT-rahakott (nutikas rahakott koos Firebeetle ESP32, Arduino IDE ja Google'i arvutustabeliga): esimene auhind Instructables Pocket-Sized Contest konkursil! Need muutuvad üleöö ja te ei tea kunagi, kui palju raha on teie rahakotis
DIY Millennium Falcon rahakott: 26 sammu (piltidega)
DIY Millennium Falcon Purse: Nagu paljud teised galaktika inimesed, veetsin ma suure osa 2015. aastast värisedes, oodates esimese uue Star Warsi filmi The Force Awakens ilmumist. Muidugi püüdsin oma põnevust tasakaalustada tervisliku skeptilisusannusega
Altoids tina rahakott: 4 sammu
Altoids Tin Wallet: seda mitmekülgset kommivormi saab kasutada ka rahakotina! Kui te pole seda veel avastanud, sobivad tavalised krediitkaardid ja isikut tõendavad dokumendid suurepäraselt auväärsesse Altoidsi pleki. Vaata järgi! See on ülilihtne ja lisaks sellele, et võtta aega, et süüa kõik
Magic Duct Tape rahakott Roididel: 8 sammu
Magic Duct Tape rahakott Roididel: Tere. Avastasin selle saidi veidi aega tagasi. Tänu sellele suurepärasele juhendatavale kleeplindi maagilisele rahakotile tegin umbes nädal tagasi maagilise kleeplindi rahakoti. Mulle meeldis see väga, kuid tahtsin siiski veel mõnda asja, nii et ehitasin selle seina metsalise