KR100919273B1 - 모바일 알에프아이디 미들웨어 시스템 및 운용 방법 - Google Patents
모바일 알에프아이디 미들웨어 시스템 및 운용 방법Info
- Publication number
- KR100919273B1 KR100919273B1 KR1020070043817A KR20070043817A KR100919273B1 KR 100919273 B1 KR100919273 B1 KR 100919273B1 KR 1020070043817 A KR1020070043817 A KR 1020070043817A KR 20070043817 A KR20070043817 A KR 20070043817A KR 100919273 B1 KR100919273 B1 KR 100919273B1
- Authority
- KR
- South Korea
- Prior art keywords
- rfid
- middleware
- command
- tag
- read
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/381—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using identifiers, e.g. barcodes, RFIDs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은 모바일 RFID 미들웨어 시스템 및 운용 방법에 관한 것으로, RFID 태그 데이터를 읽어들이는 RFID 리더부, 상기 RFID 리더부로부터 읽어들이는 태그 데이터를 수집하고 정제하는 RFID 미들웨어 상단부, 상기 RFID 리더부와 통신프로토콜을 정의하고 상기 RFID 리더부와 상기 RFID 상단부를 매개하는 RFID 미들웨어 하단부, 상기 태그 데이터를 이용하여 태그 이벤트를 처리하는 응용 프로그램부, 및 상기 RFID 상단부와 상기 RFID 하단부와 응용 프로그램부를 연동시켜서 리더 제어, 큐제어, 필터 제어, 시리얼 포트 제어 및 통신 프로토콜 제어를 수행하는 어플리케이션 프로그램 인터페이스부를 포함하며, 모바일 환경에 최적화된 모바일 RFID 미들웨어 시스템과 운용을 상단부분과 하단부분으로 나누어 처리 부하를 최소화하며, 태그 이벤트를 신속하고 효율적으로 응용 시스템에 전달하는 효과가 있다.
Description
본 발명은 모바일 RFID 미들웨어 시스템 및 운용 방법에 관한 것으로, 보다 상세하게는 태그데이터가 리더로부터 실시간 처리되는 태그 이벤트를 운용시스템에 전달하도록 모바일 환경에 최적화된 모바일 RFID 미들웨어 시스템 및 운용 방법에 관한 것이다.
RFID(Radio Frequency Identification)는 마이크로 칩을 내장한 태그에 저장된 데이터를 무선주파수를 이용하여 리더에서 비접촉식으로 자동으로 인식하는 기술을 말한다. 필요한 모든 것에 RFID 태그를 부착하고 이를 통하여 기본적인 사물의 인식정보 뿐만 아니라 주변의 상황정보, 환경정보까지도 인식가능하다.
RFID 시스템은 RFID 태그와 리더, 리더를 지원하는 호스트로 구성된다.
RFID 태그는 메모리와 안테나를 포함하고 있으며, 메모리에 저장된 정보를 RFID 리더로 전송하는 기능을 수행한다.
RFID 태그는 크기와 모양이 다양하며, 전원공급 유무에 따라 수동형 태그와 능동형 태그로 분류되며 사용하는 주파수 대역에 따라 저주파(125KHz, 134KHz), 고주파(13.56MHz), 극초단파(433.92MHz,860∼960MHz), 마이크로파(2.45GHz)등으로 분류된다.
현재까지 RFID와 관련된 연구 개발은 주로 사물에 부착하기 위한 태그와 이를 무선통신 기술을 통해 자동으로 인식하기 위한 리더등 하드웨어 중심으로 진행되어 왔다.
최근 연구에 의하면 기존 시스템과 RFID 기술 간의 통합을 지원하기 위해 태그 데이터의 수집, 정제 및 관리 등을 수행하는 미들웨어에 대한 관심이 증가하고 있다.
즉, 다양한 RFID 디바이스와 응용시스템간의 유연한 연결을 지원하고, 대량의 태그 데이터가 리더로부터 실시간 인식되는 환경에서 데이터를 수집하고 처리하는 부하를 최소화하며, 빠르고 효율적으로 태그 이벤트를 응용시스템에 전달하는 기능을 수행하는 새로운 형태의 RFID 미들웨어가 요구되고 있다.
본 발명은 상기와 같은 문제점을 해결하고자 안출된 것으로, RFID 태그데이터가 리더로부터 실시간 처리되는 태그 이벤트를 운용시스템에 전달하도록 모바일 환경에 최적화된 모바일 RFID 미들웨어 시스템 및 운용 방법을 제공하기 위한 것이다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 모바일 RFID 미들웨어 시스템은 RFID 태그 데이터를 읽어들이는 RFID 리더부, 상기 RFID 리더부로부터 읽어들이는 태그 데이터를 수집하고 정제하는 RFID 미들웨어 상단부, 상기 RFID 리더부와 통신프로토콜을 정의하고 상기 RFID 리더부와 상기 RFID 상단부를 매개하는 RFID 미들웨어 하단부, 상기 태그 데이터를 이용하여 태그 이벤트를 처리하는 응용 프로그램부, 및 상기 RFID 상단부와 상기 RFID 하단부와 응용 프로그램부를 연동시켜서 리더 제어, 큐제어, 필터 제어, 시리얼 포트 제어 및 통신 프로토콜 제어를 수행하는 어플리케이션 프로그램 인터페이스부를 포함한다.
또한, 본 발명에 따른 모바일 RFID 미들웨어 시스템에 있어서, 상기 RFID 미들웨어 상단부는, RFID 리더부를 제어하고 상태감시 기능을 제공하는 리더 제어부, RFID 태그 ID를 읽고 인식된 결과를 큐에 저장하며, RFID 리더의 동작 결과에 따라 이벤트를 발생하여 RFID 태그를 제어하는 태그 제어부, 상기 RFID 리더부로부터 읽어 들인 데이터를 저장하고 제공하는 큐 제어부, 및 RFID 리더부에서 읽어온 데이터를 제거하거나 걸러내는 필터 제어부를 포함하는 것을 특징으로 하는 것이다.
또한, 본 발명에 따른 모바일 RFID 미들웨어 시스템에 있어서, 상기 RFID 미들웨어 하단부는, 상기 RFID 리더부와 사용자 단말 사이의 시리얼 통신을 처리하고 제어하는 시리얼 포트 제어부, 및 상기 RFID 리더부와 사용자 단말 사이의 통신 프로토콜을 관리하는 통신 프로토콜 관리부를 포함하는 것을 특징으로 하는 것이다.
또한, 본 발명에 따른 모바일 RFID 미들웨어 시스템에 있어서, 상기 통신 프로토콜에서 사용되는 프레임은, 프레임의 전송 시작, 수행할 커맨드, 데이터 길이, 커맨드별 데이터, 프레임의 전송 끝, 프레임 체크 시퀀스 필드를 구비하는 태그 프레임, RFID 리더부에서 명령 수행 후 ACK를 전송하여 명령 수행 사실을 알리는 ACK 프레임, 잘못된 명령의 수행 또는 수행 중 오류 발생시 전송되는 NAK 프레임, 및 RFID 리더부 내에서 업데이트하는 경우 사용자 단말에서 RFID 리더부로 전송되는 펌웨어 데이터를 포함하는 것을 특징으로 하는 것이다.
한편, 본 발명에 따른 모바일 RFID 미들웨어 운용 방법은, (a) 응용 프로그램부에서 파일을 임포트하는 단계, (b) 어플리케이션 인터페이스를 통해 RFID 미들웨어 상단부에 명령을 전달하여 RFID 미들웨어 상단부와 RFID 미들웨어 하단부를 연결하는 단계, (c) RFID 미들웨어 상단부에서 RFID 미들웨어 하단부에 콜백 함수를 등록하는 단계, (d) RFID 미들웨어 상단부에서 컴포트를 오픈하고 RFID 미들웨어 하단부는 RFID 리더부에 데이터를 받을 수 있는 상태로 컴포트를 연결 설정하는 단계, (e) 응용 프로그램부에서 RFID 미들웨어 상단부로 READ 명령을 내리면 RFID 미들웨어는 READ 명령을 RFID 리더부로 보내어 태그를 판독하는 단계, (f) READ 작업이 끝나면 콜백함수를 통하여 READ 완료 이벤트를 보내는 단계, (g) READ 완료 이벤트를 받고 버퍼에서 RFID 태그값을 인식하는 단계, 및 (h) 응용 프로그램 인터페이스에서 상기 인식된 태그값을 이용하여 태그 이벤트를 처리하는 단계를 포함한다.
또한, 본 발명에 따른 모바일 RFID 미들웨어 운용 방법에 있어서, 상기 (d) 단계는, 응용 프로그램부에서 RM_Open( ) 명령을 내리면 어플리케이션 프로그램 인터페이스는 미들웨어 상단부에 명령어를 전달하고 컴포트를 오픈(Open_Comport( ))하고 컴포트를 설정(Config_Comport( ))하는 단계, 및 미들웨어 하단부는 시리얼 포트 핸들을 생성하고 ReadComport 스레드를 생성하고 포트 전송속도를 설정하여 리더부와 연결하는 단계를 포함하는 것을 특징으로 하는 것이다.
또한, 본 발명에 따른 모바일 RFID 미들웨어 운용 방법에 있어서, 상기 (e) 단계는, 응용 프로그램에서 Read( ) 명령을 내리면 어플리케이션 프로그램 인터페이스에서는 Read( ) 명령어를 전달하는 단계, 미들웨어 상단부에서 RFID 리더부의 상태체크를 하는 단계, 미들웨어 하단부에서 명령어 인덱스와 프레임 빌더를 이용하여 시리얼 포트에 기록하는 단계, 및 RFID 리더부는 미들웨어와의 통신프로토콜 중에 ACK를 보내어 응용프로그램부에 결과를 전송하는 단계를 포함하는 것을 특징으로 하는 것이다.
또한, 본 발명에 따른 모바일 RFID 미들웨어 운용 방법에 있어서, 상기 (e) 단계는, RFID 제어부는 Read( ) 명령을 수행한 결과를 미들웨어의 하단부로 보내는 단계, 프레임 빌더에서 패킷으로 만들고 미들웨어 상단부로 전송하는 단계, 미들웨어 상단부에서 패킷분석을 하여 읽어들인 데이터임을 인식하여 버퍼에 저장하는 단계, 및 이벤트 빌더를 이용하여 응용 어플리케이션 인터페이스를 거쳐 응용 프로그램부에 콜백으로 전송하는 단계를 포함하는 것을 특징으로 하는 것이다.
또한, 본 발명에 따른 모바일 RFID 미들웨어 운용 방법에 있어서, 상기 (e) 단계에서, ReadFile( )후 읽혀진 데이터가 없으면 다시 읽어들이는 단계, 읽혀진 파일이 있으면 패킷 빌더를 이용하여 하나의 프레임을 완성하는 단계, 미들웨어 상단부에서 콜백을 호출하고 컴포트 리드 포인터를 변경하는 단계, 및 하나의 프레임이 완성되지 않은 경우 다시 ReadFile( ) 을 수행하는 단계를 포함하는 것을 특징으로 하는 것이다.
또한, 본 발명에 따른 모바일 RFID 미들웨어 운용 방법에 있어서, 응용 프로그램부에서 Write 명령을 내리면 미들웨어 상단부에서 리더부 상태 체크를 하는 단계, 미들웨어 하단부에서 명령어 인덱스와 프레임빌더를 이용하여 시리얼 포트에 기록하는 단계, 및 RFID 리더부는 받은 데이터를 태그에 기록하고 결과를 미들웨어로 전송하는 단계를 포함하는 것을 특징으로 하는 것이다.
이하, 본 발명에 대하여 첨부된 도면을 참조하여 도면에 도시된 실시예에 대하여 더욱 상세히 설명한다.
도1은 본 발명의 일실시예에 따른 모바일 RFID 미들웨어의 개략적인 구성도이다.
도1을 참조하면, 상기 RFID 미들웨어는 RFID 미들웨어 상단부(220)와 RFID 미들웨어 하단부(230)로 구성되고 있다.
모바일 RFID 미들웨어의 상단부(220)는 리더 제어, 태그 제어, 큐 제어, 필터 제어의 필수 어플리케이션 프로그램 인터페이스(API : Application Program Interface, 212)를 중심으로 태그 데이터를 수집하고 정제하여, 이를 의미 있는 정보로 요약하여 응용 프로그램에 전달하는 역할을 수행하며 미들웨어 하단부(230)와의 연결고리 역할을 한다.
여기에서, 상기 RFID 미들웨어 상단부(220)는, RFID 리더부(240)를 제어하고 상태감시 기능을 제공하는 리더 제어부(221), RFID 태그 ID를 읽고 인식된 결과를 큐에 저장하며, RFID 리더부(240)의 동작 결과에 따라 이벤트를 발생하여 RFID 태그를 제어하는 태그 제어부(222), 상기 RFID 리더부(240)로부터 읽어 들인 데이터를 저장하고 제공하는 큐 제어부(223), 및 RFID 리더부(240)에서 읽어온 데이터를 제거하거나 걸러내는 필터 제어부(224)를 포함하고 있다.
또한, 미들웨어의 하단부(230)은 RFID 리더의 디바이스 드라이버 역할을 하며 리더부(240)와의 통신프로토콜을 관리하고 리더부(240)와 미들웨어 상단부(220)와 매개한다.
이와 같이 미들웨어를 상단부(220)와 하단부(230)로 두계층화 한 것은 다양한 종류의 RFID 리더부(240)들을 미들웨어의 하단부(230)만 변경하여 쉽게 효과적으로 지원해주기 위한 것이다.
상기 RFID 미들웨어 하단부(230)는, 상기 RFID 리더부(240)와 사용자 단말(200) 사이의 시리얼 통신을 처리하고 제어하는 시리얼 포트 제어부(231), 및 상기 RFID 리더부(240)와 사용자 단말(200) 사이의 통신 프로토콜을 관리하는 통신 프로토콜 관리부(232)를 포함하고 있다.
미들웨어 상단부(220)는 리더 제어, 태그 제어, 큐 제어, 필터 관리를 담당한다.
여기에서, 리더 제어는 RFID 리더를 제어하고 상태감시 기능을 제공한다. 아래의 <표 1>와 같이 RFID 리더의 전원을 관리하고 지역에 따른 가용 주파수를 설정하며 태그를 인식하는 과정에서의 상태들을 알려주는 명령어를 포함한다.
<표 1> 리더 제어
명령어 | 설 명 |
RM_Power() | RFID 리더의 전원 ON/OFF |
RM_Open() | 리더가 수행될 상태를 만들어줌 |
RM_Close() | RFID 리더와의 통신채널 닫음 |
RM_Reset() | RFID 리더내의 레지스터값 초기화 |
RM_SetArea() | RFID 리더에 설정된 지역값 설정 |
RM_GetArea() | RFID 리더에 설정된 지역값 얻음 |
RM_GetRF-Strength() | RFID에 설정된 송출전력대비 백분율값 얻음 |
RM_IsOpen() | RFID 리더의 오픈상태여부 얻음 |
RM_IsBusy() | RFID 리더가 태그제어명령을 수행하는지 여부파악 |
RM_SetRead-Cycle() | 설정된 태그 읽기 수행 횟수 얻음 |
RM_SetRead-DelayTime() | 태그를 읽고 다음 태그를 읽기까지의 대기시간 설정 |
RM_GetRead-DelayTime() | 태그를 읽고 다음 태그를 읽기까지의 대기시간 얻어옴 |
RM_Reader-Status() | RFID 리더의 상태와 기본정보 반환 |
또한, 태그 제어는 RFID 태그를 제어하기 위한 기능을 제공하는 것으로서 태그 ID를 읽고 인식된 결과를 큐에 저장하며, RFID 리더의 동작 결과에 따라 이벤트를 발생시킨다. 또한 현재 수행중인 태그 데이터 읽기 동작을 제어하거나 태그를 더 이상 사용하지 않게 설정할 수 있는 명령어를 포함한다.
<표 2> 태그 제어 명령어
명령어 | 설명 |
RM_Read-TID() | 태그ID 읽은 후 리더 동작 결과에 따라 이벤트 발생 |
RM_Stop-Read() | 태그 데이터 읽기 동작 중지 |
RM_Read-UserData() | 태그의 사용자 메모리에 있는 데이터 읽은 후 이벤트 발생 |
RM_Kill-RFTag() | 태그가 사용되지 않도록 설정 |
RM_Lock-Type() | 태그내의 특정 메모리 블록에 데이터를 쓰거나 읽기 수행 할 수 없게 설정함 |
또한, 큐 제어는 RFID 리더가 읽어온 RFID 태그 ID를 큐에 삽입하고 응용프로그램부에서 요청시 이를 제공하는 기능을 하는 것이다. 큐를 생성하고 삭제하는 기능과 큐에 저장된 데이터를 저장하고 삭제하며, 큐에 유효하지 않은 데이터를 삭제하는 등의 명령어로 큐를 효과적으로 관리할 수 있게 해준다.
그리고, 필터 제어는 RFID 리더가 읽어온 RFID 태그 ID 중 RFID 응용 프로그램에서 불필요한 데이터를 제거하거나 필요한 데이터만 걸러내는 기능을 하는 명령어를 포함한다.
<표 3> 큐 제어 명령어
명령어 | 설명 |
RM_CreateQueue() | 태그정보를 저장하는 큐 생성 |
RM_DestroyQueue() | 태그 정보를 저장하는 큐 삭제 |
RM_ReadQueue() | 큐에 저장된 데이터 읽음 |
RM_WriteQueue() | 큐에 데이터 저장 |
RM_DeleteQueue() | 큐의 한 개 데이터 삭제 |
RM_ClearQueue() | 큐의 모든 데이터 삭제 |
RM_GetNumQueue() | 저장되어 있는 데이터의 개수를 얻음 |
RM_GetMaxQueue() | 큐에 저장 가능한 최대 데이터의 개수 얻음 |
RM_SortQueue() | 큐에 저장된 데이터 정렬 |
RM_ValidateQueue() | 큐에 저장된 데이터 중 유효하지 않은 데이터 삭제 |
<표 4> 필터 관리 명령어
명령어 | 설명 |
RM_AddFilter() | 태그의 정보를 큐에 저장하는 과정에서 필터링하여 저장하도록 필터 추가 |
RM_DeleteFilter() | 필터 삭제 |
RM_EnableFilter() | 필터 동작하도록 설정 |
RM_DisableFilter() | 필터 동작 못하도록 설정 |
도1를 참조하면, 본원발명의 미들웨어에서는 RFID리더부(240)와 모바일 단말이 통신하기 위해서는 시리얼 통신을 이용한다.
미들웨어 하단부(230)의 시리얼 포트 제어부(231)에 따라 동작과정을 살펴보면 아래와 같다.
첫째, RML_OpenComport()를 이용하여 포트를 오픈한다. 대부분의 PDA 포트는 COM 1을 사용한다. 둘째, 포트오픈 후 포트설정(RML_ConfigComport())을 해주는데 포트의 전송속도, 데이터 비트수, 패리티 비트, 스톱비트 수를 설정한다. 설정을 마치면 PDA와 RFID 리더가 통신할 준비를 갖추게 되며 셋째, RFID 리더에서 읽어 들인 태그 ID값을 RML_ReadTID()를 통해 PDA에서 읽어온다. 넷째, 통신프로토콜에 의해 통신을 하고 통신이 종료되면 RML_CloseComport()로 포트를 닫아주면 통신이 종료된다. 여기에서, '컴포트(Comport)'는 시리얼 포트의 하드웨어 인터페이스를 지칭하는 명칭이다.
또한, RFID 미들웨어의 하단부(230)의 통신 프로토콜 관리부(232)에서 리더부(240)와 호스트(모바일 단말)간의 통신 프로토콜을 관리한다.
통신 프로토콜에서 사용되는 프레임은 Tag-Frame과 ACK, NAK, Firmware DATA로 구성되어 있으며 각각의 설명은 아래와 같다.
1) Tag-Frame
SF(1byte) | Command(1byte) | Length(1byte) | Value(nbytes) | EF(1byte) | FCS(1byte) |
Tag-Frame에서의 데이터는 기본적으로 16진수를 사용하며 태그 프레임은 SF, Command, Length, Value, EF, FCS로 구성된다. Tag-Frame 구성에 대한 설명은 다음과 같다.
- SF(Start of Frame) : Frame의 전송시작을 나타내며 0x01의 16진수 값을 갖는다.
- Command : Host to Reader시에는 수행할 command이며 Reader to Host시에는 수행한 command를 echo하여 보낸다.
- Length : 데이터의 길이를 나타내며 Value 필드의 byte수를 나타낸다.
- Value : Host to Reader 시는 command 별로 전송되어야 할 data를 나타내며, Reader to Host시에는 응답 data를 표시한다. 만약 command에 따른 부수적 data가 없을 경우 Length는 0x00이 되고, Value field는 생략된다.
- EF(End of Frame) : Frame 전송의 끝을 나타낸다.
- FCS(Frame Check Sequence) : SF와 EF를 제외한 나머지 모든 필드들의 XOR 값을 나타낸다. 아래의 <표 5>는 호스트와 리더간의 주요 명령어를 나타낸 것으로 Tag-Frame의 Command 부분에 속한다.
<표 5> 호스트와 리더간의 명령어
인코딩 값 | 명령어 |
0x01 | Read |
0x02 | Set Config |
0x03 | Get Config |
0x04 | Save |
0x05 | Get F/W Version Info |
0x06 | F/W Update |
0x07 | CHK |
2) ACK Frame
RFID 리더에서 명령수행 후 특별한 응답 메시지가 없을 경우 ACK을 전송하여 명령수행 사실을 알린다.
ACK(1byte) |
- ACK(Acknowledgement) : ACK frame임을 나타냄.(0x03)
3) NAK Frame
잘못된 명령의 수행 혹은 명령 수행 중 오류 발생 시 전송하며 <표 6>은 NAK 프레임이 전송되었을 때의 에러 코드를 나타낸 것이다.
NAK(1byte) | EC(1byte) |
- NAK(Negative Acknowledgement) : NAK frame임을 나타냄(0x04)
- EC : Error code
<표 6> 에러 코드
에러코드 | 설명 |
0x01 | Unknown command |
0x02 | Invalid register address |
0x03 | Invalid register value |
0x04 | Writing fail |
0x05 | Frame checksum mismatch |
0x06 | Invalid command data length |
4) Firmware Data
펌웨어는 RFID 리더내의 프로그램으로 업데이트를 할 경우 호스트로부터 펌웨어 데이터를 아래 형식으로 RFID 리더로 전송한다.
F/W DATA(nbytes) | CheckSum(1byte) |
- F/W DATA : 업데이트할 실제 F/W 데이터
- Checksum : F/W DATA의 256 바이트 각각을 모두 더한 결과의 최하위 1바이트 값.
도2는 RFID 미들웨어의 상단부(220)와 미들웨어 하단부(230)를 연결한 상태에서 동작 과정을 나타낸다.
도2를 참조하면, 먼저 응용 프로그램부에서 DLL 파일, LIB 파일을 임포트(import)한다.
다음으로, 어플리케이션 인터페이스(API, 212)는 RFID 미들웨어 상단부(220)에 명령을 전달하여 RFID 미들웨어 상단부(220)와 RFID 미들웨어 하단부(230)를 연결한다.
세 번째 과정에서, 미들웨어 이벤트를 받기위해서 RFID 미들웨어 상단부(220)는 RFID 미들웨어 하단부(230)에 콜백(callback) 함수를 등록한다.
네 번째로, RFID 미들웨어 상단부(220)에서 컴포트(Comport)를 오픈하고 RFID 미들웨어 하단부(230)는 RFID 리더부(240)에 데이터를 받을 수 있는 상태로 컴포트를 연결 설정한다. 여기에서, '컴포트(Comport)'는 시리얼 포트의 하드웨어 인터페이스를 지칭하는 명칭이다.
다섯 번째로, 응용 프로그램부(210)에서 RFID 미들웨어 상단부(220)로 READ 명령을 내리면 RFID 미들웨어는 READ 명령을 RFID 리더부(240)로 보내어 태그를 판독하게 한다.
여섯 번째, READ 작업이 끝나면 콜백함수를 통하여 READ 완료 이벤트를 보내는 단계를 진행한다.
일곱 번째로, READ 완료 이벤트를 받고 버퍼에서 RFID 태그값을 인식한다.
마지막으로, 어플리케이션 프로그램 인터페이스(API)에서 상기 인식된 태그값을 이용하여 태그 이벤트를 처리하는 단계를 진행한다.
도3은 본 발명에 따른 RFID 미들웨어에서 초기화, 콜백등록 과정을 나타낸다.
응용프로그램부에서 초기화 화면을 호출하면 API는 미들웨어 상단부에 명령을 전달하고 미들웨어의 상단부은 미들웨어 하단부에 콜백 등록을 한 후 응용프로그램부에서 콜백 등록을 하여 응용 프로그램부에서 RFID 리더부까지 연결되게 하는 과정이다.
도4는 본 발명에 따른 RFID 미들웨어에서 RM_Open( ) 동작 과정을 나타낸다.
도4에서 응용 프로그램부에서 RM_Open() 명령을 내리면 API는 미들웨어 상단부분에 명령어를 전달하고 상단부분에서는 컴포트를 오픈하고(Open_Comport()) 컴포트를 설정(Config_Comport())한다. 미들웨어 하단부분은 시리얼포트 핸들 생성과 ReadComport 스레드를 생성하고 포트 전송속도를 설정하여 리더와 연결한다.
도5는 본 발명에 따른 RFID 미들웨어에서 Read( ) 동작 과정을 나타낸다.
도5에서 응용 프로그램부에서 Read() 명령을 내리면 API에서는 Read() 명령어를 미들웨어 상단부로 전달하고 미들웨어 상단부분에서는 리더 상태체크를 한다. 미들웨어 하단부분에서는 명령어 인덱스와 프레임 빌더를 이용하여 시리얼 포트에 기록한다. 리더는 미들웨어 하단부와의 통신프로토콜 중에 ACK를 보내어 응용층까지 그 결과가 전송되게 한다.
도6은 본 발명에 따른 RFID 미들웨어에서 ReadData( ) 동작 과정을 나타낸다.
도6에서, 리더는 Read() 명령을 수행한 결과를 미들웨어의 하단부분으로 보내면 프레임 빌더에서 Read() 명령을 통해서 읽어들인 데이터를 하나의 패킷으로 만들고 미들웨어 상단부분으로 전송하면 상단부분에서는 패킷분석을 하여 RFID 리더부로부터 유효한 데이터를 읽어왔음을 확인하고 이를 버퍼에 저장한 후 이벤트 빌더를 이용하여 API를 거쳐 응용 프로그램부에 콜백으로 전송한다.
도7은 본 발명에 따른 RFID 미들웨어에서 ReadComport( ) 동작 과정을 나타낸다.
도7에서, 어플리케이션 프로그램 인터페이스의 Read() 명령에 상응하는 미들웨어 하단부의 ReadFile( )후 읽혀진 데이터가 없으면 다시 읽게 된다. 읽혀진 파일이 있으면 패킷 빌더를 이용하여 하나의 프레임이 완성하여 미들웨어 상단부분에서 콜백을 호출하고 컴포트 리드 포인터(Comport Read Pointer)를 변경한다. 하나의 프레임이 완성되지 않은 경우에는 다시 ReadFile( )을 하게 된다.
도8은 본 발명에 따른 RFID 미들웨어에서 WriteData( ) 동작 과정을 나타낸다.
응용 프로그램부에서 Write명령을 내리면 미들웨어 상단부분에서는 리더상태체크를 하고 하단부분에서는 리더 명령어 중에서 어떤 명령어인지를 가리키는 명령어 인덱스와 프레임 빌더를 이용하여 생성한 프레임 데이터를 시리얼 포트에 기록한다. RFID 리더부는 받은 데이터를 태그에 기록하고 결과를 미들웨어로 전송하게 된다.
본 발명에 따른 모바일 RFID 미들웨어는 PDA, 모바일 단말, PMP을 포함한 다양한 단말에서 RFID 리더가 장착되어 운용될 수 있으며 어떤 형태이든지 가능하다.
또한, RFID 태그는 어떤 종류의 RFID 태그라도 본 발명과 관련하여 사용될 수 있다. 예를들어, RFID 태그들은 내부에 배터리를 가지고 흔히 읽기/쓰기가 가능한 능동일수도 있고, 지정 전력 소스를 필요로 하지 않고 판독장치로부터 생성된 동작 전력을 얻는 수동일 수도 있다.
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술 사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
본 발명에 따르면, 범용성의 RFID 미들웨어에 비해 크기가 작고 모바일 환경에 최적화된 모바일 RFID 미들웨어 시스템과 운용을 상단부분과 하단부분으로 나누어 처리 부하를 최소화하며, 태그 이벤트를 신속하고 효율적으로 응용 시스템에 전달할 수 있게 되는 효과가 있다.
도1은 본 발명의 일실시예에 따른 모바일 RFID 미들웨어의 개략적인 구성도이다.
도2는 본 발명에 따른 RFID 미들웨어의 상단부와 미들웨어 하단부 연결 상태에서 동작 과정도이다.
도3은 본 발명에 따른 RFID 미들웨어에서 초기화, 콜백등록 과정도이다.
도4는 본 발명에 따른 RFID 미들웨어에서 RM_Open( ) 동작 과정도이다.
도5는 본 발명에 따른 RFID 미들웨어에서 Read( ) 동작 과정도이다.
도6은 본 발명에 따른 RFID 미들웨어에서 ReadData( ) 동작 과정도이다.
도7은 본 발명에 따른 RFID 미들웨어에서 ReadComport( ) 동작 과정도이다.
도8은 본 발명에 따른 RFID 미들웨어에서 WriteData( ) 동작 과정도이다.
≪도면의 주요부분에 대한 부호의 설명≫
210 : 응용 프로그램부
212 : 어플리케이션프로그램 인터페이스(API)
220 : RFID 미들웨어 상단부
221 : 리더제어부 222 : 태그제어부
223 : 큐 제어부 224 : 필터제어부
230 : RFID 미들웨어 하단부 231 : 시리얼포트 제어부
232 : 통신프로토콜 관리부 240 : RFID 리더부
Claims (10)
- RFID 태그 데이터를 읽어들이는 RFID 리더부;상기 RFID 리더부로부터 읽어들이는 태그 데이터를 수집하고 정제하는 RFID 미들웨어 상단부;상기 RFID 리더부와의 통신프로토콜을 관리하고 상기 RFID 리더부와 상기 RFID 상단부를 매개하는 RFID 미들웨어 하단부;상기 태그 데이터를 이용하여 태그 이벤트를 처리하는 응용 프로그램부; 및상기 RFID 미들웨어 상단부와 상기 RFID 미들웨어 하단부와 응용 프로그램부를 연동시켜서 리더 제어, 큐제어, 필터 제어, 시리얼 포트 제어 및 통신 프로토콜 제어를 수행하는 어플리케이션 프로그램 인터페이스부를 포함하는 모바일 RFID 미들웨어 시스템.
- 제 1 항에 있어서,상기 RFID 미들웨어 상단부는,RFID 리더부를 제어하고 상태감시 기능을 제공하는 리더 제어부;RFID 태그 ID를 읽고 인식된 결과를 큐에 저장하며, RFID 리더의 동작 결과에 따라 발생한 이벤트에 따라 RFID 태그를 제어하는 태그 제어부;상기 RFID 리더부로부터 읽어 들인 RFID 태그 ID를 큐에 삽입하고 상기 응용프로그램에서 요청시 제공하는 큐 제어부; 및RFID 리더부에서 읽어온 RFID 태그 ID를 제거하거나 걸러내는 필터 제어부를 포함하는 것을 특징으로 하는 모바일 RFID 미들웨어 시스템.
- 제 1 항에 있어서,상기 RFID 미들웨어 하단부는,상기 RFID 리더부와 사용자 단말 사이의 시리얼 통신을 처리하고 제어하는 시리얼 포트 제어부; 및상기 RFID 리더부와 사용자 단말 사이의 통신 프로토콜을 관리하는 통신 프로토콜 관리부를 포함하는 것을 특징으로 하는 모바일 RFID 미들웨어 시스템.
- 제 1 항에 있어서,상기 통신 프로토콜에서 사용되는 프레임은,프레임의 전송 시작, 수행할 커맨드, 데이터 길이, 커맨드별 데이터, 프레임의 전송 끝, 프레임 체크 시퀀스 필드를 구비하는 태그 프레임;RFID 리더부에서 명령 수행 후 ACK를 전송하여 명령 수행 사실을 알리는 ACK 프레임;잘못된 명령의 수행 또는 수행 중 오류 발생시 전송되는 NAK 프레임; 및RFID 리더부 안에 저장된 펌웨어를 업데이트하는 경우 사용자 단말에서 RFID 리더부로 전송되는 펌웨어 데이터를 포함하는 것을 특징으로 하는 모바일 RFID 미들웨어 시스템.
- (a) 응용 프로그램부에서 파일을 임포트하는 단계;(b) 어플리케이션 프로그램 인터페이스(API)를 통해 RFID 미들웨어 상단부에 명령을 전달하여 RFID 미들웨어 상단부와 RFID 미들웨어 하단부를 연결하는 단계;(c) RFID 미들웨어 상단부에서 RFID 미들웨어 하단부에 콜백 함수를 등록하는 단계;(d) RFID 미들웨어 상단부에서 컴포트(Comport)를 오픈하고 RFID 미들웨어 하단부는 RFID 리더부에 데이터를 받을 수 있는 상태로 컴포트(Comport)를 연결 설정하는 단계;(e) 응용 프로그램부에서 RFID 미들웨어 상단부로 READ( ) 명령을 내리면 RFID 미들웨어 하단부는 미들웨어 상단부로터 받은 상기 READ( ) 명령을 RFID 리더부로 보내어 태그를 판독하는 단계;(f) READ( ) 작업이 끝나면 콜백함수를 통하여 READ 완료 이벤트를 보내는 단계;(g) READ( ) 완료 이벤트를 받고 버퍼에서 RFID 태그값을 인식하는 단계; 및(h) 어플리케이션 프로그램 인터페이스(API)에서 상기 인식된 태그값을 이용하여 태그 이벤트를 처리하는 단계를 포함하는 모바일 RFID 미들웨어 운용 방법.
- 제 5 항에 있어서,상기 (d) 단계는,응용 프로그램부에서 RM_Open( ) 명령을 내리면 어플리케이션 프로그램 인터페이스(API)는 RFID 미들웨어 상단부에 명령어를 전달하고 컴포트를 오픈(Open_Comport( ))하고 컴포트를 설정(Config_Comport( ))하는 단계; 및RFID 미들웨어 하단부는 시리얼 포트 핸들을 생성하고 ReadComport 스레드를 생성하고 포트 전송속도를 설정하여 RFID 리더부와 연결하는 단계를 포함하는 것을 특징으로 하는 모바일 RFID 미들웨어 운용 방법.
- 제 5 항에 있어서,상기 (e) 단계는,응용 프로그램부에서 Read( ) 명령을 내리면 어플리케이션 프로그램 인터페이스(API)에서는 Read( ) 명령어를 RFID 미들웨어 상단부로 전달하는 단계;RFID 미들웨어 상단부에서 RFID 리더부의 상태체크를 하는 단계;RFID 미들웨어 하단부에서 명령어 인덱스와 프레임 빌더를 이용하여 시리얼 포트에 기록하는 단계; 및RFID 리더부는 RFID 미들웨어 하단부와의 통신프로토콜 중에 ACK를 보내어 응용프로그램부에 결과를 전송하는 단계를 포함하는 것을 특징으로 하는 모바일 RFID 미들웨어 운용 방법.
- 제 5 항에 있어서,상기 (e) 단계는,RFID 제어부는 Read( ) 명령을 수행한 결과를 RFID 미들웨어 하단부로 보내는 단계;프레임 빌더에서 Read( )명령을 통해 읽어들인 데이터를 패킷으로 만들고 RFID 미들웨어 상단부로 전송하는 단계;RFID 미들웨어 상단부에서 패킷분석을 하여 RFID 리더부로부터 유효한 데이터를 읽어왔음을 확인하고 이를 버퍼에 저장하는 단계; 및이벤트 빌더를 이용하여 어플리케이션 프로그램 인터페이스(API)를 거쳐 응용 프로그램부에 콜백으로 전송하는 단계를 포함하는 것을 특징으로 하는 모바일 RFID 미들웨어 운용 방법.
- 제 5 항에 있어서,상기 (e) 단계에서,어플리케이션 프로그램 인터페이스(API)의 Read( ) 명령에 상응하는 RFID 미들웨어 하단부의 ReadFile( )후 읽혀진 데이터가 없으면 다시 읽어들이는 단계;읽혀진 파일이 있으면 패킷 빌더를 이용하여 하나의 프레임을 완성하는 단계;RFID 미들웨어 상단부에서 콜백을 호출하고 컴포트 리드 포인터를 변경하는 단계; 및하나의 프레임이 완성되지 않은 경우 다시 ReadFile( ) 을 수행하는 단계를 포함하는 것을 특징으로 하는 모바일 RFID 미들웨어 운용 방법.
- 제 5 항에 있어서,응용 프로그램부에서 Write( ) 명령을 내리면 RFID 미들웨어 상단부에서 RFID 리더부 상태 체크를 하는 단계;RFID 미들웨어 하단부에서 리더 명령어들 중에서 어떤 명령어인지를 가리키는 명령어 인덱스와 프레임빌더를 이용하여 생성한 프레임 데이터를 시리얼 포트에 기록하는 단계; 및RFID 리더부는 RFID 미들웨어 하단부로부터 받은 프레임 데이터를 태그에 기록하고 결과를 RFID 미들웨어 하단부로 전송하는 단계를 포함하는 것을 특징으로 하는 모바일 RFID 미들웨어 운용 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070043817A KR100919273B1 (ko) | 2007-05-04 | 2007-05-04 | 모바일 알에프아이디 미들웨어 시스템 및 운용 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070043817A KR100919273B1 (ko) | 2007-05-04 | 2007-05-04 | 모바일 알에프아이디 미들웨어 시스템 및 운용 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080098290A KR20080098290A (ko) | 2008-11-07 |
KR100919273B1 true KR100919273B1 (ko) | 2009-09-30 |
Family
ID=40285847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070043817A KR100919273B1 (ko) | 2007-05-04 | 2007-05-04 | 모바일 알에프아이디 미들웨어 시스템 및 운용 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100919273B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060070188A (ko) * | 2004-12-20 | 2006-06-23 | 한국전자통신연구원 | 멀티프로토콜 기반의 이기종 리더 지원을 위한 전파식별리더 인터페이스 및 이벤트 관리 장치 및 그 방법 |
KR100662508B1 (ko) * | 2005-08-19 | 2006-12-28 | 한국전자통신연구원 | Rfid를 이용한 객체 정보 수집 기능을 가지는 무선통신단말기 및 그 방법과, 그를 이용한 모바일 rfid 응용장치 및 그 방법 |
-
2007
- 2007-05-04 KR KR1020070043817A patent/KR100919273B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060070188A (ko) * | 2004-12-20 | 2006-06-23 | 한국전자통신연구원 | 멀티프로토콜 기반의 이기종 리더 지원을 위한 전파식별리더 인터페이스 및 이벤트 관리 장치 및 그 방법 |
KR100662508B1 (ko) * | 2005-08-19 | 2006-12-28 | 한국전자통신연구원 | Rfid를 이용한 객체 정보 수집 기능을 가지는 무선통신단말기 및 그 방법과, 그를 이용한 모바일 rfid 응용장치 및 그 방법 |
Non-Patent Citations (2)
Title |
---|
"ALE 기반 RFID 미들웨어 시스템 설계", 한국콘텐츠학회 2006 추계종합학술발표논문집 Vol.4, No.2 |
"RFID Middleware 기술동향 및 도입 지침", 한국산업경영시스템학회 2006 추계학술발표논문집 |
Also Published As
Publication number | Publication date |
---|---|
KR20080098290A (ko) | 2008-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372199B2 (en) | Apparatus for managing power and running and booting an inter-processor communication link between independently operable processors | |
US20080288958A1 (en) | Near Field Communication Host Controller Interface | |
EP2192523B1 (en) | Smart sd card and method of accessing the same | |
US10250298B2 (en) | Method and system of communicating personal health data in a near field communication environment | |
KR20080012847A (ko) | 리더 콘트롤 시스템 | |
CN100454813C (zh) | 一种计算机和移动终端之间数据文件传输的方法 | |
CN102065568B (zh) | 基于数据描述符的mac软硬件交互方法及其硬件实现装置 | |
WO2008148278A1 (fr) | Procédé pour l'échange de données de grande capacité entre un terminal mobile et une carte à puce | |
CN104469501A (zh) | 一种基于串口通信协议的机顶盒自动设置方法 | |
WO2019179093A1 (zh) | 一种nb-iot网络中获取设备标识的方法和设备 | |
CN101305585A (zh) | 近距离通信主机控制器接口 | |
US20070279189A1 (en) | Communication method between host and RFID reader, host device, RFID reader, and RFID communication system | |
EP1906372A2 (en) | Electronic device having identifier | |
US9824246B2 (en) | Radio frequency identification tag having input device | |
KR100919273B1 (ko) | 모바일 알에프아이디 미들웨어 시스템 및 운용 방법 | |
CN105809231A (zh) | 多频多用途电子标签及其使用方法 | |
CN114077562A (zh) | 一种1553b总线控制器协议处理ip核 | |
US9041513B1 (en) | System and method for communicating with sensors/loggers in integrated radio frequency identification (RFID) tags | |
CN113875162B (zh) | Nfc读取器与双nfc接口应答器之间的数据交换装置 | |
CN101482857A (zh) | 信息传递系统及信息传递方法 | |
CN103164718B (zh) | 射频识别交互方法及射频识别系统 | |
KR100429541B1 (ko) | 이더넷을 사용하는 장비에서 인터페이스 장치 | |
CN103092364A (zh) | 一种多功能鼠标 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120906 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130819 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20141001 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20151113 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |