黃艷國,吳 磊,張慧敏2,劉學鵬
(1.江西理工大學 電氣工程與自動化學院,江西 贛州 341000; 2.江西理工大學創(chuàng)新創(chuàng)業(yè)學院,江西 贛州 341000)
隨著網(wǎng)絡(luò)技術(shù)的突飛猛進,近年來傳統(tǒng)超市遭受到電商行業(yè)的沖擊,客源也越來越稀少。最近,又一種全新的零售模式——“智能零售”正在興起,一些電商巨頭紛紛開始采用機器學習、深度學習和生物識別等高新技術(shù)進行“無人超市”的研究,這無疑再次給予傳統(tǒng)超市沉重的打擊。此外,傳統(tǒng)超市本身也存在客源有限、不能為顧客提供精準的購物導航服務(wù)、購物高峰期排隊結(jié)算緩慢、促銷廣告無法有效傳播到客戶群體、用戶體驗性差等眾多問題[1-5]。這些外部和內(nèi)部因素促使傳統(tǒng)超市不得不考慮進行轉(zhuǎn)型升級。傳統(tǒng)超市大多無法投入大量資金來研究和推廣那種運用機器學習、深度學習和生物識別技術(shù)等高新技術(shù)來實現(xiàn)的無人超市。為此,本文借助RFID等相對成熟的物聯(lián)網(wǎng)技術(shù)來設(shè)計智能化的購物系統(tǒng)[6-8],在解決傳統(tǒng)超市購物高峰期結(jié)算緩慢、商品尋找困難、用戶體驗性差等問題的同時,讓商家減少雇員、降低廣告成本、提高商品管理效率。這種基于物聯(lián)網(wǎng)的購物、結(jié)算、管理方式,使得線上線下無縫對接,既突破了傳統(tǒng)線下零售行業(yè)的局限性,又提高了線下零售的靈活性和體驗性。
基于物聯(lián)網(wǎng)的超市智能自助購物系統(tǒng)主要包括基于FRID射頻識別的商品讀寫器、云服務(wù)器、后臺管理系統(tǒng)以及移動終端客戶應(yīng)用程序,其結(jié)構(gòu)示意圖如圖1所示。

