Design of a QR Code based Tour Guide System

International Journal of Software Engineering and Its Applications Vol. 10, No. 10 (2016), pp. 139-148 http://dx.doi.org/10.14257/ijseia.2016.10.10.14...
Author: Stewart Rogers
5 downloads 0 Views 856KB Size
International Journal of Software Engineering and Its Applications Vol. 10, No. 10 (2016), pp. 139-148 http://dx.doi.org/10.14257/ijseia.2016.10.10.14

Design of a QR Code–based Tour Guide System Jaegeol Yim1 and Gyuhyeon Jo Dept. of Computer Engineering, Dongguk University at Gyeongju, Gyeongbuk, 38066, Korea [email protected] Abstract A quick response (QR) code is a two-dimensional barcode in which a lot of information can be recorded. There are many online QR code generators that conveniently make QR codes. Recognition of QR codes with a smartphone is easy and fast. Therefore, QR codes are widely used in various industries, such as manufacturing, logistics, transportation, retail stores, advertising, education, and office automation. This paper proposes the design of a QR code–based client–server tour guide system, which comprises a web server, a streaming server, and an archive system. The client is a smartphone application that recognizes the information in a QR code when the user takes a picture of it. Then, the client accesses the web resource designated by the QR code. A web site can provide a video closely related to the tourist attraction to which the QR code is attached. In addition to playing videos, the web site provides many kinds of useful information to tourists. Keywords: Quick Response Code, Tour Guide, Video, Streaming Server, Web

1. Introduction A quick response (QR) code is a two-dimensional bar code in which a lot of information can be stored. In the QR code attached to an item, information about it is recorded. When the QR code system was first introduced, it was mostly used in the automotive industry. As smartphones became a daily necessity and equipped with many sensors (a powerful processor, a large-capacity memory, and a high-resolution camera), many QR code– based smartphone applications were introduced. For example, when the user takes a picture of a QR code attached to an item, a price-comparison app can display a list of (store, price) pairs where each (store, price) pair shows the store that sells the item for that price. Taking a picture of a QR code implies that a tourist is interested in the place or object to which the QR code is attached. Once the object of interest is recognized, it is possible to determine what information the tourist is interested in and which services the tourist might need. Therefore, this paper presents a QR code–based tour guide system.

2. Related Research A quick response (QR) code is a two-dimensional barcode shaped in a black-and-white grid pattern that contains information like numbers and textual data. Lee et. al., [1] attached a QR code to a temperature sensor and took a picture of the QR code with a webcam in order to obtain a chip temperature. Lee [2] claimed that he implemented a QR code content-generation system and is planning to port this to a web server. Park et. al., [3] proposed a QR code–based sow specification management system in order to increase maximum sustainable yield and improve sow parturition and 1*

Corresponding Author

ISSN: 1738-9984 IJSEIA Copyright ⓒ 2016 SERSC

International Journal of Software Engineering and Its Applications Vol. 10, No. 10 (2016)

productivity. Each sow room has a QR code attached to it. The key value of the QR code and information about the expected rut date of the sow, amounts of daily intake, and the weight of the hog is stored in a database server. The integration servers connect to user PCs and smartphones through the Internet. A conceptual model of the system is seen in Figure 1.

Figure 1. Schematic of a Sow Breeding Management System [3] The structure of the database is described in Figure 2. QR-code key, daily feed intake, vaccine status, weight, back-fat thickness, parturition, expected date of rut, and so on, are example attributes of the table.

Figure 2. The Structure of the Sow Breeding Management Database [3] The processes in the sow specification management system are laid out in Figure 3. During the login process, users type in their user names and passwords. Java Server Pages (JSP) performs the authentication test with the input user name and password and returns the user interface to valid subscribers. Now, the user may take a picture of a QR code. Then, the server retrieves the information associated with the key value written in the QR code from the database and displays it on the user interface.

140

Copyright ⓒ 2016 SERSC

