秦立靜,段奇凱,朱美芬,王瑞鵬,高 程,劉 歡
(甘肅農(nóng)業(yè)大學(xué) 信息科學(xué)技術(shù)學(xué)院,甘肅 蘭州 730000)
背包是人們?nèi)粘I钪斜夭豢缮俚臇|西,其可以隨身攜帶一些出行必備的物品,給人們提供了很大的便利。然而,丟失背包和背包失竊的事情時(shí)有發(fā)生。背包通常情況下背在人身后,人們無(wú)法隨時(shí)看到自己的背包,絕大多數(shù)的背包失竊就是因?yàn)檫@個(gè)原因。
本項(xiàng)目針對(duì)丟失背包和背包失竊這一熱議話題 ,設(shè)計(jì)了一種基于嵌入式STM32的防盜背包。實(shí)驗(yàn)表明,該防盜系統(tǒng)可以較好的處理背包丟失和背包失竊問(wèn)題,并且通過(guò)警報(bào)提醒用戶。
本系統(tǒng)由射頻識(shí)別技術(shù)(Radio Frequency Identification,RFID)、STM32單片機(jī)、TTS報(bào)警器等組成,系統(tǒng)拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)拓?fù)浣Y(jié)構(gòu)
RFID是自動(dòng)識(shí)別技術(shù)的一種,通過(guò)無(wú)線射頻方式進(jìn)行非接觸雙向數(shù)據(jù)通信,利用無(wú)線射頻方式對(duì)記錄媒體(電子標(biāo)簽或射頻卡)進(jìn)行讀/寫,達(dá)到識(shí)別目標(biāo)和數(shù)據(jù)交換的目的。RFID通過(guò)無(wú)線電波不接觸快速信息交換和存儲(chǔ)技術(shù),通過(guò)無(wú)線通信結(jié)合數(shù)據(jù)訪問(wèn)技術(shù),然后將其連接至數(shù)據(jù)庫(kù)系統(tǒng),并實(shí)現(xiàn)非接觸式的雙向通信,從而達(dá)到了識(shí)別的目的。RFID用于板塊之間的數(shù)據(jù)交換,串聯(lián)起一個(gè)極其復(fù)雜的系統(tǒng)[1]。RFID有著方便快捷、識(shí)別速度快、數(shù)據(jù)容量大、使用壽命長(zhǎng)、標(biāo)簽數(shù)據(jù)可動(dòng)態(tài)更改、較條碼而言具有更好的安全性、動(dòng)態(tài)實(shí)時(shí)通信等的優(yōu)點(diǎn)[2]。Curtin(2007)提出RFID技術(shù)具有機(jī)動(dòng)性、組織性、系統(tǒng)性、技術(shù)性等特征,RFID使裝備其標(biāo)簽的物體變得智能,且與信息系統(tǒng)進(jìn)行實(shí)時(shí)交流,這些特征使該技術(shù)得到極大關(guān)注,且被認(rèn)為將帶來(lái)下一次信息技術(shù)革命[3]。本項(xiàng)目通過(guò)RFID讀卡器讀取的信息,判斷RFID卡是否存在,若卡存在,說(shuō)明背包依舊在,若卡不存在,則說(shuō)明背包已丟失。
通過(guò)STM32單片機(jī)控制RFID讀卡器對(duì)RFID卡的讀取,若卡不存在,再次通過(guò)單片機(jī)將信息傳輸?shù)絋TS報(bào)警器。
文本到語(yǔ)音(Text to Speech, TTS)在內(nèi)置芯片的支持之下,通過(guò)神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì),把文字智能地轉(zhuǎn)化為自然語(yǔ)音流。這個(gè)處理過(guò)程為:首先對(duì)文本內(nèi)容進(jìn)行分析;然后調(diào)用語(yǔ)音合成引擎,調(diào)用語(yǔ)音庫(kù),合成語(yǔ)音;最后通過(guò)揚(yáng)聲器播放語(yǔ)音[4]。本文采用TTS技術(shù)對(duì)文本文件進(jìn)行實(shí)時(shí)轉(zhuǎn)換,轉(zhuǎn)換時(shí)間之短可以以秒計(jì)算。
TTS接收來(lái)自STM32單片機(jī)的信息,若信息中RFID卡存在,則不報(bào)警,反之,則進(jìn)行報(bào)警,提醒使用者背包丟失。
本設(shè)計(jì)所使用的STM32單片機(jī)相比較于其他系列來(lái)說(shuō),具有以下幾點(diǎn)優(yōu)勢(shì):
(1)與51系列單片機(jī)相比,STM32采用當(dāng)前移動(dòng)端廣泛使用的ARM構(gòu)架,有著較低的功耗和較為成熟的技術(shù),運(yùn)算速度是51單片機(jī)的幾十倍,且外圍接口功能比51系列強(qiáng)大太多。
(2)與MSP430相比,STM32可以進(jìn)行位操作,并且其程序都是模塊化的,接口的使用更為方便簡(jiǎn)單,學(xué)習(xí)難度小。處理運(yùn)算時(shí),STM32的速度略快于MSP430,做浮點(diǎn)運(yùn)算時(shí),速度更是遠(yuǎn)快于MSP430,在需要復(fù)雜運(yùn)算的環(huán)境中,STM32的優(yōu)勢(shì)極大。
(3)與其他8/16位單片機(jī)相比,STM32內(nèi)存更大、處理速度快,可開(kāi)發(fā)潛力也更大。
針對(duì)此款防盜背包系統(tǒng)的特性,本文在設(shè)計(jì)防盜背包系統(tǒng)的過(guò)程中充分考慮了以下性能需求:
(1)穩(wěn)定性。作為防盜背包系統(tǒng),保證其正常工作非常重要,系統(tǒng)運(yùn)行的穩(wěn)定程度,是判斷此防盜背包系統(tǒng)優(yōu)良性能的一個(gè)重要指標(biāo)。
(2)實(shí)時(shí)性。防盜背包系統(tǒng)最為重要的一點(diǎn)是實(shí)時(shí)性。背包丟失時(shí),使用者應(yīng)在第一時(shí)間接收到系統(tǒng)的反饋,發(fā)現(xiàn)背包丟失,因此其響應(yīng)時(shí)間應(yīng)控制在1 s以內(nèi)。
(3)易攜帶性。防盜背包系統(tǒng)是一種嵌入背包內(nèi)部的系統(tǒng),應(yīng)當(dāng)簡(jiǎn)單易攜帶質(zhì)量小。
(4)準(zhǔn)確性。防盜背包系統(tǒng)為使用者提供安全保障,須保證背包丟失時(shí)使用者第一時(shí)間得知,且不允許出任何錯(cuò)誤。
(5)易操作性。防盜背包適用于各個(gè)年齡階段的人,使用者只需將該系統(tǒng)放入背包內(nèi)部,就可起到防盜的作用。
本系統(tǒng)是通過(guò)將RFID卡放入背包中實(shí)現(xiàn)防盜。因此,需要在STM32單片機(jī)的控制下,在源代碼中編寫RFID讀卡器對(duì)RFID卡的循環(huán)讀取代碼,由單片機(jī)識(shí)別讀取信息。若信息中顯示RFID讀卡器顯示“BAG EXIST”,說(shuō)明卡仍然在背包沒(méi)有丟失,TTS語(yǔ)音報(bào)警器不會(huì)響應(yīng)報(bào)警;若讀卡器讀取到的信息顯示“BAG LOST”,說(shuō)明RFID卡不在背包已丟失,從而單片機(jī)控制TTS語(yǔ)音報(bào)警進(jìn)行報(bào)警提醒。
STM32F103單片機(jī)是基于ARM的32位通用增強(qiáng)型微控制器,支持實(shí)時(shí)仿真和跟蹤[5]。STM32F103單片機(jī)當(dāng)下最流行的單片機(jī)之一,其廣泛地運(yùn)用于各種智能設(shè)計(jì)以及各種嵌入式開(kāi)發(fā)。該控制器實(shí)時(shí)性能好、功耗低、數(shù)據(jù)處理能力強(qiáng)和集成整合能力強(qiáng)大,并且易于開(kāi)發(fā)。在STM32單片機(jī)中,采用了ARM較為先進(jìn)架構(gòu)的內(nèi)核,其實(shí)時(shí)性能和功耗控制等方面都較為優(yōu)良,能夠最大限度地進(jìn)行整合與集成,同時(shí)便于開(kāi)發(fā),能夠使產(chǎn)品更快速的進(jìn)入市場(chǎng)[6]。
TTS文字轉(zhuǎn)語(yǔ)音用途很廣,比如電子郵件、手機(jī)短信的閱讀、以及人工智能方面的應(yīng)用等。在本項(xiàng)目中TTS語(yǔ)音模塊主要通過(guò)接收單片機(jī)所傳輸?shù)男畔?,?duì)所接收的信息進(jìn)行數(shù)據(jù)分析、判斷。如果背包未丟失,則不發(fā)出警報(bào),同時(shí)將此信息返回單片機(jī);反之,則發(fā)出警報(bào),提醒用戶。
RFID射頻識(shí)別技術(shù),是一種非接觸式的自動(dòng)識(shí)別技術(shù),包括RFID讀卡器和RFID卡兩部分[7]。RFID讀卡器是一種能自動(dòng)閱讀電子標(biāo)簽數(shù)據(jù)的識(shí)別設(shè)備。RFID卡是一個(gè)儲(chǔ)存相關(guān)數(shù)據(jù)的射頻識(shí)別卡,當(dāng)與RFID讀卡器距離達(dá)到檢測(cè)距離時(shí),RFID讀卡器就會(huì)自動(dòng)讀取RFID卡中所包含的信息,數(shù)據(jù)。如果距離超出檢測(cè)范圍,則讀卡器會(huì)自己返回相關(guān)數(shù)據(jù),單片機(jī)接收到后會(huì)對(duì)數(shù)據(jù)進(jìn)行分析,以此來(lái)判斷RFID卡是否存在。而RFID模塊工作頻率大概為13.56 MHz,該頻率的波長(zhǎng)大概為22 m。除了金屬材料外,該頻率的波長(zhǎng)可以直接穿過(guò)液體等大多數(shù)的材料。因此對(duì)于本項(xiàng)目而言,波長(zhǎng)足夠穿過(guò)背包材料,同而增強(qiáng)了此項(xiàng)目的反應(yīng)敏捷性,以及提高了此項(xiàng)目的抗干擾能力。但是現(xiàn)有的RFID讀卡器在大規(guī)模的移動(dòng)應(yīng)用中仍存在著一些不足。例如處理速度較慢,人機(jī)交互不夠友好,成本較高,不能方便與上位機(jī)進(jìn)行通信等[8]。
本文在完善的硬件系統(tǒng)的基礎(chǔ)上,利用Keil μVision 5開(kāi)發(fā)環(huán)境,使用C語(yǔ)言編寫應(yīng)用程序。
首先為硬件系統(tǒng)通電,并且連接至計(jì)算機(jī),打開(kāi)串口1和串口4。接下來(lái)觀察計(jì)算機(jī)串口1和串口4發(fā)送的數(shù)據(jù)和接受的數(shù)據(jù)是否異常。若異常,則重新調(diào)試串口和接線;若正常,串口1返回?cái)?shù)據(jù)的第四位為“00”。此時(shí)未放置卡片,串口1返回的數(shù)據(jù)為“bag lost”;此時(shí)將卡片放置在RFID模塊上,觀察返回?cái)?shù)據(jù):串口1返回的數(shù)據(jù)第四位為“01”,并且串口4返回的數(shù)據(jù)為“bag exist”,說(shuō)明背包丟失。具體步驟如下所示:
(1)連接硬件系統(tǒng)至計(jì)算機(jī)并為整個(gè)系統(tǒng)通電;
(2)打開(kāi)串口1和串口4;
(3)檢測(cè)連接是否異常;
(4)通過(guò)放置卡片和不放置卡片返回的數(shù)據(jù)判斷背包是否丟失。
軟件系統(tǒng)流程如圖2所示。
圖2 軟件系統(tǒng)流程
該程序通過(guò)簡(jiǎn)單的硬件連接和兩個(gè)串口的發(fā)送、接收數(shù)據(jù)來(lái)判斷背包是否丟失。系統(tǒng)簡(jiǎn)單易操作,且在程序的設(shè)計(jì)上采用了多種C語(yǔ)言模式構(gòu)成的一種獨(dú)特的防盜系統(tǒng),使用者只需在背包中裝入RFID識(shí)別卡,就可以輕松的解決背包被盜的問(wèn)題。
本文設(shè)計(jì)了一種基于STM32的防盜背包。該背包由RFID識(shí)別器、STM32單片機(jī)和TTS報(bào)警器三部分構(gòu)成。實(shí)驗(yàn)表明,該系統(tǒng)簡(jiǎn)單易操作、易于維護(hù),系統(tǒng)的整體性能穩(wěn)定可靠,可最大限度地滿足人們對(duì)便攜性和安全性的需要,有著廣闊的市場(chǎng)前景。該系統(tǒng)不僅可以用于背包,稍作修改,還可以擴(kuò)展到各式各樣的包。