張笑傲,田會峰,婁猛猛,張曉玲
(江蘇科技大學電氣與信息工程學院,江蘇 張家港 215600)
近年來,隨著電子科技的發展,人們的日常生活也日益智能化,而線下購物作為其中一大板塊,其通過各種自助化購物結算方式以實現消費便利已有趨勢可尋[1]。在此背景下,為尋求更有效、完善的便捷式線下消費流程,研究設計購物車智能結算系統。搭載此系統的智能購物車可實現預消費商品名錄預覽、消費金額實時統計及自助結算等功能。
購物車智能結算系統以傳統購物車為基礎并加以改造,搭載一組由陶晶馳串口屏、掃碼槍、壓力傳感器等為主要組成部件的模塊設備[2]。消費者在購物過程中,可將預購商品通過掃碼功能添加至本次購物結算列表,同時商品名、規格、價格、當前折扣等基本信息將顯示在串口屏上,并計算出當前預購總金額。同時,所配備的壓力傳感器根據商品規格對購物車中加入的商品進行核對。消費者在完成所有選購后,可直接通過設備中結算按鈕進入消費結算,獲取消費商品清單并完成結算操作。通過此智能購物結算系統,簡化傳統線下購物工作人員掃件、裝袋等流程,減少消費者購物結算等待時間,極大地提高了消費者線下購物的便捷性,在節省大量人力、物力的同時優化了消費者的購物體驗。
系統的總體框架如圖1所示。購物車智能結算系統的軟件系統包含面對工作人員的電腦應用以及微信小程序,其實際系統包含自動跟隨系統、智能結算系統、導航索引系統,后續將對各部分分別進行介紹。

圖1 系統總體結構
購物車智能結算系統采用樹莓派作為控制核心[3]。樹莓派(Raspberry Pi)使用成本低且僅有普通卡片大小,可實現計算機的所有基本功能,因其豐富的接口,故具有很強的擴展性[4]。該文采用的樹莓派4b是一款基于ARM的微型電腦主板,以MicroSD卡為內存硬盤,卡片主板周圍有4個USB接口和一個10/100以太網接口(A型沒有網口),用于連接鍵盤、鼠標和網線,同時擁有視頻模擬信號的電視輸出接口和microHDMI高清視頻輸出接口,以上部件全部整合在一張僅比信用卡稍大的主板上,具備所有PC的基本功能,在系統中主要使用其硬件控制和傳輸功能。
TPYBorad是以Python作為主要編程語言的單片機開發板,易于承載對數據處理的程序,因而便于提升處理數據與解碼操作的速度[5]。
購物車智能結算系統數據傳輸流程如圖2所示。

圖2 硬件架構
購物車智能結算系統下位機采用串口通訊,含有陶晶馳串口屏、掃碼槍、壓力傳感器。統一通過STM32進行數據采集與處理。
掃碼槍使用RS232接口方式進行數據傳輸,與STM32傳輸方式不同,因此采用RS232轉TTL進行電平轉換。根據條形碼編譯數據進行數據傳輸,由于數據已經在服務器數據庫中存儲,因此傳輸數據為“A3N4”其意義為采購物品信息在數據庫中A表中第3條數據,采購數量為“4”,同時服務器根據調取信息建立臨時數據庫shopping中表格(名稱為客戶名),將信息保存到該表中,根據其登記信息返回下位機。
具體操作為選購商品時掃碼(n次),系統將商品信息與數量傳輸至STM32進行解碼編碼,變成對應商品所在數據庫位置與數量傳輸至樹莓派,樹莓派進行傳輸至服務器,在服務器數據庫中建立對應商戶信息表,并傳輸回樹莓派,樹莓派解碼并計算總重量后傳輸至STM32控制串口屏顯示商品信息,控制壓力傳感器計算商品重量是否合適。如顧客取消某物品的訂單,則可以在串口屏上刪除,串口屏將信息發送至樹莓派后傳輸至服務器,服務器刪除對應列表中的信息,結算時串口屏顯示商家收款碼。
該系統在選擇掃碼槍時,可以選擇USB接口或者RS232接口[6]。USB接口的掃碼槍連到電腦USB接口就可以使用,并且使用起來無需安裝對應的驅動軟件,非常方便。但是USB接口涉及到的版本眾多,常用的有USB1.0、USB2.0等,每一種版本用到的傳輸協議都有所不同,且掃碼槍的USB接口與常用器件USB轉TTL也有所不同,所以USB接口的掃碼槍具有不易開發的特點,所以該系統中的掃碼槍并沒有選擇USB接口。
選擇了RS232接口的掃碼槍之后,由于STM32單片機是TTL電平,故在掃碼槍與單片機連接時需要用到MAX232芯片[7],現在市面上使用較多的是公頭RS232轉TTL模塊。
MAX232芯片是美信(MAXIM)公司專為RS232標準串口設計的單電源電平轉換芯片,使用+5 V單電源供電。電腦串口的電平比較特殊,它的高電平+12 V,低電平-12 V,MAX232可以將這個電平轉換為高5 V,低0 V。單片機和PC機通過串口進行通信,盡管單片機有串行通信的功能,但單片機提供的信號電平和RS232的標準不一樣,因此要通過MAX232這種類似的芯片進行電平轉換。RS232接口經過MAX232芯片的轉換后引出4個引腳,分別是VCC、GND、TX、RX,其中 TX、RX是數據口,分別接到單片機的A9、A10兩個引腳。
遠程終端顯示屏采用的是5英寸電阻觸摸屏,通過USRAT HIM上位機軟件對畫面顯示進行編輯[8]。終端顯示屏上顯示購物車的編號,當購物車啟動時,終端屏上的購物車控件亮起,表明此購物車已啟動[9]。點擊亮起的購物車按鈕,進入另一個畫面,上面有一個控件、購物清單及用于收款的二維碼。當顧客開始掃碼購物時,遠程監控端也會顯示顧客已經掃碼的商品信息。當顧客完成結算時,點擊二維碼,會出現收款碼,讓顧客進行結算[10]。
同時,串口屏顯示的主要功能如圖3所示。

