王子玉,白博文,陳佳星,王玉林
(遼寧工程技術大學 電氣與控制工程學院,遼寧葫蘆島,125100)
物聯網、人工智能等無人化技術日趨成熟,無人零售概念也逐漸被大眾熟知,帶動大量資本和企業的發展。自動售貨機作為其中重要業態之一,具有銷售方式新、市場潛力大等優點[1]。但隨著人們生活水平提高,越來越多商品琳瑯滿目,一定程度上增加了消費者對商品選擇的難度。針對這一情況,本設計添加了智能推薦模塊,結合消費者購買習慣、健康指南,進行智能化的商品推薦。對于一些場景有著十分重要的意義,幫助消費者更加快捷地完成購買,具有不可替代的實際作用。
該設計選擇STM32 為主控,制作了一款能夠便捷購物的自動販賣機,主要包括了三個主要功能:商品選擇、貨幣識別和商品輸出。
為更貼近于消費者日常生活習慣,增加了移動支付的功能。消費者在移動設備上下單后,此信號通過Wi-Fi 模塊傳送給單片機控制直流電機進行商品輸出。針對現代消費者選擇困難的問題,該設計拓展了智能化推薦功能,結合商品自身屬性和銷售情況進行推薦,很大程度上緩解選擇焦慮,具體方案流程圖如圖1 所示。

圖1 方案流程圖
考慮到按鍵在商品選擇功能的不適性,該系統采用LCD觸摸屏代替按鍵完成商品選擇的功能。LCD 觸摸屏可以提供更直觀、靈活、交互性強的用戶界面,提升購物體驗,同時也方便運營商進行定制和更新,滿足不斷變化的市場需求。它通過在液晶顯示屏表面添加一層透明導電薄膜,實現對用戶觸摸操作的感應和響應[2]。
該設計采用ZJY180S0800TG01,它是一款128×160 點矩陣TFT(Thin-Film Transistor)液晶顯示模塊。TFT 面板由384 個源極和160 個柵極組成。LCM(Liquid Crystal Module)可通過微控制器輕松訪問,和單片機適應性高,完全滿足設計需要,LCD 觸摸屏電路如圖2 所示。

圖2 LCD 觸摸屏電路
該設計采用了高頻反射式電磁傳感器、低頻透射式電磁傳感器和激光傳感器進行對硬幣的辨識,分別針對硬幣的材質、厚度和直徑進行判別,只有完全達到了三個標準,才可識別出硬幣的金額。具體貨幣識別設計流程圖如圖3 所示。

圖3 貨幣識別流程圖
(1)高頻反射式電磁傳感器
金屬硬幣經過高頻反射式電磁傳感器時,金屬硬幣的表面會由于集膚效應產生渦流。相對地,這個渦流產生磁場反作用于線圈L,將會引起線圈自感和阻抗的變化,該變化與硬幣的材質、磁導率等都有關系[3]。投入硬幣的方式一定,此時只與硬幣的材質有關系,因此記錄下金屬硬幣對應的數值變化,便實現了硬幣材質的檢測,以防假幣泛濫。
(2)低頻透射式電磁傳感器
金屬硬幣經過低頻透射式電磁傳感器時,會受到低頻電壓E1 在L1 上產生的磁場影響而產生渦流[3]。此時的材質已經確定,即金屬硬幣的電阻率一定,不同厚度金屬硬幣產生的渦流將會不同,記錄不同數值對應的金屬硬幣厚度,自此便實現了金屬硬幣厚度的測量。
(3)激光傳感器
激光傳感器是利用激光技術進行測量的傳感器。它的主要組成部分由激光器、激光檢測器和測量電路組成,它被稱為新型的測量儀表[4]。金屬硬幣投入機器后,會受到激光二極管的照射,此時在接收端會接收到一個金屬硬幣直徑的陰影,這個數值便是金屬硬幣的直徑。
自此,整體的貨幣識別功能完成,即能夠分辨出投入硬幣的材質,厚度和直徑,進而確定硬幣的金額—一角、五角和一元。若投入金屬硬幣符合三個條件的情況下,金額將會存入單片機存儲器,完成下一步的找零判斷,否則該設計會自動吐出此硬幣。
在單片機內部預存了商品對應的金額,此時進行數據對比判斷即可,將識別到貨幣金額與所選購的商品金額比對。若低于商品金額將不輸出商品,屏幕將提示繼續投幣;若等于商品金額將輸出商品,無其他操作;若大于商品金額將輸出商品,并且將多余的硬幣吐出。實現這三種情況便將完成了找零判斷功能。
該設計采用HS-F04 直流電機模塊實現商品輸出功能,該模塊具有兩個TTL/CMOS 兼容輸入端子,兩個輸出端子可以直接驅動電機。當單片機接收到相應商品輸出信息時,將會控制此模塊工作,將對應的商品輸出。電機將會把商品推出貨物槽,進入到待取凹槽,自此商品輸出功能完成,消費者便可把商品取出。直流電機電路圖如圖4 所示。

圖4 直流電機電路圖

