DOI QR코드

DOI QR Code

IoT 기반 스마트 자판기 시스템의 분석 및 설계

Analysis and Design of Smart Vending Machine System based on IoT

  • 조병호 (가톨릭관동대학교 소프트웨어학과) ;
  • 안희학 (가톨릭관동대학교 소프트웨어학과)
  • 투고 : 2019.04.01
  • 심사 : 2019.06.07
  • 발행 : 2019.06.30

초록

최근에 사물인터넷이라고 불리는 IoT 기술은 산업전반에 걸쳐 널리 활용되고 있다. 본 논문에서는 주변에서 흔히 볼 수 있는 자판기의 불편함을 해소한 새로운 IoT 기반 스마트 자판기 시스템을 제안한다. 이는 사용자에게는 현금이 없이도 물건 구매가 가능하게 하고 자판기 관리자에게는 재고 및 판매가 편리하게 할 수 있어 관리비용을 절약시켜 준다. 본 스마트 자판기의 제작을 위해 객체지향 분석 방법인 UML을 이용한 분석 예시 및 그것을 활용한 플로우차트 및 화면 설계 예시를 제시한다. 또한 이는 본 제안방법이 IoT 기반 스마트 자판기 상용화 시스템 제작의 가이드라인으로 유용하게 활용될 수 있음을 보여준다.

Recently IoT named Internet of Things technology is widely used throughout the industry. In this paper, a smart vending machine system is proposed to solve inconvenience of vending machine which is commonly seen. This allows users to purchase goods without cash and saves management costs by allowing vending machine managers to stock and sell conveniently. For the production of this smart vending machine, Analysis example using UML which is object-oriented analysis method and flowchart and screen design applying it are presented. Also this presented method is shown to being applied usefully for a guideline of building smart vending machine commercialization system based on IoT.

키워드

Ⅰ. 서론

자판기라 불리는 벤딩머신은 흔히 우리 주변에서 볼 수 있는 제품이다. 일반적으로 자판기는 돈을 직접 넣고 자판기에 있는 물건을 선택해서 구매하는 형태이다. 최근에 신용카드가 급증하면서 현금을 소지하고 다니지 않는 경우가 많다. 따라서 현금이 없는 경우에 자판기를 이용하기 어려운 경우가 많다. 또한 자판기가 현금으로 운영되기 위해서는 돈을 삽입하고 환전하기 위한 코인/지폐 입출납 장치가 필요한데 이는 비용도 비싸고 항상 충분한 교환 지폐 및 동전을 준비해야 한다는 측면에서도 자판기 관리자에 불편하고 비용 측면에서 불리하다. 요새는 자판기에 신용카드도 결제가 가능한 제품도 있는데 신용 카드 결제가 가능하기 위해서는 이를 위한 카드결제 시스템의 추가적인 장치가 필요한데 이용자가 많지 않은 경우에 카드 수수료로 인하여 많이 사용되고 있지 않는다.[2,4]

본 논문에서는 이러한 현금결재의 불편함과 신용카드 결재방식의 수수료로 인한 비용이 증가하는 단점을 해소하고자 모바일 스마트폰 결재 방식을 이용할 수 있도록 하고 IoT(Internet of Things) 기술을 이용해서 자판기 물건의 판매 및 재고 관리가 용이한 스마트 자판기 시스템 설계 방법을 제시하고자 한다[1,9]. 스마트폰을 이용한 모바일 결재에 의한 자판기에서 물건의 구입이 가능하도록 하기 위해서는 자판기 내에 있는 콘트롤러 역할을 수행하는 장치를 재설계하도록 한다. 아두이노와 같은 오픈 하드웨어나 Atmega2560 같은 마이크로 프로세서를 이용하고 여기에 블루투스 송수신모듈 장치를 붙여서 스마트폰과 양방향 통신이 가능하도록 한다. 이는 스마트폰 앱이 HTML5로 작성되어 자판기에서 구매할 수 있는 물건들이 스마트폰 화면에 디스플레이되고 이를 선택하여 모바일 결재가 가능한 모바일 오픈카드 쇼핑 프로그램 모듈을 바로 스마트폰에 띄어주는 URL(Uniform Resource Locator) 데이터가 전송되도록 한다. 이 때 선택한 물건의 코드 값과 결제 데이터는 스마트폰에서 블루투스 통신으로 자판기 내에 콘트롤러 장치로 전송되고 콘트롤러가 이를 처리하여 자판기 물건을 선택해서 배출되도록 한다.

