浦靈敏, 姜子祥
(蘇州健雄職業(yè)技術(shù)學(xué)院 電氣工程學(xué)院, 江蘇 太倉(cāng) 215411)
傳統(tǒng)超市大多使用紙質(zhì)標(biāo)簽來(lái)顯示商品的信息,人們?cè)诔械母鱾€(gè)貨架上都能看到這些小標(biāo)簽的存在,它一方面為顧客提供了基礎(chǔ)信息,也為超市管理帶來(lái)了一定的便捷。然而每當(dāng)商品價(jià)格產(chǎn)生變化,商品信息標(biāo)簽也需要被更換掉,由于傳統(tǒng)標(biāo)簽通常為紙質(zhì)標(biāo)簽,大量使用會(huì)產(chǎn)生很多的浪費(fèi),同時(shí)維護(hù)管理標(biāo)簽需要大量的人力,容易出錯(cuò)和丟失,不適合頻繁修改,這給超市管理部門和顧客的購(gòu)物體驗(yàn)帶來(lái)了不良影響[1]。
針對(duì)存在的問(wèn)題,本文提出一種基于物聯(lián)網(wǎng)技術(shù)的智慧超市電子標(biāo)簽系統(tǒng),通過(guò)ZigBee技術(shù)和手機(jī)APP實(shí)現(xiàn)電子標(biāo)簽顯示信息的無(wú)線修改,僅需要一臺(tái)協(xié)調(diào)器網(wǎng)關(guān)就可以控制同一個(gè)ZigBee網(wǎng)絡(luò)中的所有標(biāo)簽節(jié)點(diǎn),完成信息的更新,通過(guò)OLED低功耗屏幕顯示價(jià)格等信息,方便了超市管理人員進(jìn)行價(jià)格等信息的實(shí)時(shí)維護(hù)。理論上,ZigBee最大連接數(shù)量為65 000個(gè),這個(gè)數(shù)量基本滿足超市貨品種類需求。
如圖1所示,超市智慧電子標(biāo)簽系統(tǒng)分為協(xié)調(diào)器網(wǎng)關(guān)、節(jié)點(diǎn)和手機(jī)端管理軟件。協(xié)調(diào)器網(wǎng)關(guān)通過(guò)建立的ZigBee網(wǎng)絡(luò)將數(shù)據(jù)廣播給各個(gè)ZigBee標(biāo)簽節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)收到數(shù)據(jù)后與自己ID號(hào)進(jìn)行對(duì)比,核對(duì)成功的標(biāo)簽自動(dòng)更改商品信息[2]。
圖1 超市智慧電子標(biāo)簽系統(tǒng)設(shè)計(jì)框圖
其中,協(xié)調(diào)器網(wǎng)關(guān)是由ZigBee協(xié)調(diào)器和藍(lán)牙串口透?jìng)髂K所構(gòu)成,管理員通過(guò)手機(jī)APP將更新信息由藍(lán)牙串口透?jìng)髂K轉(zhuǎn)發(fā)進(jìn)行控制,如圖2所示;電子標(biāo)簽主要由ZigBee終端節(jié)點(diǎn)、33 mm(1.3吋)OLED屏幕、24C02存儲(chǔ)器和鋰電池所構(gòu)成,如圖3所示。
圖2 協(xié)調(diào)器網(wǎng)關(guān)組成框圖圖3 標(biāo)簽節(jié)點(diǎn)組成框圖
超市智慧電子價(jià)格標(biāo)簽系統(tǒng)的硬件設(shè)計(jì)主要為ZigBee無(wú)線標(biāo)簽節(jié)點(diǎn)的設(shè)計(jì)[3],相關(guān)的硬件核心包括鋰電池接口電路、復(fù)位電路、ZigBee核心模塊、下載電路、穩(wěn)壓電路、OLED屏驅(qū)動(dòng)電路和電壓采集電路等[4],如圖4所示。電池接口為3.7 V鋰電池接口;復(fù)位電路可在ZigBee網(wǎng)絡(luò)出現(xiàn)問(wèn)題時(shí)進(jìn)行復(fù)位;ZigBee核心模塊為CC2530最小系統(tǒng)電路,通過(guò)JTAG口下載標(biāo)簽節(jié)點(diǎn)程序,每個(gè)節(jié)點(diǎn)下載前都需要在程序中進(jìn)行ID配置,以免出現(xiàn)標(biāo)簽重名;穩(wěn)壓采用662 K穩(wěn)壓電路;OLED屏驅(qū)動(dòng)電路采用I2C接口。
圖4 超市智慧電子標(biāo)簽節(jié)點(diǎn)硬件框圖
本系統(tǒng)中ZigBee標(biāo)簽節(jié)點(diǎn)采用E18-MS1 ZigBee最小系統(tǒng)模塊[5-6],其最大優(yōu)點(diǎn)是小巧、貼片封裝,模塊引腳如圖5 所示,核心芯片采用德州儀器(TI)CC2530無(wú)線單片機(jī),它是用于2.4-GHzIEEE 802.15.4、ZigBee和RF4CE 應(yīng)用的一個(gè)真正的片上系統(tǒng)(SoC)解決方案,能夠以非常低的總的材料成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn)。
圖5 ZigBee核心模塊外接引腳
電源電路包括了穩(wěn)壓電路和電壓采集電路兩部分。由于ZigBee的工作電壓為3.3 V,而普通鋰電池一般具有3.7~4.2 V電壓,本設(shè)計(jì)中通過(guò)低壓差芯片662 K穩(wěn)壓成3.3 V供ZigBee使用[14-15]。圖6所示為無(wú)線標(biāo)簽節(jié)點(diǎn)穩(wěn)壓電路,它具有高紋波抑制率、低功耗、低壓差,具有過(guò)流和短路保護(hù)的CMOS降壓穩(wěn)壓功能。它能在輸入、輸出電壓差極小的情況下提供250 mA的輸出電流,并且仍能保持良好的調(diào)整率。在壓差0.2 V時(shí)可輸出90 mA的電流,在壓差0.4 V時(shí)可輸出200 mA左右的電流。由于ZigBee終端節(jié)點(diǎn)與OLED屏功耗較低且考慮到體積大小問(wèn)題,故該輸出電流滿足設(shè)計(jì)要求。鋰電池選型為常用200 mA·h鋰電池,容量適中,體積較小。通過(guò)電壓采集電路和CC2530 的P0_0口進(jìn)行AD轉(zhuǎn)換,實(shí)時(shí)監(jiān)測(cè)電池容量,如圖7所示。
圖6 無(wú)線標(biāo)簽節(jié)點(diǎn)穩(wěn)壓電路圖7 電壓采集電路
本系統(tǒng)中選用OLED屏幕作為商品標(biāo)簽信息的顯示,顯示模塊如圖8所示。OLED是一種不需要背光源的顯示屏幕,它由有機(jī)電激發(fā)光二極管所構(gòu)成,具有對(duì)比度高、厚度薄、視角廣、反應(yīng)速度快、可用于撓曲性面板、使用溫度范圍廣、構(gòu)造及制程較簡(jiǎn)單等優(yōu)異的特性。OLED顯示屏有2種工作模式,即IIC通信和SPI通信,考慮節(jié)省標(biāo)簽節(jié)點(diǎn)I/O口資源,在本系統(tǒng)中采用IIC通信協(xié)議,OLED電子標(biāo)簽顯示接口驅(qū)動(dòng)電路如圖9所示。
圖8 電子標(biāo)簽OLED顯示模塊
圖9 OLED電子標(biāo)簽顯示接口驅(qū)動(dòng)電路
系統(tǒng)軟件部分的設(shè)計(jì)包括了ZigBee協(xié)議棧程序和手機(jī)端APP程序的設(shè)計(jì),手機(jī)端通過(guò)藍(lán)牙與ZigBee協(xié)調(diào)器網(wǎng)關(guān)建立連接后,進(jìn)行相關(guān)的數(shù)據(jù)通信,協(xié)調(diào)器協(xié)議棧將數(shù)據(jù)進(jìn)行廣播發(fā)送給網(wǎng)絡(luò)中的所有標(biāo)簽節(jié)點(diǎn)[7-10]。
超市智慧無(wú)線標(biāo)簽ZigBee軟件分為協(xié)調(diào)器協(xié)議棧程序和終端節(jié)點(diǎn)協(xié)議棧程序。協(xié)調(diào)器配合藍(lán)牙透?jìng)髂K工作,管理員手機(jī)連接上藍(lán)牙網(wǎng)關(guān)并且經(jīng)過(guò)密碼認(rèn)證后,在手機(jī)APP上發(fā)送相關(guān)修改信息,協(xié)調(diào)器通過(guò)藍(lán)牙串口透?jìng)鹘邮諗?shù)據(jù),并將數(shù)據(jù)發(fā)送給相對(duì)應(yīng)的節(jié)點(diǎn)。ZigBee標(biāo)簽節(jié)點(diǎn)在初始化后驅(qū)動(dòng)OLED屏幕,并將上一次存入的商品信息讀出并顯示,若管理員沒(méi)有進(jìn)行修改,則顯示內(nèi)容不變,否則,ZigBee節(jié)點(diǎn)會(huì)將收到最新數(shù)據(jù)存入24C02存儲(chǔ)器中,然后刷新OLED 標(biāo)簽顯示信息。
超市智慧無(wú)線標(biāo)簽節(jié)點(diǎn)的程序流程如圖10所示,節(jié)點(diǎn)上電后對(duì)ZigBee系統(tǒng)初始化,在初始化中會(huì)自動(dòng)搜尋ZigBee網(wǎng)絡(luò)并連接上,系統(tǒng)初始化后,進(jìn)行OLED顯示和存儲(chǔ)器的初始化;ZigBee標(biāo)簽節(jié)點(diǎn)在存儲(chǔ)器中讀取商品的價(jià)格并顯示在OLED屏幕上,當(dāng)收到ZigBee網(wǎng)絡(luò)中協(xié)調(diào)器發(fā)送的信息后主動(dòng)進(jìn)行核對(duì),如果信息中的ID號(hào)與節(jié)點(diǎn)的ID號(hào)一致,會(huì)將該信息重新覆蓋寫入到存儲(chǔ)器中,并實(shí)現(xiàn)OLED顯示信息的更新。
圖10 標(biāo)簽節(jié)點(diǎn)程序流程圖
超市智慧無(wú)線標(biāo)簽協(xié)調(diào)器的程序流程如圖11所示,協(xié)調(diào)器上電后會(huì)對(duì)ZigBee系統(tǒng)初始化,建立一個(gè)ZigBee網(wǎng)絡(luò),隨后初始化藍(lán)牙模塊。藍(lán)牙模塊收到匹配好的手機(jī)端數(shù)據(jù),將判斷信息格式是否是正確的協(xié)議格式,若是則廣播給各個(gè)超市智慧無(wú)線標(biāo)簽節(jié)點(diǎn),否則就繼續(xù)等待正確消息。
圖11 標(biāo)簽協(xié)調(diào)器程序流程圖
智慧超市無(wú)線標(biāo)簽節(jié)點(diǎn)接收到協(xié)調(diào)器數(shù)據(jù)后與自身ID號(hào)對(duì)比,匹配成功后將接收到的數(shù)據(jù)存入存儲(chǔ)數(shù)組中,顯示在OLED屏幕上,通過(guò)ZigBee模塊的TTL串口也可以看到接收到的數(shù)據(jù)。標(biāo)簽節(jié)點(diǎn)協(xié)議棧接收函數(shù)中主要的處理程序如下:
voidSampleApp_MessageMSGCB(afIncomingMSGPacket_t *pkt)
{
switch (pkt->clusterId)
case SAMPLEAPP_COM_CLUSTERID://判斷串口透?jìng)鰿LUSTERID
len = pkt->cmd.Data[0];
Label_Read =pkt->cmd.Data[1]-'0';
if(Label_Read ==Label_ID)//如果不是主機(jī),則接收到數(shù)據(jù)后打印出來(lái)。
{
for(i=0;i HalUARTWrite(0,&pkt->cmd.Data[i+1],1); HalUARTWrite(0,"
",1); for(i=0;i<7;i++) price_money[i]=' '; z=len-2; for(i=6,j=len;z>0;i--,j--,z--) { price_money[i]=pkt->cmd.Data[j]-'0'; } display(Label_ID); } if(pkt->cmd.Data[1]=='0'&&pkt->cmd.Data[2]=='0' if(pkt->cmd.Data[1]=='1'&&pkt->cmd.Data[2]=='1' break; } 將相關(guān)程序下載到超市智慧無(wú)線電子標(biāo)簽節(jié)點(diǎn)各模塊中,實(shí)現(xiàn)效果如圖12所示。 系統(tǒng)手機(jī)端管理軟件基于安卓平臺(tái)開(kāi)發(fā),其通過(guò)手機(jī)端藍(lán)牙與超市無(wú)線標(biāo)簽中協(xié)調(diào)器的藍(lán)牙網(wǎng)關(guān)進(jìn)行無(wú)線數(shù)據(jù)傳輸,管理員僅需在APP中填入對(duì)應(yīng)標(biāo)簽號(hào)與需要修改的信息,點(diǎn)擊修改按鈕即可完成任務(wù)。 超市商品價(jià)格修改手機(jī)端程序工作流程如圖13所示。手機(jī)打開(kāi)藍(lán)牙并匹配到藍(lán)牙模塊后, APP初始化藍(lán)牙協(xié)議,若管理員輸入相關(guān)信息并點(diǎn)擊發(fā)送,數(shù)據(jù)會(huì)通過(guò)手機(jī)藍(lán)牙發(fā)送給協(xié)調(diào)器藍(lán)牙網(wǎng)關(guān)。若手機(jī)沒(méi)打開(kāi)藍(lán)牙或匹配成功,APP則會(huì)打開(kāi)不成功,以提示用戶開(kāi)啟藍(lán)牙并匹配藍(lán)牙透?jìng)髂K[11-13]。 圖13 手機(jī)端管理程序工作流程 手機(jī)端管理程序APP界面如圖14所示,Public void onResume()是APP程序中藍(lán)牙初始化的核心函數(shù),在用戶打開(kāi)藍(lán)牙功能并打開(kāi)APP后,程序會(huì)通過(guò)device.createRfcommSocketToServiceRecord(MY_UUID)方法與超市無(wú)線標(biāo)簽中協(xié)調(diào)器藍(lán)牙模塊的ID地址相匹配,在匹配成功后會(huì)提示用戶“藍(lán)牙已經(jīng)連接”,否則就會(huì)自動(dòng)關(guān)閉藍(lán)牙套接字功能,相關(guān)主要代碼如下: 圖14 手機(jī)端管理程序界面 @Override public void onResume() { super.onResume(); BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address); try { btSocket = device.createRfcommSocketToServiceRecord(MY_UUID); } catch (IOException e) { } mBluetoothAdapter.cancelDiscovery(); try { btSocket.connect(); Toast.makeText(MainActivity.this, "藍(lán)牙已連接", Toast.LENGTH_SHORT).show(); } catch (IOException e) { try { btSocket.close(); } catch (IOException e2) { } } } 本文針對(duì)目前超市在商品貨架標(biāo)簽管理中存在的問(wèn)題,提出了一種基于ZigBee和藍(lán)牙等物聯(lián)網(wǎng)技術(shù)的智慧電子價(jià)格標(biāo)簽系統(tǒng),通過(guò)手機(jī)端APP將信息發(fā)送給ZigBee協(xié)調(diào)器網(wǎng)關(guān),協(xié)調(diào)器利用ZigBee網(wǎng)絡(luò)將數(shù)據(jù)轉(zhuǎn)發(fā)給標(biāo)簽節(jié)點(diǎn)從而實(shí)現(xiàn)數(shù)據(jù)的修改,這種設(shè)計(jì)既節(jié)省了資源,又節(jié)省了人力,在與超市后臺(tái)結(jié)算數(shù)據(jù)庫(kù)對(duì)接后,將極大的提高超市貨架商品價(jià)格標(biāo)簽的管理效率。 [1] 堵成蕾,李相朋. 電子價(jià)簽系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].通信電源技術(shù),2016,33(2):103-105. [2] 浦靈敏. 基于物聯(lián)網(wǎng)技術(shù)的智能家居實(shí)訓(xùn)教學(xué)平臺(tái)的設(shè)計(jì)[J].信息技術(shù),2016(5):84-90. [3] 馬旭平,馬金舟. 超市快速智能結(jié)算系統(tǒng)的實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2016,12(14):151-181. [4] 胡宏梅. 基于ZigBee技術(shù)的超市貨架商品標(biāo)簽系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù),2017(3):40-42. [5] 劉火良,楊 森. STM32庫(kù)開(kāi)發(fā)實(shí)戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社,2014. [6] 童立鑫,樊孝明. 基于ZigBee的電子標(biāo)簽交互系統(tǒng)的設(shè)計(jì)[J].大眾科技,2014,16(178):28-30. [7] 郭振軍,孫應(yīng)飛. 基于標(biāo)簽分組的RFID系統(tǒng)防碰撞算法[J].電子與信息學(xué)報(bào),2017,39(1):250-254. [8] 張朝暉,劉 悅. 基于標(biāo)簽ID的RFID系統(tǒng)密鑰無(wú)線生成算法[J].計(jì)算機(jī)應(yīng)用研究,2017,34(1):261-269. [9] 郭振軍,孫應(yīng)飛. UHF RFID讀寫器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)科學(xué)院大學(xué)學(xué)報(bào),2017,34(1):124-127. [10] 丁 磊,劉清華. 基于ESLS的顧客定位系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2017,網(wǎng)絡(luò)出版. [11] 黃錐良,陳劍雄.基于電子標(biāo)簽的訂單分區(qū)揀選系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2016,42(10):85-91. [12] 包先雨,陳枝楠. 電子標(biāo)簽與商品條碼的數(shù)據(jù)轉(zhuǎn)換模型研究[J].合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,38(6):783-787. [13] 孔令榮.一種雙頻電子標(biāo)簽芯片及電源管理電路[J].電子技術(shù)應(yīng)用,2017,43(7):40-46. [14] 廖海波,王 彬.低功耗超高頻電子標(biāo)簽數(shù)字基帶電路設(shè)計(jì)[J].微電子學(xué),2015,45(5):573-576. [15] 南敬昌,包曉偉.基于低頻觸發(fā)的高精度RFID定位系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].工程設(shè)計(jì)學(xué)報(bào),2017,24(3):225-231.3.2 手機(jī)端標(biāo)簽管理APP的設(shè)計(jì)
4 結(jié) 語(yǔ)