圖1 基于物聯(lián)網(wǎng)的超市智能自助購物系統(tǒng)結(jié)構(gòu)圖
硬件部分完成商品數(shù)據(jù)的采集。當用戶將商品靠近購物車上的RFID射頻讀寫器時,RFID射頻讀寫器從商品標簽中讀取商品信息,接著將商品信息發(fā)送給STM32F103RCT6模塊進行處理。STM32F103RCT6模塊處理數(shù)據(jù)后將商品信息發(fā)送給ATK-ESP8266模塊,并控制其連接WIFI后通過TCP/IP協(xié)議將商品信息及固定的購物車ID發(fā)送到指定云服務(wù)器的指定端口,服務(wù)器收到數(shù)據(jù)后將數(shù)據(jù)存入數(shù)據(jù)庫。
FRID讀寫器主要完成購物車上商品的識別。當用戶將商品靠近購物車上的RFID射頻讀寫器時,通過射頻信號讀取商品標簽,然后將商品信息發(fā)送給微控制器模塊進行處理。處理數(shù)據(jù)后將商品信息發(fā)送給無線通信模塊,并控制其連接WIFI后通過TCP/IP協(xié)議將商品信息及綁定的購物車ID發(fā)送到云服務(wù)器的指定端口,服務(wù)器收到數(shù)據(jù)后將數(shù)據(jù)存入數(shù)據(jù)庫。
云服務(wù)器主要用來對商品和用戶信息進行存儲和管理[9-10]。包括購物車信息、客戶信息、商品信息(包括商品名稱、商品價格、生產(chǎn)日期、保質(zhì)期、生產(chǎn)廠家、產(chǎn)品的分類以及定位等信息)以及商品的各類促銷活動信息等。這些信息供移動終端和后臺管理系統(tǒng)使用。
移動終端客戶應(yīng)用程序是用戶使用微信小程序掃描購物車上二維碼后即可完成與購物車的綁定,當用戶刷新小程序的購物車頁面后,當前綁定購物車內(nèi)的商品信息將在頁面內(nèi)顯示。用戶挑選完商品之后,可以在小程序內(nèi)自主完成結(jié)算支付。此外小程序還可為用戶提供購物導航服務(wù),用戶也可在其中查看超市發(fā)布的促銷活動、歷史購物記錄等。
后臺管理系統(tǒng)使用HTTPS協(xié)議與服務(wù)器進行通信,它將服務(wù)器數(shù)據(jù)庫中的數(shù)據(jù)展示在瀏覽器中供超市管理員查看,管理員通過在后臺管理系統(tǒng)進行相應(yīng)的操作實現(xiàn)對系統(tǒng)數(shù)據(jù)管理[11-12]。
系統(tǒng)硬件主要包括STM32微控制器模塊、RFID射頻讀寫以及無線通信WIFI模塊。系統(tǒng)硬件安裝在購物車上,并與購物車的ID進行綁定。選購商品的識別采用的是基于RFID技術(shù)的M5-EA-TH-00射頻讀寫模塊,主要完成標簽的讀寫和存儲。該模塊由基于STM32F103RCT6微控制器的核心板進行控制,通過內(nèi)部監(jiān)控程序使RFID射頻模塊一直處于循環(huán)尋卡的狀態(tài)。當有商品的射頻標簽靠近靠近RFID射頻模塊時,識別是否為有效標簽(卡)。若尋卡成功,程序啟動防沖突機制,進行選卡操作,選卡成功后控制RFID射頻模塊與標簽進行三次互相驗證,驗證成功后即可從標簽中讀出信息,之后RFID射頻模塊通過UART串口將讀取的數(shù)據(jù)傳輸給STM32核心控制板進行處理。
為了將消費者選購的商品條碼信息實時傳送到服務(wù)器,并從服務(wù)器段獲得商品的詳細信息(如促銷活動、折扣等),購物車必須與系統(tǒng)的服務(wù)器進行實時無線通信。同Zigbee、Bluetooth等通信技術(shù)相比,WIFI技術(shù)隨時可以接入無線網(wǎng)絡(luò)信號,具備良好的移動性以及較高的傳輸速率,可通過無線連接本地路由器,將采集到的數(shù)據(jù)實時轉(zhuǎn)發(fā)至遠程服務(wù)器端[13-14]。WIFI的這些特點正好能夠滿足設(shè)計系統(tǒng)將商品信息發(fā)送至遠程服務(wù)器的需求。
無線通信采用支持TCP/IP協(xié)議的ATK-ESP8266串口WIFI模塊,如圖2所示。STM32核心控制板首先將該模塊設(shè)置為STA模式,然后啟動對該模塊的控制程序,使其連接WIFI或者手機熱點。連接到網(wǎng)絡(luò)后,可以讓其與服務(wù)器通過TCP/IP協(xié)議進行連接,與服務(wù)器連接成功后,再使模塊進入發(fā)送數(shù)據(jù)的模式,此時WIFI模塊完成了初始化工作,處于等待發(fā)送數(shù)據(jù)的狀態(tài)。當STM32微控制器模塊控制RFID模塊讀取到標簽信息并進行處理后,將數(shù)據(jù)傳輸給WIFI模塊,WIFI模塊接收到數(shù)據(jù)后將其發(fā)送到已經(jīng)連接的服務(wù)器,并從服務(wù)器端下載該商品的附加信息。

圖2 STM32模塊與ATK-ESP8266模塊通信電路
隨著手機等移動終端功能的不斷強大,手機成為消費者必不可少的工具。移動終端應(yīng)用采用微信小程序進行設(shè)計[15-16]。微信小程序是一種用戶不需要下載安裝、即點即用的應(yīng)用,它實現(xiàn)了應(yīng)用“觸手可及”的夢想,用戶掃一掃、搜一搜就可以打開使用。同時它也體現(xiàn)了用完即走的理念,用戶不需要下載安裝,用完后也不用擔心占用存儲空間的問題。微信小程序前端開發(fā)采用“微信web開發(fā)者工具”,前端主要使用WXML(HTML)、WXSS(CSS)以及JavaScript技術(shù),后端開發(fā)主要使用PHP腳本語言以及MySQL數(shù)據(jù)庫操作技術(shù),前端和后端數(shù)據(jù)交互使用HTTPS協(xié)議。
為了方便購物者隨時查看自己選購商品的價格、生產(chǎn)日期、折扣活動等詳細信息,為用戶提供購物導航服務(wù)、實時促銷商品、促銷活動以及電子支付等功能,總體設(shè)計框架如圖3所示。