또한 콘트롤로 장치에서는 자판기 물건이 배출되면 이를 센싱하여 현재 물건에서 몇 개가 팔리고 재고가 몇 개가 있는지를 알 수 있도록 하는 센싱장치와 연결되고, IoT 송신모듈이 연결되어 판매 물건종류 개수, 금액, 재고 데이터 등이 IoT 게이트웨이로 전송되고 이는 다시 인터넷망을 통해 서버로 전송되어 서버에서는 각 지역에 있는 자판기의 물건 판매 및 재고 관리가 용이한 서버 프로그램을 수행하도록 한다. 그림 1은 이와 같은 IoT 기반 스마트 자판기 시스템의 전체 구조를 나타낸다.

OTNBBE_2019_v19n3_121_f0001.png 이미지

그림 1. IoT 기반 스마트 자판기 시스템 전체 구조

Fig. 1. The whole structure of smart vending machine system based on IoT

이를 위한 본 논문의 구성은 다음과 같다. I장에서는 IoT 기반 스마트 자판기 시스템 기본 프레임워크, II장에서는 IoT 기반 스마트 자판기 시스템의 분석, III 장에서는 IoT 기반 자판기 시스템 설계, IV 장에서는 결론을 기술한다.

Ⅱ. IoT 기반 스마트 자판기 시스템 기본 프레임워크

기존 자판기의 물건을 구매하는 과정은 그림 2에서 보는 것과 같이 (1)동전 및 지폐투입구에 돈을 집어 넣는다.(2) 원하는 물건을 선택하기 위한 상품선택 버튼을 누른다. (3)물건을 상품배출구에서 꺼낸다. 등으로 이루어진다. 이를 본 논문의 스마트 자판기에서는 사용자가 현금이 없이도 스마트폰만 있으면 그림 1에서와 같이 스마트폰에서 결재를 하고 자판기내의 물건을 스마트폰에서 선택하여 자판기에서 물건을 취득하는 방식으로 수행하도록 스마트 자판기 시스템을 설계한다.

OTNBBE_2019_v19n3_121_f0002.png 이미지

그림 2. 기존 자판기 시스템

Fig. 2. Current vending machine system

현금이 없이 결재하는 본 제안 방식이 어떤 유리한 장점을 갖는지에 대해 다른 결재 방식을 살펴보고 본 방식의 유리한 장점을 살려 스마트 자판기의 전체 기본 프레임워크를 어떻게 설계할지를 제시한다.

1. 카드 결재 방식을 이용한 스마트자판기 시스템

선결재 방식의 충전식 RF 카드를 이용하게 할 경우에 상당히 편리하게 자판기를 이용할 수 있으나 카드 리더기와 같은 부가적인 장치가 자판기에 설치되어 있어야 하고 카드리더기가 비싼 편이어서 비용이 많이 든다는 측면에서 단점이 있다. 다른 방법으로는 신용카드 시스템을 설치하여 신용카드를 이용하여 결재하는 방식이 있으나 공항이나 쇼핑센터 등의 사람이 자주 이용하는 자판기 경우는 괜찮으나 일반적인 자판기에서는 많은 사람이 이용하지 않으므로 인해 신용카드 수수료가 많이 나오지 않아서 신용카드 서비스 회사에서 신용카드 결제 시스템을 자판기에 설치하려고 하지 않기 때문에 많이 사용되고 있지 않다.

2. 아직 해결되지 않는 단점을 지닌 모바일 결재 방식

모바일 결재 방식을 수년 동안 스마트자판기에 적용하고자 노력해왔다. SMS(Short Message Service) 이용 방식이 그 중 하나로 적용하고자 했으나 사용자가 이를 이용한 구매방식은 익숙하지 않고 과정이 복잡해서 사용 되지 않고 있다[5]. 또 다른 방식으로는 NFC(Near Field Communication) 기술을 이용한 방식을 사용한 방식인데 이는 보안관리가 잘되는 프로토콜을 사용하여 모바일 전자지갑 형태로 사용할 수 있어 매우 유용한 방식이다. NFC 방식은 NFC리더기 장착된 스마트자판기와 NFC 칩셋이 장착된 스마트폰이 있어야 하는데 아직 모든 스마트폰 기종에 NFC 기능이 구현되어 있지 않고 각 제조사마다 그 구현 기술이 달라서 그대로 적용하기는 어렵다[6].

