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