DOI QR코드

DOI QR Code

오프라인 쇼핑의 결제효율과 편의성 제공을 위한 모바일-IoT 시스템

Mobile-IoT System for Payment Efficiency and Convenience of Offline Shopping

  • 이정훈 (한국산업기술대학교 컴퓨터공학과) ;
  • 정승훈 (한국산업기술대학교 컴퓨터공학과) ;
  • 김영곤 (한국산업기술대학교 컴퓨터공학과)
  • 투고 : 2018.11.02
  • 심사 : 2019.02.08
  • 발행 : 2019.02.28

초록

사물인터넷(IoT:Internet of Thing)를 사용하여 구매물품 정보를 쉽게 취합한다. 취합되어진 데이터는 스마트폰으로 바로 갱신되어져 확인이 가능하며, 이러한 정보를 바탕으로 결제 정보를 QR-Code로 생성한다. 시스템 구현을 위한 방법으로는 라즈베리파이를 활용한 IoT 기술과, 모바일 QR 기술 두 가지 가정을 전제로 시스템을 구성하였다. 첫 째, 상품에 바코드 대신 RFID 태그를 부착하고, 둘 째, 마트의 쇼핑카트에 IoT 컴퓨터(Raspberry-Pi)를 내장한다. 오프라인 매장에서 쇼핑을 할 때 계산의 즐거움을 위해 기존의 면대 면 계산방법인 계산대는 유지하며, 상품의 바코드를 개별적으로 찍어서 계산하는 방식을 QR-Code 하나로 대체하여 시간 효율적이지 못한 현상을 해소한다. 본 논문의 시스템을 개발함으로 인하여, 온라인이 아닌 오프라인 매장에서의 쇼핑 즐거움을 유지하며 고객들의 계산대 대기시간 단축과 상품에 대한 사전 정보제공으로 인한 편의성을 제공하였다.

It easily collects information on purchased goods using IoT(Internet of Things). The collected data is updated directly to the smartphone for verification. The payment information is generated by QR-Code. As a way to implement a system, System was configured with two assumptions: IoT technology using Raspberry-Pi and mobile QR technology. First, RFID tags are attached to the goods instead of barcodes. Second, it has an IoT computer(Raspberry-Pi) built into its shopping cart. This system keeps traditional shopping method of face-to-face payment, but replace time-consuming tarditional barcode tagging method to QR-tagging system for time-efficiency. By debeloping the system of this paper, we maintain pleasures in offline store shopping and it provide convenience due to reduced waiting time for customers and providing prior information about the products.

키워드

Ⅰ. 서론

최근 인터넷과 모바일 기술의 발전으로 인하여 온라인 홈쇼핑과 모바일 쇼핑 어플리케이션이 등장하였고 발전하고 있다. 그러나 실제로 아직 많은 사람들이 매장에 가서 쇼핑을 하고 있으며, 온라인 쇼핑의 편의성에도 불구하고 매장에서 직접 쇼핑하는 것을 선호하는 사람들도 적지 않다. 매장에서도 IoT 기술을 도입하여 고객들의 편의성을 증대시킬 가능성과 필요성이 대두되고 있는 상태이다.

따라서 본 논문에서는 라즈베리파이를 활용한 IoT기술과 모바일 어플리케이션 개발을 통해서 매장에서 직접 쇼핑하는 고객들의 만족도와 효율성 및 편의성을 증대시킬 수 있는 시스템 구축과 그 방법을 연구하였다.

본 논문의 IoT 장비는 매장의 쇼핑카트에 부착됨을 가정하고, 사용자는 카트에 상품을 담을 때마다 IoT 장비의 센서에 상품 RFID 태그를 인식시킴을 전제로 한다. 또, 사용자가 본 시스템의 연구목표 중 하나인 어플리케이션을 설치하여 상품 정보 및 쇼핑카트 장바구니 현황을 모바일 어플리케이션에 표시하고 총 결제 정보를 QR코드형식의 데이터로 저장함으로써 기존의 바코드 형식의 긴 계산 시간이 필요한 불편함을 줄이는 방법을 연구하여 개발하였다.

Ⅱ. 관련 연구

1. 기존 시스템