圖3 微信小程序的總體設(shè)計框架
下面以“購物車”頁面為例對微信小程序的設(shè)計過程進行介紹,頁面的初始化流程如圖4所示。首先需要觸發(fā)一個定時器,每隔一秒鐘更新一次頁面時間。然后小程序攜帶part參數(shù)(輪播消息所在頁面)向服務(wù)器發(fā)起GET請求以獲取輪播消息展示在頁面中。最后小程序需要攜帶本地緩存中的購物車ID,以及用戶的微信昵稱向服務(wù)器發(fā)起GET請求,服務(wù)器端PHP程序根據(jù)購物車ID以及默認付款標識(未付款)將商品信息中的用戶微信昵稱替換為當前用戶的微信昵稱,從而完成商品與用戶之間進行關(guān)聯(lián)。接著PHP程序根據(jù)購物車ID、用戶微信昵稱以及付款標識(未付款)到數(shù)據(jù)庫中查詢商品信息,并將查詢結(jié)果返回給小程序。小程序?qū)⑵湟粤斜淼男问斤@示在頁面中。至此頁面初始化結(jié)束。

圖4 “購物車”頁面初始化流程
為使微信小程序能夠從服務(wù)器的數(shù)據(jù)庫中準確獲取當前用戶在購物車內(nèi)添加的商品信息,就需要獲取用戶使用的購物車ID,為了實現(xiàn)這個功能,可以給每輛購物車設(shè)置一個ID,將ID生成二維碼固定在購物車上。這樣可以在小程序內(nèi)掃描二維碼來綁定購物車,從而獲得購物車內(nèi)的商品信息。
用戶在“歡迎頁面”成功掃描購物車二維碼后,頁面首先跳轉(zhuǎn)到“購物車”頁面,在該頁面內(nèi)將購物車內(nèi)商品預覽列表顯示給用戶。為了后續(xù)實現(xiàn)商品與用戶進行綁定,需要讓用戶進行授權(quán)獲取用戶的微信昵稱和頭像等信息。在用戶授權(quán)之后登錄驗證流程如圖5所示。

圖5 用戶登錄驗證流程
后臺管理系統(tǒng)主要是為方便超市管理員能夠?qū)崟r對后臺數(shù)據(jù)進行監(jiān)測和管理,以網(wǎng)站的形式進行開發(fā)設(shè)計。為便于管理,在進行網(wǎng)站設(shè)計時,可以根據(jù)數(shù)據(jù)庫的數(shù)據(jù)表進行網(wǎng)站框架設(shè)計,將網(wǎng)站分為7個主頁面,分別為“訂單管理”、 “商品管理”、“活動管理”、“消息管理”、“用戶管理”、“收藏管理”以及“用戶反饋”等頁面,其他分頁面可以在主頁面中點擊進入。臺管理系統(tǒng)總體設(shè)計框架如圖6所示。

