《物聯網技術與應用實踐》課件項目10_第1頁
《物聯網技術與應用實踐》課件項目10_第2頁
《物聯網技術與應用實踐》課件項目10_第3頁
《物聯網技術與應用實踐》課件項目10_第4頁
《物聯網技術與應用實踐》課件項目10_第5頁
已閱讀5頁,還剩84頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

項目十基于物聯網的智能泊車系統設計10.1任務一:智能泊車系統的簡述10.2任務二:系統的結構設計10.3任務三:系統的模塊接口設計10.4任務四:系統的界面設計10.5任務五:系統的軟件設計

10.1任務一:智能泊車系統的簡述

1.系統簡介

基于物聯網的智能泊車系統結合RFID、ZigBee技術、Wi-Fi及Android技術實現了停車場的智能泊車。系統主要包括控制、出入口、停車位、Android客戶端軟件等四部分。控制部分主要包括系統管理及界面的顯示;出入口部分包括讀卡、閘機控制、拍照三部分;停車位部分通過ZigBee外接光敏傳感器來實現車位狀態的獲取,并發送到協調器。系統具有如下特點:

(1)模塊化,安裝方便。

(2)真實場景,形象直觀。

(3)方便快捷,簡單生動。

2.實現目標

(1)實現ETC一體化系統,實現智能化收費。

(2)在目前已有的循跡賽道上,增加兩個閘門,一個控制器(使用ARM替代原有PC),一個兩通道UHF讀卡器,兩路攝像頭,根據需要可增加停車位。

(3)讀卡器通過網線連接到控制器,攝像頭直接連接到控制器上,閘口動作由ZigBee節點控制步進電機完成。

(4)讀卡操作采用:在每一個閘口上放置一個天線,進行讀卡操作。

(5)拍照操作:在每一個閘口上放置一個攝像頭,進行操作。

(6)停車位通過ZigBee連接光敏傳感器實現。

(7)建立進站刷卡界面。

(8)建立出站計費界面。

10.2任務二:系統的結構設計

1.系統框圖

系統框圖如圖10.1所示。圖10.1系統框圖

2.基本架構及各模塊功能

1)硬件架構

系統的硬件架構如圖10.2所示。圖10.2系統的硬件架構

2)軟件架構

系統的軟件架構如圖10.3所示。

本系統軟件主要包括上位機、下位機、Android手機客戶端三部分。圖10.3系統的軟件架構

3)基本流程圖

基本流程圖如圖10.4所示。圖10.4基本流程圖

10.3任務三:系統的模塊接口設計

1.?ZigBee控制

基本結構體如下:

(1)表示ZigBee網絡基本信息結構體。

(2)表示ZigBee傳感器節點的基本信息結構體。

(3)表示ZigBee節點的基本信息結構體。

(4)?ZigBee節點結構。

(5)基本函數如下:

①獲取網絡的基本信息函數:

NwkDesp*GetZigBeeNwkDesp(void);

功能:獲取當前ZigBee網絡的基本信息。

參數:無

返回值:NwkDesp指針。②控制閘口的開關狀態函數:

intSetSensorStatus(unsignedintnwkaddr,unsignedintstatus);

功能:設置ZigBee網絡中傳感器狀態(只針對設置型傳感器)。

參數:nwkaddr傳感器節點網絡地址,status狀態,0設置IO低電平,1設置IO高電平。

返回值:整形,0成功,非0失敗。③獲取節點傳感器狀態函數:

SensorDesp*GetSensorStatus(unsignedintnwkaddr);

功能:獲取當前ZigBee網絡節點的傳感器狀態。

參數:ZigBee網絡節點網絡地址。

返回值:SensorDesp指針。④獲取網絡節點設備信息函數:

DeviceInfo*GetZigBeeDevInfo(unsignedintnwkaddr);

功能:獲取當前ZigBee網絡節點的設備信息。

參數:ZigBee網絡節點網絡地址。

返回值:DeviceInfo指針。⑤獲取當前ZigBee網絡節點的拓撲結構數據鏈表函數:

NodeInfo*GetZigBeeNwkTopo(void);

功能:獲取當前ZigBee網絡節點的拓撲結構數據鏈表。

參數:無。

返回值:DeviceInfo指針,即保存ZigBee節點信息的鏈表頭。⑥?ZigBee串口監聽線程開啟處理函數:

intComPthreadMonitorStart(void);

功能:ZigBee串口監聽線程開啟處理函數。負責創建串口監聽線程,并處理相應串口數據包。應用程序需要調用該函數方可以更新監測ZigBee網絡信息及節點狀態。

參數:無。

返回值:整形,0成功,非0失敗。⑦?ZigBee串口監聽線程關閉函數:

intComPthreadMonitorExit(void);

功能:ZigBee串口監聽線程關閉函數。

參數:無。

返回值:整形,0成功,非0失敗。

說明:主要用到了紅筆標注的函數。

2.?UHF(

UltraHighFrequency特高頻)讀卡

3.拍照接口

4.

GPRS發送短信

(1)?tty_init();:串口初始化。

(2)?gprs_init();:GPRS初始化。

(3)?voidgprs_msg(char*number,char*pText)::發送短信。

參數:number為電話號碼,pText為短信內容。

返回值:無。

(4)?tty_end();:關閉串口。

5.下位機ZigBee控制舵機接口

函數如下:

intSetSensorStatus(unsignedintnwkaddr,unsignedintstatus);

功能:設置ZigBee網絡中傳感器狀態(只針對設置型傳感器)。

參數:nwkaddr傳感器節點網絡地址,status狀態,0設置IO低電平,1設置IO高電平。

返回值:整形,0成功,非0失敗。

該函數可根據節點的網絡地址,控制閘口的開關狀態。

10.4任務四:系統的界面設計

1.控制器界面顯示

主要功能:

(1)出入口RFID卡號,對應的車輛參數。

(2)車輛登記編號。

(3)車型顯示。

(4)車輛照片。

(5)卡片金額相關信息。

(6)顯示出入口拍攝的照片。

(7)出入口閘門狀態。

(8)手動開關閘操作。

(9)閘口節點狀態顯示。

(10)讀卡器通信狀態顯示。

(11)停車位節點在線狀態顯示。

(12)停車位占用狀態顯示。

(13)停車位預約狀態顯示。

控制器的基本界面如圖10.5所示。圖10.5基本界面

2.?Android客戶端界面

(1)停車位節點在線狀態顯示。

(2)停車位占用狀態顯示。

(3)停車位預約狀態顯示。

(4)停車位預約功能。

(5)車輛進入停車場動畫演示。

Android客戶端的基本界面如圖10.6所示。圖10.6Android客戶端的基本界面

10.5任務五:系統的軟件設計

1.?ZigBee電機控制程序

1)步進電機工作原理簡介

步進電機是將輸入的電脈沖信號轉換成角位移的特殊同步電機,它的特點是每輸入一個電脈沖,電動機轉子便轉動一步,轉一步的角度稱為步距角,步距角愈小,表明電機控制的精度越高。由于轉子的角位移與輸入的電脈沖成正比,因此電動機轉子轉動的速度便與電脈沖頻率成正比。

圖10.742BYGH1.8步進電機

圖10.8繞線圖

2)步進電機42BYGH1.8說明

步進電機相序表如表10.1所示。

3)步進電機42BYGH1.8驅動電路

步進電機42BYGH1.8驅動電路如圖10.9和圖10.10所示。圖10.9ZigBeeCore圖10.10步進電機驅動電路

4)程序代碼

詳見本書提供的資源。

2.基于Z-Stack的串口控制程序

1)實現原理

使用IAR開發環境設計程序,在ZStack-1.4.2-1.1.0協議棧源碼例程SampleApp工程基礎上,實現無線組網及通信。即協調器自動組網,路由或終端節點自動入網,并設計上位機串口數據協議,檢測和控制ZigBee網絡中節點與相關傳感器狀態。

2)?ZigBee(CC2430)模塊LED硬件接口

ZigBee(CC2430)模塊LED硬件接口如圖10.11所示。圖10.11LED硬件接口

ZigBee(CC2430)模塊硬件上設計有2個LED燈,用來編程調試使用。分別連接CC2430的P1_0、P1_1兩個IO引腳。從原理圖上可以看出,2個LED燈共陽極,當P1_0、P1_1引腳為低電平時候,LED燈點亮。

系統的框圖如圖10.12所示。圖10.12系統框圖

3)?SampleApp簡介

TI的ZStack-1.4.2-1.1.0協議棧中自帶了一些演示系統DEMO,存放在默認安裝目錄的C:\TexasInstruments\ZStack-1.4.2-1.1.0\Projects\zstack\Samples目錄下,本次系統將利用該目錄下的SampleApp系統工程來實現ZigBee模塊的自動組網和通信。

4)?MT層串口通信

協議棧中將串口通信部分放到了MT層的MT任務中去處理了,因此我們在使用串口通信的時候要在編譯工程(通常是協調器工程)時候在編譯選項中加入MT層相關任務的支持:MT_TASK、ZTOOL_P1或ZAPP_P1。

串口解析上位機串口數據流程如圖10.13所示。圖10.13MT層任務處理流程由于上述處理過程是針對特定輸出格式的串口數據,在一般串口終端中無法解析。TI默認使用的Z-Tool工具上位機串口數據格式如圖10.14所示。圖10.14MT層串口數據格式

5)應用層任務

本系統中應用層任務為SampleApp任務,該任務負責ZigBee網絡的創建和加入控制流程,主要是根據ZigBee閃存中網絡信息來啟動系統。圖10.15工程模板的選擇

6)分別下載上面編譯好的程序到ZigBee模塊

圖10.15所示的DemoEB工程編譯后選擇debug即可下載至模塊中,進入debug模式后點擊run運行工程,方可運行軟件。

7)啟動設備測試

首先啟動協調器模塊,建立網絡成功后LED2點亮,再啟動路由節點ZigBee模塊,入網成功后該模塊的LED2也點亮。網絡組建成功后,通過將PC機串口線接到ZigBee協調器調模塊對應的串口上,打開串口終端軟件,設置波特率為115?200,即可在串口終端中輸入程序中指定的串口命令控制協調器模塊。協調器通過串口接收到命令后,無線控制遠程節點狀態。

3.?RFID讀卡程序

RFID是RadioFrequencyIdentification的縮寫,即射頻識別,俗稱電子標簽。RFID射頻識別是一種非接觸式的自動識別技術,它通過射頻信號自動識別目標對象并獲取相關數據,識別工作無需人工干預,可工作于各種惡劣環境。RFID技術可識別高速運動物體并可同時識別多個標簽,操作快捷方便。

1)?UHF讀寫器模塊

本系統采用的讀寫器是結構完整、功能齊全的915?M的RFID讀寫器,它含有射頻(RF)模塊、Wi-Fi模塊、數字信號處理、輸入/輸出端口和串行通信接口,具備讀寫器同步功能。是多協議UHF讀寫器,支持ISO18000—6B和EPC協議國際標準,能讀寫UCODE、TI、Alian等標簽,本系統采用的是EPC協議國際標準標簽。可以通過更換外接不同增益的天線(最多2個),擴展讀卡有效范圍,降低用戶硬件成本。圖10.16通信協議結構圖

(1)通信協議——物理層。

物理層完成信號的比特數據發送與接收,物理層應符合RS-232規范要求。具體設計要求如下:

1位起始位、8位數據位、1位停止位、無奇偶校驗。

(2)通信協議——數據鏈路層。

數據鏈路層具體規定命令和響應幀的類型和數據格式。幀類型分為命令幀、響應幀、讀寫器命令完成響應幀。

命令幀格式定義如下:為了說明這一算法,我們以讀寫器單卡識別EPC標簽的命令為例,讀寫器識別單標簽命令幀如下:響應幀格式定義如下:讀寫器命令完成響應幀格式定義如下:

2)主要協議

UHF讀寫器支持多種協議,主要包括:獲取及設置讀卡器參數、升級類協議、ID匹配類協議、天線設置類協議、功率設置協議、讀卡及寫卡協議等。

本IOT-ETC系統,主要用到多通道讀卡協議及讀取ID數據命令幀協議,MultipleTagIdentify(Extension)協議如下:對于ISO18000—6B標簽,響應幀格式如下表所示:

GETIDBUF協議如下:讀寫器接收此命令幀后,返回命令響應幀,命令響應幀格式如下表所示:

3)關鍵代碼分析

(1)建立連接。

函數接口:intGetConnect(char*ipaddr,intport)。

功能:建立到到讀卡器服務器的連接。

參數:ipaddr為服務器地址,port為端口號(默認為4001)。

返回值:成功返回int型soketfd,連接錯誤返回?-1。

(2)雙通道讀卡函數。

函數接口:

intMultipleTagIdentify(intfd,unsignedintTagType,unsignedchar**pInIdBuff,unsignedchar**pOutIdBuff);

功能:獲得出入口讀到的卡號。參數:fd為連接Socket,TagType:1為ISO18000標簽,4為獲取gen標簽的EPC值,對6在此版本中不支持;返回正確時,**pInIdBuff為指向入口(通道1)的卡號(12*sizeof(unsignedchar)個),**pOutIdBuff為指向出口(通道2)的卡號(12*sizeof(unsignedchar)個),未讀到卡返回NULL。

返回值:正常為0,網絡連接阻塞時返回?-1,系統出現錯誤時返回?-2。

4.智能泊車系統GUI綜合程序

1)實現原理

物聯網IPA系統控制器部分界面采用Qt跨平臺的GUI設計方法,對系統中的RFID讀卡模塊、ZigBee無線傳感器模塊、攝像頭模塊等進行本地的界面顯示和控制。

2)系統總體流程圖

系統總體流程圖如圖10.17所示。圖10.17系統流程圖

3)?RFID線程

RFID線程負責讀卡與整個系統聯動控制,流程圖如圖10.18所示。圖10.18RFID流程圖

4)?ZigBee線程

ZigBeeQT線程負責使用串口相關命令獲取ZigBee設備鏈表節點信息,提供給其他線程或結盟線程服務。

5)?ZigBee設備鏈表維護線程

ZigBee網絡中節點維護是使用鏈表的方式,通過串口指定的命令格式來獲取協調器設備傳遞的網絡節點信息,關于ZigBee支持的串口命令的具體見ZigBee部分相關系統文檔。

6)?SQLite數據庫

系統中分別使用2個SQLite數據庫對RFID讀卡的信息進行邏輯判斷和信息處理,其中存儲了ID卡的相關信息如ID號、狀態、時間、車輛及車主信息等。另外一個數據庫用來保存停車位信息及預約狀態。

5.?Android服務器

本系統完成一個簡單的Server服務器。Server實現的功能,從數據庫讀取停車位的狀態信息,為客戶端提空車位查詢、預約車位、查找車位、短信確認等功能服務。

1)多線程實現Server服務器

服務器采用C/S方式,能夠解決多客戶端的問題,主要采用多線程、多進程來實現。由進程占用資源較大,所以采用多線程實現客戶端。服務器為每一個客戶端連接啟動一個線程,進行通信然后斷開連接,銷毀線程。

2)?SQLite3數據庫的使用

SQLite是一種嵌入式數據庫。它實現了對外部程序庫以及操作系統的最低要求,這使得它非常適合應用于嵌入式設備,同時,可以應用于一些穩定的,很少修改配置的應用程序中。SQLite是使用AN

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論