HJSoft

안드로이드 RFID 리더기 개발기AT907 · NR-72R 실무 적용 후기 및 개발 포인트 정리

HJSoft 맞춤형솔루션 2026. 1. 3. 13:10

1. 왜 RFID 안드로이드 단말이었나

물류·재고·회수 시스템을 개발하다 보면

바코드만으로는 한계가 분명히 드러납니다.

  • 다량 동시 인식
  • 비가시 영역 태그 인식
  • 반복 작업 속도

이 지점에서 UHF RFID + 안드로이드 단말 조합이 현실적인 대안이었습니다.

이번 프로젝트에서는 AT907, NR-72R 두 기종을 실제로 사용하며 개발을 진행했습니다.


2. 장비 개요 – AT907 vs NR-72R

구분
AT907
NR-72R
OS
Android
Android
RFID
UHF
UHF
입력 방식
터치 + 트리거
터치 + 트리거
SDK
Java 기반
Java / Xamarin
특징
안정적, 보급형
화면 작음, 반응 빠름

공통점은 전용 SDK 기반 개발 필수라는 점입니다.

일반 카메라/센서 접근과는 전혀 다릅니다.


3. 개발 환경 구성

  • Android Studio
  • Java (일부 Xamarin 예제 포함)
  • 제조사 제공 SDK
  • 실제 단말 디버깅 (에뮬레이터 불가)

핵심 포인트는 이 부분입니다.

RFID는 에뮬레이터에서 테스트가 거의 불가능

→ 반드시 실기기 디버깅 필요


4. 가장 많이 막혔던 부분 – 트리거 버튼

RFID 권총형 단말에서 가장 중요한 UX는

손잡이 트리거(방아쇠) 입니다.

문제 상황

  • 버튼을 눌러도 아무 반응 없음
  • SDK 함수는 정상인데 스캔이 안 됨

원인

[ 트리거는 일반 버튼이 아니라 KeyEvent로 들어옴 ]

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode == 293) { // 장비별 트리거 키코드

startInventory();

return true;

}

return super.onKeyDown(keyCode, event);

}

  • 기종마다 KeyCode가 다름
  • 반드시 Logcat으로 실제 값 확인 필요

이 부분을 모르면

“SDK가 안 된다”라고 오해하기 딱 좋습니다.


5. RFID 인식 로직 구조

실무에서 사용한 기본 흐름은 다음과 같습니다.

트리거 입력 → Inventory Start → EPC 수신 → 중복 제거 → 리스트 반영 → 서버 전송

주의할 점

  • EPC는 초당 수십 개씩 들어옴
  • UI Thread 직접 갱신 ❌
  • Queue / Handler 사용 권장

6. 화면 해상도 문제 (NR-72R)

NR-72R은 화면이 작고 비율이 특이합니다.

  • 디자이너 시안 그대로 적용 ❌
  • Immersive Mode 필수
  • 버튼 크기 과감하게 키워야 함

getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION );


7. MAUI / Xamarin / Native 고민

  • MAUI → RFID SDK 연동 난이도 높음
  • Xamarin → SDK 예제 존재, 비교적 수월
  • Native Java → 가장 안정적

결론:

RFID는 아직 Native Android가 정답에 가깝다


8. 실제 적용 사례

  • 도서/컵 회수 시스템
  • 물류 입·출고 검증
  • 재고 실사 자동화
  • 반복 스캔 기반 현장 작업

RFID 도입 후 가장 크게 바뀐 점은 단 하나입니다.

사람이 “확인”하던 일을 시스템이 “보증”한다


RFID 개발을 고민한다면

RFID 안드로이드 개발은 결코 “앱 하나 만드는 수준”이 아닙니다.

  • 하드웨어 이해
  • SDK 구조 파악
  • 실기기 테스트
  • 현장 UX 고려

이 네 가지가 함께 가지 않으면 실서비스로 이어지기 어렵습니다.