맞춤검색

2004년 한국 최초의 RFID 시범사업이 시작되었다. 잘은 모르겠지만 미래의 신성장동력 사업으로 크게 주목을 받던 RFID였기 때문에 최초의 정부 시범사업이었으므로 너도 나도 이 사업에 대한 관심이 지대했다. 그중에서도 특히 주목을 받던 분야가 조달청에 적용하는 모델이었다. 처음에는 조달청의 물품 창고 관리를 대상으로 시작되었으나 자세한 이유는 잘 모르겠지만 중간에 자산 관리 쪽으로 내용이 바뀌었다. (들리는 소문으로는 ~카더라 라고 하는 출처 불분명한 여러가지 가설과 음모 같은 이야기가 떠돌기는 했었다...)

어찌되었든, 이 사업은 우리나라 RFID 사업의 진행에 있어서 큰 물줄기를 만드는 역할을 하게 된다. (그 내용이 긍정적이었는지 아니면 부정적이었는지는 사람마다 서로 다른 판단을 할 것이다.) 그 중에 두가지 중요한 내용은 다음과 같다.

1. 그당시 Metrics, Alien 으로 대표되던 Class0, Class1 기반의 EPCglobal 표준 중심의 UHF RFID 논의가 갑자기 ucode 기반의 Philipse 칩(ISO-18000 6B) 사용이 주요한 기술적 요소가 되어 버린다.

2. 일반적 물류 창고 관리 중심에서 논의되던 고정형 리더 보다는 PDA 기반의 이동형 리더의 필요성이 새롭게 부가된다.

좀더 부가적인 설명을 좀더 하자면, Philipse chip 사용의 필요성은 최소 메모리 사용으로 실제 데이터는 DB에서 온라인으로 읽어 들이겠다는 EPC 기반의 아키텍처와는 달리 RFID Chip 내에 데이터를 저장하여 오프라인 형태로 정보를 읽어 사용하겠다는 이른바 Walking Database 기능의 RFID를 사용하겠다는 주관자의 의지 때문이었다. 이로 인해 한국 RFID는 두가지 형태로 나뉘게 된다. 물류 중심의 EPC 기반(주로 산자부 시범사업들)과 ISO 기반(주로 정통부 시범사업들)으로 나뉘게 되고 시범사업을 주관하는 두 부처의 밥그릇 싸움과 맞물려 RFID 산업체의 줄서기는 어느 분야에 참여할 것인가에 따라 표준과 개발 기술이 달라지고 혼란이 일어나게 되었다. (물론, 이 부분에 대해서는 얼마든지 이유가 있었다. 하지만 어찌되었든 이러한 사업들은 RFID의 효용성을 보고 앞으로의 기술개발에 대한 발판을 마련한다는 사업이었다는 관점에서 보면, 이러한 선택으로 인해 시장에 혼란을 주었다는 것은 사실이다.) 결국, Walking Database 기능은 원하는 성능을 발휘하지 못했고 이후에는 ID만 저장하는 형태로 태그 스펙이 바뀌게 되었다. 반대로 긍정적인 면은 외산 업체들 중심으로만 진행되던 EPC 표준에 대항하여 국산 업체들은 ISO 기반으로 만들어진 사업으로 국산 장비를 개발하는 기회를 갖게 되었고 EPC Gen2 스펙이 완성되기까지 시간을 벌 수 있는 계기가 되었다는 것이다.