圖6 后臺管理系統(tǒng)總體設(shè)計框架
在訂單和商品管理頁面中,輸入關(guān)鍵字,可查看所有用戶的訂單信息,并可對商品信息進行添加、刪除、修改等操作。在消息管理頁面中,可發(fā)布最新活動,修改活動內(nèi)容,刪除過期活動,可新增、修改、刪除輪播消息。通過收藏管理頁面,可以快速找到購物者收藏的商品信息,通過歷史數(shù)據(jù)挖掘,可對購物者的購物習慣、興趣愛好進行分析,在此基礎(chǔ)上,發(fā)布有針對性的商品信息和購物優(yōu)惠促銷活動。
后臺管理系統(tǒng)開發(fā)主要采用動態(tài)網(wǎng)站開發(fā)技術(shù),前端頁面主要采用HTML、CSS、JavaScript進行開發(fā),后端服務(wù)器程序主要使用PHP腳本語言以及SQL指令實現(xiàn)對數(shù)據(jù)庫進行相關(guān)操作。
整個后臺管理系統(tǒng)開發(fā)主要是實現(xiàn)前端和后端進行數(shù)據(jù)交互,實現(xiàn)對服務(wù)器數(shù)據(jù)庫的增、刪、改、查等操作。下面以添加活動為例說明后臺管理系統(tǒng)的設(shè)計過程,添加活動處理流程如圖7所示。在“活動管理”頁面中,管理員點擊“新增活動”后,頁面跳轉(zhuǎn)到添加活動頁面(active_add.html),即“活動管理”頁面。在該頁面中添加了一個表單,以供管理員填寫需要發(fā)布的活動信息,當點擊提交后,頁面通過POST方式將填寫的數(shù)據(jù)提交給active_add.php程序進行處理。active_add.php程序先進行數(shù)據(jù)有效性判斷,如果數(shù)據(jù)無效則需要提醒用戶并將頁面返回到active_add.html頁面,如果數(shù)據(jù)有效則php程序需要組織SQL指令,以將活動數(shù)據(jù)添加到數(shù)據(jù)庫的active數(shù)據(jù)表中,數(shù)據(jù)添加成功后同樣需要提醒用戶操作成功,同時還要將頁面跳轉(zhuǎn)到active.php頁面,也即“活動管理”頁面。

圖7 添加活動處理流程
系統(tǒng)硬件與服務(wù)器的通信采用TCP/IP協(xié)議實現(xiàn)。硬件部分通過STM32微控制器控制RFID模塊,并通過無線通信方式與遠程服務(wù)器建立連接。服務(wù)器端監(jiān)聽程序一直對服務(wù)器的端口進行監(jiān)聽,當監(jiān)聽到客戶端向端口發(fā)送數(shù)據(jù)時,監(jiān)聽程序與其進行三次握手驗證,驗證成功后建立連接,監(jiān)聽程序讀取緩沖區(qū)數(shù)據(jù)并進行處理,然后將其存入數(shù)據(jù)庫中,完成一次連接后監(jiān)聽程序又回到監(jiān)聽的初始狀態(tài)。
實現(xiàn)硬件和服務(wù)器的通信之后,整個系統(tǒng)的硬件和軟件就真正關(guān)聯(lián)起來了。當商品上的射頻標簽靠近射頻讀寫模塊時,商品信息通過通信模塊連接WIFI后發(fā)送到云服務(wù)器,隨后用微信小程序掃描購物車二維碼進入小程序后刷新頁面,剛剛識別的商品信息就展示在“購物車”頁面中,如圖8所示。后臺管理系統(tǒng)以“活動管理”頁面為例進行測試,如圖9所示。

圖8 微信小程序測試頁面

圖9 后臺管理系統(tǒng)頁面
通過對微信小程序的購物導航、商品收藏、結(jié)算支付、客服反饋等功能以及后臺管理系統(tǒng)發(fā)布促銷活動到微信小程序等功能進行測試,功能都能夠?qū)崿F(xiàn),測試結(jié)果均可達到預期效果。
本文將物聯(lián)網(wǎng)技術(shù)應(yīng)用于超市購物系統(tǒng)中,利用比較成熟的RFID技術(shù)和無線通信技術(shù)設(shè)計基于物聯(lián)網(wǎng)的超市智能自助購物系統(tǒng),闡述了硬件的工作原理、微信小程序設(shè)計思路以及后臺管理系統(tǒng)的設(shè)計過程。該系統(tǒng)使得購物過程中線上與線下深度融合,不僅可以達到吸引顧客的目的,而且成本相對較低。通過測試驗證了系統(tǒng)的功能,可以給消費者帶來較好的體驗,為廣大線下零售超市提供一種應(yīng)對電商行業(yè)沖擊的新思路。