일반적인 매장에서의 쇼핑 방법은 사용자들이 일반쇼핑카트 안에 상품 가격 정보가 담긴 바코드가 부착된 상품을 넣고, 구매 의사가 확정되면 계산대에서 줄을 서서 점원이 상품의 바코드를 개별적으로 찍어 총액을 구하여 계산하는 방법이 사용되고 있다.

이러한 방법은 상품들의 바코드 정보를 개별적으로 태그함으로 인하여 계산대에서 대기시간이 길어지는 사용자들의 불편함을 야기한다. 또한, 이러한 불편함을 개선하기 위한 시스템으로는 아마존에서 개발한 ‘아마존고‘가 존재한다. 아마존고의 모토는 ’No Lines, No Checkout‘으로, 줄을 설 필요도, 체크아웃을 할 필요도 없다는 의미이다. 그러나 삼성 뉴스룸의 2018년 3월 15일의 오피니언에 따르면 이용자들의 66%가 이러한 쇼핑방식에 부정적 견해를 보였다고 한다. 오피니언에 따르면 편리한 쇼핑을 우선적으로 고려한 아마존의 원래 의도와는 달리 상당수 소비자가 아마존고의 무인 쇼핑 시스템보다 기존의 매장 쇼핑 방식에 더 즐거움을 느낀다는 사실을 보여준다. 따라서 본 논문에서는 기존 쇼핑방식이 가지고 있는 사용자들의 인간 친화적인 결제 방식의 장점을 유지하면서도 사용자(고객)의 쇼핑 시간 효율성과 편리성을 제고할 수 있는 편의성과 사용자 친화성 사이의 중간적인 성격의 어플리케이션 및 IoT장비와 서버를 구축하여 기존의 시스템보다 편리하고, 사용자들의 만족도 또한 충족이 가능한 효율적인 시스템이 필요하다.

2. QR Code

QR은 ‘Quick Response’ 의 약자로 사각형의 격자무늬에 바코드보다 훨씬 많은 정보를 담고 있는 2차원 형식의코드로, 인식 속도와 인식률, 복원력이 뛰어나며 계산이나 재고관리, 상품 확인 등 정보제공 목적으로 주로 사용되고 있으며, 오프라인과 온라인에서도 활용의 폭이 넓다. 또한 스마트폰이 1인 보급화 되면서 그 활용도가 더욱 높아졌고 바코드의 역할을 대신하고 있는 코드로 사용되어 지고 있다[4].

Ⅲ. 시스템 설계 및 구현

본 논문에서는 사용자가 매장에서 효율적이고, 편리한 매장 쇼핑을 위하여 결제정보 QR 생성을 통한 결제 편의성을 제공하고, 상품의 가격, 매장 내 위치정보, 할인율, 유통기한 등의 정보를 어플리케이션을 통해 제공하는 매장 IoT-모바일 매장 쇼핑 시스템을 개발한다. 본 논문이 개발한 시스템의 구조는 그림 1과 같다.

OTNBBE_2019_v19n1_289_f0001.png 이미지

그림 1. 시스템 구조도

Fig. 1. Architecture of System

서버는 안드로이드와 MySQL 데이터베이스간의 데이터 전달을 위해 PHP로 구성된다. 기능은 주로 상품검색 기능과 장바구니 기능, 계산 가격 QR 생성 기능으로 구성 된다. 본 시스템의 마지막에는 QR 결제를 위해, 계산서의 가격 액수를 String(문자열) 형태의 값을 사용하여 QR 코드로 인코딩한다. 사용자 기준에서 시스템의 실행과정을 정리한 시퀀스 다이어그램은 그림 2와 같다.

OTNBBE_2019_v19n1_289_f0002.png 이미지

그림 2. 시스템 시나리오 시퀀스 다이어그램

Fig. 2. System Scenario Sequence Diagram

사용자는 쇼핑카트에 상품을 담기 전에, 본 논문에서 가정한대로 쇼핑카트에 내장된 라즈베리파이-RC522 모듈에 상품에 부착된 RFID 태그를 인식시킨다. 인식된 데이터는 사용자의 안드로이드 어플리케이션에 서버를 거쳐 데이터가 전송되어 장바구니 액티비티에 인식될 때마다 갱신된다. 그 과정을 거쳐 쇼핑이 끝나면 사용자는 QR 계산서를 생성하여 빠르고 간편하게 결제를 도와주는 처리를 기대할 수 있다.

