李園園,李 勇
(中山職業技術學院,廣東 中山 528404)
隨著信息技術、物聯網技術、移動應用技術等高新技術的蓬勃發展,智能化的生活已經滲透到我們生活、工作、學習的方方面面,各行各業不僅僅需要信息化的支持,更需要借助物聯網技術實現人和物品之間更緊密的聯接。經過近些年不斷地發展,高校的資產管理系統已然實現了信息化,學校資產盤點終端主要有兩種技術手段:條形碼二維碼技術和射頻技術。二維碼技術可以用特定的手持終端或手機上安裝專門開發的APP來實現設備管理,優點是設備成本低,且操作方便;缺點是操作效率低,一次只能讀取一個資產的信息,對于空間狹窄操作設備無法到達的地方無法進行管理。射頻技術可以克服二維碼技術在資產管理方面的缺陷,效率高,可以同時管理數百個資產數據;管理空間范圍大,遠到幾十米的范圍進行資產信息讀寫。本文設計了一種超高頻(Ultrahigh Frequency,UHF)射頻標簽讀寫終端以及手機客戶端的編程流程,能通過藍牙配合手機使用同時進行二維碼和射頻標簽的讀寫管理。
手持UHF射頻讀寫終端,能滿足電池供電、低功耗、藍牙功能,射頻標簽讀寫功能,硬件的整體結構如圖1所示。

圖1 硬件結構
1.2.1 單片機
選用意法半導體公司的STM32F103C8T6,該芯片應用廣泛,供貨量大,價格基本與51系列同等功能單片機持平,性價比非常高。該芯片使用高性能的ARM? Cortex?-M3 32位的RISC內核,工作頻率為72 MHz,內置高速存儲器(64 K字節的閃存和20 K字節的SRAM),包含2個12位的ADC、3個通用16位定時器和1個PWM定時器,還包含標準和先進的通信接口:多達2個I 2 C接口和SPI接口、3個USART接口、一個USB接口和一個CAN接口。該單片機豐富的片上資源以及外設接口,保證了系統的最小化以及硬件的可靠性。供電電壓為2.0~3.6 V,一系列的省電模式(睡眠模式、停機模式、待機模式)保證低功耗應用的要求。
1.2.2 射頻模塊
選用曉網電子的一款900 M超高頻模塊RF100,兼容ISO18000-6C/EPC Gen2 協議。電源電壓支持 3.6~5 V 供電,該模塊參數如下。
(1)通訊協議:TTL串口;波特率:115 200 bps。
(2)頻率范圍:840~928 MHz。
(3)模塊尺寸為 20 mm×23 mm×1 mm(未計算屏蔽罩厚度)。
(4)發射功率為 15 dBm,26 dBm,軟件可調。
(5)讀卡距離:2~10 m,依據使用天線而定。
(6)模塊處于關閉模式:漏電小于10 μA。
(7)模塊處于深度睡眠模式:功耗小于300 μA。
(8)模塊處于待機模式:功耗為32 mA左右。
(9)模塊連續盤存模式:功耗為220~320 mA左右。
(10)模塊發送連續波時:功耗為320 mA左右。
(11)多標簽讀取>50 張/s。
(12)啟動時間<80 ms。
1.2.3 藍牙模塊
選用蜂匯物聯的主從一體藍牙模塊串口透傳模塊B-0001,該無線模塊是基于TI公司的CC2540F256 芯片研發的射頻模塊,該模塊可廣泛應用于短距離無線通信領域,具有功耗低、體積小、抗干擾能力強等特點。B-0001可以實現模塊與手機數據透傳,模塊與模塊點對點的數據透傳,通過簡單的 IO 控制便可以快速使用藍牙低能耗(Bluetooth Low Energy Consumption,BLE)技術。模塊主從合一,具有命令控制,通過串口可以切換模塊的主從角色,配置串口波特率,修改模塊的廣播名稱,修改廣播間隔和連接參數。該模塊采用TI CC2541方案,適配BLE4.0協議,可通過RS232串口與單片機通信,具有低功耗,超小體積等特點。
以上主要硬件的選擇,保證了系統設計的簡潔,功能可靠,并且達到了便攜式設備的低功耗的要求。
本文設計的便攜式射頻標簽讀寫器,以手機或PC機作為客戶端通過藍牙RS232串口控制讀寫器的運行(見圖2)。讀寫器的使用方式為:(1)系統開機上電;(2)手機端藍牙尋找配對設備;(3)設備配對后,可以通過手機發送指令對讀寫器進行設置;(4)RFID標簽管理。主要程序功能包含客戶端控制數據的封裝與發送;讀寫器返回數據的解封裝;藍牙接收客戶端數據解封裝與封裝成RFID模塊控制命令;RFID將讀取的標簽信息轉發至藍牙端。