3. IoT 기반 스마트 자판기 시스템 기본 프레임워크

신용카드나 기존의 모바일 결재 방식의 단점을 해결하여 보다 광범위하게 개방적이고 보편적인 모바일 결재가 가능한 방식으로 사용이 가능하도록 만들기 위해서 본 논문에서는 블루투스 통신방식을 이용해서 모바일 결재가 간편하게 이루어지도록 한다. 이는 어떤 기종의 스마트폰에도 블루투스 기능은 동작하므로 자판기에 블루투스 4.0 BLE 모듈을 장착하여 사용자가 자판기에 접근하면 스마트자판기 HTML5 쇼핑모듈이 동작하는 URL 메시지를 사용자 스마트폰으로 전송한다. 이 방식으로 사용 자는 스마프폰으로 매우 편리하게 결재를 하고 구매하고자 하는 자판기 물품을 선택할 수 있다. 또한 본 제안 방식은 IoT 송수신 모듈로 자판기 물품의 재고관리가 가능하게 해주어 매우 유용한 방식이다. 따라서 본 논문에서는 그림 1 같은 IoT 기반 스마트 자판기 시스템 구조로 스마트 자판기의 기본 프레임워크 설계하도록 한다[7, 8, 9, 10].

Ⅲ. IoT 기반 스마트 자판기 시스템 개발을 위한 소프트웨어 분석[3]

IoT 기반 스마트 자판기 시스템을 구현하기 위한 전체적인 시스템의 구조는 그림 1과 같은데 이들 기능에 대한 소프트웨어 요구사항분석을 기술하면 아래와 같다.

1. 요구사항 분석

(1) 상품선택 및 결제기능 모듈

스마트자판기 사용자가 자판기의 상품을 선택하고 결제하기 위한 모바일 결제 기능을 구현하는 것으로 사용자가 스마트자판기 부근의 일정거리 내에 접근하면 자동으로 스마트폰으로 자판기의 URL 주소가 보내지며 이를 스마트폰에서 터치하면 HTML5로 작성된 자판기 쇼핑모듈이 웹 브라우져 상에서 디스플레이되고 여기서 자판기에서 구매를 원하는 상품을 선택하고 모바일전자 결제로 상품을 구매하고 스마트폰 블루투스 송신으로 결제신호 및 상품코드 데이터를 자판기 블루투스 컨트롤러로 보내게 된다.

(2) 스마트 자판기 상품 쇼핑모듈

스마트자판기에서 보내지는 자판기 고유코드 신호에 따라 어떤 자판기인가를 인식하고 그에 상응하는 자판기 상품목록(상품명, 상품이미지, 가격 등)을 화면에 디스플레이하고 이는 물건 선택이 가능하고 선택 후에는 각 전자결제 서비스 회사의 모바일 결제 모듈과 연동되도록 기능을 수행한다.

(3) 스마트자판기 컨트롤러 동작 모듈

사용자 스마트폰으로 자판기 URL 주소를 보내고 사용자 스마트폰에서 보내지는 상품선택 및 결재 데이터를 수신하여 자판기의 상품을 선택하여 상품배출구로 보내는 제어 기능과 자판기에서 상품 배출에 따른 재고관리를 위한 상품배출 신호를 서버로 보내는 기능을 수행한다.

(4) 서버 재고관리 모듈

서버에서는 자판기별 상품배출 정보를 IoT 중계기를 거쳐 인터넷을 통해 전달받고 각 스마트자판기의 상품재고를 계산하여 재고가 부족이 예상될 시에 자판기 관리인에게 스마트폰 푸시메시지로 자판기 물건을 채울 것을 알리는 역할을 한다.

2. 유스케이스 다이아그램(Use Case Diagram)

위에서 간략히 기술한 요구사항을 UML(Unified Manipulation Language) 유스케이스 다이아그램으로 표시하면 그림 3과 같다.

OTNBBE_2019_v19n3_121_f0003.png 이미지