1. 데이터베이스와 웹서버

MySQL 데이터베이스는 안드로이드 모바일 어플리케이션과 통신하기 위해 PHP서버를 통해 처리된다. 데이터베이스에서 상품 테이블은 가격, 이름, 할인율, 판매위치, 유통기한 등 상품에 대한 정보들을 저장하고, 고객 테이블은 고객(사용자)의 아이디, 비밀번호 등 고객의 정보를 저장한다. MYSQL DB의 상품정보 테이블의 스키마는 그림 3과 같다. 또한 사용자의 로그인에 필요한 DB테이블 정보는 그림 4와 같다.

OTNBBE_2019_v19n1_289_f0003.png 이미지

그림 3. DB 스키마 - 상품

Fig. 3. Scheme of Database (goods)

OTNBBE_2019_v19n1_289_f0004.png 이미지

그림 4. DB 스키마 - 사용자

Fig. 4. Scheme of Database (Users)

그림 3은 상품 테이블에 대한 정보들을 보여준다. 상품명, 가격, 상품 ID, 유통기한과 분류 등을 보여준다. 상품 ID가 기본키로 구성되어 있어 동일한 상품명이 가능하게 되어있다. 또한, 기본키인 상품 ID는 상품에 부착된RFID 태그의 UID 값과 동일하게 값이 입력됨으로써, 개발함에 있어 편의성을 증대시키고자 하였다. 그림 4는 사용자(고객)에 대한 테이블을 보여준다. 간단하게 ID, 비밀번호, 성명에 대한 3개의 속성으로 구성되어 있으며, 사용자의 ID가 기본키로서, 중복된 값을 가질 수 없게 하였다. 사용자는 모바일 어플리케이션을 구동할 때 프로그램이 JSON 방식으로 데이터를 확인하여 회원 가입 및 로그인 기능을 수행하도록 개발하였다[2].

2. 클라이언트(모바일 어플리케이션)

클라이언트(모바일 어플리케이션)는 위의 MySQL 데이터베이스를 PHP 서버로 부터 JSON 방식으로 데이터를 파싱(Parsing)받아 상품검색 기능, 회원 기능(가입, 갱신 및 로그인)과 상품 RFID 인식을 통한 장바구니 기능 및 장바구니 구매예정 정보 QR 생성의 기능을 지원한다. 사용자에 의해 라즈베리파이에 부착된 RC522에 상품이태그될 때마다 상품의 정보가 사용자의 어플리케이션 액티비티 화면에 갱신되고, 쇼핑이 끝나면 사용자에 의해상품 총 가격 정보를 QR로 생성함으로써 결제를 지원할수 있다. MySQL 내부 테이블의 데이터를 PHP를 통해Android 어플리케이션에 JSON 방식으로 파싱(Parsing)받는 방법은 그림 5와 같다[5].

OTNBBE_2019_v19n1_289_f0005.png 이미지

그림 5. JSON 파싱으로 MySQL 데이터 받기 예시

Fig. 5. Example of Getting MySQL data by JSONparsing

안드로이드에서는 MySQL의 데이터를 직접 얻어오는것이 자체적으로 막혀있기 때문에 불가능하다. 그러므로 어플리케이션에서 사용자가 필요한 동작을 수행하기 위해서 그림 5와 같이 PHP 웹서버 및 코드를 통하여 JSON방식으로 파싱(Parsing)받는 방법을 선택하였다.

3. 라즈베리파이

본 논문에서 라즈베리파이는 쇼핑카트에 내장될 수 있음을 전제로 한다. 라즈베리파이는 RFID 태그를 인식하기 위해 RFID-RC522 모듈과 FtoF 점퍼선을 이용해 연결된다. 연결되는 방식은 아래 그림 5와 같다. 파이썬프로그램을 이용해서 RFID 데이터가 읽힐 경우, 라즈베리파이는 사용자의 안드로이드 모바일 어플리케이션에게 RC522 모듈에 태그되어 읽힌 상품의 데이터를 전송하여 장바구니 리스트에서 갱신될 때마다 태그된 정보에 대하여 확인할 수 있게 된다. 라즈베리파이와 RFID-RC522모듈 간의 연결 방법은 그림 6과 같다[6].

