基于ZigBee的城市公交車(chē)定位系統設計
2.2 參考節點(diǎn)
參考節點(diǎn)是一種已知的靜態(tài)節點(diǎn),其坐標(X,Y)值是固定的,不參與定位計算,由CC2430 實(shí)現。本設計過(guò)程中一個(gè)區域采用8 個(gè)參考節點(diǎn)組成。
參考節點(diǎn)必須正確的配置在定位區域中的位置。它的任務(wù)是提供一個(gè)包含自己位置X,Y 坐標和RSSI 平均值[7 的信息包給定位節點(diǎn)。
在參考節點(diǎn)部分共有4 個(gè)輸入串ID,分別是RSSI 請求,參考節點(diǎn)配置,參考節點(diǎn)的請求配置,多次收集RSSI 平均值。參考節點(diǎn)收集到信息后。根據串ID 對信息進(jìn)行處理,并實(shí)現相應的功能。
參考節點(diǎn)在上電以后,如果是第一次加入定位網(wǎng)絡(luò ),那么系統講給與它一個(gè)默認的X,Y 值,并將數據寫(xiě)入flash;否則如果已經(jīng)存在于網(wǎng)絡(luò )中,則首先要將flash 中的X,Y 坐標值讀出,已確定自己的位置。
2.3 網(wǎng)關(guān)的功能及設計
網(wǎng)關(guān)應具有以下功能:
?、俳⒕W(wǎng)絡(luò ),無(wú)線(xiàn)收發(fā)數據的功能。
?、诶么诤陀嬎銠C通信的功能。
?、塾嬎阈r灥墓δ?。
?、芡ㄟ^(guò)液晶顯示器顯示參考節點(diǎn)和定位節點(diǎn)坐標網(wǎng)絡(luò )地址的功能。
?、蒉D發(fā)計算機數據配置和請求配置參考節點(diǎn)和定位節點(diǎn)的功能。
?、揶D發(fā)計算機數據請求定位節點(diǎn)坐標的功能。
網(wǎng)關(guān)節點(diǎn)模塊選擇CC2430,它是系統中至關(guān)重要的模塊。首先,網(wǎng)關(guān)要接收由監控軟件提供的各個(gè)參考節點(diǎn)和定位節點(diǎn)的配置數據,并根據不同的方式發(fā)送給相應的節點(diǎn);其次還要接收個(gè)節點(diǎn)的反饋數據,判斷數據的有效性,并傳輸給監控中心。
整個(gè)定位系統通過(guò)串命令控制整個(gè)流程,每1 個(gè)串命令都實(shí)現1 個(gè)相對應的功能。網(wǎng)關(guān)是一個(gè)中心控制站,自己涉及的串命令比較少。網(wǎng)關(guān)處理各個(gè)節點(diǎn)發(fā)送過(guò)來(lái)的有效數據進(jìn)行處理。這些數據包含了操作系統值,節點(diǎn)網(wǎng)絡(luò )地址,有效數據長(cháng)度,串ID,坐標數據長(cháng)度和坐標數據。這些數據被網(wǎng)關(guān)收集之后,首先通過(guò)串口發(fā)送給pc 機,然后對這些數據進(jìn)行數據校驗。系統中數據校驗的方法是取出數據操作系統值,即第1 位,對各位數據進(jìn)行異或計算。
PC 機通過(guò)串口接收到數據之后,首先判斷第1 位是否為操作系統值,然后根據數據長(cháng)度分配空間裝載數據。在數據裝載完成之后,立即對數據進(jìn)行校驗。
3 實(shí)驗結果及數據分析
為模擬公交定位系統的實(shí)現,采用了8 塊CC2430 模塊為參考節點(diǎn),2 塊CC2431 模塊為定位節點(diǎn),1 個(gè)網(wǎng)絡(luò )擴展卡和1 個(gè)CC2430 模塊組成網(wǎng)關(guān),進(jìn)行模擬公交車(chē)定位系統,最后將網(wǎng)關(guān)的數據通過(guò)串口[11]與計算機相連。因為定位系統的控制源是控制中心的計算機,所有的流程都由計算機控制。在網(wǎng)關(guān)收到或發(fā)送數據的時(shí)候,總會(huì )計算1 個(gè)校驗值驗證或做數據的最后以一位,所以以下實(shí)驗數據中數據格式由數據幀[11]和校驗位[12]兩部分組成。
通過(guò)串口讀到的數據為:02 10 18 0B CB B8 3C D2 1500 08 FF FF FF FF 83。各位數據含義如下:
表1 串口各位數據含義
從表中可以看出,0B 是數據長(cháng)度,為從這以為開(kāi)始一直到校驗位的所有數據位,B8 3C 表示網(wǎng)絡(luò )地址,低位在前,高位在后,表示的網(wǎng)絡(luò )地址為0x3CB0。15 00 表示串ID 號,地位在前,高位在后,所以串ID 地址為0x0015。后面的是XY 坐標上電后的初始地址。
在定位節點(diǎn)上電之后,首先把數據發(fā)送給網(wǎng)關(guān)。因為系統采用非自動(dòng)模式,所以網(wǎng)關(guān)會(huì )一直等待,直到上位機需要節點(diǎn)數據時(shí),發(fā)送如表2 所示的一條命令。
表2 上位機數據
從命令的形式可以看出,該命令的發(fā)送形式為短地址形式。發(fā)送該命令以后,只有地址為0x5324 的節點(diǎn)會(huì )收到該信息。發(fā)送后上位機收到的數據為:02 10 18 14 CB 32 65D3 14 00 11 00 06 00 1F 00 04 B8 3C 00 00 28 00 28 CF31 32 33 34。
從結果可以看出,上位機正常收到數據,通過(guò)改變定位節點(diǎn)在網(wǎng)絡(luò )中的位置,就可以得到一組不同的數據,在根據數據中特定的信息位可以得到坐標結果。在實(shí)際應用系統中,對應的坐標位都在地圖上進(jìn)行顯示,可以直觀(guān)的看到各輛公交車(chē)在路線(xiàn)上的位置信息。
4 結語(yǔ)
Zigbee 的無(wú)線(xiàn)定位系統基于無(wú)線(xiàn)單片機CC2431,利用CC2431 自帶的RSSI 定位引擎,再運用無(wú)線(xiàn)自組網(wǎng)進(jìn)行定位并向控制中心傳送定位信息。該系統設計簡(jiǎn)單,定位精確度高,設備成本低廉,適合現代化城市的公交車(chē)系統智能管理。
評論