一種基于Zigbee的路燈控制系統(tǒng)實(shí)現(xiàn)方案
1) 路燈節(jié)點(diǎn)之間的通信實(shí)現(xiàn)。
路燈節(jié)點(diǎn)之間實(shí)現(xiàn)通信,一方面是為了了保證路燈在夜間沒有行人或車輛通過時(shí)處于節(jié)電狀態(tài),即微亮狀態(tài),另一方面是當(dāng)路燈節(jié)點(diǎn)檢測(cè)到道路上有行人或車輛通過時(shí),使該路燈轉(zhuǎn)為全亮,并通知下一盞路燈轉(zhuǎn)為全亮,以確保行人或車輛的出行安全。
路燈節(jié)點(diǎn)之間采用串口通信,通信參數(shù)配置為異步通信、8 位數(shù)據(jù)、無(wú)奇偶校驗(yàn)、一個(gè)停止位及無(wú)倍速。串口的發(fā)送程序采用查詢方式,接收程序采用中斷接收方式。
路燈節(jié)點(diǎn)控制器之間的發(fā)送程序?yàn)椋?BR>
sysDRFarr [0] = 0xfd; / /點(diǎn)對(duì)點(diǎn)數(shù)據(jù)傳輸指令
sysDRFarr [1] = 1; / /數(shù)據(jù)長(zhǎng)度
sysDRFarr [2] = sysAddress [( LEDNumber )* 11 + 1]; / /目標(biāo)地址高
sysDRFarr [3] = sysAddress [( LEDNumber )* 11 + 2]; / /目標(biāo)地址低
sysDRFarr [4] = 0; / /數(shù)據(jù)
put_ arr ( sysDRFarr,5) ; / /發(fā)送一串?dāng)?shù)據(jù)幀
接收處理程序?yàn)椋?BR>
void PointToPointRecive ( void)
{
LEDPWM_ Adjust ( usartReceiveBuf [3 ]) ;
/ /接收到的數(shù)據(jù)
sysDRFarrShortAddress [0] = usartReceiveBuf[4]; / /來(lái)源地址高
sysDRFarrShortAddress [1] = usartReceiveBuf[5]; / /來(lái)源地址低
usartReceive_ Init ( ) ; / /串口數(shù)據(jù)初始化
}
2) 路燈節(jié)點(diǎn)與監(jiān)控中心之間的通信。
路燈節(jié)點(diǎn)與監(jiān)控中心之間的通信一方面可以通過上位機(jī)為路燈節(jié)點(diǎn)配置相關(guān)信息、發(fā)送控制指令,另一方面可以接收來(lái)自路燈節(jié)點(diǎn)的現(xiàn)場(chǎng)運(yùn)行信息,實(shí)現(xiàn)系統(tǒng)在監(jiān)控室進(jìn)行路燈系統(tǒng)操控和故障查詢、報(bào)警等功能。
采用PC 機(jī)串口與網(wǎng)絡(luò)協(xié)調(diào)器相連,實(shí)現(xiàn)讀取路燈節(jié)點(diǎn)信息或控制路燈運(yùn)行狀態(tài)。例如PC 機(jī)要讀取當(dāng)前系統(tǒng)路燈信息,利用串口調(diào)試工具觀察PC機(jī)向無(wú)線網(wǎng)絡(luò)發(fā)送和接收數(shù)據(jù),如圖2 所示。發(fā)送指令格式為: FB + 02 + 14 + 路燈編號(hào)( 本系統(tǒng)中路燈編號(hào)為01,02,03),表示讀取編號(hào)為01、02、03 的路燈節(jié)點(diǎn)當(dāng)前信息;路燈節(jié)點(diǎn)做出回應(yīng),通過無(wú)線網(wǎng)絡(luò)返回路燈信息格式為: 環(huán)境光強(qiáng)+ 路燈光強(qiáng)+ 故障情況。路燈節(jié)點(diǎn)1 返回的信息表明當(dāng)前所處環(huán)境光強(qiáng)度為E2(由強(qiáng)到弱范圍: FE ~ 00)、路燈亮度FB ( 由滅到全亮范圍:FE ~ 00) 、無(wú)故障00( 有故障為01) 。
圖2 串口調(diào)試界面
3. 3 監(jiān)控軟件功能設(shè)計(jì)
系統(tǒng)監(jiān)控中心程序包括: 顯示監(jiān)控程序、調(diào)試配置程序、系統(tǒng)參數(shù)配置程序及存儲(chǔ)工作運(yùn)行數(shù)據(jù)程序。
(1) 顯示監(jiān)控程序。
顯示監(jiān)控程序包括路燈狀態(tài)信息、街道狀態(tài)信息、報(bào)警信息。通過顯示監(jiān)控界面可以實(shí)現(xiàn)街道選擇; 觀察路燈當(dāng)前光通量、功耗、工作時(shí)長(zhǎng)及是否故障; 自動(dòng)統(tǒng)計(jì)該街道的總用電量、亮燈率;系統(tǒng)自動(dòng)工作的時(shí)間段; 顯示當(dāng)前街道故障的路燈編號(hào)及該路燈在什么時(shí)間發(fā)生故障。
(2) 調(diào)試配置程序。
調(diào)試配置程序包括串口配置、Zigbee 讀取及配置、路燈調(diào)試。通過串口配置界面設(shè)置相應(yīng)的串口配置參數(shù);通過Zigbee 的配置程序可讀取Zigbee 模塊的網(wǎng)絡(luò)ID 號(hào)、波特率、網(wǎng)絡(luò)地址、MAC 地址,可以方便的設(shè)置Zigbee 模塊的網(wǎng)絡(luò)ID 號(hào)、波特率;通過路燈調(diào)試界面可以讀取該街道路燈的環(huán)境光強(qiáng)、路燈光強(qiáng)、功耗、是否故障等信息??梢詫?duì)該路燈進(jìn)行調(diào)光測(cè)試及設(shè)置該路燈開始工作時(shí)間。
?。?) 系統(tǒng)參數(shù)配置程序。
系統(tǒng)參數(shù)配置程序包括校正路燈節(jié)點(diǎn)時(shí)間、設(shè)置系統(tǒng)工作時(shí)間、配置街道地址。在系統(tǒng)運(yùn)行過程中,系統(tǒng)時(shí)間可能會(huì)與當(dāng)前時(shí)間有差別,通過系統(tǒng)時(shí)間校正,可以使系統(tǒng)時(shí)間與PC 機(jī)時(shí)間同步; 可以設(shè)置系統(tǒng)正常工作的開關(guān)機(jī)時(shí)間與街道地址。
?。?) 存儲(chǔ)工作運(yùn)行數(shù)據(jù)。
在系統(tǒng)運(yùn)行的過程中,下位機(jī)發(fā)送的路燈信息及報(bào)警信息都會(huì)保存到數(shù)據(jù)庫(kù)中。同時(shí)街道及路燈的配置信息也保存在數(shù)據(jù)庫(kù)中,并可方便用戶導(dǎo)出及打印信息。
評(píng)論