圖3 串口屏使用方式
本串口屏分為兩個界面,均通過陶晶馳串口屏開發軟件完成[11],主要數據處理分析放在TPYBoard中進行處理[12],首先是導航界面,在顧客不需要瀏覽采購清單時自主顯示,為顧客提供超市平面圖。在用戶需要時輕觸屏幕,顯示商品信息界面,并在右下角放置投放廣告,取締超市傳統的固定點宣傳[13]。
為進一步明確購物車結算系統的工作流程和系統功能,對系統進行模塊化設計及功能劃分[14]。該系統軟件設計主要包括:系統界面初始化程序、電子條形碼識別程序、預購清單程序、數據庫查詢匹配程序等主要功能模塊。系統工作流程為:系統通過掃碼槍識別上屏電子條形碼,系統在數據庫中查詢對應商品基本信息,將相關信息返回,顯示在串口屏上[15]。串口屏上可進行預購商品清單與總計金額預覽,及同種商品的數量添加、刪除等操作,同時通過壓力傳感系統感應購物車內添加或刪除的商品是否符合其規格信息,判斷是否警告提示。使消費者在購物時能夠明確把握自身的購物情況,并對系統使用進行誠信約束。
購物車智能結算系統軟件架構流程如圖4所示。

圖4 軟件架構
為了進一步簡化購物支付方式并實現購物一體化[16],該系統開發微信購物小程序。消費者可以通過微信小程序進行商品支付、退/換貨預約等,其詳細流程如圖4所示。當購物完成后,系統將賬單通過小程序發送至消費者手機,消費者可進行商品支付,支付完成后可以在微信端查看賬單明細。購物結束后,消費者可以在微信端進行退/換貨申請預約,商家可以進行退/換貨的統一管理,極大簡化工作流程,消費者可通過微信端向商家進行意見反饋,方便商家優化服務。消費者也可以通過微信端實時查看商品價格,了解商品價格變化。同時,商家通過微信端可以向消費者推送商品信息、廣告等,拓寬商家服務渠道。
對于從下位機中客戶的信息,包括購買商品名稱、數量與刪除訂單操作等信息通過樹莓派按照http協議傳輸到服務器中,服務器通過Flask框架解析接收到的信息,并根據獲取信息進行處理,如用戶購買紅筆2支,傳輸到服務器中之后,服務器解析數據后在客戶(user)數據庫中建立新的表,并將商品(market)數據庫中查詢到紅筆的部分信息包括商品名稱、價格插入到新表中,并將相應信息如質量,名稱,價格等通過http協議返回到樹莓派中,以便進行質量比對與串口屏顯示,其流程圖如圖5所示。

圖5 信息處理流程圖
通過服務器對信息的處理與轉存,能夠使信息在最少冗余的情況下,對數據進行最合理的儲存,方便管理員、老板、顧客去查看購買量、盈虧、購買信息等。
購物車智能結算是當前人們智能化生活發展的一部分[17],是時代發展與人們實際需求的結合,它的設計與應用將為線下購物平臺與消費者們帶來極大的便利,它在傳統購物車載物的基礎上,僅增加了少量模塊組件與軟件功能,實現了購物結算一體化,實時預購列表與金額反饋在一定程度上能夠幫助消費者理性消費,信譽系統的設計也為商家提供了一定保障且減少了人力消耗,使得線下購物這一購物方式能夠更加有序高效。
隨著科技的進步,智能化技術也將越來越成熟[18],人們對于智能化生活的要求也會越來越高[19]。團隊在未來將繼續關于購物車智能結算系統的實踐與研究,嘗試更多相關功能的設計與開發,而購物車智能結算系統也將更加廣泛地應用于各大線下消費場所[20]。