OTNBBE_2019_v19n1_289_f0006.png 이미지

그림 6. 라즈베리파이 - RC522간 연결)

Fig. 6. Connection between Raspberry Pi and RC522

그림 6은 라즈베리파이와 RFID-RC522 모듈간의 연결방법을 보여준다. 위와 같이 라즈베리파이와 RFID-RC522장비간의 FtoF 점퍼선 연결을 통해 상품의 RFID 인식을 위한 파이썬 프로그램을 구동하여, 상품에 부착된 RFID 태그의 상품 UID를 읽고, 해당 UID와 상품의 각각의 속성들을 연관함으로써 UID가 인식될 시, UID에 해당하는 상품들의 데이터가 사용자의 모바일 어플리케이션 상에서 표시되게 된다. 이러한 방법을 통하여 본 시스템이 정상적으로 구동될 수 있다.

Ⅳ. 데모

하단의 그림들은 본 논문에서 개발한 라즈베리파이를 활용한 모바일-IoT 마켓 쇼핑 시스템의 데모 실행 화면을 보여준다, 아래의 사진들은 앞서 제시한 기능들 중에서, 차례대로 주요 기능에 해당하는 검색 기능, 장바구니기능 및 계산서 QR 생성 기능에 대한 액티비티 실행 화면에 해당한다. 각 그림의 밑에는 해당 액티비티의 구현방법과 그에 대한 작동 원리에 대하여 서술하였다.

그림과 서술의 순서는 시스템 설계에서 제시한 시퀀스 다이어그램의 흐름을 따라 순서를 제시하였다. 로그인을 하고, 마트에 가기 전 검색 액티비티를 가장 먼저 실행하게 된다고 하였을 때 검색 액티비티의 실행화면은 그림 7과 같다.

OTNBBE_2019_v19n1_289_f0007.png 이미지

그림 7. 실행화면 - 검색 액티비티

Fig. 7. Search Activity

그림 7의 실행화면은 그림 3의 MySQL 데이터베이스상의 상품 테이블의 정보가 PHP 코드를 통해 JSON 방식으로 파싱(Parsing)되어 전달된 액티비티의 화면이다. 위의 액티비티는 EditText의 검색 내용이 변경됨에 따라 검색결과를 OnTextChangeListener을 통해서 갱신하여 사용자가 원하는 상품의 검색 결과 내역을 보여주게 된다.

앞서 그림 2에서 시퀀스 다이어그램에서 제시했듯이, 사용자(고객)은 매장에서 쇼핑카트에 상품을 담기 전에 카트에 내장되어 있다고 가정한 라즈베리파이-RFIDRC522모듈에 상품에 부착된 RFID 태그를 인식시킬 것이다. 인식함에 따라 동적으로 반영되는 장바구니 액티비티의 실행화면의 결과는 그림 8과 같다.

OTNBBE_2019_v19n1_289_f0008.png 이미지

그림 8. 실행화면 - 장바구니 액티비티

Fig. 8. Shopping List Activity

그림 8의 액티비티 실행화면은 라즈베리파이와 연결된 RC522장비가 상품에 부착된 RFID 태그의 UID (상품ID) 값을 읽었을 때의 상태를 보여준다. 상품의 ID를 읽을 때 마다 텍스트 뷰를 통해서 어떤 상품의 RFID 태그가 인식(Read)되었는지를 보여주며, 본 액티비티에서 텍스트뷰 형태로 인식된 상품들의 가격 정보를 총합하여 사용자는 하단의 결제액 QR전송 버튼을 통하여 가격 정보를 String(문자열)형태로 출력할 것이다.

아래와 같은 QR 코드는 자바의 String 형태의 값을 가지고 사용자(고객)의 결제 처리에 활용한다는 설정을 가지고 있다. 계산서의 String 타입의 금액정보를 QR로 인코딩한 결과는 그림 8과 같다.