그림 3. 유즈 케이스 다이아그램

Fig. 3. Use Case Diagram

3. 객체지향 클래스 다이아그램

객체지향 분석을 위하여 농장, 운송차량, 집하장, 배송 센터, 서버, 단말 등을 객체로 설정하고 속성(attribute)과 메소드(method)로 구성된 클래스 다이아그램을 그리면 그림 4와 같다.

OTNBBE_2019_v19n3_121_f0004.png 이미지

그림 4. 객체지향 클래스 다이아그램

Fig. 4. Objected-oriented Class Diagram

IV. IoT 기반 과일 전자상거래 시스템 개발을 위한 소프트웨어 설계

IoT 기반 스마트자판기 시스템 개발을 위해 객체지향 분석 방법에 의한 분석한 내용 중에 가장 핵심적인 부분은 스마트폰에서 상품선택 및 결제하는 방법과 자판기 컨트롤러에서 상품선택 신호를 받아서 자판기의 상품을 택해서 상품배출구로 내보내는 제어처리와 상품코드 및 배출정보를 IoT 중계기를 거쳐 서버로 전송처리하는 부분이라고 할 수 있다. 이를 위해 본 논문에서는 플로우차트를 이용하여 프로그램 개발 설계 방법을 제시한다.

1. 스마트폰을 이용한 스마트 자판기 상품선택 및 결 제를 위한 프로그램 설계

그림 3과 그림 4에서 IoT 기반 스마트 자판기 시스템 개발을 위해 UML 방식에 의해 분석한 내용을 활용해서 스마트폰 객체에서 프로그램 개발을 위해 설계를 플로우 차트에 의해 기술하도록 한다.

그림 5에서 보듯이 스마트폰에서 자판기 상품을 고르는 과정은 자판기 컨트롤러에서 전송된 URL 주소를 터 치하면 자판기 쇼핑몰 화면이 디스플레이되고 여기에서 상품목록 이미지를 보고 원하는 상품을 선택하고 모바일 결제모듈을 통해 결제 완료하면 스마트폰에서 자판기로 블루투스통신에 의해 상품코드 신호를 전송하게 된다.

OTNBBE_2019_v19n3_121_f0005.png 이미지

그림 5. 스마트폰에서 상품처리 플로루차트

Fig. 5. Goods processing flowchart at smartphone 

다음으로는 스마트 자판기 객체에서 처리하는 프로그램을 플로우차트로 나타내면 그림 6과 같다. 자판기 컨트롤러는 스마트폰에서 전송한 상품코드 신호를 받아서 자판기 상품을 선택신호를 보내 상품을 배출구로 내보내도록 한다. 이때 IoT 송신모듈을 통해 배출한 상품코드를 서버로 전송한다.

OTNBBE_2019_v19n3_121_f0006.png 이미지

그림 6. 스마트자판기 컨트롤러 플로우차트

Fig. 6. Flowchart of smart vending machine controller 

2. 스마트폰에서 자판기 상품 선택 위한 화면 설계

IoT 기반 스마트자판기 시스템에서 자판기에 있는 상품을 구매하기 위하여 코인이나 지폐를 이용한 직접 구매방식이 아닌 본 논문에서 제안하는 방식인 스마트 쇼핑모듈을 이용한 구매하는 방식으로 설계하기 위한 모바일 화면 설계는 그림 7과 같다. 사용자가 자판기에 접근하면 그 자판기 쇼핑모듈이 있는 URL 주소가 스마트폰으로 전송이 되고 이때 사용자가 URL 주소를 터치하면 그림 7과 같은 화면이 나오게 되는데 자판기에 있는 상품리스트 이미지들과 가격을 볼 수 있고 사용자는 이전 버튼과 이후버튼을 눌러 필요한 상품을 검색해서 볼 수 있고 원하는 상품 이미지를 선택한 후에 구매 버튼이나 취소 버튼을 눌러 상품구매를 결정하면 이때의 화면은 전자결제 화면으로 이동하게 되며 이때 전자결제를 마치면 스마트폰에서 블루통신으로 구매한 상품코드 데이터가 전송되고 이 신호를 받아서 자판기 컨트롤러는 상품 코드에 매칭되는 자판기 내 물품을 배출구로 내보내게 된다.

