[Flutter] 카드 한 장을 여러 장처럼 쓰기 (with NFC)
이번 포스트에서는 NFC
기능을 활용하여 카드 한장을 여러장처럼 사용하는 방법에 대해서 알아볼 것이다.
개발 배경 및 목적
이직을 하고 본가로 올라오게 되면서 지하철을 타고 출퇴근을 하게 되었다. 회사 입구에서 출입 카드를 찍으며 출퇴근을 하던 도중에 문득 다음과 같은 생각이 들었다.
"회사 출입카드 한 장, 아파트 현관 출입카드 한 장, 두 장 다 들고 다니지 말고, 한 장만 들고 다닐 수는 없을까?" 👀
위의 생각을 시작으로, 출근길 주머니를 가볍게 하기위한 프로젝트를 시작했다.
일단, nfc 제품 중 uid 변경이 가능한 제품이 필요하다.
- 알리에서 구매 함..
앱 기획
MIFARE Classic Tool
라는 앱을 사용해서 앱의 uid를 변경을 할 수 있다.
하지만 앱의 특성상 여러 기능이 있고, 여기서 내가 원하는 기능인 uid 변경 기능을 가진 앱을 만들 것이다.
mifare_nfc_classic: ^0.2.2
위의 패키지에서 uid를 덮어쓰는 기능을 제공한다
🚫 uid를 형식에 맞지 않게 변경하면, nfc 제품이 다시는 인식되지 않으므로 주의가 필요
개발
아파트 현관 uid---(A)
, 회사 출입 uid---(B)
두 가지 스위치 기능을 할 수 있는 앱을 개발한다.
카드 UID 가져오기
/// 카드 UID 읽기
String _block = await MifareNfcClassic.readBlock(
blockIndex: 0, password: PASSWORD);
- 0번 째 블럭에서 nfc의 uid를 관리한다.
위의 함수로 먼저 필요한 A
와 B
의 uid를 저장한다.
UID 덮어쓰기
await MifareNfcClassic.writeRawHexToBlock(
blockIndex: 0,
message: WORK,
password: PASSWORD);
B
로 덮어쓰는 방법은 다음과 같다.
결과
Author And Source
이 문제에 관하여([Flutter] 카드 한 장을 여러 장처럼 쓰기 (with NFC)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@locked/Flutter-카드-한-장을-여러-장처럼-쓰기-with-NFC저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)