劉玉芬1,郭志雄1,陳裕通,劉志剛
(1.華南理工大學(xué)廣州學(xué)院 電氣工程學(xué)院,廣州 510800;2.廣州民航職業(yè)技術(shù)學(xué)院 航空港管理學(xué)院,廣州 510403)
鳥類的飛行大約起始于一億五千萬年前,而人類的飛行則大約是在100年前。顯而易見的是,人類因鳥類能在天空中展翅飛翔而激起了對(duì)飛行的渴望,并最終實(shí)現(xiàn)了飛行的愿望。然而需要與鳥類共享一片天空,這就必然會(huì)發(fā)生矛盾——鳥擊(或稱鳥撞)。
2017年中國民用航空局公布了近6年的鳥撞數(shù)據(jù),根據(jù)這些數(shù)據(jù)可以得到如圖1所示的趨勢圖。從圖1可知,2007~2016年的鳥撞事故征候次數(shù)雖然相對(duì)保持在一個(gè)較低的水平,但在平穩(wěn)中亦有增長,而鳥撞的次數(shù)則在不斷地增加且增長的速度更是呈現(xiàn)逐年遞增的趨勢。
圖1 2007~2016年鳥擊及鳥擊事故癥候數(shù)量
鳥撞具有必然性、危害性、普遍性以及規(guī)律性等特點(diǎn),必須尋找有效的辦法來遏制此類事件的發(fā)生。當(dāng)前機(jī)場上所使用的驅(qū)鳥方法如表1所示,其基本都是在對(duì)鳥類各生物特性進(jìn)行研究后所提出的方法,因此具有一定的局限性。這些方法在引進(jìn)初期確實(shí)會(huì)有一定的效果,但時(shí)間長了其使用效果就會(huì)大大地降低,以致機(jī)場內(nèi)的鳥撞事件逐年上升。
表1 機(jī)場常用驅(qū)鳥方法
近年,航空安全的問題已引起了人們的高度重視,在2017年8月更是召開了首屆航空保障設(shè)備發(fā)展論壇,將機(jī)場驅(qū)鳥設(shè)備的效果不佳問題作為一個(gè)重要研究專題。從現(xiàn)有的研究成果來看,國內(nèi)外學(xué)者所提出的改進(jìn)驅(qū)鳥效果的方法主要分為兩類,即設(shè)備改進(jìn)法與設(shè)備聯(lián)動(dòng)法。其中設(shè)備聯(lián)動(dòng)法由于機(jī)場地理環(huán)境的特性,導(dǎo)致設(shè)備聯(lián)動(dòng)的范圍受到限制,怎么實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)的傳輸與控制是亟待解決的問題。本文結(jié)合現(xiàn)有驅(qū)鳥設(shè)備與機(jī)場地理環(huán)境的特性提出以STM32(ST意法半導(dǎo)體公司推出的32位MCU微控制器)為核心處理器,融合Zigbee技術(shù)與GPRS(General Packet Radio Service,通用分組無線業(yè)務(wù))技術(shù)網(wǎng)絡(luò)最終實(shí)現(xiàn)數(shù)據(jù)交換和遠(yuǎn)距離傳輸和控制。
驅(qū)鳥聯(lián)動(dòng)系統(tǒng)主要由傳感器節(jié)點(diǎn)、路由節(jié)點(diǎn)、網(wǎng)關(guān)以及監(jiān)控中心四部分組成,如圖2所示。各傳感器節(jié)點(diǎn)通過Zigbee短距離無線通信技術(shù)構(gòu)成自組網(wǎng)絡(luò),監(jiān)控中心與無線網(wǎng)關(guān)之間則通過GPRS進(jìn)行設(shè)備狀態(tài)信息及控制命令的傳遞。每個(gè)傳感器節(jié)點(diǎn)通過燃?xì)鈮毫鞲衅?、微?dòng)開關(guān)、限位開關(guān)以及電池電量檢測電路等器件自動(dòng)地采集設(shè)備信息,并結(jié)合預(yù)設(shè)的上下限值進(jìn)行分析,判斷是否需要對(duì)設(shè)備進(jìn)行維護(hù)。對(duì)于使用了太陽能電池進(jìn)行供電的設(shè)備,其電池電壓被隨時(shí)監(jiān)控,一旦電量過低就會(huì)由節(jié)點(diǎn)發(fā)出報(bào)警信號(hào)并強(qiáng)制節(jié)點(diǎn)進(jìn)入睡眠狀態(tài)直到電池電量充滿為止。網(wǎng)關(guān)用于連接GPRS網(wǎng)絡(luò)與Zigbee無線網(wǎng)絡(luò),負(fù)責(zé)傳感器節(jié)點(diǎn)與路由節(jié)點(diǎn)的管理。
圖2 系統(tǒng)總體組成框圖
本系統(tǒng)根據(jù)某空軍機(jī)場場務(wù)部的需求,提出了采用物聯(lián)網(wǎng)技術(shù)、圖像識(shí)別技術(shù)、計(jì)算機(jī)技術(shù)及嵌入式技術(shù)等設(shè)計(jì)的驅(qū)鳥聯(lián)動(dòng)系統(tǒng)方案,系統(tǒng)結(jié)構(gòu)圖如圖3所示。系統(tǒng)采用了Zigbee網(wǎng)絡(luò)與短波網(wǎng)絡(luò)交互的方式進(jìn)行組網(wǎng),以實(shí)現(xiàn)有效覆蓋整個(gè)機(jī)場區(qū)域的目的。在網(wǎng)絡(luò)的覆蓋區(qū)域內(nèi),只需要將煤氣炮、鈦雷炮、二踢腳、攔鳥網(wǎng)、攝像頭及語音驅(qū)鳥器等驅(qū)鳥設(shè)備接入網(wǎng)絡(luò),即可實(shí)現(xiàn)鳥情狀況、設(shè)備狀態(tài)的信息查詢以及相關(guān)控制命令的發(fā)送等功能。
圖3 驅(qū)鳥聯(lián)動(dòng)系統(tǒng)拓?fù)鋱D
用于捕捉鳥情的設(shè)備采用了4G(第四代移動(dòng)通信及其技術(shù))無線視頻監(jiān)控的方案,以保證圖像清晰、實(shí)時(shí)、高速的傳輸。手持機(jī)與一般的手機(jī)不同,其裝載了能夠接入Zigbee無線傳感網(wǎng)的相關(guān)模塊,不僅保證了和接入Zigbee 網(wǎng)絡(luò)中的煤氣炮、攔鳥網(wǎng)、鈦雷炮、二踢腳以及語音驅(qū)鳥器等設(shè)備進(jìn)行通信,還可以保證驅(qū)鳥工作的及時(shí)開展。網(wǎng)關(guān)通過移動(dòng)通信網(wǎng)絡(luò)與主站進(jìn)行通信,從而實(shí)現(xiàn)上位機(jī)與底層驅(qū)鳥設(shè)備的遠(yuǎn)程通信,完成控制命令的解析、發(fā)送、下發(fā)與處理等工作。同時(shí),攔鳥網(wǎng)、煤氣炮、二踢腳、鈦雷炮與及語音驅(qū)鳥器等設(shè)備的工作狀態(tài)感知數(shù)據(jù)也會(huì)通過網(wǎng)關(guān)反饋到上位機(jī),為上位機(jī)監(jiān)控各個(gè)設(shè)備的工作狀態(tài)提供數(shù)據(jù)。
無線傳感器網(wǎng)絡(luò)需通過網(wǎng)關(guān)與主站進(jìn)行通信網(wǎng)絡(luò)的相連,為無線短波網(wǎng)絡(luò)和無線傳感器網(wǎng)絡(luò)提供數(shù)據(jù)通信的橋梁。網(wǎng)關(guān)的系統(tǒng)結(jié)構(gòu)如圖4所示,從圖中可知網(wǎng)關(guān)通常與匯聚節(jié)點(diǎn)放置在同一個(gè)設(shè)備內(nèi)。傳感器節(jié)點(diǎn)或終端節(jié)點(diǎn)采集到場內(nèi)驅(qū)鳥設(shè)備的信息后便將其發(fā)送至匯聚節(jié)點(diǎn)進(jìn)行數(shù)據(jù)打包與發(fā)送,但因匯聚節(jié)點(diǎn)無法單獨(dú)地與外網(wǎng)進(jìn)行通信,因此網(wǎng)關(guān)利用串行通信的方式讀取其數(shù)據(jù),然后再通過外網(wǎng)發(fā)送至主站??紤]到設(shè)備終端節(jié)點(diǎn)的數(shù)據(jù)匯聚到網(wǎng)關(guān)后,其數(shù)據(jù)量并不是特別大,因此確定了以STM32為核心處理器并結(jié)合CC2530、CC2591以及GPRS模塊構(gòu)建驅(qū)鳥智能系統(tǒng)的網(wǎng)關(guān),并設(shè)計(jì)實(shí)現(xiàn)Zigbee端與驅(qū)鳥設(shè)備間約為400 m的通信距離,發(fā)射功率在+20 dBm以上、接受靈敏度約為-90 dBm的性能指標(biāo);而GPRS模塊則使用SIM900A為主要模塊,實(shí)現(xiàn)對(duì)機(jī)場范圍內(nèi)的全覆蓋。
圖4 WSN網(wǎng)關(guān)系統(tǒng)結(jié)構(gòu)
根據(jù)對(duì)系統(tǒng)功能以及性能的需求分析與研究,本文設(shè)計(jì)的網(wǎng)關(guān)系統(tǒng)結(jié)構(gòu)圖如圖5所示。該系統(tǒng)由主控器、Zigbee通信模塊以及GPRS通信模塊組成。其中,GPRS通信模塊負(fù)責(zé)網(wǎng)關(guān)與主站的通信,Zigbee通信模塊則作為協(xié)調(diào)器負(fù)責(zé)與Zigbee相關(guān)節(jié)點(diǎn)通信,而處理器作為中間橋梁負(fù)責(zé)GPRS與Zigbee間的數(shù)據(jù)轉(zhuǎn)換。
圖5 Zigbee轉(zhuǎn)GPRS網(wǎng)關(guān)模塊總體結(jié)構(gòu)圖
針對(duì)網(wǎng)關(guān)各模塊的硬件本文作了如下選擇:Zigbee無線通信模塊采用CC2530+ CC2591方案;MCU(Microcontroller Unit,即主控制器)的核心處理器選用ST公司的STM32F107VCT6;GPRS無線通信模塊則使用SIM900A模塊。由于STM32F107VCT6屬于ARM系列的高性能處理器,具有數(shù)據(jù)處理能力強(qiáng)、內(nèi)存容量大、資源豐富等特點(diǎn),因此選用它作為控制器的核心處理器;此外,選用SIM900A模塊的原因則是該模塊的板載資源豐富且易于操作。由于SIM900A與CC2530模塊都有串口,因此設(shè)計(jì)中使用了串口將SIM900A、CC2530模塊與STM32F107VCT6進(jìn)行硬件連接,具體方案如圖6所示。
圖6 網(wǎng)關(guān)節(jié)點(diǎn)設(shè)計(jì)方案
SIM900A模塊是SIMCOM公司生產(chǎn)的一款工業(yè)級(jí)GSM/GPRS模塊,包含了GSM 基帶、GSM射頻、存儲(chǔ)器、TTL 接口、電源輸入接口、電源指示燈、信號(hào)指示燈、電源開關(guān)、自鎖式SIM卡座、天線接口、開機(jī)/關(guān)機(jī)按鍵以及引出I/O口等,具有較為豐富的資源,其功能模塊框圖如圖7所示。在調(diào)試該模塊時(shí)可通過USB轉(zhuǎn)串口模塊將其與計(jì)算機(jī)進(jìn)行連接,然后打開串口調(diào)試工具即可使用AT命令對(duì)其進(jìn)行操作。
圖7 SIM900A功能模塊圖
SIM900模塊與STM32間可通過串口進(jìn)行通信與控制,在程序設(shè)計(jì)中主要使用用了C語言程序進(jìn)行編程,而在操作SIM900模塊時(shí)系統(tǒng)所調(diào)用的函數(shù)為sim900a_send_cmd( ),結(jié)合AT命令即可對(duì)模塊進(jìn)行相關(guān)的操作。
void sim900a_sms_send_test(void)
{
……
p=mymalloc(SRAMIN,100); //申請(qǐng)100個(gè)字節(jié)的內(nèi)存,用于存放電話號(hào)碼的unicode字符串
p1=mymalloc(SRAMIN,300);//申請(qǐng)300個(gè)字節(jié)的內(nèi)存,用于存放短信的unicode字符串
p2=mymalloc(SRAMIN,100);//申請(qǐng)100個(gè)字節(jié)的內(nèi)存 存放:AT+CMGS=p1
while(1){
if(smssendsta){
smssendsta=0;
Show_Str(30+40,70,170,90,"等待發(fā)送",16,0);
}
delay_ms(10);
smssendsta=1;
sim900a_unigbk_exchange(phonebuf,p,1); //將電話號(hào)碼轉(zhuǎn)換為unicode字符串
sim900a_unigbk_exchange((u8*)sim900a_test_msg,p1,1);//將短信內(nèi)容轉(zhuǎn)換為unicode字符串.
sprintf((char*)p2,"AT+CMGS=”%s”",p);
……
if(sim900a_send_cmd(p2,">",200)==0){
//發(fā)送短信命令+電話號(hào)碼
LED2=0;
u2_printf("%s",p1); //發(fā)送短信內(nèi)容到GSM模塊
delay_ms(90); //必須延時(shí),否則 不能發(fā)送短信
if(sim900a_send_cmd((u8*)0X1A,"+CMGS:",1000)==0)smssendsta=2;//發(fā)送結(jié)束符,等待發(fā)送完成(最長等待10秒鐘,因?yàn)槎绦砰L了的話,等待時(shí)間會(huì)長一些)
}
USART2_RX_STA=0;
break;
}
if((timex%20)==0)
LED3=!LED3;//200ms閃爍
timex++;
delay_ms(10);
……
if(USART2_RX_STA&0X8000)sim_at_response(1);//檢查從GSM模塊接收到的數(shù)據(jù)
myfree(SRAMIN,p);
myfree(SRAMIN,p1);
myfree(SRAMIN,p2);
……
}
常用的與短信功能相關(guān)的AT命令如表2所示。
表2 短信功能AT命令
在收發(fā)短信的工作模式上,一般有文本模式和PDU模式兩種。文本模式比較簡單,PDU模式格式復(fù)雜但能夠進(jìn)行靈活的設(shè)置。PDU模式將短消息中心信息、編碼方案信息和用戶數(shù)據(jù)等進(jìn)行統(tǒng)一的編碼,形成規(guī)定格式的 PDU 串,最后以二進(jìn)制方式來進(jìn)行收發(fā)。
由于SIM900A模塊已內(nèi)置了TCP/IP協(xié)議,因此網(wǎng)關(guān)MCU只需向該模塊發(fā)送相關(guān)的AT指令即可與目標(biāo)上位機(jī)建立TCP/IP連接,實(shí)現(xiàn)GPRS網(wǎng)絡(luò)傳輸過程。GPRS連接的流程圖如圖8所示,STM32F107VCT6通過UART1向SIM900A寫入AT命令,使SIM900A模塊與遠(yuǎn)端的上位機(jī)建立TCP或UDP連接,從而實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程傳輸。
圖8 GPRS連接建立過程
在使用SIM900A建立GPRS連接后,STM32F107VCT6還需與Zigbee協(xié)調(diào)器共同完成網(wǎng)關(guān)的功能,具體程序流程如圖9所示。
圖9 MCU程序處理流程圖
由于外場的驅(qū)鳥設(shè)備與服務(wù)器間有一定的連接距離,除了需要實(shí)現(xiàn)短距離的傳輸外還需解決服務(wù)器與終端之間的傳輸。因此除了需要ZigBee無線網(wǎng)絡(luò)的短距離傳輸?shù)穆酚晒?jié)點(diǎn)外還需要實(shí)現(xiàn)遠(yuǎn)距離傳輸?shù)木W(wǎng)關(guān)節(jié)點(diǎn),這直接影響到了整個(gè)驅(qū)鳥聯(lián)動(dòng)系統(tǒng)的網(wǎng)絡(luò)通信質(zhì)量與控制的距離,有必要對(duì)其進(jìn)行相關(guān)的測試。
Texas Instrument Packet Sniffer為Zigbee網(wǎng)絡(luò)常用的數(shù)據(jù)包抓取軟件,利用該軟件可以分析Zigbee網(wǎng)絡(luò)的數(shù)據(jù)傳遞信息。為了測試所設(shè)計(jì)的路由節(jié)點(diǎn)功能本文使用了Packet Sniffer進(jìn)行數(shù)據(jù)包抓取實(shí)驗(yàn)并得到數(shù)據(jù)包。每個(gè)數(shù)據(jù)包都由很多段組成,這是與ZigBee協(xié)議一一對(duì)應(yīng)的,其數(shù)據(jù)包格式如圖10所示。因?yàn)閆igBee協(xié)議棧是按照分層結(jié)構(gòu)去實(shí)現(xiàn)的,故在顯示數(shù)據(jù)包時(shí)使用了不同的顏色。在下位機(jī)組建網(wǎng)絡(luò)的過程中,一旦網(wǎng)絡(luò)層管理實(shí)體確定好一個(gè)PANID,便會(huì)即刻選擇一個(gè)0x0000的16位網(wǎng)絡(luò)地址。而路由節(jié)點(diǎn)和終端節(jié)點(diǎn)在沒有加入網(wǎng)絡(luò)時(shí)使用的是64位物理地址,只有在成功入網(wǎng)后才會(huì)給予一個(gè)“合法ID號(hào)”即16位短地址,其目的就是為了減少資源占用、降低發(fā)射功率,提高通信的有效性指標(biāo)。
圖10 ZigBee數(shù)據(jù)包格式
從Packet Sniffer抓取的數(shù)據(jù)包可以知道終端節(jié)點(diǎn)、路由節(jié)點(diǎn)以及網(wǎng)關(guān)已建立了正常的通信網(wǎng)絡(luò),實(shí)現(xiàn)了驅(qū)鳥設(shè)備間的正常通信。
當(dāng)USB線與下位機(jī)連接好后,在主界面通過串口連接功能實(shí)現(xiàn)軟件上的連接。開啟相應(yīng)的設(shè)備后,可在串口打印窗口觀察到發(fā)送命令數(shù)據(jù),這表明串口已正常工作,并且能與下位機(jī)通信。當(dāng)USB與下位機(jī)斷開連接后,在軟件上無法實(shí)現(xiàn)軟件連接,這符合預(yù)期。
場內(nèi)驅(qū)鳥設(shè)備有煤氣炮、鈦雷炮、語音驅(qū)鳥器、攔鳥網(wǎng)、二踢腳等設(shè)備,本文以煤氣炮的設(shè)備通信作為測試設(shè)備。
煤氣罐圖標(biāo)直觀地顯示氣罐中的煤氣量,分紅色、黃色、淺綠色和深綠色四個(gè)檔,當(dāng)顯示紅色時(shí),表示煤氣量不足,需要更換煤氣罐。煤氣量不足時(shí),左側(cè)設(shè)備基本信息欄中的氣罐壓力接近100 kPa,也就是接近大氣壓。當(dāng)煤氣炮關(guān)機(jī)時(shí),設(shè)備狀態(tài)為“關(guān)閉”,設(shè)備圖標(biāo)顯示灰色;煤氣炮開機(jī)時(shí),裝備狀態(tài)為“可控”,裝備圖標(biāo)顯示黃色。點(diǎn)擊“刷新”按鍵獲取煤氣炮狀態(tài),即氣罐壓力和蓄電池電壓。點(diǎn)擊“發(fā)射”按鍵,旁邊的指示燈閃爍,表示煤氣炮正在發(fā)射。發(fā)射完成后,開始發(fā)射間隔倒計(jì)時(shí)(15 秒),倒計(jì)時(shí)結(jié)束后,方可再次發(fā)射,其控制界面如圖11所示。由測試結(jié)果可知,路由節(jié)點(diǎn)已實(shí)現(xiàn)了對(duì)終端設(shè)備的正??刂?。
圖11 煤氣炮發(fā)射控制界面
系統(tǒng)搭建好后,還需對(duì)其作出客觀性的評(píng)估以證實(shí)使用該系統(tǒng)后場內(nèi)驅(qū)鳥效果具有一定的提升。設(shè)備的評(píng)估方法使用的是觀測法,即在機(jī)場不同功能區(qū)安排對(duì)應(yīng)的工作人員蹲點(diǎn)觀察記錄,對(duì)場內(nèi)常見的38種鳥類的飛行路線進(jìn)行記錄(如圖12~13為戴勝與家燕的飛行軌跡示意圖),并通過鳥類的飛行路線分析設(shè)備的驅(qū)趕效果。每一種鳥的觀察數(shù)量都為100只,根據(jù)觀察人員繪制的飛行路線及逗留時(shí)間判斷設(shè)備的驅(qū)趕效果。從鳥類飛行路線軌跡示意圖對(duì)比可知,使用該驅(qū)鳥聯(lián)動(dòng)系統(tǒng)后機(jī)場驅(qū)鳥的效果具有一定的提升。
圖12 戴勝飛行軌跡示意圖
圖13 家燕飛行軌跡示意圖
本文針對(duì)機(jī)場智能驅(qū)鳥系統(tǒng)中傳感器網(wǎng)絡(luò)(Zigbee網(wǎng)絡(luò))需要與外網(wǎng)進(jìn)行數(shù)據(jù)傳輸?shù)膯栴},提出了 “STM32F107VCT6 + CC2530 + CC2591 + SIM900A”的方案,即Zigbee網(wǎng)絡(luò)與GPRS網(wǎng)絡(luò)融合組網(wǎng)進(jìn)行傳輸。設(shè)計(jì)的ZigBee-GPRS網(wǎng)關(guān),實(shí)現(xiàn)了智能驅(qū)鳥系統(tǒng)中驅(qū)鳥設(shè)備與用戶間數(shù)據(jù)的實(shí)時(shí)交互與遠(yuǎn)程控制以及監(jiān)測的功能。