新聞中心

        EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 超市自助購物系統(tǒng)設(shè)計(jì)原理與實(shí)現(xiàn),軟硬件協(xié)同

        超市自助購物系統(tǒng)設(shè)計(jì)原理與實(shí)現(xiàn),軟硬件協(xié)同

        作者: 時間:2017-06-08 來源:網(wǎng)絡(luò) 收藏

        本文引用地址:http://www.104case.com/article/201706/351007.htm

        第1章引言

        本文檔主要內(nèi)容在于介紹的開發(fā)背景,設(shè)計(jì)原理,和具體實(shí)現(xiàn),同時介紹系統(tǒng)使用方法,以期達(dá)到完善該系統(tǒng)并推廣應(yīng)用的目的。

        本文檔的讀者對象是應(yīng)用此系統(tǒng)的超市方,普通購物者也可閱讀此文檔,但不用關(guān)注具體技術(shù)細(xì)節(jié),只需要了解用戶使用方法即可。

        §1.2項(xiàng)目背景

        每次去超市買東西時,收銀臺前面長長的隊(duì)伍是一個讓所有人都發(fā)愁的問題。收銀員已經(jīng)用最快的速度去刷取物品上的條形碼,但結(jié)賬的整體時間依舊讓顧客等得不耐煩……

        射頻識別技術(shù)的高速發(fā)展,對于上面所述問題的解決提供了可能性。我們想利用技術(shù)的優(yōu)勢,開發(fā)一套嶄新的,大大縮短顧客結(jié)款的時間。

        第2章系統(tǒng)結(jié)構(gòu)

        §2.1系統(tǒng)框架

        §2.2購物車模塊操作流程


        §2.3收銀臺模塊操作流程

        §2.4系統(tǒng)特點(diǎn)

        當(dāng)前的超市結(jié)算系統(tǒng)主要依靠收銀臺處掃描商品包裝表面的條形碼來統(tǒng)計(jì)價(jià)格。條形碼系統(tǒng)的結(jié)算速度受到很大的限制,這已經(jīng)成為當(dāng)前超市結(jié)算系統(tǒng)被消費(fèi)者詬病的主要原因。相比之下,基于單片機(jī)和RMU系列開發(fā)板的具有很多獨(dú)特的優(yōu)勢。

        2.4.1 等待時間短

        當(dāng)前的超市結(jié)算系統(tǒng)完全是在收銀臺處對商品信息進(jìn)行統(tǒng)計(jì)。超市自助購物系統(tǒng)把這段時間分成了兩部分,并且把最耗時間的部分——一件一件掃描購買的商品,轉(zhuǎn)移到購物車上進(jìn)行。在購物的同時,完成當(dāng)前車內(nèi)商品總價(jià)的計(jì)算。收銀臺處只需進(jìn)行結(jié)賬環(huán)節(jié),不用經(jīng)歷掃描條形碼的漫長過程。

        2.4.2 支付形式多樣化

        超市自助購物系統(tǒng)有兩種支付方式,現(xiàn)金支付和會員卡余額支付。現(xiàn)金支付就是當(dāng)前超市中普遍采用的方式,支付過程比較麻煩。除此之外,購物者還可以選擇會員卡余額支付。只要會員卡賬戶余額大于本次消費(fèi)金額,就可以利用余額支付。

        2.4.3 完善的會員卡體系

        會員卡在超市自助購物系統(tǒng)中發(fā)揮著不可替代的作用。會員卡中包括的信息有:會員卡號,會員卡密碼,會員卡余額,會員卡積分。

        選購好物品進(jìn)行結(jié)算時購物車模塊會把本次消費(fèi)金額寫到自己的會員卡中,這個過程中需要會員卡密碼。利用會員卡余額支付時也需要會員卡密碼。根據(jù)每次消費(fèi)金額計(jì)算出本次消費(fèi)的積分,累加到會員卡積分中。

        2.4.4 系統(tǒng)功耗小

        購物車模塊選取了低功耗的單片機(jī)和RMU900+開發(fā)板(配套小功率天線),完全可以利用5V的充電電池做電源。收銀臺模塊接有交流電源,供電比較容易。兩部分模塊在非工作狀態(tài)下都可以待機(jī),不向外發(fā)射電磁波,節(jié)省能源。

        第3章技術(shù)細(xì)節(jié)(硬件部分)

        §3.1描述各部分技術(shù)系統(tǒng)

        系統(tǒng)硬件框圖如下:


        圖3.1硬件部分框架

        §3.2 MCU

        MCU芯片選擇TI公司的 F169。MSP430 提供兩個UART通信模塊,LCD顯示接口, EEPROM擴(kuò)展接口,共有6組I/O接口,能夠最多支持16個中斷源,同時MSP 430 有獨(dú)特的低功耗模式,可以極大地減小能量消耗。采用官方IAR Embeded Workbench,界面友好,能夠極大簡化軟件設(shè)計(jì)及調(diào)試驗(yàn)證,提高系統(tǒng)魯棒性。

        MSP430 采用3.3V供電,與RMU 900+供電電壓相同,異步串行通信部分采用URAT1端口,采用外接晶振,頻率為8MHz,波特率設(shè)置為57600 bps。

        系統(tǒng)采用3級中斷:初始上電復(fù)位中斷,初始上電時,系統(tǒng)檢測各模塊性能;低功耗喚醒中斷,當(dāng)購物結(jié)束后系統(tǒng)進(jìn)入低功耗模式,新顧客通過按鍵產(chǎn)生中斷,從低功耗模式中喚醒;串口通信接收中斷,接收RMU900發(fā)送的握手信息及讀取到的標(biāo)簽信息。

        LCD 顯示采用1602液晶顯示屏,可以顯示2行,每行16個字符(ASIIC碼字符)。由于開發(fā)時間倉促,LCD功能不夠完善。進(jìn)一步的設(shè)計(jì)中計(jì)劃采用12864液晶顯示屏或其他大屏幕顯示屏。但屏幕過大將會消耗更多電能,在基本設(shè)計(jì)中,1602液晶可以滿足需求。

        鍵盤采用8個獨(dú)立按鍵,實(shí)際用到3個按鍵,分別是Wake_up(從低功耗中喚醒按鍵),Key_start(連接RMU900+,啟動購物),Key_stop(結(jié)束購物,刷會員卡)。其中Wake_up產(chǎn)生中斷。

        §3.3讀寫模塊及天線

        讀寫模塊分別采用恒睿公司的RMU900+和RMU920。RMU900+在購物車上使用,采用電池供電。RMU900+通過開發(fā)板上的UART通信口與MCU通信。RMU920在收銀臺終端處固定,采用220V交流供電,采用USB與終端PC通信。

        購物車上天線采用T3640天線,該天線有效讀取距離約為1m,符合購物車要求。終端處天線采用9dbi圓極化天線,功率較大,讀取范圍可以達(dá)到5m。具體天線參數(shù)可以參考天線Datasheet。

        §3.4存儲模塊

        實(shí)際電子標(biāo)簽盡管可以讀入許多位,但依照讀寫模塊的使用說明,結(jié)果測試后我們發(fā)現(xiàn)標(biāo)簽只可以寫入數(shù)據(jù)2個字節(jié)。則根據(jù)每個標(biāo)簽對應(yīng)于不同的商品,目前只能做到216=65536件商品,這在商品如此豐富的今天顯然無法滿足需求。如果電子標(biāo)簽制造廠商可以將標(biāo)簽做到允許讀取8個字節(jié),則可以有216件商品,這個數(shù)量足以滿足所有需求。

        現(xiàn)代物聯(lián)網(wǎng)不僅要求顧客了解商品名稱,價(jià)格等基本信息,顧客還希望了解商品的產(chǎn)地,生產(chǎn)日期,保質(zhì)期等相關(guān)信息。這些信息在商品出廠時由廠家連同標(biāo)簽號寫入數(shù)據(jù)庫,商品進(jìn)入超市后超市將這些信息寫入EEPROM當(dāng)中。EEPROM和MCU相連,可以在讀到每個ID號時從內(nèi)存中找出商品信息,通過LCD顯示給顧客。

        開發(fā)中由于標(biāo)簽數(shù)量有限,相關(guān)信息存在MCU的程序存儲空間中即可。

        §3.5終端PC模塊

        收銀臺終端為一PC機(jī),上安裝有我們開發(fā)的軟件程序。終端和RMU920相連,也可以通過RFID讀取商品信息,但讀取速度較傳統(tǒng)條形碼有大幅度提高。PC后臺通過局域網(wǎng)LAN與服務(wù)器數(shù)據(jù)庫(Server Data Base)相連,可以實(shí)時將結(jié)算信息傳送至服務(wù)器。

        §3.6服務(wù)器模塊

        服務(wù)器模塊可以與MCU和終端PC進(jìn)行通信,將商品庫存信息存至MCU中,并實(shí)時更新商品數(shù)據(jù)庫和會員信息數(shù)據(jù)庫。

        第4章技術(shù)細(xì)節(jié)(軟件部分)

        §4.1描述各部分技術(shù)系統(tǒng)

        本產(chǎn)品所使用所有軟件程序(PC機(jī)上)均是基于Microsoft Visual 6.0 的MFC開發(fā)的。該軟件包含以下功能:1,利用天線讀取標(biāo)簽信息;2,利用所讀取信息進(jìn)行識別,修改,統(tǒng)計(jì)等過程;3,將處理過的信息記錄在PC機(jī)中。

        圖4.1 軟件部分架

        §4.2商品讀取函數(shù)

        利用了所給頭文件RMU900_API.h中的函數(shù)進(jìn)行了對天線和標(biāo)簽的操作。首先用到了RmuOpenAndConnect函數(shù)連接天線,然后利用RmuReadDataSingle函數(shù)進(jìn)行對商品的讀取操作,在程序中進(jìn)行了去重操作,保證了同一件商品被且僅被讀取了一次。

        §4.3商品(消費(fèi)者)識別函數(shù)

        首先利用標(biāo)簽中的特殊信息位辨別此標(biāo)簽為商品還是消費(fèi)者,然后在相應(yīng)的庫中尋找是否存在相應(yīng)的商品(消費(fèi)者),如果存在這樣的商品(消費(fèi)者),那么就導(dǎo)入相應(yīng)商品(消費(fèi)者)的信息,如果不存在相應(yīng)的商品(消費(fèi)者),則再相應(yīng)的區(qū)域報(bào)相應(yīng)的錯誤。

        §4.4信息處理函數(shù)

        4.4.1 信息顯示

        因?yàn)槭褂昧薓FC庫,所以只需要將所需顯示的信息值賦予相應(yīng)的文字框的對象,然后刷新屏幕,即可實(shí)現(xiàn)信息的顯示

        4.4.2 總金額統(tǒng)計(jì)與比較

        每次讀入信息后,可以得到其相應(yīng)的價(jià)格信息,將所有的金額相加后,即可得到總金額,然后將計(jì)算得到的總金額與消費(fèi)者標(biāo)簽中的讀到的總金額相比較,如果一致則顯示此次消費(fèi)的金額,然后可以進(jìn)行消費(fèi)操作,如果不一致則進(jìn)行報(bào)錯。

        4.4.3 支付與積分函數(shù)

        支付有兩種方式,現(xiàn)金支付與會員卡消費(fèi),對應(yīng)了兩個不同的按鍵,如果是現(xiàn)金支付,系統(tǒng)僅是將消費(fèi)金額對應(yīng)的積分存入會員卡信息中;如果是會員卡支付,則不僅是將消費(fèi)金額對應(yīng)的積分存入會員卡信息中,同時也將會員卡的余額減去對應(yīng)的消費(fèi)金額,如果余額不足,則報(bào)錯。

        §4.5其他函數(shù)

        4.5.1 清零函數(shù)

        為方便多次操作進(jìn)行統(tǒng)計(jì),系統(tǒng)提供了清零操作,本函數(shù)不僅將內(nèi)存中所有相應(yīng)的變量全部置零,同時也會清除顯示屏上所有上次遺留下來的信息,如商品信息,總金額信息與錯誤提示等。

        4.5.2 報(bào)錯函數(shù)

        本函數(shù)旨在處理一些意想不到的錯誤,每一步遇到問題后都會轉(zhuǎn)向此函數(shù),程序?qū)⒔K止運(yùn)行,同時將相應(yīng)(唯一)的錯誤顯示在報(bào)錯區(qū)域。

        4.5.3 商品庫,消費(fèi)者庫導(dǎo)入函數(shù)

        本函數(shù)利用的是 中的文件讀入讀出流的知識,利用文件流,對商品庫,消費(fèi)者庫(.txt文件)中儲存的信息進(jìn)行讀入和修改。

        4.5.4 總銷售數(shù)量與金額統(tǒng)計(jì)函數(shù)

        為了方便商場管理者對商場進(jìn)行管理,該軟件特別設(shè)置了該函數(shù),用來統(tǒng)計(jì)一段時間內(nèi)商場銷售的所有商品的總數(shù)量和金額,并將其保存在‘sale.txt’中。

        第5章應(yīng)用前景與發(fā)展方向

        未來商品使用RFID電子標(biāo)簽代替條形碼已成為貨物流通發(fā)展的必然趨勢。利用RFID電子標(biāo)簽,本系統(tǒng)可實(shí)現(xiàn)“購物無停頓,支付由我選”的自由自主購物。

        從購物者角度出發(fā),本系統(tǒng)可消除當(dāng)前超市收銀臺前排長隊(duì)的現(xiàn)象,大大節(jié)約了購物者的購物時間,增加了消費(fèi)舒適度。同時由于RFID電子標(biāo)簽保存信息較多,購物者可以從商品識別系統(tǒng)中讀取到該商品的整個生產(chǎn)流通過程,能夠買到更放心的商品。

        從超市角度出發(fā),超市可以大大減少收銀員的數(shù)量,降低了經(jīng)營成本;結(jié)算速度的加快同時提高了超市的吞吐量;結(jié)算系統(tǒng)與數(shù)據(jù)中心相連可以使超市隨時了解熱門商品及短缺商品信息,利用物聯(lián)網(wǎng)可以實(shí)現(xiàn)商品的及時調(diào)運(yùn)和補(bǔ)充。

        鑒于目前絕大多數(shù)超市依然使用傳統(tǒng)的人工結(jié)算方式,此系統(tǒng)的發(fā)展應(yīng)用前景極為廣闊。我們相信,如果此系統(tǒng)實(shí)現(xiàn)投入商用,必將帶來零售業(yè)和物流業(yè)的一場革命。

        第6章改進(jìn)方案

        超市自助購物系統(tǒng)滿足了最初的設(shè)計(jì)要求。但是,依舊有需要改進(jìn)的地方,主要有下面幾點(diǎn):

        購物車模塊由MSP430單片機(jī)和RMU900+開發(fā)板組成,體積較大,并且單片機(jī)和開發(fā)板上的很多資源沒有使用。在以后的設(shè)計(jì)中可以把MSP430單片機(jī)的主芯片、RMU900+芯片、電源控制模塊和液晶顯示屏集成在一塊電路板上,節(jié)省系統(tǒng)成本,提高系統(tǒng)的穩(wěn)定性。

        當(dāng)前的RMU系列開發(fā)板只能寫一個字大小的數(shù)據(jù)(16位),對標(biāo)簽的讀寫操作很局限。以后可以完善RMU開發(fā)板的功能,擴(kuò)大寫操作的數(shù)據(jù)位數(shù),提高對標(biāo)簽存儲區(qū)的利用,進(jìn)而可以提高標(biāo)簽數(shù)據(jù)存儲量,讓購物者看到商品的更多信息。

        當(dāng)前的收銀臺模塊只能單機(jī)運(yùn)行,不支持聯(lián)網(wǎng)操作,不能進(jìn)行數(shù)據(jù)的動態(tài)更新。在以后的設(shè)計(jì)中,可以在PC機(jī)程序部分實(shí)現(xiàn)聯(lián)網(wǎng)操作,真正滿足超市系統(tǒng)對聯(lián)機(jī)工作的需求。在一臺收銀臺PC機(jī)結(jié)賬之后馬上同步更新超市的物品數(shù)據(jù)庫和會員卡數(shù)據(jù)庫。

        當(dāng)前的系統(tǒng)安全性很差,對數(shù)據(jù)篡改行為沒有防御性。以后的設(shè)計(jì)中可以在寫操作和結(jié)賬過程中更多地使用標(biāo)簽密碼,增強(qiáng)對數(shù)據(jù)安全的保護(hù),有效防御篡改數(shù)據(jù)的行為。



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 新乡市| 吴堡县| 伊金霍洛旗| 灵丘县| 徐水县| 大荔县| 郓城县| 河池市| 玉田县| 新龙县| 当雄县| 陈巴尔虎旗| 荆门市| 云阳县| 彝良县| 额敏县| 黔南| 马边| 新晃| 故城县| 隆回县| 扬中市| 崇仁县| 霞浦县| 闻喜县| 大方县| 芦溪县| 普洱| 三台县| 高淳县| 米林县| 高青县| 克拉玛依市| 重庆市| 南投县| 平阳县| 华坪县| 深泽县| 龙井市| 即墨市| 合川市|