APP下载

基于物联网的超市智能自助购物系统设计

2019-09-25黄艳国张慧敏2刘学鹏

计算机测量与控制 2019年9期
关键词:商品信息购物车射频

黄艳国,吴 磊,张慧敏2,刘学鹏

(1.江西理工大学 电气工程与自动化学院,江西 赣州 341000; 2.江西理工大学创新创业学院,江西 赣州 341000)

0 引言

随着网络技术的突飞猛进,近年来传统超市遭受到电商行业的冲击,客源也越来越稀少。最近,又一种全新的零售模式——“智能零售”正在兴起,一些电商巨头纷纷开始采用机器学习、深度学习和生物识别等高新技术进行“无人超市”的研究,这无疑再次给予传统超市沉重的打击。此外,传统超市本身也存在客源有限、不能为顾客提供精准的购物导航服务、购物高峰期排队结算缓慢、促销广告无法有效传播到客户群体、用户体验性差等众多问题[1-5]。这些外部和内部因素促使传统超市不得不考虑进行转型升级。传统超市大多无法投入大量资金来研究和推广那种运用机器学习、深度学习和生物识别技术等高新技术来实现的无人超市。为此,本文借助RFID等相对成熟的物联网技术来设计智能化的购物系统[6-8],在解决传统超市购物高峰期结算缓慢、商品寻找困难、用户体验性差等问题的同时,让商家减少雇员、降低广告成本、提高商品管理效率。这种基于物联网的购物、结算、管理方式,使得线上线下无缝对接,既突破了传统线下零售行业的局限性,又提高了线下零售的灵活性和体验性。

1 系统总体结构设计

基于物联网的超市智能自助购物系统主要包括基于FRID射频识别的商品读写器、云服务器、后台管理系统以及移动终端客户应用程序,其结构示意图如图1所示。

图1 基于物联网的超市智能自助购物系统结构图

硬件部分完成商品数据的采集。当用户将商品靠近购物车上的RFID射频读写器时,RFID射频读写器从商品标签中读取商品信息,接着将商品信息发送给STM32F103RCT6模块进行处理。STM32F103RCT6模块处理数据后将商品信息发送给ATK-ESP8266模块,并控制其连接WIFI后通过TCP/IP协议将商品信息及固定的购物车ID发送到指定云服务器的指定端口,服务器收到数据后将数据存入数据库。

FRID读写器主要完成购物车上商品的识别。当用户将商品靠近购物车上的RFID射频读写器时,通过射频信号读取商品标签,然后将商品信息发送给微控制器模块进行处理。处理数据后将商品信息发送给无线通信模块,并控制其连接WIFI后通过TCP/IP协议将商品信息及绑定的购物车ID发送到云服务器的指定端口,服务器收到数据后将数据存入数据库。

云服务器主要用来对商品和用户信息进行存储和管理[9-10]。包括购物车信息、客户信息、商品信息(包括商品名称、商品价格、生产日期、保质期、生产厂家、产品的分类以及定位等信息)以及商品的各类促销活动信息等。这些信息供移动终端和后台管理系统使用。

移动终端客户应用程序是用户使用微信小程序扫描购物车上二维码后即可完成与购物车的绑定,当用户刷新小程序的购物车页面后,当前绑定购物车内的商品信息将在页面内显示。用户挑选完商品之后,可以在小程序内自主完成结算支付。此外小程序还可为用户提供购物导航服务,用户也可在其中查看超市发布的促销活动、历史购物记录等。

后台管理系统使用HTTPS协议与服务器进行通信,它将服务器数据库中的数据展示在浏览器中供超市管理员查看,管理员通过在后台管理系统进行相应的操作实现对系统数据管理[11-12]。

2 系统硬件设计

2.1 基于RFID射频的商品读写识别

系统硬件主要包括STM32微控制器模块、RFID射频读写以及无线通信WIFI模块。系统硬件安装在购物车上,并与购物车的ID进行绑定。选购商品的识别采用的是基于RFID技术的M5-EA-TH-00射频读写模块,主要完成标签的读写和存储。该模块由基于STM32F103RCT6微控制器的核心板进行控制,通过内部监控程序使RFID射频模块一直处于循环寻卡的状态。当有商品的射频标签靠近靠近RFID射频模块时,识别是否为有效标签(卡)。若寻卡成功,程序启动防冲突机制,进行选卡操作,选卡成功后控制RFID射频模块与标签进行三次互相验证,验证成功后即可从标签中读出信息,之后RFID射频模块通过UART串口将读取的数据传输给STM32核心控制板进行处理。

