,
(蘇州健雄職業(yè)技術(shù)學(xué)院 電氣工程學(xué)院, 江蘇 太倉 215411)
目前,隨著人口的增加及消費(fèi)水平的提高,超市給人們的生活帶來了眾多的便利,但同時(shí)也帶來了一些問題,如購(gòu)物結(jié)賬排隊(duì)過長(zhǎng)所引起的等待時(shí)間過久、條形碼結(jié)算效率低下、付款方式繁瑣等問題,如這種問題得不到及時(shí)解決,必然會(huì)造成消費(fèi)者購(gòu)物滿意度不高和超市經(jīng)濟(jì)效益的下降。針對(duì)以上現(xiàn)象,本文利用RFID技術(shù)能實(shí)現(xiàn)快速掃描電子標(biāo)簽信息的優(yōu)勢(shì),設(shè)計(jì)實(shí)現(xiàn)了一種超市商品快速結(jié)算系統(tǒng)。
RFID(radio frequency identification)技術(shù)又稱無線射頻識(shí)別[1-3],是一種無線通信技術(shù),可通過無線電訊號(hào)識(shí)別特定目標(biāo)并讀寫相關(guān)數(shù)據(jù),而無需識(shí)別系統(tǒng)與特定目標(biāo)之間建立機(jī)械或光學(xué)接觸。傳統(tǒng)條形碼掃描只能通過掃描槍單件物品掃描,若掃描槍與條形碼之間有阻擋或掃描姿勢(shì)不對(duì),則不能讀取出商品信息,而RFID是一種無線技術(shù),它可以輕松透過各種非金屬式物品讀取到被阻擋的標(biāo)簽,具有快速掃描、可重復(fù)使用、穿透性、數(shù)據(jù)記憶量大及安全性等特點(diǎn)。當(dāng)電子標(biāo)簽進(jìn)入磁場(chǎng)后,接收讀寫器發(fā)出的射頻信號(hào)。無源電子標(biāo)簽憑借被動(dòng)產(chǎn)生感應(yīng)電流所獲得的能量發(fā)送出存儲(chǔ)在芯片中的產(chǎn)品信息,利用RFID防碰撞算法還可以實(shí)現(xiàn)短時(shí)間內(nèi)讀取多個(gè)標(biāo)簽。
超市快速結(jié)算系統(tǒng)配合RFID標(biāo)簽,可以實(shí)現(xiàn)一次性讀完商品信息的功能,并計(jì)算出價(jià)格顯示在4.7寸屏幕上,用戶可以通過RFID卡實(shí)現(xiàn)付款。此方案相比于傳統(tǒng)手持式掃碼器掃描商品條形碼讀取信息方案的最大優(yōu)點(diǎn)就是節(jié)約時(shí)間,避免用戶購(gòu)物結(jié)賬時(shí)等待時(shí)間過長(zhǎng)問題。用戶付賬成功后可獲得TTL打印機(jī)所打印的購(gòu)買信息收據(jù)單,同時(shí)RFID卡所綁定的用戶手機(jī)號(hào)也會(huì)收到相關(guān)消費(fèi)信息短信。
本超市快速結(jié)算系統(tǒng)是基于RFID技術(shù)實(shí)現(xiàn),通過觸控4.7寸電阻屏來控制標(biāo)簽讀卡器讀取商品標(biāo)簽信息,并根據(jù)用戶決定是否付款。當(dāng)用戶用射頻卡付款成功后會(huì)打印出用戶所購(gòu)買的商品清單并通過SIM900模塊將所扣款的信息發(fā)送給用戶,液晶屏同時(shí)也會(huì)顯示用戶購(gòu)買的物品數(shù)量及總金額。在用戶操作過程中,當(dāng)標(biāo)簽讀卡器開始讀卡時(shí),蜂鳴器會(huì)提醒用戶讀卡器正在工作,在標(biāo)簽讀卡器讀取完畢后蜂鳴器也會(huì)提醒用戶讀取完畢。
如圖1所示,本超市結(jié)算系統(tǒng)是由STM32最小系統(tǒng)、SIM900短信模塊、4.7寸電阻屏、蜂鳴器模塊、商品RFID標(biāo)簽超高頻讀卡器、TTL串口打印機(jī)、高頻卡讀卡器及扣款射頻卡和商品RFID標(biāo)簽組成[4]。
圖1 系統(tǒng)框圖
項(xiàng)目所要求的指標(biāo)如下:
1)貨架電子標(biāo)簽電壓<6 V,靜態(tài)電流<0.1 mA, 溫度-10~50 ℃,低功耗工作模式下電池壽命>5年。
2)貨架電子標(biāo)簽節(jié)點(diǎn)單一自組網(wǎng)數(shù)量>65 000個(gè),通信距離>2 km。
3)RFID商品電子標(biāo)簽讀寫器工作頻率為915 MHz,有效讀寫工作距離1~8 m可調(diào)。
4)無線定位精度<0.5 m。
5)軟件系統(tǒng)具備移植性,可在嵌入式和PC機(jī)同步運(yùn)行。
系統(tǒng)硬件電路包括USB轉(zhuǎn)串口一鍵下載電路、液晶屏電路、穩(wěn)壓電路、存儲(chǔ)電路、字庫電路、復(fù)位電路、晶振電路、蜂鳴器電路、按鍵電路,并引出供TTL串口打印機(jī)、SIM900模塊、RFID標(biāo)簽超高頻讀卡器、RFID高頻讀卡器所使用的接口[5-6]。其中,液晶屏為4.7寸電阻式TFT觸摸屏,用戶可以通過該屏幕清楚看見自己所購(gòu)買物品的數(shù)量及總金額,并可以通過觸控屏實(shí)現(xiàn)信息交互。由于使用的是TFT液晶屏,考慮到字庫文件較大,故設(shè)計(jì)了字庫電路,將TFT液晶屏的多個(gè)字庫封存在了W25X16 flash芯片中,主控芯片通過SPI接口來讀取字庫信息。同時(shí)為避免停電、跳閘時(shí)超市快速結(jié)算系統(tǒng)出現(xiàn)數(shù)據(jù)丟失的問題,本設(shè)計(jì)中增加了存儲(chǔ)電路,其使用的是IIC通訊接口的AT24C02存儲(chǔ)芯片,用于存放商品信息、用戶信息、標(biāo)簽號(hào)等。
超市快速結(jié)算系統(tǒng)的主控芯片采用增強(qiáng)型STM32F103[7],屬于中低端的32位ARM微控制器,其內(nèi)核為ARM Cortex-M3、時(shí)鐘最高可達(dá)到72 MHz,具有5個(gè)USART接口、3個(gè)SPI接口、2個(gè)IIC接口和11個(gè)定時(shí)器等,可以滿足本系統(tǒng)的設(shè)計(jì)要求。
短信發(fā)送模塊采用的是SIM900A模塊,屬于雙頻GSM/GPRS模塊,工作頻率為900 MHz和1 800 MHz,其供電電壓為5V,需要SIM卡。具備收發(fā)短信、撥號(hào)接聽、GPRS數(shù)據(jù)等功能,其外部通訊口為TLL串口,通過AT指令進(jìn)行操控。在本系統(tǒng)中由主控芯片通過串口發(fā)送AT指令操控,AT指令是主控芯片STM32F103與SIM900之間的通信協(xié)議,完成對(duì)SIM900的控制,負(fù)責(zé)發(fā)送扣款短信給消費(fèi)顧客。
標(biāo)簽讀卡器是小型UHF-RFID超高頻讀寫讀卡模塊[8],如圖2所示。它支持ISO18000-6C/EPC C1G2標(biāo)準(zhǔn)協(xié)議。工作電壓5 V,可讀取0~30cm間的RFID標(biāo)簽,其外部通訊接口為TTL串口/RS232,為方便使用,本設(shè)計(jì)中使用TTL串口作為通訊口。標(biāo)簽采用RFID技術(shù),其具有讀取速度快、讀取距離遠(yuǎn)、抗干擾能力強(qiáng)、穿透性強(qiáng)、安全性高等優(yōu)點(diǎn),其最大的優(yōu)點(diǎn)是RFID讀卡器可以在短時(shí)間內(nèi)對(duì)多個(gè)RFID標(biāo)簽進(jìn)行讀取的功能,這是傳統(tǒng)掃碼槍所不具備的。利用該技術(shù)可以在短時(shí)間將用戶所購(gòu)買的商品信息快速的讀取并計(jì)算出來,從而減少用戶的等待時(shí)間。RFID標(biāo)簽為Alien H3電子標(biāo)簽,具有64位ID號(hào),其內(nèi)部協(xié)議為IISO/IEC 18000-6C & EPC global Class 1 Gen 2 ,工作頻率為860~960 MHz,由于該頻段在全球的定義是不相同的,在亞洲規(guī)定為868 MHz(該頻段波長(zhǎng)大概在30 cm左右),所以這里選型采用型號(hào)H3-9662,它具有很高的數(shù)據(jù)傳輸效率,能在很短的時(shí)間內(nèi)被讀寫,常應(yīng)用于生產(chǎn)線自動(dòng)化管理、航空包裹管理、集裝箱包裹管理等。
圖2 標(biāo)簽讀卡器
RC522射頻IC卡讀卡器是一種常見的讀卡器[9-10],如圖3所示。 RC522芯片是應(yīng)用于13.56 MHz非接觸式通訊中高集成度的讀卡器芯片,支持14443A協(xié)議。支持的卡類型:mifare1 S50、mifare1 S70、mifare UltraLight、mifare Pro、mifare Desfire。RC522模塊是基于SPI通訊,由主控板模擬SPI接口控制,主控板通過防碰撞協(xié)議使RC522射頻IC卡讀卡器工作,然后讀取標(biāo)準(zhǔn)S50空白卡,標(biāo)準(zhǔn)S50空白卡在本系統(tǒng)中模擬用戶消費(fèi)扣款卡。
圖3 RC522射頻IC卡讀卡器
TTL串口打印機(jī)是一種嵌入式微型熱敏打印機(jī),它其與普通打印機(jī)最大的區(qū)別是使用串口進(jìn)行數(shù)據(jù)傳輸,通過打印頭上安裝有半導(dǎo)體加熱元件,打印頭加熱并接觸熱敏打印紙后就可以打印出需要的內(nèi)容。主控板僅需通過串口打印出一定格式的內(nèi)容,熱敏打印機(jī)即可打印出來。在本系統(tǒng)中用于打印消費(fèi)者購(gòu)買清單。
本系統(tǒng)主控板PCB采用雙層電路板設(shè)計(jì),主要使用SMT貼片元器件,大大節(jié)省了板子面積。在布局方面,充分考慮到實(shí)際情況,將整塊PCB大小壓縮到與TFT液晶屏大小相同,所有元器件放于TFT屏下面,一方面節(jié)省了板子面積,另一方面也增加了美觀度。因主控系統(tǒng)需連接多個(gè)外圍模塊,所以將預(yù)留端口放于板子周圍,方便接線調(diào)試。其中,SIM900短信模塊可直接插于該電路板反面后座上,減少一定接線工作。如圖4與5分別是該本系統(tǒng)硬件主控板電路PCB板的正反面。
圖4 PCB板圖(正面3D)
圖5 PCB板圖(反面3D)
硬件實(shí)現(xiàn)中主要是RFID讀卡器識(shí)別商品上的標(biāo)簽,將采集到的數(shù)據(jù)網(wǎng)絡(luò)傳輸給收銀端和后臺(tái)服務(wù)端,后臺(tái)服務(wù)端接受到數(shù)據(jù)后開始進(jìn)行分析和處理,并將處理結(jié)果傳輸?shù)角芭_(tái),前臺(tái)接受到數(shù)據(jù)后顯示并打印出付款明細(xì)。
圖6是超市快速結(jié)算系統(tǒng)程序流程圖。當(dāng)主控電路板上電后,首先STM32初始化,初始化STM32的串口、定時(shí)器、模擬SPI、模擬IIC;當(dāng)STM32內(nèi)部資源初始化好后通過相關(guān)接口與外部模塊進(jìn)行通訊并初始化外部模塊。當(dāng)用戶需要掃描自己購(gòu)買的物品時(shí),僅需將貼有RFID標(biāo)簽的商品放于RFID標(biāo)簽讀卡器上,并點(diǎn)擊TFT觸摸屏上的“計(jì)算”按鍵,隨后STM32將發(fā)送一組指令給RFID標(biāo)簽讀卡器,RFID標(biāo)簽讀卡器收到指令后通過防碰撞算法將所有標(biāo)簽的ID號(hào)讀取出來并封裝成包發(fā)送給STM32,STM32根據(jù)收到的數(shù)據(jù)包進(jìn)行解析,與24C02中存儲(chǔ)的商品信息進(jìn)行匹配,并計(jì)算出價(jià)格與商品數(shù)量顯示在TFT液晶屏上。
用戶查看信息后可決定是否付款,當(dāng)點(diǎn)下“付款”按鈕后,STM32啟動(dòng)RC522射頻卡讀卡器進(jìn)入讀卡模式并等待用戶刷卡。用戶將自己的消費(fèi)卡放置射頻卡讀卡器讀取范圍內(nèi),射頻卡讀卡器通過防碰撞算法讀取到用戶消費(fèi)卡的卡號(hào),與24C02中存儲(chǔ)的用戶信息進(jìn)行匹配。當(dāng)用戶確認(rèn)付款并且匹配成功后,STM32會(huì)對(duì)用戶信息中的金額進(jìn)行更新,由TTL打印機(jī)打印出用戶所購(gòu)買的物品清單,打印完后將發(fā)送用戶消費(fèi)信息短信給用戶,用戶手機(jī)號(hào)事先與消費(fèi)卡號(hào)綁定寫入存儲(chǔ)芯片中;若用戶確認(rèn)付款但匹配沒有成功,STM32也會(huì)通過液晶屏來告知用戶;若用戶確認(rèn)付款并且匹配成功但是卡內(nèi)余額不足,STM32也會(huì)通過液晶屏來提示用戶,此時(shí)用戶只能通過重新讀取標(biāo)簽計(jì)算價(jià)格,并重新付款。
void RFID_READ_id(void)函數(shù)是RFID標(biāo)簽反饋數(shù)據(jù)包解析代碼程序,RFID標(biāo)簽讀卡器將讀取到的RFID標(biāo)簽ID號(hào)封裝成包發(fā)給STM32,STM32解析其中的ID號(hào)并與存儲(chǔ)器中的ID號(hào)進(jìn)行匹配,匹配成功后將進(jìn)行金額累計(jì)與數(shù)量累計(jì),并通過屏幕顯示給用戶。
圖6 程序流程圖
主要核心代碼如下:
void RFID_READ_id(void)
{
int i,j,z,k;//定義變量
float money = 0.00;
unsigned long b;
unsigned char c[6];
BSP_USART_OUT(USART2,Read_Card,7);//發(fā)送讀取指令
delay_ms(1500);//等待處理
BSP_USART_OUT(USART1,Rec_Buf1,100);//發(fā)送至電腦端
for(i=6;i<1024;i+=24)
{
for(j=0;j<8;j++)//與數(shù)據(jù)庫核對(duì)
{
for(z=0;z<14;z++)
{ if(Rec_Buf1[i+z]==Card_database[j][z])
k++;
}
if(k==14)
{
money += commodity_price[j];
number++;
}
k=0;
}
}
圖7 超市快速結(jié)算系統(tǒng)實(shí)現(xiàn)效果
for(i=0;i<1024;i++)//清空接收數(shù)組
Rec_Buf1[i] = 0;
buf_num1=0;//清除接收計(jì)數(shù)
b = (unsigned long)(money*100);
c[0] = b/10000%10+'0';
c[1] = b/1000%10+'0';
c[2] = b/100%10+'0';
c[3] = '.';
c[4] = b/10%10+'0';
c[5] = b%10+'0';
BSP_USART_OUT(USART1,c,6);//回復(fù)收到數(shù)據(jù)
USART_printf(USART1," ");
POINT_COLOR=BLACK;
Show_Str(30,60,300,32,"數(shù)量",32,1);
Show_32number(161,60,300,number);
Show_Str(260,60,300,32,"個(gè)",32,1);
Show_Str(30,90,300,32,"金額",32,0); Show_32double(126,90,350,money);
Show_Str(260,90,300,32,"元",32,1);
}
超市快速結(jié)算系統(tǒng)實(shí)物圖7(a),將相關(guān)程序下載到結(jié)算系統(tǒng)各模塊中,便可實(shí)現(xiàn)價(jià)格讀取、用戶支付、清單打印及發(fā)送短信,具體實(shí)現(xiàn)效果如圖7和8所示。
圖8 消費(fèi)短信反饋效果
本系統(tǒng)經(jīng)過測(cè)試驗(yàn)證,可同時(shí)無差錯(cuò)識(shí)別20件商品RFID標(biāo)簽的信息,通信距離最遠(yuǎn)為10CM,相關(guān)硬件抗電磁干擾的效果良好,穩(wěn)定性較高。此外,系統(tǒng)人機(jī)交互界面簡(jiǎn)潔明了,可滿足不同用戶的結(jié)算需求。
本文利用RFID技術(shù)具有的快速掃描電子標(biāo)簽的功能設(shè)計(jì)了一種超市快速結(jié)算系統(tǒng),該系統(tǒng)由RFID標(biāo)簽超高頻讀卡器、RFID高頻讀卡器、TTL串口打印機(jī)及短信發(fā)送等模塊所組成,可實(shí)現(xiàn)商品價(jià)格的讀取、數(shù)據(jù)的匹配、處理、顯示、購(gòu)物清單的打印及消費(fèi)短信的發(fā)送等功能。實(shí)驗(yàn)證明,該系統(tǒng)能較快地完成商品價(jià)格的匯總,縮短顧客的購(gòu)物時(shí)間,在與超市后臺(tái)結(jié)算數(shù)據(jù)庫對(duì)接后,將極大的提升顧客的購(gòu)物效率和超市的智能化管理水平。
參考文獻(xiàn):
[1] 李明娟,李海龍. 單片機(jī)和RFID技術(shù)的智能門禁系統(tǒng)設(shè)計(jì)[J]. 實(shí)驗(yàn)室研究與探索,2016(35):123-126.
[2] 郭鳳鳴,李 兵. 基于RFID技術(shù)的方向感知方法研究[J]. 華東師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2016(2):73-80.
[3] 楊公建,劉 勇. 室內(nèi)RFID網(wǎng)絡(luò)跟蹤算法研究[J]. 計(jì)算機(jī)工程與應(yīng)用,2010(36):114-117.
[4] 馬旭平,馬金舟. 超市快速智能結(jié)算系統(tǒng)的實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2016(12):151-181.
[5] 胡宏梅. 基于ZigBee技術(shù)的超市貨架商品標(biāo)簽系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù),2017(3):40-42.
[6] 張志濤,殷 業(yè). 一種基于契合度模型的室內(nèi)定位方法[J]. 計(jì)算機(jī)工程,2016(3):295-300.
[7] 賈陽靜,鄒念育. 基于Android和WIFI通信的智能家居系統(tǒng)設(shè)計(jì)[J]. 大連工業(yè)大學(xué)學(xué)報(bào),2016(1):67-70.
[8] 浦靈敏. 基于物聯(lián)網(wǎng)技術(shù)的智能家居實(shí)訓(xùn)教學(xué)平臺(tái)的設(shè)計(jì)[J].信息技術(shù),2016(5):84-90.
[9] 丁利偉,李 勇. 一種基于新型標(biāo)簽識(shí)別的購(gòu)物導(dǎo)航系統(tǒng)[J]. 光電工程,2015(1):51-57.
[10] 丁 磊,蔣東園. 語音識(shí)別技術(shù)在電子貨架標(biāo)簽系統(tǒng)中的應(yīng)用[J]. 計(jì)算機(jī)測(cè)量與控制,2016(10):186-193.