仇實(shí) 李蘭英 李敏杰 毛卉奇 王鑫月
摘 要:結(jié)合Zigbee技術(shù)、物聯(lián)網(wǎng)技術(shù)和手機(jī)掃碼支付技術(shù),以STM32和Arduino為主控芯片,設(shè)計(jì)了一種自動(dòng)售貨機(jī)系統(tǒng)。系統(tǒng)可實(shí)現(xiàn)購(gòu)買商品的線上/線下支付,運(yùn)營(yíng)商通過(guò)短信可及時(shí)了解售貨機(jī)的狀態(tài)信息和報(bào)警信息,通過(guò)手機(jī)APP可查看和統(tǒng)計(jì)銷售數(shù)據(jù)。測(cè)試結(jié)果表明:系統(tǒng)設(shè)計(jì)達(dá)到了設(shè)計(jì)目標(biāo)。
關(guān)鍵詞:自動(dòng)售貨機(jī);Zigbee;物聯(lián)網(wǎng);移動(dòng)掃碼支付
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2018)04-0008-03
Abstract: In combination with Zigbee technology, Internet of things technology and mobile phone code-scanning payment technology, a vending machine system is designed with STM32 and Arduino as the main control chips. The system can realize the on-line/offline payment for purchasing goods, the operators can know the status information and alarm information of the vending machine in time through short text messages, and the sales data can be viewed and counted through the mobile phone APP. The test results show that the system design has reached the expected goal.
Keywords: vending machine; Zigbee; Internet of Things; mobile code scanning payment
引言
近年來(lái),國(guó)內(nèi)自動(dòng)售貨機(jī)發(fā)展迅猛,近幾年年均增幅超過(guò)25%,有別于傳統(tǒng)的銷售模式,自動(dòng)售貨機(jī)占地面積小,可以靈活分散部署,無(wú)人值守,節(jié)省人力成本,交易方便,購(gòu)物方便便捷,為人們提供了新鮮的購(gòu)物體驗(yàn),越來(lái)越被大家所接受和喜歡。目前自動(dòng)售貨機(jī)已經(jīng)成了一種全新的具有很高社會(huì)和經(jīng)濟(jì)價(jià)值的商業(yè)零售模式。
由于國(guó)內(nèi)自動(dòng)售貨機(jī)部署的數(shù)量逐漸增多,例如大型商場(chǎng)、學(xué)校教學(xué)樓、機(jī)場(chǎng)、地鐵等地方隨處可見,部署點(diǎn)相距幾百米甚至上千米不等。同時(shí)移動(dòng)支付也受到更多人的青睞[1],傳統(tǒng)的自動(dòng)售貨機(jī)的結(jié)構(gòu)和銷售模式已無(wú)法滿足消費(fèi)者和運(yùn)營(yíng)商的需求,而目前國(guó)內(nèi)聯(lián)網(wǎng)的售貨機(jī)大多采用有線、GSM和WIFI等技術(shù)采集數(shù)據(jù)和監(jiān)管,對(duì)于部署點(diǎn)較多的情況,這種監(jiān)控系統(tǒng)聯(lián)網(wǎng)成本高、范圍小,很難應(yīng)用在面積較大、網(wǎng)絡(luò)環(huán)境較差的公共場(chǎng)所中。目前已有的基于物聯(lián)網(wǎng)的自動(dòng)售貨機(jī)監(jiān)控系統(tǒng)大都運(yùn)行在PC機(jī)上,功能復(fù)雜,開發(fā)周期長(zhǎng)[2]。結(jié)合移動(dòng)支付技術(shù)和無(wú)線通訊相關(guān)技術(shù),本文設(shè)計(jì)了一個(gè)基于Zigbee和物聯(lián)網(wǎng)平臺(tái)的自動(dòng)售貨機(jī)系統(tǒng),該系統(tǒng)成本較低,結(jié)構(gòu)簡(jiǎn)單合理,既能滿足移動(dòng)掃碼購(gòu)物的需求,又能滿足運(yùn)營(yíng)商的管理需求。
1 系統(tǒng)總體設(shè)計(jì)
Zigbee網(wǎng)絡(luò)作為一種短距離、低功耗、低數(shù)據(jù)傳輸?shù)臒o(wú)線網(wǎng)絡(luò)技術(shù),具有強(qiáng)大的組網(wǎng)能力,可以形成星型、樹型和網(wǎng)狀網(wǎng)等三種Zigbee網(wǎng)絡(luò)。本文選用DIGI公司的串口模塊Xbee 2C[3],傳輸距離1200米,只要部署點(diǎn)與協(xié)調(diào)器之間的距離不超過(guò)1200米,即可采用星型網(wǎng)絡(luò)。若距離大于1200米,可采用樹型和網(wǎng)狀結(jié)構(gòu)。
本文設(shè)計(jì)采用的是星型網(wǎng)絡(luò),基于Zigbee和物聯(lián)網(wǎng)平臺(tái)的自動(dòng)售貨機(jī)系統(tǒng)總體結(jié)構(gòu)如圖1所示。分散部署的自動(dòng)售貨機(jī)通過(guò)Zigbee網(wǎng)絡(luò)中的終端與協(xié)調(diào)器通訊,網(wǎng)關(guān)接口通過(guò)協(xié)調(diào)器接收分散在不同地點(diǎn)的自動(dòng)售貨機(jī)上傳的銷售數(shù)據(jù),并根據(jù)具體情況,選擇通過(guò)3G或4G模塊或WIFI模塊將數(shù)據(jù)傳到云端,另一方面網(wǎng)關(guān)接口還負(fù)責(zé)將接收到的售貨機(jī)的工作狀態(tài)通過(guò)短信發(fā)給運(yùn)營(yíng)商,以便商家及時(shí)了解各個(gè)售貨機(jī)的工況,便于維護(hù)和處理。設(shè)備狀態(tài)包括搖晃報(bào)警、吐幣機(jī)過(guò)流、硬幣機(jī)卡幣、紙鈔機(jī)卡鈔,空貨道號(hào)等。云平臺(tái)可選用公共云平臺(tái)或自搭建服務(wù)器實(shí)現(xiàn)。通過(guò)智能手機(jī)或移動(dòng)終端上的APP或微信程序,運(yùn)營(yíng)商可隨時(shí)查看每臺(tái)售貨機(jī)的線上(網(wǎng)上支付)線下(投幣)銷售額,當(dāng)日銷售額和歷史總銷售額。
2 硬件詳細(xì)設(shè)計(jì)
2.1 自動(dòng)售貨機(jī)硬件設(shè)計(jì)
自動(dòng)售貨機(jī)硬件系統(tǒng)的整體連接框圖如圖2所示。售貨機(jī)硬件包括:STM32單片機(jī)、日歷時(shí)鐘、硬幣投幣機(jī)及其接口電路、Zigbee通訊模塊、開關(guān)電源、出貨機(jī)構(gòu)及其接口電路、找零機(jī)構(gòu)及其接口電路、紙幣識(shí)別器及其接口電路、報(bào)警檢測(cè)電路、觸摸屏及LCD顯示器、按鍵等。
其中紙幣識(shí)別器、智能觸摸屏/LCD顯示器和XBee模塊通過(guò)串口與STM32連接,日歷時(shí)鐘采用I2C串口總線與STM32連接,其余通過(guò)數(shù)字I/O接口與單片機(jī)連接。Zigbee模塊設(shè)置為終端(EndDevice)或路由器。
2.2 網(wǎng)關(guān)接口硬件設(shè)計(jì)
網(wǎng)關(guān)接口硬件包括單片機(jī)、Zigbee通訊模塊、WIFI模塊和3G模塊等。其中單片機(jī)選用具有4個(gè)串口的Arduino板2560[3],Zigbee模塊選用DIGI公司的Xbee 2C模塊[4-5],并設(shè)置為協(xié)調(diào)器。WIFI選用ESP-01S串口模塊[6],通過(guò)AT命令實(shí)現(xiàn)數(shù)據(jù)的透?jìng)鞴δ堋?G模塊選用SIM900A串口模塊[7]。
3 軟件設(shè)計(jì)
基于Zigbee和物聯(lián)網(wǎng)平臺(tái)的自動(dòng)售貨機(jī)系統(tǒng)軟件包括三部分:自動(dòng)售貨機(jī)軟件、網(wǎng)關(guān)接口軟件和手機(jī)APP軟件。endprint
3.1 自動(dòng)售貨機(jī)軟件
自動(dòng)售貨機(jī)軟件分為管理員操作界面和用戶操作界面。管理員操作界面通過(guò)掃二維碼或輸入密碼登錄。其中綁定終端的功能是通過(guò)設(shè)備掃描二維碼,實(shí)現(xiàn)設(shè)備的賬號(hào)綁定。點(diǎn)擊查看帳目可實(shí)時(shí)查看當(dāng)日的銷售情況,包括當(dāng)日和上一日的銷售數(shù)據(jù):線上收益、線下收益、收益合計(jì)和累計(jì)收益(從開機(jī)到當(dāng)日)。脈沖設(shè)置可對(duì)硬幣機(jī)的脈沖時(shí)間間隔進(jìn)行修改。設(shè)備名稱可修改本機(jī)的設(shè)備號(hào)。添加硬幣可查看當(dāng)前的硬幣數(shù),可輸入添加的硬幣數(shù),清幣計(jì)數(shù)可用來(lái)實(shí)現(xiàn)機(jī)器中的硬幣數(shù)統(tǒng)計(jì)功能。時(shí)間設(shè)置負(fù)責(zé)初始化日歷時(shí)鐘。貨道設(shè)置可輸入每個(gè)貨道的數(shù)量和單價(jià)?;謴?fù)出廠將系統(tǒng)記錄的銷售數(shù)據(jù)清零,系統(tǒng)進(jìn)入初始工作狀態(tài)。操作完成后點(diǎn)擊退出管理員界面,回到用戶界面。
用戶界面可隨機(jī)播放多幅廣告界面,點(diǎn)擊屏幕進(jìn)入用戶界面。在此界面下,用戶點(diǎn)擊想購(gòu)買的商品即可顯示單價(jià),用戶可選擇投幣或手機(jī)掃二維碼兩種方式進(jìn)行購(gòu)買。當(dāng)投幣的金額大于顯示價(jià)格時(shí),或者掃碼支付成功后即可出貨,出貨后屏幕提示按下找零鍵,完成找零。
自動(dòng)售貨機(jī)軟件主要流程如圖3所示。其中上傳數(shù)據(jù)幀設(shè)定在某天的固定時(shí)間。
3.2 網(wǎng)關(guān)接口軟件
網(wǎng)關(guān)接口軟件通過(guò)Zigbee網(wǎng)絡(luò)接收自動(dòng)售貨機(jī)上傳的銷售數(shù)據(jù)和狀態(tài)信息,通過(guò)WIFI將數(shù)據(jù)上傳云端,并通過(guò)3G模塊發(fā)送短信提示信息。Xbee模塊采用串口與單片機(jī)相連,其工作模式有兩種:AT模式和API模式。AT模式也稱為透?jìng)髂J?,主要特點(diǎn)是操作簡(jiǎn)單易學(xué),通過(guò)Xbee發(fā)送的數(shù)據(jù)與接收端收到的數(shù)據(jù)保持一致,Xbee模塊的功能就像是代替了串口通訊線,但實(shí)現(xiàn)了無(wú)線通訊。但當(dāng)多個(gè)模塊進(jìn)行通訊時(shí),必須給出目標(biāo)地址。接收端無(wú)法識(shí)別數(shù)據(jù)源。API模式的主要特點(diǎn)是:采用數(shù)據(jù)包(API幀)進(jìn)行通訊,適合大型網(wǎng)絡(luò)的數(shù)據(jù)傳輸。由于目標(biāo)地址被包括在API幀結(jié)構(gòu)中,信息可發(fā)送到多個(gè)模塊。API幀中包括信息源,接收端很容易知道每個(gè)接收包的來(lái)源。另外每個(gè)接收包包含接收數(shù)據(jù)的成功/失敗的狀態(tài)信息和信號(hào)強(qiáng)度,可進(jìn)行網(wǎng)絡(luò)管理和診斷,API模式還有遠(yuǎn)程固件更新等功能[4]。
本文的Zigbee通訊采用API模式。模式配置使用XCUT軟件完成。協(xié)調(diào)器主要參數(shù)配置為:ID:1;CE:1;MY:0xFFFE;DH:0;DL:0;AP:1。終端主要參數(shù)配置為:ID:1;CE:0;DH、DL設(shè)為協(xié)調(diào)器的MAC地址;AP:1。協(xié)調(diào)器接收的4字節(jié)的數(shù)據(jù)幀和終端節(jié)點(diǎn)發(fā)送4字節(jié)的數(shù)據(jù)幀格式如表1和表2所示。從表1和表2看出,接收幀的數(shù)據(jù)長(zhǎng)度比發(fā)送幀數(shù)據(jù)長(zhǎng)度少2個(gè)字節(jié)。
WIFI模塊采用透?jìng)髂J缴蟼鲾?shù)據(jù)。
3.3 Android移動(dòng)智能終端軟件
智能終端軟件主要實(shí)現(xiàn)對(duì)自動(dòng)售貨機(jī)的銷售數(shù)據(jù)的監(jiān)視和統(tǒng)計(jì)的功能??苫贏ndroid 平臺(tái)自主開發(fā)。也可利用微信WEB開發(fā)者工具開發(fā)微信小程序,通過(guò)API接口讀取網(wǎng)關(guān)接口上傳云端的銷售數(shù)據(jù),顯示在用戶手機(jī)上,方便管理者了解所有自動(dòng)售貨機(jī)的銷售情況。
手機(jī)APP可實(shí)現(xiàn)多臺(tái)售貨機(jī)的線上收益、線下收益、線上/線下收益合計(jì)以及累計(jì)收益的查看和統(tǒng)計(jì)功能。通過(guò)歷史曲線可隨時(shí)查看銷售收益的變化。
4 結(jié)束語(yǔ)
本文主要設(shè)計(jì)與實(shí)現(xiàn)了一個(gè)自動(dòng)售貨機(jī)的模型,提出了一種基于Zigbee和IOT的自動(dòng)售貨系統(tǒng)的設(shè)計(jì)方案,給出了自動(dòng)售貨機(jī)和網(wǎng)關(guān)接口的軟硬件設(shè)計(jì)方法。測(cè)試結(jié)果表明:該系統(tǒng)既實(shí)現(xiàn)了自動(dòng)售貨的功能,又實(shí)現(xiàn)了運(yùn)營(yíng)商利用手機(jī)APP對(duì)多臺(tái)售貨機(jī)的監(jiān)視和銷售數(shù)據(jù)的統(tǒng)計(jì)功能。用戶可選擇投幣或掃碼方式購(gòu)物,實(shí)現(xiàn)了線上/線下支付功能。本文所設(shè)計(jì)的自動(dòng)售貨機(jī)的特點(diǎn)是:系統(tǒng)結(jié)構(gòu)和操作設(shè)計(jì)簡(jiǎn)單合理,成本低、開發(fā)周期短,既可滿足消費(fèi)者良好的購(gòu)物體驗(yàn),又可滿足運(yùn)營(yíng)商的管理需求。
參考文獻(xiàn):
[1]文國(guó)軍.基于手機(jī)二維碼支付的售貨機(jī)物聯(lián)網(wǎng)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:中南大學(xué),2013.
[2]景東男,韓建民,王愛華.基于物聯(lián)網(wǎng)的自動(dòng)售貨機(jī)及遠(yuǎn)程監(jiān)控系統(tǒng)[J].計(jì)算機(jī)技與發(fā)展,2013,23(5):228-230.
[3]程晨.Arduino開發(fā)實(shí)戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社,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]樂(lè)鑫信息技術(shù)有限公司.Espressif AT指令集[Z].2014.
[7]全球鷹通訊.SIM900/A 232版本模塊用戶手冊(cè)[Z].V1.1,2014.endprint