2.2 WIFI无线通信模块设计

为了将消费者选购的商品条码信息实时传送到服务器,并从服务器段获得商品的详细信息(如促销活动、折扣等),购物车必须与系统的服务器进行实时无线通信。同Zigbee、Bluetooth等通信技术相比,WIFI技术随时可以接入无线网络信号,具备良好的移动性以及较高的传输速率,可通过无线连接本地路由器,将采集到的数据实时转发至远程服务器端[13-14]。WIFI的这些特点正好能够满足设计系统将商品信息发送至远程服务器的需求。

无线通信采用支持TCP/IP协议的ATK-ESP8266串口WIFI模块,如图2所示。STM32核心控制板首先将该模块设置为STA模式,然后启动对该模块的控制程序,使其连接WIFI或者手机热点。连接到网络后,可以让其与服务器通过TCP/IP协议进行连接,与服务器连接成功后,再使模块进入发送数据的模式,此时WIFI模块完成了初始化工作,处于等待发送数据的状态。当STM32微控制器模块控制RFID模块读取到标签信息并进行处理后,将数据传输给WIFI模块,WIFI模块接收到数据后将其发送到已经连接的服务器,并从服务器端下载该商品的附加信息。

图2 STM32模块与ATK-ESP8266模块通信电路

3 移动终端程序设计

3.1 微信小程序总体设计框架

随着手机等移动终端功能的不断强大,手机成为消费者必不可少的工具。移动终端应用采用微信小程序进行设计[15-16]。微信小程序是一种用户不需要下载安装、即点即用的应用,它实现了应用“触手可及”的梦想,用户扫一扫、搜一搜就可以打开使用。同时它也体现了用完即走的理念,用户不需要下载安装,用完后也不用担心占用存储空间的问题。微信小程序前端开发采用“微信web开发者工具”,前端主要使用WXML(HTML)、WXSS(CSS)以及JavaScript技术,后端开发主要使用PHP脚本语言以及MySQL数据库操作技术,前端和后端数据交互使用HTTPS协议。

为了方便购物者随时查看自己选购商品的价格、生产日期、折扣活动等详细信息,为用户提供购物导航服务、实时促销商品、促销活动以及电子支付等功能,总体设计框架如图3所示。

图3 微信小程序的总体设计框架

3.2 页面初始化

下面以“购物车”页面为例对微信小程序的设计过程进行介绍,页面的初始化流程如图4所示。首先需要触发一个定时器,每隔一秒钟更新一次页面时间。然后小程序携带part参数(轮播消息所在页面)向服务器发起GET请求以获取轮播消息展示在页面中。最后小程序需要携带本地缓存中的购物车ID,以及用户的微信昵称向服务器发起GET请求,服务器端PHP程序根据购物车ID以及默认付款标识(未付款)将商品信息中的用户微信昵称替换为当前用户的微信昵称,从而完成商品与用户之间进行关联。接着PHP程序根据购物车ID、用户微信昵称以及付款标识(未付款)到数据库中查询商品信息,并将查询结果返回给小程序。小程序将其以列表的形式显示在页面中。至此页面初始化结束。

图4 “购物车”页面初始化流程

3.3 用户登录验证

为使微信小程序能够从服务器的数据库中准确获取当前用户在购物车内添加的商品信息,就需要获取用户使用的购物车ID,为了实现这个功能,可以给每辆购物车设置一个ID,将ID生成二维码固定在购物车上。这样可以在小程序内扫描二维码来绑定购物车,从而获得购物车内的商品信息。

用户在“欢迎页面”成功扫描购物车二维码后,页面首先跳转到“购物车”页面,在该页面内将购物车内商品预览列表显示给用户。为了后续实现商品与用户进行绑定,需要让用户进行授权获取用户的微信昵称和头像等信息。在用户授权之后登录验证流程如图5所示。

