馮 超,魏晉宏
(太原理工大學(xué) 新型傳感器與智能控制教育部與山西省重點實驗室,山西 太原 030024)
隨著國內(nèi)居住環(huán)境逐步的國際化,自助洗衣房作為一種會所、高校、社區(qū)配套形式的出現(xiàn)使得其具有廣闊的市場和發(fā)展空間。進(jìn)入21世紀(jì)來,互聯(lián)網(wǎng)技術(shù)得到了飛速的發(fā)展,互聯(lián)網(wǎng)高效、便捷、無時間地域限制的特點已經(jīng)被眾人所認(rèn)同,同時也為商家提供了無限的商機(jī),電子商務(wù)因而獲得蓬勃發(fā)展,進(jìn)而推動著網(wǎng)絡(luò)支付和網(wǎng)上金融服務(wù)的快速發(fā)展,使得電子商務(wù)進(jìn)入一個全新的發(fā)展階段[1-2]。隨著這種線上支付模式的出現(xiàn),將其應(yīng)用在自助洗衣機(jī)上便成為可能。為此,提出了集中控制器的設(shè)計思路來對接線上服務(wù)器與線下洗衣機(jī)。由于自助洗衣機(jī)的使用頻率高,難免會造成用戶漫長的等待時間,在實現(xiàn)了線上服務(wù)器與線下洗衣機(jī)對接的同時,提出了預(yù)約洗衣服務(wù)的思路,并對預(yù)約排隊算法進(jìn)行分析與研究,并選出最優(yōu)的預(yù)約排隊算法。
針對目前洗衣房自助洗衣機(jī)的單獨管理與操作,在線上服務(wù)日益完善的同時,設(shè)計了基于嵌入式Linux的集中控制器來對自助洗衣機(jī)進(jìn)行集中的管理和操作,方便實現(xiàn)洗衣機(jī)與線上服務(wù)器的對接和預(yù)約洗衣的功能。集中控制器以S3C2440作為核心,通過CAN總線將多臺洗衣機(jī)接入控制器中,將洗衣機(jī)的實時狀態(tài)數(shù)據(jù)發(fā)送給控制器系統(tǒng),經(jīng)由液晶屏進(jìn)行顯示,并將數(shù)據(jù)存儲于SD卡上;服務(wù)器在完成線上支付、線上預(yù)約等功能后,通過WIFI將操作指令發(fā)送給集中控制器進(jìn)而對洗衣機(jī)進(jìn)行操作,集中控制器完成預(yù)約排隊優(yōu)化后將預(yù)約排隊信息發(fā)送給服務(wù)器,服務(wù)器通過短信等方式通知用戶的預(yù)約情況,自助洗衣機(jī)服務(wù)系統(tǒng)框圖,如圖1所示。
圖1 自助洗衣服務(wù)系統(tǒng)框圖Fig.1 Systematic Theory of Diagram
3.1 硬件選型
為了實現(xiàn)控制器與洗衣機(jī)的數(shù)據(jù)通信、控制器與服務(wù)器的遠(yuǎn)程數(shù)據(jù)通信以及控制器對洗衣機(jī)狀態(tài)的監(jiān)控,在硬件方面主要介紹了對主控模塊、人機(jī)交互模塊、CAN模塊、WIFI模塊的選型。
3.1.1 主控模塊
采用三星公司生產(chǎn)的嵌入式芯片S3C2440A作為主控核心。該芯片采用ARM920T內(nèi)核,功耗低、具有高速的處理計算能力、可以運(yùn)行在400MHz的時鐘頻率下[3]。芯片的設(shè)計采用MMU、AMBA總線體系結(jié)構(gòu)和哈佛結(jié)構(gòu),集成了SDRAM控制器、FLASH控制器、LCD控制器、SPI控制器等硬件外設(shè),方便搭建外圍功能模塊,大大簡化了系統(tǒng)的設(shè)計。
3.1.2 人機(jī)交互模塊
觸摸屏(touch screen)又稱為“觸控屏”,是一種可接收觸頭等輸入訊號的感應(yīng)式液晶顯示裝置,是目前最簡單、方便、自然的一種人機(jī)交互方式[4]。故而,設(shè)計采用AT070TN83型的7寸四線式電阻觸摸屏作為系統(tǒng)監(jiān)控和查詢的操作平臺。
3.1.3 WIFI模塊
隨著WIFI技術(shù)的不斷完善,在解決了傳統(tǒng)有線網(wǎng)絡(luò)布線繁瑣的同時,其傳輸速率和穩(wěn)定性也逐步提高,故而,采用ESP8266作為WIFI數(shù)據(jù)收發(fā)的主要芯片。ESP8266是一款超低功耗的UART-WiFi透傳模塊,具有支持無線802.11b/g/n標(biāo)準(zhǔn)、內(nèi)置TCP/IP協(xié)議棧、支持豐富的Socket AT指令、支持UART/GPIO數(shù)據(jù)通信接口、支持Smart Link智能聯(lián)網(wǎng)功能、超低能耗等多種優(yōu)點,現(xiàn)以廣泛被應(yīng)用于智能電網(wǎng)、智能交通、智能家具、手持設(shè)備、工業(yè)控制等領(lǐng)域。
3.1.4 CAN模塊
由于CAN總線具有穩(wěn)定可靠、連線簡單(就兩根線)、組網(wǎng)消費(fèi)低、速度快、能長距離傳輸?shù)葍?yōu)點[5-6],故而,采用CAN總線方式將洗衣機(jī)接入集中控制器實現(xiàn)洗衣機(jī)與集中控制器的數(shù)據(jù)通信。
CAN模塊主要由CAN控制器和CAN收發(fā)器組成。其中CAN控制器是用來執(zhí)行CAN總線協(xié)議和控制管理CAN總線的,而CAN收發(fā)器的作用是增強(qiáng)總線驅(qū)動能力并建立CAN控制器以及物理總線之間的連接。由于S3C2440主控芯片并不含有CAN控制器,因此,選用SJA1000型的CAN控制器和PCA82 C250型的CAN收發(fā)器來實現(xiàn)CAN通信功能。
3.2 軟件設(shè)計
3.2.1 應(yīng)用程序的設(shè)計
(1)主程序的設(shè)計
系統(tǒng)的主程序設(shè)計主要包括系統(tǒng)的初始化、WIFI數(shù)據(jù)的接收與發(fā)送、CAN總線數(shù)據(jù)的接收與發(fā)送、數(shù)據(jù)顯示和存儲、預(yù)約排隊算法等,主程序流程圖,如圖2所示。
圖2 主程序流程圖Fig.2 Flow Chart of Main Program
(2)WIFI程序的設(shè)計
圖3 WIFI連接子程序Fig.3 Subroutine of WIFI Connection
初始化完成后,經(jīng)由WIFI將集中控制器和遠(yuǎn)程服務(wù)器進(jìn)行連接,WIFI連接過程,如圖3所示。當(dāng)WIFI模塊收到遠(yuǎn)程服務(wù)器的指令后對其進(jìn)行判斷,進(jìn)而去執(zhí)行發(fā)送洗衣機(jī)狀態(tài)數(shù)據(jù)、對洗衣機(jī)進(jìn)行各種功能操作以及對預(yù)約信息進(jìn)行排隊優(yōu)化等,控制器通過預(yù)約排隊算法將最優(yōu)的預(yù)約排隊情況通過WIFI發(fā)送遠(yuǎn)程服務(wù)器方便服務(wù)器通過短信等方式通知用戶。
(3)CAN程序的設(shè)計
控制器與線下洗衣機(jī)是通過CAN總線進(jìn)行連接的,數(shù)據(jù)發(fā)送、數(shù)據(jù)接收、總線錯誤等都需要通過CAN中斷服務(wù)程序。當(dāng)判斷為發(fā)送中斷時,將所要發(fā)送的數(shù)據(jù)打包進(jìn)行發(fā)送,發(fā)送成功后置CAN成功發(fā)送標(biāo)志位;當(dāng)判斷為接收中斷時,讀取CAN消息對象中的數(shù)據(jù)并置CAN成功接收標(biāo)志位;而當(dāng)既非發(fā)送中斷又非接收中斷時,置CAN出錯標(biāo)志位。
控制器通過CAN總線將接收到的報文分離出來的洗衣機(jī)的狀態(tài)數(shù)據(jù)傳送給主控芯片,主控芯片對其進(jìn)行分析,進(jìn)而將數(shù)據(jù)中所包含的洗衣機(jī)的實時狀態(tài)等顯示在液晶屏上,并將數(shù)據(jù)整理存儲在數(shù)據(jù)庫中以方便調(diào)取和查詢。
3.2.2 數(shù)據(jù)存儲
系統(tǒng)采用qtopia所支持的sqlite3數(shù)據(jù)庫對洗衣機(jī)經(jīng)由CAN總線發(fā)送而來的數(shù)據(jù)進(jìn)行存儲。SQLite數(shù)據(jù)庫采用了模塊化、層次化的思想,由數(shù)據(jù)庫接口、編譯器、虛擬機(jī)與后端四個部分組成。其中數(shù)據(jù)庫接口(各種API)是系統(tǒng)的入口,中間經(jīng)過編譯器(分詞器、語法分析器、代碼生成器),將API中傳入的SQL語句或各種操作編譯成數(shù)據(jù)庫引擎可以解析的解釋性代碼,虛擬機(jī)按照解釋性的代碼流調(diào)用其下層的索引、表、頁面緩存模塊協(xié)同來完成數(shù)據(jù)的存儲[7-8]。
在數(shù)據(jù)庫中創(chuàng)建表格,實現(xiàn)對數(shù)據(jù)的管理,數(shù)據(jù)的存儲方式,如表1所示。
表1 狀態(tài)數(shù)據(jù)存儲方式Tab.1 Storage of State Data
為了減少用戶漫長的等待時間,在自助洗衣機(jī)中引入預(yù)約功能,并提出三種不同的預(yù)約排隊算法,通過計算得出最高的“用戶滿意度”,即在一段時間內(nèi)所有用戶對洗衣服務(wù)的滿意程度,從而選出最佳的預(yù)約排隊算法[9-10]。
4.1 用戶滿意度模型的搭建
根據(jù)“用戶滿意度”建立模型并進(jìn)行研究。影響“用戶滿意度”的因素主要有接待用戶人數(shù)(假設(shè)為S)、平均等待時間(假設(shè)為H)和用戶消費(fèi)金額(假設(shè)為L)。構(gòu)建“用戶滿意度”模型:
式中:H1、H2、H3—未預(yù)約用戶平均等待時間、普通預(yù)約用戶平均等待時間和加急預(yù)約用戶平均等待時間;L1、L2—未預(yù)約用戶和普通預(yù)約用戶的消費(fèi)金額和加急預(yù)約用戶的消費(fèi)金額;M1、M2、M3—未預(yù)約用戶滿意度、普通預(yù)約用戶的滿意度和加急預(yù)約用戶的滿意度;M—用戶平均滿意度。
假設(shè)用戶的平均下單率為μ,系統(tǒng)中共有n臺洗衣機(jī),單個洗衣機(jī)的平均服務(wù)率(即單位時間內(nèi)被服務(wù)的用戶數(shù))為λ,服務(wù)強(qiáng)度ρ=μ/nλ,Pm(n)為n臺洗衣機(jī)中任意時刻有m個用戶的概率,有:
當(dāng)達(dá)到平衡狀態(tài)時,平均對長為:
用戶的平均等待時間為:
4.2 預(yù)約排隊策略的設(shè)計
4.2.1 先到先得型
按照預(yù)約用戶下單時間的先后順序進(jìn)行排隊,當(dāng)預(yù)約用戶在預(yù)約規(guī)定時間內(nèi)沒有使用洗衣機(jī),則由下一位預(yù)約用戶進(jìn)行預(yù)約使用,以此類推。這種策略會導(dǎo)致未使用預(yù)約服務(wù)的用戶長時間無法使用洗衣機(jī)。假設(shè)當(dāng)天排隊的總?cè)藬?shù)為S,其中未預(yù)約用戶數(shù)為S1,預(yù)約用戶數(shù)為S2。在第一位預(yù)約用戶使用的同時,其后預(yù)約用戶的等候時間要加上這位預(yù)約用戶的使用時間,對于未預(yù)約用戶生成隨機(jī)的使用時間并加上所有預(yù)約用戶的使用時間,最后根據(jù)“用戶滿意度”模型計算出用戶的滿意度得分。
4.2.2 規(guī)律使用型
按照預(yù)約用戶下單時間的先后順序進(jìn)行排隊,每完成P(P≥2)次預(yù)約服務(wù)后,等待半小時的時間供沒有使用預(yù)約服務(wù)的客戶使用,當(dāng)該客戶使用完成后,繼續(xù)執(zhí)行預(yù)約排隊序列,以此類推。相對于先到先得型預(yù)約服務(wù),這種模式顧及到了未使用預(yù)約服務(wù)客戶對洗衣機(jī)的使用。假設(shè)當(dāng)天排隊的總?cè)藬?shù)為S,其中未預(yù)約用戶數(shù)為S1,預(yù)約用戶數(shù)為S2。不失一般性的令P=2,即每有兩位預(yù)約用戶使用完成后,等待一位未預(yù)約用戶進(jìn)行使用,對于預(yù)約用戶而言,在加上之前的預(yù)約用戶的使用時間后,還需要加上一位未預(yù)約用戶的使用時間(如果未預(yù)約用戶沒有使用,則該時間為半小時),最后根據(jù)“用戶滿意度”模型計算出用戶的滿意度得分。
4.2.3 高價優(yōu)先型
在規(guī)律使用型預(yù)約模式的基礎(chǔ)上,對于著急使用洗衣機(jī)的用戶,可以在正常洗衣消費(fèi)的基礎(chǔ)上增加一定的額外費(fèi)用來實現(xiàn)優(yōu)先排隊使用,即每當(dāng)有高于基礎(chǔ)消費(fèi)的預(yù)約用戶進(jìn)入預(yù)約排隊的隊列后,根據(jù)總費(fèi)用的高低插入到隊列前,費(fèi)用越高越靠前,相同費(fèi)用下按照下單時間順序排隊插入隊列前。這種模型綜合考慮到了未使用預(yù)約服務(wù)的客戶以及著急使用預(yù)約服務(wù)的客戶。
假設(shè)當(dāng)天排隊的總?cè)藬?shù)為S,其中未預(yù)約用戶數(shù)為S1,預(yù)約用戶數(shù)為S2,普通預(yù)約用戶數(shù)為S2,加急預(yù)約用戶數(shù)為S3。不失一般性的令P=2,即每有兩位預(yù)約用戶使用完成后,等待一位未預(yù)約用戶進(jìn)行使用。對于加急用戶而言,需要加上之前的加急用戶的使用時間以及每兩位預(yù)約用戶后的一位未預(yù)約用戶的使用時間(如果未預(yù)約用戶沒有使用,則該時間為半小時),而對于普通預(yù)約用戶而言,除了要加上之前的普通預(yù)約用戶的使用時間以及每兩位預(yù)約用戶后的一位未預(yù)約用戶的使用時間,還需要加上加急用戶的使用時間,最后根據(jù)“用戶滿意度”模型計算出用戶的滿意度得分。
4.3 預(yù)約排隊策略的測試
根據(jù)表2中的測試數(shù)據(jù)對三種不同的排隊策略進(jìn)行滿意度計算。通過“用戶滿意度”模型對三種不同的排隊策略計算出用戶的滿意度得分,如表3所示。由測試可知,策略二改進(jìn)了對未預(yù)約用戶使用洗衣機(jī)的排隊方式,使得未預(yù)約用的滿意度大幅提高,而對于加急預(yù)約用戶而言,付出了相對較高的費(fèi)用,但是卻沒有排隊的優(yōu)勢,因此滿意度較低;而策略三針對加急用戶改善了排隊方式,雖然加急用戶付出了相對較高的費(fèi)用,但是獲得了更有利的排隊方式,因此滿意度提高較大;對于三種不同的排隊方式,均對于普通的預(yù)約用戶相對有利,因此,用戶的滿意度基本不變并維持在一個相對較高的程度上。綜合分析得出,在引入了預(yù)約服務(wù)后,采用第三種排隊策略得到最高的滿意度,能夠最優(yōu)的服務(wù)各種用戶。
表2 待測試數(shù)據(jù)Tab.2 Data to be Tested
表3 測試結(jié)果Tab.3 Results of Test
測試采用PC機(jī)作為上位機(jī),并通過VB設(shè)計了監(jiān)控界面對控制器進(jìn)行測試,系統(tǒng)的測試平臺,如圖4所示。登錄監(jiān)控系統(tǒng)后首先建立TCP連接服務(wù)器,然后啟動控制器通過WIFI與PC機(jī)進(jìn)行連接,最后啟動洗衣機(jī),得到的控制器監(jiān)控畫面,如圖5所示。此時,上位機(jī)得到的監(jiān)控畫面,如圖6所示。
圖4 測試平臺Fig.4 Testing Platform
圖5 實時狀態(tài)監(jiān)控Fig.5 Real-Time Status Monitoring
圖6 PC機(jī)遠(yuǎn)程監(jiān)控Fig.6 Remote Monitoring of PC
由測試可知,控制器對洗衣機(jī)狀態(tài)監(jiān)控的準(zhǔn)確性,與PC機(jī)通信的準(zhǔn)確性與穩(wěn)定性,實現(xiàn)了線上PC機(jī)與線下洗衣機(jī)的對接。
采用S3C2440作為控制器的核心,以嵌入式Linux作為操作系統(tǒng),實現(xiàn)了線上服務(wù)器與線下洗衣機(jī)的對接。系統(tǒng)搭建成本較低,但能滿足我們對設(shè)計的需求。同時,為了解決用戶漫長等待時間而引入了預(yù)約洗衣的功能,并對預(yù)約排隊算法進(jìn)行了研究,選出了最優(yōu)的預(yù)約排隊算法,使用戶對于自助洗衣服務(wù)更加的滿意。未來,我們還可以提出與完善更多的線上服務(wù)來滿足用戶的需求,使自助洗衣服務(wù)更加的智能化。
[1]彭云.我國電子商務(wù)發(fā)展現(xiàn)狀[J].合作經(jīng)濟(jì)與科技,2011(6):87-88.(Peng Yun.Situation of e-commerce development[J].CO-Operative Economy&Science,2011(6):87-88.)
[2]劉軍.我國電子商務(wù)發(fā)展現(xiàn)狀及趨勢分析[J].甘肅科技,2008(11):81-84.(Liu Jun.Analysis of e-commerce about the development and trend[J].Gansu Science and Technology,2008(11):81-84.)
[3]馬資道,張正炳.基于ARM-Linux的無線視頻監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].長江大學(xué)學(xué)報:自然科學(xué)版,2010,7(3):605-607.(Ma Zi-dao,Zhang Zheng-bin.Design and implementation of wireless video surveillance system based on ARM-Linux[J].Journal of Yangtze University:Nat Sci Edit,2010,7(3):605-607.)
[4]吳新生.基于ARM/WIFI/QT的無線視頻監(jiān)控系統(tǒng)的開發(fā)[J].計算機(jī)應(yīng)用系統(tǒng),2013,22(8):76-79.(Wu Xin-sheng.Development of wireless video monitoring system based on ARM/WiFi/QT[J].Computer System&Application,2013,22(8):76-79.)[5]郭素敏,向鳳紅.基于CAN總線的智能數(shù)據(jù)采集系統(tǒng)設(shè)計[J].昆明理工大學(xué)學(xué)報,2003,28(5):77-81.(Guo Su-min,Xiang Feng-hong.Design of the intelligent data acquisition system based on can bus[J].Journal of Kunming University of Science and Technology,2003,28(5):77-81.)
[6]張洪建,李正明,潘天紅.基于Qt/Embedded的嵌入式半自動生化分析儀人機(jī)界面設(shè)[J].機(jī)械設(shè)計與制造,2009(10):4-6.(Zhang Hong-jian,Li Zheng-ming,Pan Tian-hong.Design of embedded chemistry analyzer man-machine interface based on Qt/Embedded[J].Machinery Design&Manufacture,2009(10):4-6.)
[7]史永昌,王永樂.基于SQLite的嵌入式數(shù)據(jù)庫研究與應(yīng)用[J].福建電腦,2008(8):151-148.(Shi Yong-chang,Wang Yong-le.Research and application of embedded database based on SQLite[J].Fujian Computer,2008(8):151-148.)
[8]李婧,李亞,任建勛.基于SQLite數(shù)據(jù)庫的水文信息存儲方法探討[J].計算機(jī)光盤軟件與應(yīng)用,2014(2):149-151.(Li Jing,Li Ya,Ren Jian-xiong.Probe the storage of hydrological information based on SQLite database[J].Computer CD Software and Application,2014(2):149-151.)
[9]劉君瑞,陳穎圖,樊曉椏.基于先到先服務(wù)的二維動態(tài)優(yōu)先級信令排隊算法[J].計算機(jī)科學(xué),2011(5):89-92.(Liu Jun-rui,Chen Ying-tu,F(xiàn)an Xiao-ya.Two dimensional dynamic priority-based FCFS token-queuing algorithm[J].Computer Science,2011(5):89-92.)
[10]葉宗文.維修行業(yè)中排隊模型的應(yīng)用[J].四川兵工學(xué)報,2009(10):65-67.(Ye Zong-wen.Application of queuing model in repair industry[J].Journal of Sichuan Ordnance,2009(10):65-67.)