एनएफसी-नक्शा के लिए ऑपरेटिंग सिस्टम के लिए प्रवेश द्वार - कट्टर "यह अपने आप करते हैं"
यह अपने आप करो / / December 19, 2019
अब तक, लोकप्रिय डेस्कटॉप ऑपरेटिंग सिस्टम के उपयोगकर्ताओं के पासवर्ड को छोड़कर, ओएस प्रविष्टि में किसी भी अन्य संभावना नहीं था। यह सहना बहुत हो! यह समय एक टांका लोहा लेने और प्रमाणीकरण प्रक्रिया को करने के लिए उसे बिल्ली को पथपाकर के साथ सादगी में तुलनीय है।
आज श्रेणी DIY में, हम में झाँका साझा करेंगे Instructables जिस तरह से ओएस एनएफसी-कार्ड का उपयोग करने के लिए प्रवेश के लिए पासवर्ड दर्ज करने के लिए।
चरण 1: विवरण
हम की जरूरत है:
- Arduino लियोनार्डो
- Adafriut एनएफसी शील्ड
- एनएफसी कार्ड (Adafriut एनएफसी शील्ड के साथ पूरा आता है)
- तार का एक छोटा सा टुकड़ा
- एक तेज चाकू
- मिलाप
- काटने और अलग करना तारों के लिए उपकरण
- कंप्यूटर
- माइक्रो यूएसबी केबल
चरण 2: लोहा
एक हार्डवेयर मॉड्यूल बनाने के लिए प्रक्रिया बहुत सरल है।
केवल संशोधन डिवाइस के संचालन के लिए आवश्यक पिन और पिन आईआरक्यू 2 के बीच संबंध को तोड़ने के लिए है। इस आसान चाकू के लिए।
तो फिर तुम एक जम्पर तार के साथ आईआरक्यू और 6 पिन कनेक्ट करने के लिए की जरूरत है।
संपर्क के अभाव / उपस्थिति की जाँच करें, आप निर्माण प्रक्रिया और लियोनार्डो एनएफसी मॉड्यूल प्रस्ताव यहाँ इस छोटे से वीडियो की स्पष्ट समझ के लिए एक मल्टीमीटर उपयोग कर सकते हैं, और। सब कुछ कदम से और बहुत स्पष्ट रूप से कदम दिखाया गया है:
चरण 3: सॉफ्टवेयर
नीचे दिए गए कोड है कि Arduino को भरा जाना चाहिए है। डाउनलोड शुरू करने से पहले आपको लगता है कि Adafruit एनएफसी पुस्तकालय सुनिश्चित करने की आवश्यकता। इसके बारे में और अधिक पढ़ें यहां.
# शामिल
# शामिल
#define आईआरक्यू 6 // इस ट्रेस कटौती और rewired किया जाना चाहिए!
#define रीसेट 8
Adafruit_NFCShield_I2C एनएफसी (IRQ, रीसेट);
//////////////////////////////////// सेटअप
शून्य सेटअप () {
// 9600 bps पर सीरियल पुस्तकालय की स्थापना
Serial.begin (9600);
// Adafruit आरएफआईडी / एनएफसी ढाल पाते हैं
nfc.begin ();
uint32_t versiondata = nfc.getFirmwareVersion ();
if (! versiondata) {
Serial.print ( «PN53x बोर्ड नहीं मिला»);
जबकि (1); // पड़ाव
}
ठीक डेटा // गॉट, इसे प्रिंट!
Serial.print ( «मिले चिप PN5»); Serial.println ((versiondata >> 24) और 0xFF, हेक्स);
Serial.print ( «फर्मवेयर ver। «); Serial.print ((versiondata >> 16) और 0xFF, डीईसी);
Serial.print ( '।'); Serial.println ((versiondata >> 8) और 0xFF, डीईसी);
// कॉन्फ़िगर बोर्ड RFID टैग को पढ़ने के लिए
एनएफसी। SAMConfig ();
Keyboard.begin (); // कीबोर्ड आरंभ
}
/////////////////////////////////// लूप
अहस्ताक्षरित अंकों = 0;
शून्य पाश () {
uint8_t सफलता;
uint8_t uid [] = {0, 0, 0, 0, 0, 0, 0}; // बफर लौटे यूआईडी स्टोर करने के लिए
uint8_t uidLength; // यूआईडी की लंबाई (ISO14443A कार्ड के प्रकार पर निर्भर करता है 4 या 7 बाइट्स)
// आरएफआईडी कार्ड दिखाने के लिए इंतजार!
Serial.println ( «एक ISO14443A कार्ड के लिए प्रतीक्षा कर रहा है ...»);
// एक ISO14443A प्रकार कार्ड (Mifare, आदि) के लिए प्रतीक्षा करें। जब कोई मिलता है,
// 'यूआईडी' यूआईडी से भर जाएंगे, और uidLength इंगित करेंगे
// uid 4 बाइट (Mifare क्लासिक) या 7 बाइट्स है अगर (Mifare अल्ट्रालाइट)
सफलता = nfc.readPassiveTargetID (PN532_MIFARE_ISO14443A, यूआईडी, और uidLength);
uint32_t cardidentifier = 0;
अगर (सफलता) {
// एक कार्ड मिला!
Serial.print ( «कार्ड नहीं मिला #»);
// एक एकल चर # में क्लासिक एक mifare के चार बाइट यूआईडी बारी
cardidentifier = uid [3];
cardidentifier << = 8; cardidentifier | = uid [2];
cardidentifier << = 8; cardidentifier | = uid [1];
cardidentifier << = 8; cardidentifier | = uid [0];
Serial.println (cardidentifier);
अगर (cardidentifier == 606,061,173) {
Keyboard.write ( 'मीटर');
Keyboard.write ( 'वाई');
Keyboard.write ( 'पी');
Keyboard.write ( 'एक');
Keyboard.write ( 'एस');
Keyboard.write ( 'एस');
Keyboard.write ( 'w');
Keyboard.write ( 'ओ');
Keyboard.write ( 'आर');
Keyboard.write ( 'प');
देरी (5000); // यकीन है कि पासवर्ड बार-बार नहीं है बनाता है
}
}
}
एक बार कोड भरी हुई है, 9600 बॉड के लिए धारावाहिक की निगरानी सेट खोलें। एक दूसरा ट्रे पाठक और दूर करने के लिए एनएफसी कार्ड। पर नजर रखने के संदेश प्रदर्शित करना चाहिए «कार्ड #card संख्या का पता लगाया»। «Cardidentifier ==» लाइन में वर्तमान कार्ड नंबर की संख्या प्राप्त बदलें।
अब कोड की धारा है कि पासवर्ड के लिए जिम्मेदार है बदल जाते हैं। आप देख सकते हैं, डिफ़ॉल्ट पासवर्ड «mypassword» का एक संयोजन है। ऑपरेटिंग सिस्टम में हमारे वर्तमान पासवर्ड प्रविष्टि के लिए यह बदलें (पासवर्ड के वर्णों की संख्या बस जोड़कर बदल गया है / बाहर «Keyboard.write टीम के साथ लाइनों)।
Arduino में अंतिम कोड को पुनः प्रारंभ करने, और अब, बस जैसे ही हम एनएफसी-रीडर को यह कार्ड लाने के रूप में, पासवर्ड तुरंत इनपुट क्षेत्र में दर्ज किया जाएगा। दर्ज करें और आनन्दित मारो।
परियोजना के लिए टिप्पणियों में एक आदमी है जो आदेश इनपुट पासवर्ड अंतिम Keyboard.write (KEY_RETURN) की श्रृंखला के पूरक करने की पेशकश की पाया; समाप्त करने के लिए प्रेस की जरूरत दर्ज करें, लेकिन इस निर्णय सत्यापित नहीं किया गया।