图5 用户登录验证流程

4 后台管理系统设计

后台管理系统主要是为方便超市管理员能够实时对后台数据进行监测和管理,以网站的形式进行开发设计。为便于管理,在进行网站设计时,可以根据数据库的数据表进行网站框架设计,将网站分为7个主页面,分别为“订单管理”、 “商品管理”、“活动管理”、“消息管理”、“用户管理”、“收藏管理”以及“用户反馈”等页面,其他分页面可以在主页面中点击进入。台管理系统总体设计框架如图6所示。

图6 后台管理系统总体设计框架

在订单和商品管理页面中,输入关键字,可查看所有用户的订单信息,并可对商品信息进行添加、删除、修改等操作。在消息管理页面中,可发布最新活动,修改活动内容,删除过期活动,可新增、修改、删除轮播消息。通过收藏管理页面,可以快速找到购物者收藏的商品信息,通过历史数据挖掘,可对购物者的购物习惯、兴趣爱好进行分析,在此基础上,发布有针对性的商品信息和购物优惠促销活动。

后台管理系统开发主要采用动态网站开发技术,前端页面主要采用HTML、CSS、JavaScript进行开发,后端服务器程序主要使用PHP脚本语言以及SQL指令实现对数据库进行相关操作。

整个后台管理系统开发主要是实现前端和后端进行数据交互,实现对服务器数据库的增、删、改、查等操作。下面以添加活动为例说明后台管理系统的设计过程,添加活动处理流程如图7所示。在“活动管理”页面中,管理员点击“新增活动”后,页面跳转到添加活动页面(active_add.html),即“活动管理”页面。在该页面中添加了一个表单,以供管理员填写需要发布的活动信息,当点击提交后,页面通过POST方式将填写的数据提交给active_add.php程序进行处理。active_add.php程序先进行数据有效性判断,如果数据无效则需要提醒用户并将页面返回到active_add.html页面,如果数据有效则php程序需要组织SQL指令,以将活动数据添加到数据库的active数据表中,数据添加成功后同样需要提醒用户操作成功,同时还要将页面跳转到active.php页面,也即“活动管理”页面。

图7 添加活动处理流程

5 系统测试

系统硬件与服务器的通信采用TCP/IP协议实现。硬件部分通过STM32微控制器控制RFID模块,并通过无线通信方式与远程服务器建立连接。服务器端监听程序一直对服务器的端口进行监听,当监听到客户端向端口发送数据时,监听程序与其进行三次握手验证,验证成功后建立连接,监听程序读取缓冲区数据并进行处理,然后将其存入数据库中,完成一次连接后监听程序又回到监听的初始状态。

实现硬件和服务器的通信之后,整个系统的硬件和软件就真正关联起来了。当商品上的射频标签靠近射频读写模块时,商品信息通过通信模块连接WIFI后发送到云服务器,随后用微信小程序扫描购物车二维码进入小程序后刷新页面,刚刚识别的商品信息就展示在“购物车”页面中,如图8所示。后台管理系统以“活动管理”页面为例进行测试,如图9所示。

图8 微信小程序测试页面

图9 后台管理系统页面

通过对微信小程序的购物导航、商品收藏、结算支付、客服反馈等功能以及后台管理系统发布促销活动到微信小程序等功能进行测试,功能都能够实现,测试结果均可达到预期效果。

6 结束语

本文将物联网技术应用于超市购物系统中,利用比较成熟的RFID技术和无线通信技术设计基于物联网的超市智能自助购物系统,阐述了硬件的工作原理、微信小程序设计思路以及后台管理系统的设计过程。该系统使得购物过程中线上与线下深度融合,不仅可以达到吸引顾客的目的,而且成本相对较低。通过测试验证了系统的功能,可以给消费者带来较好的体验,为广大线下零售超市提供一种应对电商行业冲击的新思路。

猜你喜欢

商品信息购物车射频
5G OTA射频测试系统
关于射频前端芯片研发与管理模式的思考
被疫情改变的购物车
备战双十一
射频宽带放大器设计
购物车
购物车里的“时间线”
电子商务背景下商品信息检索问题研究
腹腔镜射频消融治疗肝血管瘤
加强医院采购管理工作的思考与实施