Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-23 15:13
TANDAAN: Mayroon na akong Mga Tagubilin na nag-aalok ng Arduino code para sa RC522 at PN532.
Sa aking nakaraang post na detalyado ko ang mga pangunahing kaalaman para sa pakikipag-usap sa mga module ng MFRC522 at PN532 RFID upang mabasa / sumulat ng data mula sa Mifare Classic 1k na mga tag. Sa post na ito ay kukuha ako ng isang hakbang pa at ipinapakita kung paano gamitin ang mga modyul na iyon upang lumikha ng isang elektronikong pitaka mula sa mga tag. Tulad ng nakaraang post, ipinakita ito bilang isang pangunahing pagpapatupad ngunit dapat magbigay ng isang pundasyon para sa iba't ibang mga application na nangangailangan ng pagtaas / pagbawas o pag-andar ng tallying.
Hakbang 1: Integridad ng Data
Para sa isang electronic wallet laging may pag-aalala na ang isang tao ay maaaring magdagdag ng mga kredito nang hindi nagbabayad para sa kanila. Mayroon ding pag-aalala na ang mga kredito sa tag ay maaaring hindi sinasadyang masira sa isang pagsulat ng data. Ang mga pag-access sa data ay nangangailangan ng paggamit ng tag key kaya kinakailangan na baguhin ang default key kapag unang naisasagawa ang tag. May mga artikulo sa online na pinag-uusapan kung paano mag-hack ng isang tag kahit na hindi mo alam ang susi ngunit ang diskarte ay hindi gaanong mahalaga. Hindi ko inirerekumenda ang paggamit ng mga tag na ito para sa iyong bank account ngunit sapat ang mga ito para sa maraming mga hindi gaanong mapanganib na application.
Ang posibilidad ng katiwalian ng data ay medyo maliit ngunit ang software ay dapat na hindi maaaring hawakan ang pangunahing kaso. Ang prosesong ito ay nagsasangkot ng dalawang hakbang sa unang hakbang upang makita lamang ang katiwalian. Sa proyektong ito na pinangangasiwaan ng pag-iimbak ng parehong halaga ng kredito pati na rin ang 1 na pandagdag ng halaga ng kredito. Pinapayagan nito ang isang simpleng paghahambing ng mga halaga. Ang pangalawang hakbang ay upang mag-imbak ng isang backup na bersyon ng parehong halaga ng kredito at ang pandagdag. Pinapayagan nito ang isang pagpapatakbo sa pagbawi kung ang unang hanay ng mga kredito ay nasira. Kung ang parehong mga hanay ay nasira pagkatapos ay ang pagsubok ng software na gawing muli ang tag na nagreresulta sa pagkawala ng lahat ng mga kredito.
Hakbang 2: Hardware
Ang mga koneksyon sa hardware ay ipinapakita sa diagram sa itaas. Ito ay ang parehong pag-set up tulad ng nakaraang post na may pagdaragdag ng dalawang mga switch at isang pull-up risistor. Ang isang switch ay hindi nangangailangan ng isang pull-up risistor sapagkat ito ay nasa isang input ng PIC na may nakapaloob na mahinang kakayahan sa pag-pull-up. Sa pagsasagawa ay maitatago ang parehong mga switch dahil ginagamit ito para sa pagdaragdag ng mga kredito at para sa pagsisimula ng isang tag. Opsyonal ang switch na magpasimula (upang gawin ang manu-manong pag-zero ng credit) sapagkat ang software ay maaaring makakita at magpasimula ng isang bagong tag sa sarili nitong. Maaaring gamitin ang mga jumper pin sa halip na mga switch.
Hakbang 3: Software
Ang mga karagdagan sa pangunahing loop sa software ay ginawa upang payagan ang pagbabasa ng dalawang mga switch at para sa pagtuklas ng isang kundisyon na nangangailangan ng pagsisimula ng tag. Tulad ng nabanggit sa seksyon ng hardware, ang pagsisimula ng tag ay maaaring manu-manong iniutos ng isang switch. Maaari ring mag-utos ang software ng isang pagsisimula sa tag sa dalawang iba pang mga kaso. Una, kung nakakita ito ng isang bagong sektor ng sektor ng tag o data at pangalawa, kung ang parehong hanay ng data ng kredito ay nasira.
Ang pagpapatotoo ng mga tag ay nangangailangan ng paggamit ng "key A" para sa target na sektor ng data. Ang default key para sa Mifare Classic 1k na tag ay "FF FF FF FF FF FF" ngunit dapat baguhin para sa iyong aplikasyon. Ang software ay nagbibigay ng mga tumutukoy para sa parehong mga default key at isang bagong key ("My_Key"). I-plug in lamang ang anumang mga halagang nais mo sa "My_Key". Palaging tinatangka ng software na patunayan muna ang tag gamit ang "My_Key". Kung nabigo iyon, pagkatapos ay ang gawain na gawing una ang tag ay tinawag at ang default key ay ginagamit para sa pagpapatotoo. Binabago ng nakagawian na gawain ang susi sa "My_Key" at itinatakda ang mga kredito sa zero. Kung mayroon kang isang tag na may isang hindi default na key at hindi mo alam kung ano ito, kung gayon ang tag ay hindi maaaring mapatunayan. Kung nangyari ito baka gusto mong suriin ang iba pang mga sektor ng data gamit ang default key upang makita kung may magagamit. Ang bloke ng Trailer, block ng Data, at mga bloke ng Backup ay natukoy sa simula ng listahan ng software upang madali mong mabago ang mga ito.
Ang format para sa data na nakaimbak sa tag para sa application na ito ay gumagamit lamang ng mga positibong numero (hindi pinapayagan ang mga depisit) at mga halaga ay nakaimbak bilang apat na byte ng naka-pack na BCD (Binary Coded Decimal). Pinapayagan nito ang isang saklaw ng kredito mula 0 hanggang 99, 999, 999 (dalawang digit bawat byte). Ang halaga ng kredito at ang pandagdag ng 1 nito ay gumagamit lamang ng 8 sa 16 na mga byte sa isang solong bloke ng data at ang natitira ay naka-pad na may mga zero. Mayroong puwang sa parehong bloke ng data para sa backup na kopya ngunit napagpasyahan kong mas ligtas na ilagay ang backup sa isang hiwalay na bloke ng data. Ang backup block ay nasa parehong sektor bilang bloke ng data kaya hindi kinakailangan ang isang hiwalay na pagpapatotoo. Upang maging mas ligtas maaari mong isaalang-alang ang paglalagay ng backup sa isang iba't ibang sektor ng data ngunit kailangan ng isang hiwalay na hakbang sa pagpapatotoo upang ma-access ang data na iyon.
Kapag ang isang nabasa ay tapos na ng mga kredito ang kasamang halaga ay basahin din at pagkatapos ang dalawa ay inihambing laban sa bawat isa. Kung mayroong isang hindi pagtutugma, pagkatapos ay ang backup na hanay ng halaga / pagkumpleto ay nabasa at inihambing. Kung tumutugma sila pagkatapos ay ang backup ay ipinapalagay na wasto at ginagamit upang ayusin ang nasirang data. Kung ang mga backup na kopya ay hindi tumutugma sa gayon ang tag ay itinuturing na masama at isang pagtatangka ay ginawa upang muling simulan ito.
Ang mga halaga ng pagtaas at pagbawas ay tinukoy malapit sa harap ng listahan at inaasahang nasa naka-pack na BCD. Ang mga gawain na ginagawa ang pagdaragdag at pagbawas ay mabisang ginagawa ito sa isang 32-bit na numero. Ang matematika ay napaka-simple ngunit nangangailangan ng paggamit ng mga gawain upang ayusin ang mga resulta para sa pagdadala sa loob ng bawat naka-pack na BCD byte at mula sa isang byte hanggang sa susunod. Nakamit iyon sa pamamagitan ng paggamit ng macros DAA (Decimal Adjust Addition) at DAS (Decimal Adjust Subtraction). Tinitiyak ng mga macros na ang bawat 4-bit na BCD digit ay laging mananatili sa loob ng saklaw na 0-9.
Bilang karagdagan sa mga ipinapakitang mensahe sa nakaraang post, ang application na ito ay may mga mensahe para sa marami sa mga karagdagang hakbang - partikular kung mayroong mga error sa data at / o ang tag ay kailangang maayos o gawing una. Ang mga kredito ay ipinapakita din bago at pagkatapos ng isang hakbang na pagtaas / pagbawas upang makita mo ang mga pagbabago sa mga halaga.
Iyon lang para sa post na ito. Suriin ang aking iba pang mga proyekto sa electronics sa: www.boomerrules.wordpress.com
Inirerekumendang:
RFID Shielding isang Tyvek Wallet: 7 Hakbang
RFID Shielding isang Tyvek Wallet: Gumagamit ako ng ganitong uri (tatak) ng wallet nang halos 6 na taon. Nang nahanap ko ang partikular na pitaka na ito, nagpasya akong magdagdag ng ilang RFID shielding dito gamit ang Aluminium tape. Ang tape na ito ay ginagamit para sa pag-sealing ng mga duct ng pag-init dahil ito ay mas matibay kaysa sa base sa tela at q
IoT Wallet (smart Wallet With Firebeetle ESP32, Arduino IDE at Google Spreadsheet): 13 Mga Hakbang (na may Mga Larawan)
IoT Wallet (matalinong Wallet With Firebeetle ESP32, Arduino IDE at Google Spreadsheet): Unang gantimpala sa Instructables Pocket-Sized Contest!: Kung namuhunan ka ng ilang pera sa mga cryptocurrency, malamang na alam mo na ang mga ito ay lubos na pabagu-bago. Nagbabago sila magdamag at hindi mo alam ngayon ng maraming 'totoong' pera na mayroon ka pa sa iyong walle
Paggawa ng Aking Sariling Trezor Crypto Hardware Wallet: 5 Hakbang (na may Mga Larawan)
Paggawa ng Aking Sariling Trezor Crypto Hardware Wallet: Sa proyektong ito gumagawa ako ng sarili kong Trezor cryptocurrency hardware wallet, kumpleto sa enclosure. Posible ito dahil bukas ang mapagkukunan ng Trezor kaya ginamit ko ang mga file na ibinibigay nila sa kanilang github upang mabuo ang aking sariling aparato na mas mababa sa $ 40. Mayroong ilang
Altoids Tin Wallet: 4 Mga Hakbang
Altoids Tin Wallet: Ang maraming nalalaman na lata ng kendi ay maaari ding magamit bilang isang pitaka! Kung sakaling hindi mo pa natuklasan, ang mga karaniwang credit card at ID ay ganap na magkasya sa kagalang-galang na lata ng Altoids. Suriin ito! Napakadali nito, at bukod sa paglalaan ng oras upang kainin ang lahat
Magic Duct Tape Wallet sa Roids: 8 Hakbang
Magic Duct Tape Wallet sa Roids: Kumusta. Natuklasan ang site na ito kanina pa. Gumawa ako ng isang magic duct tape wallet halos isang linggo na ang nakakaraan salamat sa mahusay na itinuturo na duct tape magic wallet na ito. Nagustuhan ko ito ng marami, ngunit gusto ko pa ng ilang mga bagay kaya itinayo ko ang hayop na ito ng isang pader