OTNBBE_2019_v19n3_121_f0007.png 이미지

그림 7. 자판기 상품주문 위한 모바일 화면 설계

Fig. 7. Mobile screen design for goods order of vending machine

V. 결론

최근의 IoT 기술은 산업전반에 걸쳐 광범위하게 사용되는 기술로서 본 논문에서는 기존 자판기가 현금 없이 사용하기에 불편하고 재고관리에 비용이 많이 드는 것을 줄이기 위한 방안으로 IoT 기반으로 기존 자판기에 적용하여 좀 더 편리하게 사용자가 현금이 없이도 자판기를 사용하고 자판기 관리자는 주기적으로 자판기의 재고 때문에 자판기를 방문하는 불편함을 해소하여 재고관리 비용 감소가 가능한 새로운 스마트자판기 시스템을 제안하였다.

이러한 스마트 자판기를 설계하기 위해서는 기존 자판기 컨트롤러 장치에 블루투스 모듈과 IoT 모듈을 장착하여 하드웨어를 다시 설계하고 스마트폰으로 자판기 물건 구매 가능한 모바일 쇼핑모듈 제작함으로써 스마트 자판기 제작이 가능하도록 하였다. 이 중에서도 주요 요소인 IoT 기반 스마트자판기 시스템의 소프트웨어를 설계하는 방법을 객체지향분석 방법인 UML 방법으로 스마트 자판기 소프트웨어 분석 방법을 제시하였다. 또한 스마트 자판기 제어모듈과 스마트폰 쇼핑 모듈의 설계를 위해 플로우차트를 이용한 알고리즘 설계와 모바일쇼핑모듈의 화면설계 예시를 통해 분석한 방법이 설계에 유용하게 적용됨을 제시하였다.

따라서 본 논문에서 제시한 객체지향 분석 방법 및 설계에 의해 실제 IoT 기반 스마트 자판기 시스템을 구현한다면 보다 효과적인 스마트 자판기 시스템 제작이 가능하여 사용자는 현금이 없이 구매가 가능하고 자판기 관리자는 편리하게 재고 및 판매 관리에 도움을 받을 수 있다. 또한 이는 요즘 현금 없이 생활하는 현대인 트랜드에 맞는 새로운 스마트자판기 상용시스템 제작에 많은 도움이 될 것으로 기대한다.

참고문헌

  1. Se-Hoon Lee*, Kang-Min Lee*, Jin ShinO, Yoon-Su Lee**, "Smart Vending Machine System for Personalized Customer Services utilizing Big Data", Proceedings of the Korean Society of Computer Information Conference, 2016. 1.
  2. Min Goo Lee, Yong Kuk Park, Kyung Kwon Jung, "Modeling of Product Sales for Vending Machine using Environment Data", The Institute of Electronics Engineers of Korea Paper, 2015. 6.
  3. Cho, W. S., "UML Object-Oriented Analysis and Design", Hongnung Publishing Company, 2000.
  4. T. Yokouchi, "Today and tomorrow of vending machine and its services in Japan", 2010 7th International Conference on Proc. IEEE Service systems and Service Management, 2010. https://doi.org/10.1109/ICSSSM.2010.5530240
  5. Z. Wen, Z.X. Long, "Design and implementation of automatic vending machine based on the short message payment", 2010 6th International Conference on Proc. IEEE Wireless Communication Networking and Mobile Computing, 2010. https://doi.org/10.1109/WICOM.2010.5600192
  6. M. Jovanovic, M. Organero, "Analysis of the latest trends in mobile commerce using the NFC technology", JSAT., 2011.
  7. https://developer.apple.com/ibeacon
  8. https://google.github.io/physical-web/.
  9. D. H., Sin, "Trends and Prospects of IoT(Internet of Things)", Korean Society for Internet Information, 2013.
  10. Chorong Kim*, Sumi Kim*, Soeun Lee*, Sunju Park*, Eunmi Jung*, and Hyenki Kim**, "Design of Usage Charge Monitoring System using IoT", Proceedings of KIIT Conference, 2018.
  11. Sun-Jin Oh*, "Design of the Smart Application based on IoT", The Journal of The Institute of Internet, Broadcasting and Communication (IIBC), 2017. https://doi.org/10.7236/JIIBC.2017.17.5.151