圖2 讀寫器程序結構

?幀頭 幀類型 指令代碼 指令參數長度 指令參數 校驗位 幀尾
手機客戶端APP開發:Android 還是 iOS,APP軟件編程的使用相同的編程流程,設備中所用的藍牙模塊的透傳服務是 0xFEE0, 傳輸數據的特征值是 0xFEE1。APP編程設計流程如下。
(1)掃描設備,掃描到設備后會有一個回調函數,查找廣播報文中含有0xFEE0或者根據服務0xFEE0這個參數去掃描。(2)連接設備,調用連接藍牙的API。連接成功后會有回調;連接成功之后調用發現服務的API去發現所有的服務,透傳的服務是0xFEE0。若有發現到0xFEE服務,那么接著應該去使能特征值0xFEE1,只有使用了這個開關,模塊才會發送數據到手機。(3)調用發送函數去發送數據,當手機接收到數據,會有一個接收到數據的回調。
手機端到讀寫器藍牙端數據分兩類設置指令和數據傳送指令,設置指令的格式如下。

?幀頭 命令碼 數據長度 數據 校驗和 幀尾
(1)幀頭:固定為“0XFE”。(2)命令碼:(A)OX00表示設備命名;(B)0X01表示通信波特率設置;(C)0X02射頻模塊通信功耗設置。(3)數據長度:數據部分的長度。(4)數據:依據命令碼設定。(5)校驗和:從命令碼到數據段按字節相加,取最后一個字節。(6)幀尾:固定為“0X0F”。
數據傳送指令格式為如下。

?幀頭 數據 幀尾
(1)幀頭:固定為“0XEF”。(2)數據:所要傳送的內容。(3)幀尾:固定為“0X0F”。
讀寫器內部單片機藍牙通信指令對藍牙模塊進行具體的控制,所使用指令集分采用蜂匯設定的指令集,分為兩種,一個是設置指令集,一個查看參數指令集。
(1)藍牙模塊設置命令格式如下。

幀頭 命令碼 數據長度 數據 幀尾
(2)藍牙模塊查看參數指令格式如下。

幀頭(固定) Type 幀尾0xFB 命令號 0x00 0xAA
指令由幀頭、幀類型、指令代碼、指令數據長度、指令參數、校驗碼和幀尾組成,均為十六進制表示。
幀頭:0xBB;幀類型:0x00;指令代碼:0x07;指令參數長度:0x0001;指令參數:0x01;校驗位:從幀類型到最后一個指令參數累加和,取最后一個字節;幀尾:0x7E。
本文設計了一種和手機配合使用的射頻標簽讀卡器,給出了硬件原理圖框架,以及主要硬件模塊的選型;設計了軟件流程框架,給出了手機端到設備端通信協議、設備內部藍牙模塊管理協議、設備內部射頻模塊通信協議。與讀卡器配合手機使用,利用手機通信及二維碼掃描的優勢,可以同時實現二維碼和射頻標簽對資產的管理。