圖5 移動支付工作流程圖
進入信息爆炸時代,移動設備無處不見,手機支付成為主流。為此,該系統裝備了移動支付功能,滿足和方便更多消費者。在移動支付功能設計中,利用了ESP-8266Wi-Fi模塊進行與單片機的信息傳遞。該模塊在遠程數據監控終端與數據傳輸端進行交互時有著極其重要的作用。且該模塊價格低、穩定性高、串口速率可達 4Mbps,可支持 STA、AP以及 AP 和 STA 共存的多種工作模式[5],有著十分完備且靈活的屬性。在本系統中,從以上的工作模式中選擇 STA 模式作為Wi-Fi 模塊的工作模式,完成訂單信息與Wi-Fi 模塊的數據通信。消費者先掃描機器上的二維碼,在手機上進行自助下單,Wi-Fi 模塊將接收到訂單信息。Wi-Fi 通訊模塊與單片機利用串口進行連接,自此便利用串口將獲取到的信息傳遞到單片機,單片機進行指定貨物的輸出即可。
相對于傳統的無智能推薦功能的自動販賣機,具備智能推薦功能的自動販賣機在提供個性化購物體驗、增加銷售額、進行數據分析和預測、開展營銷和促銷活動以及提高用戶體驗等方面具有顯著的優勢。隨著時間的推移,數據庫中的數據量增加,導致算法對不同數據的適應性不同。因此,該設計采用多種智能算法相互比較,對各個算法進行賦權,最終輸出最佳推薦結果。這種方法提高了模型整體的適應性,能更好地提供推薦結果。主要流程如圖6 所示。

圖6 加權新算法流程圖
(1)參數準備
系統初始化時,由管理員手動導入初始數據,隨后每次顧客通過自動販賣機購買商品后,系統將自動存儲該次購買信息,并將其導入數據庫中,作為模型的訓練數據。此外,為了提高顧客體驗,顧客可以自行選擇所需商品的屬性,例如商品種類、商品價格等。然后,這些選擇將用于對數據庫中的數據進行初步篩選,并作為模型的輸入參數。
(2)智能算法選取
隨機森林是一種集成學習算法,它通過構建多個決策樹模型并采用投票或平均的方式進行預測[6]。相對于傳統的決策樹算法,隨機森林在處理高維數據等方面具有明顯優勢。但該算法對輸入參數的要求較苛刻,如決策樹數量等。在不同的數據集和問題,參數的選擇可能會有所不同,因此需要進行一定的實驗和調優,增加了算法的復雜性。
Adaboost(Adaptive Boosting)是一種集成學習算法,其通過串行訓練一系列弱分類器,并根據每個分類器的表現調整樣本權重,最終將這些弱分類器組合成一個強分類器[7]。Adaboost 具有較好的泛化能力,能夠有效地避免過擬合問題。然而,Adaboost 算法對噪聲和異常值比較敏感,使得容易被錯誤分類的樣本在后續的迭代中得到更多地關注。
GBDT(Gradient Boosting Decision Tree)是一種集成學習算法,它通過迭代的方式構建多個決策樹模型,并通過梯度下降的方法逐步優化模型的預測能力[8]。GBDT 相較于隨機森林算法在預測準確性方面具有優勢。然而,GBDT 算法的訓練過程相對較慢,需要較多的計算資源和時間。
BP 神經網絡,全稱為反向傳播神經網絡,是一種有監督,并可以用于解決預測分析等問題的人工神經網絡模型[9]。該算法具有很強的學習能力,但是訓練過程依賴于梯度下降算法 ,極其容易陷入局部最優解。
(3)加權新算法
盡管所選擇的四種智能算法本身功能強大,但它們或多或少都存在不同的限制條件,這些條件可能會影響算法的效果。該設計通過綜合考慮不同算法的預測誤差、訓練得分,為每個基算法分配權重,并剔除效果較差的算法。最終,綜合考慮剩余算法的權重輸出,得到最終的商品推薦結果。通過該方法,可以有效地弱化各個基算法存在的限制條件,更好地應對模型在進行商品推薦時的實際情況,從而提升用戶體驗。
本設計實現了基本的消費者自助購買功能,利用LCD屏幕進行挑選,投幣進行購買,一切功能正常。設計的移動支付模塊也正常工作,消費者在手機上自助下單,訂單信息將會傳送到單片機,從而實現購買。本設計根據購買情況與健康指南進行智能化推薦,利用此算法分別對商品進行模擬推薦,對比其他算法具體結果如圖7 ~圖9 所示。

圖7 兩種商品推薦效果對比圖

圖8 十種商品推薦效果對比圖

圖9 二十九種商品推薦效果對比圖
由圖可見,加權新算法在處理多種商品進行推薦的情況下效果最好。除此之外,依據每天各時間段購買情況和季節的差別,算法將結合多種因素持續優化,不斷推出更加優化的推薦選項供給選擇。
該設計完成了對商品購買的基礎功能,幫助消費者更加快捷地自助購買。此外,該設計裝配Wi-Fi 模塊實現訂單信息的傳遞,進而實現移動支付功能。相較于傳統自動販賣機,該設計增加了智能推薦功能,極大程度地解決了傳統自動販賣機給消費者帶來的選擇困難的難題。后期完善此設計,投入市場可以幫助更多人便捷購買和“買有所值”。