International Journal of Software Engineering and Its Applications Vol. 10, No. 10 (2016)

Figure 3. The Processes in the Sow Specification Management System [3] An online login process that requires only an identification (ID) and password is classified as one-factor authentication. In order to enhance the security level, two-factor authentication is widely used by banks and business systems. One of the most popular two-factor authentication processes is token-based. After checking the input ID and password, this two-factor authentication system sends a token to the user, which is a unique six- to eight-digit code. The user must type in the token, and the two-factor authentication system checks if the token sent to the user is the same as the token typed in by the user.

Figure 4. QRLogin Authentication Process [4] Yoo et. al., [4] proposed QRLogin where users of the system scan a QR code instead of typing in a token. The QRLogin authentication procedure is described in Figure 4. The

Copyright ⓒ 2016 SERSC

141

International Journal of Software Engineering and Its Applications Vol. 10, No. 10 (2016)

main steps of this procedure include (1) the server system displaying the QR code containing a one-time password (OTP) value, (2) the user scanning the QR code with a mobile phone, and (3) the user choosing from a list of accounts associated with the QR code. In order to hide the information stored in QR code images, Yu et. al., [5] proposed an encryption and decryption method based on the elementary cellular automata state ring. A QR code–based shopping guide system was developed by Anand et. al., [6]. In a QR code, they recorded the article name, number, location, and so on. When a user scans a QR code with a smartphone, the code is sent to the cloud system and compared with the data in the server. The cloud system determines which services the user would like to have by investigating the user’s archived personal information and the QR code. A QR code can contain a variety of information, such as uniform resource locator (URL) links as well as text (for example, contact information and product details). The application areas for QR codes include manufacturing, warehousing and logistics, healthcare, transportation, office automation, and marketing. Tretinjak [7] investigated various methods for the implementation of QR codes in the educational process. Jo et al. [8] surveyed QR code applications.

3. Design of the Tour Guide System The proposed client–server tour guide system is a client-side mobile application with the server side comprising a web server, a streaming server, and an archive server, as shown in Figure 5. On the points of interest, such as relics and the remains of ancient kingdoms, QR codes are attached. When our mobile application takes a picture of a QR code, the URL recorded in it is recognized, and the web site is accessed. Through the user interface of the web site, users can select the videos they want to watch.

Figure 5. The Structure of the Client–Server System The layout for part of the main web page is shown in Figure 6. The most important element of this user interface is the video player that receives and plays streaming video. Next to the video player, we can find text that describes the selected point of interest and when, why, and how it was made. The main menus at the top provide users with information geared to tourists. Places to stay, restaurants, and places to visit are a few example items from the main menu. Thumbnails represent videos that are related to the point of interest associated with the QR code. If a user clicks any of the thumbnails, the video represented by the thumbnail is played in the video player window. Several banners on the page advertise events that are occurring, or that will be held in the near future. On the page, we also find several icons that link to related web sites including the official home page of Korea Tourism Organization.

142

Copyright ⓒ 2016 SERSC

International Journal of Software Engineering and Its Applications Vol. 10, No. 10 (2016)

Figure 6. Layout of the Main Web Page

4. Implementation Considerations 4.1. Streaming Server Our tour guide system determines what object the user is looking at when the user scans the QR code attached to it. Then, it plays a video that is most closely related to this object and displays thumbnail images of other videos related to it. When the user selects any of these thumbnails, our tour guide plays the video represented by the selected thumbnail. Since the size of a video file is usually large, whereas memory in a smartphone is limited, instead of storing video files in the smartphone, we have it play the video from a streaming server. The Darwin Streaming Server, Red5 Media Server, and Wowza are examples. Darwin Streaming Server runs on the Windows 2000/2003 Server, but the Red5 Media Server did not work properly when we connected to it with a mobile device. Therefore, we installed Wowza Streaming Engine as our streaming server. Wowza can broadcast a live stream and a video stream to TVs, desktops, and mobile devices, as illustrated in Figure 7.

