Raspberry Pi NFC Հագուստի որոնիչ. 5 քայլ (նկարներով)
Raspberry Pi NFC Հագուստի որոնիչ. 5 քայլ (նկարներով)
Anonim
Raspberry Pi NFC Հագուստի հետքեր
Raspberry Pi NFC Հագուստի հետքեր

Եթե դուք ինձ նման եք, ապա հատակին ունեք մի փոքր կույտ հագուստ, որը կարող է կեղտոտ լինել կամ չլինել: Սա կարող է ներառել ջինսե տաբատ, զգեստի վերնաշապիկներ և հազիվ մաշված շորտեր: Այսպիսով, ինչպես կարող եք ասել, թե որ հագուստն է մաքուր կամ կեղտոտ: Ես գտա մի տարբերակ, որը կարող էր հետևել հագուստի տարբեր հոդվածներին ՝ օգտագործելով NFC և Raspberry Pi: Դուք պարզապես NFC քարտը մտցնում եք գրպանը, այնուհետև սկանավորում այն, ինչը բերում է հագուստի այդ իրի մասին տեղեկություններ և այն փոխելու ունակություն:

Քայլ 1: Բաղադրիչների հավաքում

Բաղադրիչների հավաքում
Բաղադրիչների հավաքում
Բաղադրիչների հավաքում
Բաղադրիչների հավաքում
Բաղադրիչների հավաքում
Բաղադրիչների հավաքում
Բաղադրիչների հավաքում
Բաղադրիչների հավաքում

DFRobot- ը օգնեց ինձ այս նախագիծը հովանավորելու համար, ուստի նրանք ուղարկեցին Raspberry Pi 3 և PN532 NFC մոդուլ ՝ 5 NFC քարտի հետ միասին: NFC մոդուլն օգտագործում է UART- ը ՝ հաղորդավար սարքի հետ հաղորդակցվելու համար, այնպես որ ես սկզբում փորձեցի օգտագործել Raspberry Pi- ն, բայց բախվեցի մի քանի խնդիրների: Գրադարանները բարդ էին և դժվար փոխազդեցության Python- ի հետ, ուստի ես նախընտրեցի օգտագործել Arduino Mega- ն NFC մոդուլի հետ հաղորդակցվելու համար: Arduino Mega- ն անհրաժեշտ էր, քանի որ այն տևում է երկու UART նավահանգիստ ՝ մեկը NFC մոդուլի համար և մեկը ՝ տեղեկատվություն դուրս բերելու համար:

Քայլ 2: Pi- ի կարգավորում

Pi- ի կարգավորում
Pi- ի կարգավորում

Գնացի Raspberry Pi Ներլցումների էջ և ներբեռնեցի Raspbian- ի վերջին տարբերակը: Այնուհետև ես հանեցի ֆայլը և դրեցի այն հարմար գրացուցակում: Դուք չեք կարող պարզապես պատճենել/տեղադրել.img ֆայլը SD քարտի վրա, այլ պետք է «այրել» այն քարտի վրա: ՕՀ -ի պատկերը հեշտությամբ փոխանցելու համար կարող եք ներբեռնել Etcher.io- ի նման այրվող օգտակար ծրագիր:. Img ֆայլը իմ SD քարտի վրա լինելուց հետո այն տեղադրեցի Raspberry Pi- ի մեջ և ուժ տվեցի: Մոտ 50 վայրկյան հետո ես անջատեցի լարը և հանեցի SD քարտը: Հաջորդը ես նորից տեղադրեցի SD քարտը իմ համակարգչի մեջ և գնացի «boot» գրացուցակին: Ես բացեցի Գրառման գրքույկը և այն պահեցի որպես «ssh» անունով դատարկ ֆայլ ՝ առանց ընդլայնման: Նաև կար մի ֆայլ, որը ես ավելացրել էի «wpa_supplicant.conf» անունով և դրել այս տեքստը դրա մեջ. SSH- ի օգտագործումը և WiFi- ին միանալը:

Քայլ 3: Լարերի տեղադրում

Հաղորդալարեր
Հաղորդալարեր

Դրա համար էլեկտրագծերը բավականին պարզ են: Ես Rx կապը միացրեցի Mega- ի Tx1- ին, իսկ Tx կապը ՝ Mega- ի Rx1 կապին: 5v- ը անցնում է 5v- ին, իսկ GND- ը `GND- ին: Նաև Arduino Mega- ն միացրեցի Raspberry Pi 3 -ին փոքր USB մալուխի միջոցով:

Քայլ 4: Programրագրավորում

Երկու ֆայլ կա ՝ մեկը Arduino Mega- ի համար, և մեկը Raspberry Pi- ի համար: Arduino Mega- ն նախ ձեռքսեղմման խնդրանք է ուղարկում մոդուլին, այնուհետ սպասում է պատասխանի: Երբ պատասխանը տրվի, Mega- ն սկսում է հարցում կատարել սարքի վրա ՝ տեսնելու, թե արդյոք քարտեր են սկանավորվել: Եթե այո, ապա քարտի ID- ն կարդացվում է: Pi- ին հակիրճ տեղեկատվություն ուղարկելու համար ես օգտագործեցի pseudo-checksum ալգորիթմ ՝ հինգ բայթերը մեկ թվի մեջ միավորելու համար: Առաջին չորս բայթերը գումարվում են մեկ անգամ, իսկ վերջին բայթը `երկու անգամ: Կա նաև զանգված, որը պարունակում է յուրաքանչյուր քարտի համարները: Երբ քարտը սկանավորվում է, նրա ստուգման գումարը համեմատվում է զանգվածում եղածների հետ, այնուհետև համընկնում է: Ի վերջո, այդ տվյալները սերիայի միջոցով ուղարկվում են Raspberry Pi- ին ՝ հետագա մշակման համար:

Raspberry Pi- ն սպասում է նոր սերիական տեղեկատվության, այնուհետև տպում է այն: Կոդի սկզբում ստեղծվում է բառարան, որը սահմանում է, թե ինչպես է հագուստի յուրաքանչյուր տարր համապատասխանում քարտին: Յուրաքանչյուրն ունի անուն, քարտի համար, գույն և կարգավիճակ (մաքուր կամ կեղտոտ): Հագուստի տարրը սկանավորելուց հետո կարգավիճակը փոխելու տարբերակ կա:

Քայլ 5: Սարքի օգտագործումը

Image
Image

Ես սկսեցի քարտեր մտցնել հագուստիս գրպանները և ստուգել նրանց անձը հաստատող փաստաթուղթը ՝ տեղեկությունները գրանցելով բառարանում: Եթե ես ուզում եմ տեսնել, արդյոք դրանք մաքուր են կամ կեղտոտ, ես դրանք պարզապես պահում եմ RFID ընթերցողի մոտ, որն այնուհետև ցուցադրում է տեղեկատվությունը SSH- ի միջոցով:

Խորհուրդ ենք տալիս: