《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于ZigBee無線通信網絡的指紋考勤網絡設計
基于ZigBee無線通信網絡的指紋考勤網絡設計
伍龍山,戴志強,王凱旋,劉靜微
來源:RFID世界網
摘要: 目前指紋識別技術發(fā)展已經相當成熟,在市場上也能看到很多相關產品,如指紋鎖等。在實際應用中,往往需要在多點進行指紋識別,因此將多點構建為一個網絡具有很大的實際應用價值。在本文中,設計了一種星型ZigBee無線數據通信網絡,并在ZigBee終端連接指紋識別模塊,實現了多點的指紋考勤。
Abstract:
Key words :

        在生物體上有很多可識別性、唯一性和終生不變性的體征,如指紋、虹膜等。指紋檢測和識別是當前計算機應用方面的熱點研究課題,且在現實生活中也有著廣泛的應用,如應用于身份識別等。目前指紋識別技術發(fā)展已經相當成熟,在市場上也能看到很多相關產品,如指紋鎖等。在實際應用中,往往需要在多點進行指紋識別,因此將多點構建為一個網絡具有很大的實際應用價值。在本文中,設計了一種星型ZigBee無線數據通信網絡,并在ZigBee終端連接指紋識別模塊,實現了多點的指紋考勤。
  一、整體方案設計
  (一)星型ZigBee無線通信網絡方案
  在指紋識別過程中,指紋終端產生的數據是很少的,通常為幾十個字節(jié),因此對通信系統(tǒng)的帶寬要求較低。ZigBee可實現250kbps的,通信距離一般介于10—100m間,以及低成本、高容量使其成為恰當的選擇。
  在ZigBee無線通信網絡中設備單元有3種:協(xié)調器、路由器和終端。在本文中,我們組建包括一個協(xié)調器、多個終端的小型ZigBee網絡。協(xié)調器通過串口與上位機(或另一網絡端)相連{zigBee終端接到指紋識別模塊,并配合液晶擴展板實現對IDWD5002模塊的控制。指紋考勤結果的各信息在上位機管理軟件中顯示。圖1為系統(tǒng)方案。


            圖1 指紋考勤網絡設計方案
 (二)硬件模塊方案
  在網絡中需要使用的模塊有:ZigBee無線網絡模塊和指紋識別模塊。
  ZigBee無線通信模塊選擇為RF一2430。RF一2430提供SPI和UART與外部通信,其中UART可高達115.2kbps。指紋識別模塊選擇為IDWD5002,其通訊接口為RS232。該模塊作為從設備,由主設備發(fā)送相關命令對其進行控制,可調節(jié)安全等級、指紋特征數據的讀/寫和1:N識別及1:l驗證等。
  使用ZigBee無線通信模塊配套的液晶擴展板,通過RS232與指紋識別模塊IDWD5002相連接。
  二、指紋考勤網絡方案實現
  在網絡軟件開發(fā)中,使用的是IAR7.3OB平臺,ZigBee網絡協(xié)議為Ziggee2006協(xié)議棧。
  在協(xié)議安裝完成后,路徑C:\Texas Instrument\zstack一1.4.3—1.21\Project\zstack\utilities下有的SerialApp工程實現了簡單的無線數據傳輸功能。全雙工通信和流量控制,在數據發(fā)送超時或丟包時,具有數據重發(fā)功能。因此,在此工程基礎上修改,可以實現需要的ZigBee網絡。
  (一)配置網絡參數。
  在本文中需要構建的是一個一層的星型網絡, 首先是設定網絡的類型。在nwk—globals.h文件中,STACK PROFILE ID 的定義就是網絡的類型,將其定義為GENERIC STAR;最大網絡深度MAX NODE DEPTH改為t。網絡中最大設備數是由NwK—MAXDEVICE—LIST確定的,而且通常都會留有一定的余量,將其改為需要的數量。在文件nwk~globals.C中,數組CskipRtrs和數組CskipChldrn確定網絡的結構,將其改為需要的值。同時,在f8wConfig.cfg中設定信道、PAN_ID、綁定表最大記錄數和單個記錄綁定族ID最大數,并加入REFLECTOR編譯標志。
 (二)主體程序設計。
  對于給定的SerialApp.c中,主體的框架已經有了基本的輪廓;同時在文件0SAL—SerialApp.c中任務初始化合事件添加都已經完成。我們通過對SerialApp.C和其頭文件的添加和修改就可以完成程序。網絡中的數據通信時通過命令來識別發(fā)送目的地的。’這樣可以不必注意終端網絡地址變動,而實現數據的通信。
  1.設備綁定實現。
  在ZigBee2006協(xié)議中,數據通信是基于命令綁定方式實現的。綁定允許應用層發(fā)送信息需要帶目的地址,APS層確定目的地址從它的綁定表格中,然后在信息前端加一h這個目的地址或組。在設備綁定中有多種綁定方式,如源綁定等。本文中采用的是源綁定方式,這需要在編譯選項中加入REFLECTOR。綁定過程是由用戶終端發(fā)起的。首先終端向協(xié)調器發(fā)送描述符匹配請求,協(xié)調器接到描述符匹配請求后,在ZDO消息處理函數中給命令輸出列表中添加輸出命令,并初始化該命令對應的管理數據單元。終端接到匹配響應后完成命令綁定。接著向協(xié)調器發(fā)送帶有綁定命令的數據幀到協(xié)調器,協(xié)調器接收到綁定命令數據幀后,重復上面的操作。這樣就完成了終端和協(xié)調器的雙向綁定,其過程如圖2所示。當終端接收到描述符匹配請求后,向協(xié)調器發(fā)送數據幀并傳送到上位機,通知終端加入網絡。
     2.程序實現。
  在本文中闡述的網絡是單層的星型數據網絡,需要為每個加入網絡的終端分配資源。在SerialApp.C中添加數據接收序列號數組和發(fā)送序列號數組,數據接收存儲結構體和數據發(fā)送結構體,修改接收和發(fā)送族數組。
  協(xié)調器從串口接收到上位機傳來的數據,必須根據數據中包含的命令發(fā)送到對應的終端。根據約定的數據幀格式,從數據幀中提取命令并賦給當前發(fā)送終端參數。當數據幀接收完畢,啟動OTA發(fā)送任務將接收到的數據幀以綁定的方式發(fā)送;在接收到確認消息后繼續(xù)發(fā)送剩余的數據。如果上位機是連續(xù)發(fā)送數據,則還需要一個接收存儲結構體,使得已經接收到的數據能完整的發(fā)送給終端。對于數據的接收就相對發(fā)送就簡單得多了。指紋識別模塊向ZigBee終端發(fā)送的數據通常都是很小的,為幾卜個字節(jié)。因此協(xié)調器接收到數據后,可直接通過串口發(fā)送到上位機。
  相對于協(xié)調器,用戶終端是一個精簡的ZigBee網絡單元。在指紋考勤網絡中,ZigBee終端有兩個主要功能。其一,完成數據的通信:其二,實現對指紋識別模塊的控制。由于指紋模板比較大,這就需要對從協(xié)調器接收的數據整合成一個完整的數據包。它包括指紋識別的命令包和數據包。上位機將指紋模板分割成幾個數據幀發(fā)送,這樣是為了適應協(xié)調器串口接收要求。因此,在終端接收數據時,就必須將原來完整的數據恢復,然后發(fā)送到指紋模塊。指紋模塊實現指紋識別需要外部發(fā)送指令進行控制。在ZigBee終端的液晶擴展板上有4個按鍵可用于對指紋模塊的控制。在終端的程序中加入對按鍵的響應和指紋模塊響應處理就可實現對IDWD5002指紋模塊的控制。最后在程序中將指紋識別模塊識別結果打包發(fā)送到協(xié)調器,至此完成ZigBee終端的程序設計。
  (三)IDM)5002指紋識別模塊控制。
  IDWD5002指紋識別模塊與zigBee終端液晶擴展板連接后,通過按下上面的按鍵,實現對其控制。從按鍵按下后,指紋采集時間約3秒,這可以通過指紋模塊進行更改。在指紋采集的過程中,光學采集儀會有紫色背景光。登記手指按下后,紫光消失。這時可以在上位機上看到識別結果。
  三、調試和實際測試
  在調試時需要注意對上位機通信速率進行控制。雖然ZigBee在2.4G時理論上可以達到250kbps,但是協(xié)調器從串口接收數據到收到終端確認返回是需要一段時間的。因此上位機發(fā)送數據時需要給定一個間隔的。第二,上位機發(fā)送數據必須是在協(xié)調器和終端綁定完成后才能進行。

         圖2終端和協(xié)調器綁定過程
 首先運行上位機管理程序,接著給協(xié)調器加上電源,最后分別給zigBee終端和指紋識別模塊加上電源。在ZigBee終端綁定結束后,從上位機管理程序下載指紋模板數據到指紋識別模塊。這樣就可以進行指紋考勤了。實驗過程和結果如圖3、4所示。
           圖3 上位機管理程序界面:下拉列表框空位沒有zigBee終端接入網絡
          圖4指紋識別結果
  對比圖3和圖4:在設備列表中可以看到新加入了編號為1020的ZigBee終端;指紋識別結果為學號3的出勤為是。
  四、結論
  通過在成都無線龍開發(fā)的ZigBee模塊、液晶擴展板和艾德沃德的IDWD5002指紋識別模塊的應用,基于TI的ZigBee2006協(xié)議棧zstack的程序開發(fā),實現了無限ZigBee指紋考勤網絡。它通過從上位機下載已注冊的指紋模板到指紋識別模塊中,再將指紋識別的結果發(fā)送到上位機,完成整個指紋考的勤。整個網絡系統(tǒng)具有很大的使用價值。
此內容為AET網站原創(chuàng),未經授權禁止轉載。