Sadržaj:
Video: Elektronički novčanik: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
NAPOMENA: Sada imam instruktore koji 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 s 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 netko može dodati kredite bez plaćanja za njih. Postoji i zabrinutost da bi se bodovi na oznaci mogli nenamjerno oštetiti tijekom upisivanja podataka. Pristupi podacima zahtijevaju upotrebu ključa oznake pa je potrebno promijeniti zadani ključ kada se oznaka prvi put inicijalizira. Na internetu postoje članci koji govore o tome kako hakirati oznaku čak i ako ne znate ključ, ali tehnika nije beznačajna. Ne bih preporučio korištenje ovih oznaka za vaš bankovni račun, ali dovoljno su dobre za puno manje rizičnih aplikacija.
Vjerojatnost oštećenja podataka relativno je mala, ali softver bi trebao biti sposoban barem riješiti osnovni slučaj. Ovaj proces uključuje dva koraka s prvim korakom za jednostavno otkrivanje korupcije. U ovom projektu koji se rješava spremanjem vrijednosti kredita, kao i dodatkom 1 vrijednosti kredita. To omogućuje jednostavnu usporedbu vrijednosti. Drugi korak je spremanje rezervne verzije kreditne vrijednosti i njenog komplementa. To omogućuje operaciju oporavka ako se prvi skup kredita ošteti. Ako su oba skupa oštećena, softver pokušava ponovno 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 koji ima slabu sposobnost 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. Umjesto sklopki mogle bi se koristiti kratkospojne iglice.
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đer može narediti 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 treba ga promijeniti za vašu aplikaciju. Softver nudi definicije i za zadani ključ i za novi ključ (“My_Key”). Samo u "My_Key" uključite sve vrijednosti koje želite. Softver uvijek pokušava prvo provjeriti autentičnost oznake pomoću “My_Key”. Ako to ne uspije, tada se poziva rutina za inicijalizaciju oznake, a zadani ključ koristi se 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 što je to, tada se oznaka ne može provjeriti. Ako se to dogodi, možda biste željeli provjeriti druge podatkovne sektore pomoću zadane tipke da vidite je li dostupna. 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 nedostaci), a vrijednosti se pohranjuju kao četiri bajta upakiranog BCD -a (binarno kodirana decimalna vrijednost). To omogućuje kreditni raspon od 0 do 99, 999, 999 (dvije znamenke po bajtu). Kreditna vrijednost i njezina 1 dopuna koriste samo 8 od 16 bajtova u jednom podatkovnom bloku, a ostatak se nadopunjuje nulama. U istom podatkovnom bloku ima mjesta za sigurnosnu kopiju, ali sam odlučio da bi bilo sigurnije sigurnosnu kopiju staviti u zasebni podatkovni blok. Rezervni blok nalazi se 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 podatkovni sektor, no tada bi za pristup tim podacima bio potreban zaseban korak provjere autentičnosti.
Kad se pročita bodova, čita 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 točna i da se koristi za popravak oštećenih podataka. Ako se sigurnosne 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 učinkovito povećavaju i umanjuju to čine na 32-bitnom broju. Matematika je vrlo jednostavna, ali zahtijeva korištenje rutina za prilagodbu rezultata za nošenja unutar svakog pakiranog BCD bajta i od jednog do drugog bajta. To se postiže upotrebom makronaredbi DAA (Decimal Adjust Addition) i DAS (Decimal Adjust Subtraction). Ovi makronaredbe 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 - osobito ako postoje pogreš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 ostale moje elektroničke projekte na: www.boomerrules.wordpress.com
Preporučeni:
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 osmislili ovaj niskobudžetni postupak od 4 do 20 mA
Pametni sat DIY Fitness Tracker s oksimetrom i pulsom - Modularni elektronički moduli tvrtke TinyCircuits - Najmanja arkada: 6 koraka
Pametni sat DIY Fitness Tracker s oksimetrom i otkucajima srca. Modularni elektronički moduli tvrtke TinyCircuits | Najmanja arkada: Hej, što ima, dečki! 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 vrlo su male veličine u usporedbi s tra
IoT novčanik (pametni novčanik s 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 natjecanju džepnih dimenzija Instructables!: 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
Limeni novčanik Altoids: 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. Provjerite! Ovo je super jednostavno, i osim što ste odvojili vrijeme da pojedete sve
Novčanik s čarobnom ljepljivom trakom na Roids: 8 koraka
Novčanik s čarobnom ljepljivom vrpcom na Roids: Pozdrav. Maloprije sam otkrio ovu stranicu. Napravio sam čarobni ljepljivi ljepljivi trak prije otprilike tjedan dana zahvaljujući ovom sjajnom čarobnom novčaniku s ljepljivom trakom. Mnogo mi se svidjelo, ali ipak sam htjela još par stvari pa sam sagradila ovu zvijer od zida