Sadržaj:
Video: Elektronički novčanik: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
NAPOMENA: Sada imam instrukcije koje nude Arduino kôd za RC522 i PN532.
U svom prethodnom postu detaljno sam opisao osnove komunikacije s RFID modulima MFRC522 i PN532 za čitanje/pisanje podataka iz oznaka Mifare Classic 1k. U ovom postu idem korak dalje i pokazujem kako koristiti te module za stvaranje elektroničkog novčanika od oznaka. Kao i prethodni post, ovo je predstavljeno kao osnovna implementacija, ali bi trebalo pružiti osnovu za različite aplikacije koje zahtijevaju funkcije povećanja/umanjivanja ili zbrajanja.
Korak 1: Integritet podataka
Za elektronički novčanik uvijek postoji zabrinutost da bi netko mogao dodati kredite bez plaćanja. Postoji i zabrinutost da bi se krediti na oznaci mogli nenamjerno oštetiti tokom upisivanja podataka. Pristupi podacima zahtijevaju upotrebu ključa oznake, pa je potrebno promijeniti zadani ključ prilikom prve inicijalizacije oznake. Na internetu postoje članci koji govore o tome kako hakirati oznaku čak i ako ne znate ključ, ali tehnika nije trivijalna. Ne bih preporučio korištenje ovih oznaka za vaš bankovni račun, ali su dovoljno dobre za mnoge manje rizične aplikacije.
Vjerovatnoća oštećenja podataka je relativno mala, ali softver bi trebao biti sposoban barem riješiti osnovni slučaj. Ovaj proces uključuje dva koraka sa prvim korakom za jednostavno otkrivanje korupcije. U ovom projektu koji se rješava pohranjivanjem vrijednosti kredita, kao i dodatkom 1 vrijednosti kredita. To omogućava jednostavno poređenje vrednosti. Drugi korak je spremanje rezervne verzije vrijednosti kredita i njegove dopune. To omogućava operaciju oporavka ako se prvi skup kredita ošteti. Ako su oba seta oštećena, softver pokušava ponovo pokrenuti oznaku što rezultira gubitkom svih kredita.
Korak 2: Hardver
Hardverske veze prikazane su na gornjem dijagramu. Ovo je isto postavljanje kao i prethodni post s dodatkom dva prekidača i pull-up otpornikom. Za jedan prekidač nije potreban pull-up otpornik jer je na PIC ulazu sa ugrađenom slabom sposobnošću povlačenja. U praksi bi oba prekidača bila skrivena jer se koriste za dodavanje kredita i za inicijalizaciju oznake. Prekidač za inicijalizaciju nije obavezan (za ručno nuliranje kredita) jer softver može sam otkriti i pokrenuti novu oznaku. Igle za kratkospojnike mogu se koristiti umjesto prekidača.
Korak 3: Softver
Dodaci glavnoj petlji u softveru napravljeni su kako bi omogućili čitanje dva prekidača i otkrivanje stanja koje zahtijeva inicijalizaciju oznake. Kao što je spomenuto u odjeljku o hardveru, inicijalizacijom oznake možete ručno upravljati pomoću prekidača. Softver takođe može da naredi inicijalizaciju oznake u dva druga slučaja. Prvo, ako otkrije novu oznaku ili sektor podataka, i drugo, ako su oba skupa kreditnih podataka oštećena.
Za provjeru autentičnosti oznaka potrebna je upotreba “ključa A” za ciljni sektor podataka. Zadani ključ za oznake Mifare Classic 1k je “FF FF FF FF FF FF”, ali ga treba promijeniti za vašu aplikaciju. Softver nudi definicije i za zadani ključ i za novi ključ (“My_Key”). Samo uključite bilo koje vrijednosti koje želite u “My_Key”. Softver uvijek pokušava prvo provjeriti autentičnost oznake koristeći “My_Key”. Ako to ne uspije, tada se poziva rutina za inicijalizaciju oznake i zadani ključ se koristi za provjeru autentičnosti. Rutina inicijalizacije mijenja ključ u “My_Key” i postavlja bodove na nulu. Ako imate oznaku s ključem koji nije zadani, a ne znate o čemu se radi, tada se oznaka ne može provjeriti. Ako se to dogodi, možda ćete htjeti provjeriti druge sektore podataka koristeći zadani ključ da vidite je li dostupan. Blokovi prikolice, blok podataka i sigurnosna kopija definirani su na početku popisa softvera tako da ih možete lako promijeniti.
Format podataka pohranjenih u oznaci za ovu aplikaciju koristi samo pozitivne brojeve (nisu dopušteni deficiti), a vrijednosti su pohranjene kao četiri bajta upakovanog BCD -a (binarno kodirana decimalna vrijednost). To omogućava raspon kredita od 0 do 99, 999, 999 (dvije znamenke po bajtu). Vrijednost kredita i njegova dopuna 1 koriste samo 8 od 16 bajtova u jednom bloku podataka, a ostatak se nadopunjuje nulama. U istom bloku podataka ima mjesta za sigurnosnu kopiju, ali sam odlučio da bi bilo sigurnije sigurnosnu kopiju staviti u zaseban blok podataka. Rezervni blok je u istom sektoru kao i podatkovni blok, pa nije potrebna zasebna provjera autentičnosti. Da biste bili još sigurniji, razmislite o stavljanju sigurnosne kopije u drugi sektor podataka, ali tada bi za pristup tim podacima bio potreban zaseban korak provjere autentičnosti.
Nakon čitanja bodova, očitava se i dopunjena vrijednost, a zatim se međusobno uspoređuju. Ako postoji neslaganje, tada se čita i uspoređuje rezervni skup vrijednosti/komplementa. Ako se podudaraju, pretpostavlja se da je sigurnosna kopija ispravna i da se koristi za popravak oštećenih podataka. Ako se rezervne kopije ne podudaraju, oznaka se smatra lošom i pokušava se ponovno pokrenuti.
Vrijednosti prirasta i smanjenja definirane su blizu prednjeg dijela popisa i očekuje se da budu u pakiranom BCD -u. Rutine koje efikasno povećavaju i smanjuju to rade na 32-bitnom broju. Matematika je vrlo jednostavna, ali zahtijeva korištenje rutina za prilagođavanje rezultata za nošenja unutar svakog pakiranog BCD bajta i od jednog do drugog bajta. To se postiže upotrebom makroa DAA (Decimal Adjust Addition) i DAS (Decimal Adjust Subtraction). Ovi makroi osiguravaju da svaka 4-bitna BCD znamenka uvijek ostane u rasponu od 0-9.
Osim poruka za prikaz u prethodnom postu, ova aplikacija ima poruke za mnoge dodatne korake - posebno ako postoje greške u podacima i/ili oznaku treba popraviti ili inicijalizirati. Krediti se također prikazuju prije i nakon koraka povećanja/smanjenja, tako da možete vidjeti promjene vrijednosti.
To je to za ovaj post. Pogledajte i ostale moje elektroničke projekte na: www.boomerrules.wordpress.com
Preporučuje se:
4 do 20 MA Industrijski kalibrator procesa DIY - Elektronički instrumenti: 8 koraka (sa slikama)
4 do 20 MA Industrijski kalibrator procesa DIY | Elektronički instrumenti: Industrijski i elektronički instrumenti vrlo su skupo područje i nije lako naučiti o tome ako smo samoobrazovani ili smo hobisti. Zbog toga smo moja klasa instrumentacije u elektronici i ja dizajnirali ovaj niskobudžetni postupak od 4 do 20 mA
DIY Fitness Tracker pametni sat s oksimetrom i pulsom - Modularni elektronički moduli kompanije TinyCircuits - Najmanja arkada: 6 koraka
DIY Fitness Tracker pametni sat s oksimetrom i pulsom | Modularni elektronički moduli kompanije TinyCircuits | Najmanja arkada: Hej, šta ima, momci! Akarsh ovdje iz CETech -a. Danas imamo sa sobom neke od senzorskih modula koji su vrlo korisni u našem svakodnevnom životu, ali u njihovoj sićušnoj verziji. Senzori koje danas imamo su vrlo malih dimenzija u odnosu na tra
IoT novčanik (pametni novčanik sa Firebeetle ESP32, Arduino IDE i Google proračunskom tablicom): 13 koraka (sa slikama)
IoT novčanik (pametni novčanik s Firebeetle ESP32, Arduino IDE i Google proračunskom tablicom): Prva nagrada na Instructables Pocket-Sized Contest!: Ako ste uložili nešto novca u kriptovalute, vjerojatno već znate da su one vrlo nestabilne. Mijenjaju se preko noći i sada nikad ne znate koliko 'pravog' novca još imate u zidu
Altoids limeni novčanik: 4 koraka
Altoids limeni novčanik: Ovaj svestrani lim za slatkiše može se koristiti i kao novčanik! U slučaju da još niste otkrili, standardne kreditne kartice i osobne iskaznice savršeno se uklapaju u časni lim Altoids. Provjeri! Ovo je super jednostavno, i osim što ste odvojili vrijeme da pojedete sve
Novčanik sa čarobnom ljepljivom trakom na Roids: 8 koraka
Novčanik sa čarobnom ljepljivom trakom na Roids: Zdravo. Nedavno sam otkrio ovu web lokaciju. Napravio sam čarobni novčanik od ljepljive trake prije otprilike sedmicu zahvaljujući ovom sjajnom čarobnom novčaniku sa ljepljivom trakom. Mnogo mi se svidjelo, ali sam ipak htjela još par stvari pa sam napravila ovu zvijer od zida