Figure 7. A Conceptual Model of the Wowza Streaming Engine

Copyright ⓒ 2016 SERSC

143

International Journal of Software Engineering and Its Applications Vol. 10, No. 10 (2016)

For each mobile device type, the connection protocols are as follows. -

iPhone, iPad: http://wowza-ipaddress:1935/[application]/[appInstance]/[prefix]:[path-1]/[path-2]/stream name/playlist.m3u8

Example: http://203.247.240.69:1935/vod/_definst_/mp4:sub01/example.mp4/playlist.m3u8 -

Flash HTTP Streaming: http://wowza-ipaddress:1935/[application]/[appInstance]/[prefix]:[path-1]/[path-2]/stream name/manifest.f4m

-

Silverlight HTTP Smooth Streaming: http://wowza-ipaddress:1935/[application]/[appInstance]/[prefix]:[path-1]/[path2]/streamname/Manifest

-

Flash Player (RTMPJWPlayer, FlowPlayer): rtmp://wowza-ipaddress/[application]/[appInstance]/[prefix]:[path-1]/[path-2]/streamname

Example: rtmp://203.247.240.69/vod/_definst_/mp4:sub01/sample.mp4 -

Android: rtsp://wowza-ip-address/[application]/[appInstance]/[prefix]:[path1]/[path-2]/streamname

Example: rtsp://203.247.240.69/vod/_definst_/mp4:sub01/sample.mp4 The default port number for Android is 554. Therefore, we have to add port 554 to [Wowza install-dir]/conf/VHost.xml as follows: 4 * 554,1935 In the [Wowza install-dir]/bin directory, there is a startup.bat file that starts Wowza Streaming Engine and a shutdown.bat file that stops it. The videos have to be located under the content directory in order to stream them. Download Wowza Streaming Engine from http://www.wowza.com. After installing it, properly set the environment variables, such as JAVA_HOME and Path. Then, access the following site in order to download the wms-plugin-collection.zip file: http://www.wowzamedia.com/downloads/forums/collection/wms-plugin-collection.zip There is a README.HTML file in the zipped archive. Click README.HTML and the web page in Figure 8 will appear. Choose “Click here to download” to obtain WowzaServerAddOnCollection.zip. The wms-plugin-collection.jar file in this zipped archive should be copied and located under the lib directory.

144

Copyright ⓒ 2016 SERSC

International Journal of Software Engineering and Its Applications Vol. 10, No. 10 (2016)

Figure 8. The README.HTML Page The file structure of the wms-plugin-collection.jar file is shown in Figure 8, showing the location of the ServerListenerStreamPublisher.class. This location has to be specified in the Server.xml file as follows: ServerListenerStreamPublisher …

com.wowza.wms.plugin.collection.serverlistener.

Figure 9. The File Structure of the wms-plugin-collection.jar File In the Server.xml file, the PublishToApplication property has to be specified as follows: PublishToApplication livetv Then, create the livetv folder under the conf folder. The Application.xml file should be located in the livetv folder. In Application.xml, specify the StreamType and the LiveStreamPacketizers. The process of specifying how and when each frame of video content should be delivered is called hinting. In order for video files to be streamed, they have to be hinted. The PotEncoder downloadable from the tvpot.daum.net provides the hint service. After encoding with PotEncoder, hint the encoded file using the MP4Box command from the Windows Command prompt, as shown in Figure 10.

Copyright ⓒ 2016 SERSC

145

International Journal of Software Engineering and Its Applications Vol. 10, No. 10 (2016)

Figure 10. The Command to Hint a File Now, we are ready to write a smil file to specify broadcast programs. An example smil file is shown in Figure 11. Programs for two channels are specified. The stream1 and stream2 channels will start streaming dog.mp4 and sample.mp4, respectively, from beginning to end at 2016-05-26 17:00:00. …

