本文在Zigbee技术、物联网技术和手机扫码支付技术等几大技术的基础上,以STM32和Arduino为主控芯片,研究了一种自动售货机系统。这类系统可实现购买商品的线上/线下支付,运营商可以通过短信就能及时了解售货机的状态信息和报警信息,通过在手机APP就可查看和统计销售数据,研究结果发现:自动售货机系统设计达到了设计目标。
关键词:自动售货机,Zigbee,物联网,移动扫码支付
近年来,国内自动售货机发展迅猛,近几年年均增幅超过25%,有别于传统的销售模式,自动售货机占地面积小,可以灵活分散部署,无人值守,节省人力成本,交易方便,购物方便便捷,为人们提供了新鲜的购物体验,越来越被大家所接受和喜欢。目前自动售货机已经成了一种全新的具有很高社会和经济价值的商业零售模式。
由于国内自动售货机部署的数量逐渐增多,例如大型商场、学校教学楼、机场、地铁等地方随处可见,部署点相距几百米甚至上千米不等。同时移动支付也受到更多人的青睐[1],传统的自动售货机的结构和销售模式已无法满足消费者和运营商的需求,而目前国内联网的售货机大多采用有线、GSM和WIFI等技术采集数据和监管,对于部署点较多的情况,这种监控系统联网成本高、范围小,很难应用在面积较大、网络环境较差的公共场所中。目前已有的基于物联网的自动售货机监控系统大都运行在PC机上,功能复杂,开发周期长[2]。结合移动支付技术和无线通讯相关技术,本文设计了一个基于Zigbee和物联网平台的自动售货机系统,该系统成本较低,结构简单合理,既能满足移动扫码购物的需求,又能满足运营商的管理需求。
1 系统总体设计
Zigbee网络作为一种短距离、低功耗、低数据传输的无线网络技术,具有强大的组网能力,可以形成星型、树型和网状网等三种Zigbee网络。本文选用DIGI公司的串口模块Xbee 2C[3],传输距离1200米,只要部署点与协调器之间的距离不超过1200米,即可采用星型网络。若距离大于1200米,可采用树型和网状结构。
本文设计采用的是星型网络,基于Zigbee和物联网平台的自动售货机系统总体结构如图1所示。分散部署的自动售货机通过Zigbee网络中的终端与协调器通讯,网关接口通过协调器接收分散在不同地点的自动售货机上传的销售数据,并根据具体情况,选择通过3G或4G模块或WIFI模块将数据传到云端,另一方面网关接口还负责将接收到的售货机的工作状态通过短信发给运营商,以便商家及时了解各个售货机的工况,便于维护和处理。设备状态包括摇晃报警、吐币机过流、硬币机卡币、纸钞机卡钞,空货道号等。云平台可选用公共云平台或自搭建服务器实现。通过智能手机或移动终端上的APP或微信程序,运营商可随时查看每台售货机的线上(网上支付)线下(投币)销售額,当日销售额和历史总销售额。
2 硬件详细设计
2.1 自动售货机硬件设计
自动售货机硬件系统的整体连接框图如图2所示。售货机硬件包括:STM32单片机、日历时钟、硬币投币机及其接口电路、Zigbee通讯模块、开关电源、出货机构及其接口电路、找零机构及其接口电路、纸币识别器及其接口电路、报警检测电路、触摸屏及LCD显示器、按键等。
其中纸币识别器、智能触摸屏/LCD显示器和XBee模块通过串口与STM32连接,日历时钟采用I2C串口总线与STM32连接,其余通过数字I/O接口与单片机连接。Zigbee模块设置为终端(EndDevice)或路由器。
2.2 网关接口硬件设计
网关接口硬件包括单片机、Zigbee通讯模块、WIFI模块和3G模块等。其中单片机选用具有4个串口的Arduino板2560[3],Zigbee模块选用DIGI公司的Xbee 2C模块[4-5],并设置为协调器。WIFI选用ESP-01S串口模块[6],通过AT命令实现数据的透传功能。3G模块选用SIM900A串口模块[7]。
3 软件设计
基于Zigbee和物联网平台的自动售货机系统软件包括三部分:自动售货机软件、网关接口软件和手机APP软件。
3.1 自动售货机软件
自动售货机软件分为管理员操作界面和用户操作界面。管理员操作界面通过扫二维码或输入密码登录。其中绑定终端的功能是通过设备扫描二维码,实现设备的账号绑定。点击查看帐目可实时查看当日的销售情况,包括当日和上一日的销售数据:线上收益、线下收益、收益合计和累计收益(从开机到当日)。脉冲设置可对硬币机的脉冲时间间隔进行修改。设备名称可修改本机的设备号。添加硬币可查看当前的硬币数,可输入添加的硬币数,清币计数可用来实现机器中的硬币数统计功能。时间设置负责初始化日历时钟。货道设置可输入每个货道的数量和单价。恢复出厂将系统记录的销售数据清零,系统进入初始工作状态。操作完成后点击退出管理员界面,回到用户界面。
用户界面可随机播放多幅广告界面,点击屏幕进入用户界面。在此界面下,用户点击想购买的商品即可显示单价,用户可选择投币或手机扫二维码两种方式进行购买。当投币的金额大于显示价格时,或者扫码支付成功后即可出货,出货后屏幕提示按下找零键,完成找零。
自动售货机软件主要流程如图3所示。其中上传数据帧设定在某天的固定时间。
3.2 网关接口软件
网关接口软件通过Zigbee网络接收自动售货机上传的销售数据和状态信息,通过WIFI将数据上传云端,并通过3G模块发送短信提示信息。Xbee模块采用串口与单片机相连,其工作模式有两种:AT模式和API模式。AT模式也称为透传模式,主要特点是操作简单易学,通过Xbee发送的数据与接收端收到的数据保持一致,Xbee模块的功能就像是代替了串口通讯线,但实现了无线通讯。但当多个模块进行通讯时,必须给出目标地址。接收端无法识别数据源。API模式的主要特点是:采用数据包(API帧)进行通讯,适合大型网络的数据传输。由于目标地址被包括在API帧结构中,信息可发送到多个模块。API帧中包括信息源,接收端很容易知道每个接收包的来源。另外每个接收包包含接收数据的成功/失败的状态信息和信号强度,可进行网络管理和诊断,API模式还有远程固件更新等功能[4]。
本文的Zigbee通讯采用API模式。模式配置使用XCUT软件完成。协调器主要参数配置为:ID:1;CE:1;MY:0xFFFE;DH:0;DL:0;AP:1。终端主要参数配置为:ID:1;CE:0;DH、DL设为协调器的MAC地址;AP:1。协调器接收的4字节的数据帧和终端节点发送4字节的数据帧格式如表1和表2所示。从表1和表2看出,接收帧的数据长度比发送帧数据长度少2个字节。
WIFI模块采用透传模式上传数据。
3.3 Android移动智能终端软件
智能终端软件主要实现对自动售货机的销售数据的监视和统计的功能。可基于Android 平台自主开发。也可利用微信WEB开发者工具开发微信小程序,通过API接口读取网关接口上传云端的销售数据,显示在用户手机上,方便管理者了解所有自动售货机的销售情况。
手机APP可实现多台售货机的线上收益、线下收益、线上/线下收益合计以及累计收益的查看和统计功能。通过历史曲线可随时查看销售收益的变化。
4 结束语
本文主要设计与实现了一个自动售货机的模型,提出了一种基于Zigbee和IOT的自动售货系统的设计方案,给出了自动售货机和网关接口的软硬件设计方法。测试结果表明:该系统既实现了自动售货的功能,又实现了运营商利用手机APP对多台售货机的监视和销售数据的统计功能。用户可选择投币或扫码方式购物,实现了线上/线下支付功能。本文所设计的自动售货机的特点是:系统结构和操作设计简单合理,成本低、开发周期短,既可满足消费者良好的购物体验,又可满足运营商的管理需求。
参考文献:
[1]文国军.基于手机二维码支付的售货机物联网平台的设计与实现[D].成都:中南大学,2013.
[2]景东男,韩建民,王爱华.基于物联网的自动售货机及远程监控系统[J].计算机技与发展,2013,23(5):228-230.
[3]程晨.Arduino开发实战指南[M].北京:机械工业出版社,2012.
[4]Digi International Inc. Wireless Connectivity Kit Getting Started Guide.
[5]Digi International Inc.XBee/XBee-PRO S2C 802.15.4 RF Module User Guide,2017.
[6]樂鑫信息技术有限公司.Espressif AT指令集[Z].2014.
[7]全球鹰通讯.SIM900/A 232版本模块用户手册[Z].V1.1,2014.
推荐期刊:物联网技术杂志投稿邮箱咨询
《物联网技术》杂志是目前国内第一本经国家新闻出版总署批准,手续齐全的物联网专业科技期刊。物联网是继计算机、互联网之后世界信息技术的第三次革命,据美国独立市场研究机构Forreter预测,物联网所带来的产业价值要比互联网大30倍,将形成下一个上万亿元规模的高科技市场。