그림 9의 QR코드는 그림 8의 액티비티 하단에서 결제액 QR 전송 버튼을 클릭함에 따라 만들어진 QR코드이다. 액티비티 간의 Intent를 통하여 String(문자열) 값을 전달받으며, 액수에 대한 String 형태의 값을 String 값에 맞게 QR 코드를 생성하는 코드를 통하여 String값에 따른 String 값 개개의 독자적인 QR 코드를 생성하게 된다. 이런 방식으로 만들어진 해당 QR 코드를 QR 리더기프로그램을 이용하여 인식 할 시, 상품들의 String 형태의 총 액(결제 액수)를 나타낼 수 있게 개발하였다. QR리더기는 현재 도입되고 있는 매장들의 카카오 QR 결제시스템 기기와 같은 방식을 사용한다는 전제를 하였다.

OTNBBE_2019_v19n1_289_f0009.png 이미지

그림 9. 실행화면 - 계산서 QR 생성

Fig. 9. QR Creation of Price Bill

Ⅴ. 결론

기존의 매장 쇼핑 방식은 계산대에서 점원이 대기하고 있는 고객들이 담은 상품들의 바코드를 스캐너로 태그함으로써 계산대의 시간이 길어져 고객들이 많은 경우에는 대기열이 길어지는 단점이 존재한다. 하지만 아마존고와 같은 무인 계산 시스템마저도 설문 응답자의 66%가 시스템에 대하여 인간성적인 면 등에서 부정적인 의견을 드러냄으로 점원의 필요성이 확인되었다.

본 논문은 실제 오프라인 환경에서 구매하고자 하는 물건의 정보 확인 편의성과 고객과 점원 간 직접 결제의 즐거움 결제 시간 단축을 위해 시스템을 구현하였다.

구현 시스템은 라즈베리파이를 활용한 IoT기술, RFID, 그리고 모바일 프로그래밍을 접목하였으며, 모바일을 통한 상품검색 기능, RFID 태그 인식을 이용한 장바구니 기능, 장바구니의 가격 데이터를 QR-Code로 만들어 계산을 시간을 줄이는 시스템을 개발함으로써, 온라인이 아닌, 오프라인 매장에서 직접 쇼핑을 하는 고객들에게 즐거움과 편의성 향상을 제공하였다.

현재 카카오 QR 결제와 같이 실생활 결제 시스템에서 QR 결제 방식이 새롭게 대두되고, 진보하고 있는 가운데, 향후 본 시스템을 발전시키기 위하여, 보다 사용자의 정보와 가격정보를 더 직관적으로 담고 있는 QR 데이터의 삽입과, 또한 발전된 QR 결제 방식의 처리 및 본 시스템에 있어 비효율적인 알고리즘에 대한 개선 방안에 대한 연구의 필요성이 사료된다.

참고문헌

  1. In-Jung Park "Production Control System Based on RFID", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 9, No. 4, pp. 25-31, Aug 2009. DOI: https://doi.org/10.7236/JIIBC.2005.5.2.56.
  2. Jin-su Oh, Chang-gi Song "Transmission performance of improvements in mobile applications via XML and JSON data translation" Korea Information Science Society DOI:http://www.dbpia.co.kr/Article/NODE0653003
  3. Tai-Le Zhang, Jong-Ho Lee "A Study on the Use Intention of Easy Mobile Payment Services", Global e-Business Association, DOI: https://doi.org/10.7236/JIIBC.2005.5.2.56.
  4. Heon-Sik Joo "A Using and Comparison Of Bar code and QR code", The Korean Society Of Compter and Information, DOI:http://www.dbpia.co.kr/Article/NODE0653003
  5. Jong-Min Eun, Jae-Kon Oh, Jeong-Joon Kim "Group Management System based on Apache Web Server and Android App", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 18, No.2, pp. 141-147, Apr 2018 DOI:https://doi.org/10.7236/JIIBC.2005.5.2.56.
  6. Ju. Min-Seong, Kang. Min-Gyun, Song. Jae-Koo, Kim. Seok-Soo "Logistic system in Ubiquitous environment Using RFID and sensor network", Korea Academy Industrial Cooperation Socierty 2006.05, pp.131-133 DOI:http://www.dbpia.co.kr/Article/NODE07215978