Figure 11. An Example smil File For the client program, an HTML page can be developed. The code to access the streaming server is as follows:

width="200"

Two example screenshots from the client are shown in Figure 12. They were taken at 2016-05-26 17:00:00. According to the smil file, dog.mp4 is supposed to run at this moment.

146

Copyright ⓒ 2016 SERSC

International Journal of Software Engineering and Its Applications Vol. 10, No. 10 (2016)

Figure 12. Screenshots from the Client 4.2. QR Code There are many websites where we can make QR codes. For example, www.scanny.net provides a “QR code generation” menu. On the “QR code generation” page, we find the following menu buttons: name card, e-mail, latitude and longitude, telephone number, text, URL, and YouTube video. Selecting a menu button leads to a web page where we can conveniently enter the selected item into the QR code. For example, after entering a URL and telephone number, we could have the QR code shown in the right hand side of Figure 13.

Figure 13. An Example Online QR Code Generator

5. Conclusion This paper introduced the design of a QR code–based tour guide. Recognizing an object in which a tourist is interested, the system presents information and services the tourist might want. One of the unique features of this system is that it can render information in video format. For quick video service, the system uses a streaming server. This system also provides general tourism information. Techniques used in the system implementation were discussed in this paper. Making use of these techniques, we are developing the prototype of a practical tour guide.

Copyright ⓒ 2016 SERSC

147

International Journal of Software Engineering and Its Applications Vol. 10, No. 10 (2016)

Acknowledgments This research was supported by the Dongguk University Research Fund of 2016, by the Ministry of Education (NRF-2011-0006942), and by the Ministry of Knowledge Economy (10037393).

References [1]

[2] [3] [4] [5] [6]

[7]

[8]

S. Lee, J. Kim, Y. Kim, H. Song and C. Park, “Multiple USB Webcam Link Control System for Reading QR Codes of Micro PCR Biochip Calibration Factor Values”, IJCA, vol. 8, no. 1, (2015), pp. 335-342. K. Lee, “Implementation of Smartphone System using QR Code in Mobile Environment”, IJSEIA, vol. 7, no. 6, (2013), pp. 137-146. H. Park, H. Jeong and H. Yoe, “A Study on the Sow Breeding Management System for MSY Improvement based QR-Code”, IJMUE, vol. 9, no. 4, (2014), pp. 179-186. S. Yoo, S. Shin and D. Ryu, “An Innovative Two Factor Authentication Method: The QRLogin System”, IJSIA, vol. 7, no. 3, (2013), pp. 293-302. X. Yu, S. Yang, Y. Yang, Y. Shuchun, C. Hao and G. Yanxia, “An Encryption Method for QR Code Image Based on ECA”, IJSIA, vol. 7, no. 5, (2013), pp. 397-406. R. Anand, R. Regan and V. Mohanraj, “Cloud based shopping guide system using qrcode”, Third International Conference on Computing Communication & Networking Technologies (ICCCNT), Coimbatore, Tamilnadu, India, (2012) July 26-28. M. Tretinjak, “The implementation of QR codes in the educational process”, 38th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), Opatija, Croatia, (2015) May 25-29. G. Jo, N. Kang and J. Yim, “A Survey of QR-code Techniques”, Asia-pacific Proceedings of Applied Science and Engineering for Better Human Life, vol. 9, (2016), pp. 75-79.

Authors Jaegeol Yim, Jaegeol Yim received an MSc and PhD in Computer Science from the University of Illinois at Chicago, in 1987 and 1990, respectively. He is a Professor in the Department of Computer Engineering at Dongguk University at Gyeongju Korea. His current research interests include Petri net theory and its applications, location-based services, AI systems, and multimedia systems. He has published more than 50 journal papers, 100 conference papers (mostly written in the Korean Language), and several undergraduate textbooks.

148

Copyright ⓒ 2016 SERSC