이동형 리더에 대한 요구사항은 RFID 산업을 준비하던 업체들의 허를 찌르는 것이었다. 이제 겨우 고정형 리더가 어떤것인가를 준비하던 업체들에게 갑자기 PDA형 이동형 리더가 요구되고 그에 따른 여러가지 기술적인 사항들, PDA에 탑재해서 동작이 가능할 만큼의 작은 리더 모듈이 있었어야 하고 전원 문제를 해결해야만 했다. 그것도 약 6개월의 짧은 사업 기간 내에 전세계에도 존재하지 않는 PDA형 리더를 제작하여 납품해야 했고, 혹시나 딴 나라에 있었다고 하더라도 국산 제품을 써야만 헀기 때문에 사용하지 못했을 것이다. 이 때 사업을 했던 업체들은 정말 많은 고생을 했으리라 생각한다. 결국은 정곡법(?)은 아니지만 해결하여 납품을 완료했고 이후에 정말 우리나라는 획기적인 이동형 리더 장비들의 개발이 이어지게 되었다. 결국은 PDA 형태의 이동형 UHF 리더의 기술개발은 우리나라가 주도를 했다고 하더라도 과언은 아닐 것 같다.

현재 사용되는 이동형 RFID 리더는 Windows CE 기반의 OS를 사용하고 있다. 따라서 이를 이용한 개발을 위해서는 일반적인 PDA용 S/W 개발을 기반으로 하면 된다. 여기서 잊지 말아야 할 것은 PDA는 PC의 경우와는 달리 모든 장비가 서로 호환되거나 동일한 구조와 환경을 갖지는 않는다는 점이다. PDA 제조사마다 서로 다른 방식을 제공한다는 점을 명심해야 한다. 자세한 것은 제조사에 문의해서 기술 지원을 받아야 하며 개발을 위해서는 매뉴얼과 함께 소스와 함께 구동이 가능한 샘플을 요청해야만 한다.

사용 언어는 PDA 개발에 일반적으로 자바로 개발하지는 않는다. (기본적으로 PDA에는 JVM이 탑재되어 있지 않는다. 이것이 필요하면 별도로 비용을 지불하고 사서 사용해야만 한다. 물론 PDA 제조사마다 이러한 환경이 다를 수는 있다.)
그렇다면 보통 C/C++ 기반으로 Native Code로 개발하거나 .NET 기반의 Managed Code로 개발하는 방안을 선택할 수 있다. VB 기반의 Native Code는 WinCE 3.0 버전 이전에는 embedded VB라는 이름으로 가능했지만 이후로는 모두 .NET 기반으로 통합되었다. 따라서 Native Code 로 개발하려면 오직 C/C++로만 개발이 가능하다. 하지만 Native Code는 CPU와 OS 버전에 따라 호환이 되지 않기 때문에 바이너리 코드만으로는 기종이 바뀌게 되면 문제가 될 수 있다. 따라서 최근에는 .NET 기반으로 개발이 많이 되고 있다.

PDA에서 .NET은 Compact Framework 이란 이름의 VM (Virtual Machine)을 사용하는데 이는 일반 PC에서 사용 가능한 버전의 Subset 기능을 제공한다. 따라서 PC에서는 사용이 가능한 기능이 PDA에서는 사용이 안되는 기능이 많기 때문에 이를 잘 확인하여 개발해야만 한다. 여러모로 .NET 기반으로 개발하는 것이 편리하다. 언어도 C#.NET 또는 VB.NET 이 모두 사용 가능하기 때문에 개발자가 익숙한 언어를 사용하기에도 좋다.

여기에서 한가지 생각하고 넘어가야 할 것이 있다. 바로 일반적인 PDA 개발 문제와 다른 점 하나가 바로 RFID 리더가 달려 있다는 것이다. 이것은 바코드 스캐너가 달려 있는 것과는 다르다.
무슨 말인고 하면, 바코드 스캐너의 경우는 바코드를 읽어서 텍스트로 표시가 되기때문에 이를 문자열로서 처리를 한다. 따라서 keyboard wedge 타입으로 마치 키보드로 입력한 것과 같이 일반 텍스트 표시창에 입력된 문자열을 표시하기 때문에 개발할 당시에는 바코드 스캐너는 별도의 기기로 인식하는 경우가 잘 없다. (이것도 모든 장비에 해당하는 것은 아니다. 일부 장비는 별도의 API를 직접 호출하여 바코드 스캐너를 제어하는 방식을 사용하기도 한다.)

하지만 RFID 리더가 달려 있는 경우는 보통은 PDA와 리더가 내부적으로 Serial 포트로 연결되어 서로 디바이스 통신을 하여 제어하여야 한다. 장비는 별도의 요구하는 포토토콜을 만족하여야만 동작이 가능하다. (특정 장비의 경우에는 File System으로 데이터를 처리하는 방식을 제공하는 것도 있었다.) 이러한 점 때문에 하드웨어 제조사는 개발 편의를 위해 API를 제공해야만 한다.
물론 이 API는 성능에 있어서는 제조사가 보장을 해야만 한다. 버그로 인해 프로그램이나 장비가 멈춘다거나 제대로 된 성능을 제공하지 않는다면 이 하드웨어 제조사는 자격이 없다.
그리고 또하나 고려할 것은 자신의 개발 언어가 무엇이냐에 따라 이에 적합한 언어의 API를 제공 받아야 한다. 대부분의 업체들은 C로 된 Native Code API만 제공하는 것이 일반적이다. 만일 이 경우 .NET 기반으로 개발한다고 하면 .NET Inter-Operability를 사용하여 Native Code 호출하거나(잘못 할 경우 심각한 버그를 양산할 수도 있고 제대로 사용하기까지 많은 시간을 허비할 수도 있다.) 자신이 프토토콜을 구현하여 API를 개발해야만 한다.

또하나 바코드와 RFID 리더가 다른 점 중에 하나는 당연한 것이지만 바코드 스캐너는 한번에 하나의 데이터를 읽는 반면에 RFID의 경우는 한꺼번에 여러개의 데이터가 입력될 수 있다는 것이다. 당연하지만 개발자가 가장 많이 착각하는 부분이기도 하다. 바코드 스캐너를 사용하는 사용자 화면은 하나의 데이터를 읽는 Text Box를 준비하고 있으면 충분하지만 RFID의 경우는 기본적으로 여러개의 데이터를 처리하는 List Box를 기반으로 UI를 꾸며야 한다. 그리고 이를 처리하는 데에 있어서 다양한 에러 처리 방식이 필요할 수도 있다는 점을 늘 명심해야 한다.

하지만 한편으로는 RFID 리더를 사용하지 못할 경우에는 바코드 스캐너를 이용하거나 수기로 입력하는 방안에 대해서도 함께 준비하고 있어야만 한다. 이를 위해서 Smart Label을 사용하는 방안, 코드 체계 등에 대한 고민이 함께 이루어져야 한다.

그리고 어떤 경우는 박스는 RFID, 개별 아이템은 바코드와 같은 형태로 RFID 리더와 바코드 스캐너를 동시에 사용해야 하는 경우도 운영상에서 발생할 수 있으므로 장비가 바코드 스캐너와 RFID 리더가 동시에 동작 가능한지도 미리 확인해야 한다.

하드웨어 적으로는 배터리 소모량이 너무 커서 방전이 너무 쉽게 발생한다든지, PDA와 리더의 충전을 별도로 해야 하는 불편함이 있다든지, 건 트리거 또는 버튼과 같이 하드웨어적인 장치로 RFID 리더 또는 바코드 스캐너를 동작시킬 수 있는 기능이 제공되는지도 확인해야 한다. (프로그램에서 버튼을 눌러 읽기 시작/중지 하는 방식은 너무 불편하여 실제 작업시에는 사용할 수가 없다.)

'기술 관심 > RFID' 카테고리의 다른 글

증강현실과 RFID  (0) 2008/07/24
RFID의 이해 (2006년 기준)  (0) 2008/07/23
PDA형 RFID 리더 개발 고려 사항  (0) 2008/07/21
RFID 의 진정한 의미  (0) 2008/07/17
RFID 스마트 선반  (0) 2008/07/11
RFID 포털 시스템  (0) 2008/07/08
Posted by 한재종 snowid

댓글을 달아 주세요