《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Android的LED路燈監(jiān)控系統(tǒng)設(shè)計(jì)
基于Android的LED路燈監(jiān)控系統(tǒng)設(shè)計(jì)
來(lái)源:微型機(jī)與應(yīng)用2013年第16期
矯正國(guó)1,, 陳 碩2
(1.福州大學(xué) 電氣工程與自動(dòng)化學(xué)院,福建 福州 350000,; 2. 福州市規(guī)劃設(shè)計(jì)研究院,,福建
摘要: 使用GPRS與ZigBee相結(jié)合的通信方式搭建了LED路燈遠(yuǎn)程監(jiān)控系統(tǒng),。重點(diǎn)設(shè)計(jì)了基于Android的移動(dòng)終端軟件,實(shí)現(xiàn)了通過(guò)移動(dòng)終端對(duì)路燈進(jìn)行監(jiān)控,。系統(tǒng)以PC做為服務(wù)器對(duì)所有路燈節(jié)點(diǎn)進(jìn)行監(jiān)控,Android移動(dòng)終端不與路燈節(jié)點(diǎn)直接通信,,而是通過(guò)服務(wù)器向路燈發(fā)送命令并接收服務(wù)器發(fā)送的路燈狀態(tài)和報(bào)警信息。軟件采用Socket通信,,采用了二級(jí)權(quán)限的設(shè)計(jì)方式,,兼顧了移動(dòng)終端的安全性與方便性。最后對(duì)軟件進(jìn)行了測(cè)試,,能夠達(dá)到所需的控制要求,可以應(yīng)用于實(shí)際工程當(dāng)中,。
Abstract:
Key words :

摘  要: 使用GPRS與ZigBee相結(jié)合的通信方式搭建了LED路燈遠(yuǎn)程監(jiān)控系統(tǒng),。重點(diǎn)設(shè)計(jì)了基于Android移動(dòng)終端軟件,實(shí)現(xiàn)了通過(guò)移動(dòng)終端對(duì)路燈進(jìn)行監(jiān)控,。系統(tǒng)以PC做為服務(wù)器對(duì)所有路燈節(jié)點(diǎn)進(jìn)行監(jiān)控,Android移動(dòng)終端不與路燈節(jié)點(diǎn)直接通信,,而是通過(guò)服務(wù)器向路燈發(fā)送命令并接收服務(wù)器發(fā)送的路燈狀態(tài)和報(bào)警信息。軟件采用Socket通信,,采用了二級(jí)權(quán)限的設(shè)計(jì)方式,,兼顧了移動(dòng)終端的安全性與方便性。最后對(duì)軟件進(jìn)行了測(cè)試,能夠達(dá)到所需的控制要求,,可以應(yīng)用于實(shí)際工程當(dāng)中,。
關(guān)鍵詞: Android; LED路燈,; ZigBee,; 移動(dòng)終端

    智能化、無(wú)線(xiàn)化是路燈照明系統(tǒng)的主要發(fā)展趨勢(shì),。本文采用了ZigBee通信技術(shù)組網(wǎng),,并利用Android移動(dòng)終端來(lái)對(duì)路燈進(jìn)行監(jiān)控,重點(diǎn)是設(shè)計(jì)Android移動(dòng)終端軟件,。利用手機(jī)監(jiān)控路燈,,工作人員可以在任何時(shí)間地點(diǎn)控制路燈開(kāi)、關(guān),,隨時(shí)掌握路燈運(yùn)行情況,,及時(shí)發(fā)現(xiàn)路燈不亮、常亮,、漏電等各種故障,,有效提高對(duì)市政管理的工作效率。
    Android 是 Google 開(kāi)發(fā)的基于Linux的開(kāi)源移動(dòng)終端開(kāi)發(fā)平臺(tái),,其構(gòu)架包括應(yīng)用程序?qū)?、?yīng)用程序構(gòu)架層、系統(tǒng)運(yùn)行層和Linux內(nèi)核層[1] 4層,。Android系統(tǒng)在2005年加入開(kāi)放手機(jī)聯(lián)盟(The Open Handset Alliance),,2008年10月第一款A(yù)ndroid系統(tǒng)的手機(jī)問(wèn)世。Android手機(jī)誕生后發(fā)展迅速,,不僅應(yīng)用軟件數(shù)量巨大,,而且做為移動(dòng)終端在對(duì)其他領(lǐng)域進(jìn)行監(jiān)控方面也有飛速發(fā)展[2-5]。羅飛教授將Android手機(jī)應(yīng)用于污水處理系統(tǒng),通過(guò)GSM技術(shù)實(shí)現(xiàn)遠(yuǎn)程監(jiān)控[4];畢經(jīng)平研究員用Android手機(jī)替代車(chē)載設(shè)備,,實(shí)現(xiàn)了汽車(chē)狀態(tài)感知上傳,、GPS定位等功能[5];魏崇毓教授將Android手機(jī)用于視頻監(jiān)控,,通過(guò)手機(jī)調(diào)整攝像頭的角度和焦距,,并在手機(jī)上顯示監(jiān)控畫(huà)面[2];王秀敏教授設(shè)計(jì)并實(shí)現(xiàn)了基于Android平臺(tái)的橋梁檢測(cè)車(chē)安全監(jiān)控系統(tǒng),可以根據(jù)實(shí)際情況虛擬障礙物,實(shí)現(xiàn)機(jī)械臂與障礙物碰撞的逼真模擬與報(bào)警[3],。
1 系統(tǒng)的硬件設(shè)計(jì)
    系統(tǒng)由監(jiān)控中心及移動(dòng)控制端,、無(wú)線(xiàn)網(wǎng)絡(luò)、路燈節(jié)點(diǎn)3部分組成,。監(jiān)控中心以PC做為服務(wù)器,,工作人員通過(guò)服務(wù)器對(duì)路燈進(jìn)行監(jiān)控,。同時(shí),Android移動(dòng)終端通過(guò)Socket與服務(wù)器相連接,,工作人員用手持移動(dòng)終端向服務(wù)器傳遞信息并通過(guò)服務(wù)器查詢(xún)路燈的狀態(tài),,進(jìn)而實(shí)現(xiàn)移動(dòng)設(shè)備對(duì)路燈的監(jiān)控。系統(tǒng)結(jié)構(gòu)如圖1所示,。

    無(wú)線(xiàn)網(wǎng)絡(luò)采用ZigBee技術(shù)和GPRS技術(shù)相結(jié)合進(jìn)行通信,。ZigBee是短距離,、低功耗,、低效率的無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù),,協(xié)議棧緊湊簡(jiǎn)單,,實(shí)現(xiàn)要求低[6],。GPRS模塊從Internet接收服務(wù)器的信息并通過(guò)RS232傳遞給ZigBee協(xié)調(diào)器,,協(xié)調(diào)器再將信息傳遞給各個(gè)路燈節(jié)點(diǎn),。本系統(tǒng)中ZigBee模塊選用的是CC2530芯片,,網(wǎng)絡(luò)采用樹(shù)狀連接,,ZigBee網(wǎng)絡(luò)協(xié)調(diào)器起著組織,、管理網(wǎng)絡(luò)和發(fā)號(hào)施令的作用,當(dāng)網(wǎng)絡(luò)中有節(jié)點(diǎn)加入時(shí),,它會(huì)為新節(jié)點(diǎn)分配地址,,因此不能掉電也不存在低功耗狀態(tài)。
    路燈節(jié)點(diǎn)由電源模塊,、控制器和車(chē)輛檢測(cè)器,、光傳感器和ZigBee路由器組成,完成通信數(shù)據(jù)的收發(fā),、現(xiàn)場(chǎng)數(shù)據(jù)及控制命令的處理,、LED路燈及相關(guān)檢測(cè)器的啟動(dòng)關(guān)閉任務(wù)。路燈的控制器選用ATmega128芯片,LED驅(qū)動(dòng)芯片選用XN2115,。
2 移動(dòng)終端軟件設(shè)計(jì)
    系統(tǒng)以PC做為服務(wù)器來(lái)對(duì)路燈進(jìn)行集中控制,, Android移動(dòng)終端可通過(guò)Socket來(lái)連接服務(wù)器進(jìn)而對(duì)路燈進(jìn)行遠(yuǎn)程控制,而非直接與路燈節(jié)點(diǎn)連接通信,。Android移動(dòng)終端可視界面對(duì)應(yīng)了Activity,,不可視的任務(wù)由Service完成。軟件要完成路燈信息查詢(xún),、路燈控制,、接收?qǐng)?bào)警等任務(wù),需要多個(gè)Activity和Service配合完成[7]。程序流程如圖2所示,。

2.1 通信方式
    軟件在啟動(dòng)后需要主動(dòng)與服務(wù)器進(jìn)行連接,還要能夠從服務(wù)器讀取路燈信息,、向服務(wù)器傳遞控制指令,、接收服務(wù)器發(fā)出的報(bào)警信號(hào),。移動(dòng)終端與服務(wù)器連接時(shí)可采用WebServices或者Socket。WebServices比較穩(wěn)定但不能進(jìn)行雙向通信(可與服務(wù)器主動(dòng)連接,,但是無(wú)法接收服務(wù)器主動(dòng)發(fā)出的報(bào)警信號(hào)),,且占用內(nèi)存比較大; Socket技術(shù)構(gòu)架存在不穩(wěn)定問(wèn)題,,但建立連接后服務(wù)器與客戶(hù)端都可以主動(dòng)向?qū)Ψ桨l(fā)出信息,。這里使用Socket技術(shù)進(jìn)行通信。
    客戶(hù)端與服務(wù)端建立連接后,,通過(guò)InputStream和InputStream進(jìn)行雙向通信,。使用Socket需要訪問(wèn)網(wǎng)絡(luò),在AndroidManifest.xml 文件中要加入訪問(wèn)網(wǎng)絡(luò)的權(quán)限,。
2.2 安全性
    移動(dòng)終端的安全問(wèn)題是制約其發(fā)展的主要問(wèn)題之一,,即當(dāng)手機(jī)丟失后,必須保證得到手機(jī)的人不能通過(guò)手機(jī)來(lái)控制路燈系統(tǒng),。軟件采用了兩級(jí)權(quán)限的設(shè)計(jì)方式,,查詢(xún)權(quán)限與控制權(quán)限分離開(kāi),一級(jí)密碼,、二級(jí)密碼分別對(duì)應(yīng)了不同的權(quán)限,。軟件啟動(dòng)后輸入一級(jí)密碼進(jìn)行登錄獲得查詢(xún)權(quán)限,可以查看所有的路燈信息,、接收服務(wù)器報(bào)警信息,,但是不能對(duì)路燈進(jìn)行控制;當(dāng)退出系統(tǒng)時(shí)自動(dòng)退出一級(jí)密碼登錄,。對(duì)路燈進(jìn)行控制需要輸入二級(jí)密碼獲取控制權(quán)限,,輸入二級(jí)密碼后系統(tǒng)會(huì)自動(dòng)生成密碼文件并進(jìn)行計(jì)時(shí)(此處計(jì)時(shí)2 min),對(duì)路燈進(jìn)行控制時(shí)系統(tǒng)自動(dòng)讀取密碼文件信息并加載到控制信息中,,服務(wù)器接收控制信息并分離二級(jí)密碼信息,,若密碼正確,則按要求控制路燈,。計(jì)時(shí)結(jié)束后,,系統(tǒng)自動(dòng)刪除密碼文件,若要繼續(xù)對(duì)路燈進(jìn)行控制,,則需要重新輸入二級(jí)密碼,。這樣就兼顧了軟件的安全性和方便性:非工作人員得到手機(jī)后能查看信息但不能控制路燈;工作人員要控制路燈不需要每次都輸入二次密碼,,輸入一次后就有2 min的控制時(shí)間,。其界面如圖3所示。軟件中計(jì)時(shí)部分不在界面中顯示,,所以不采用復(fù)雜的計(jì)時(shí)器,,而是直接使用線(xiàn)程計(jì)時(shí),。

2.3 報(bào)警模塊
    軟件啟動(dòng)后,要隨時(shí)準(zhǔn)備接收服務(wù)器的報(bào)警信息。因?yàn)橄到y(tǒng)何時(shí)報(bào)警并不確定,,客戶(hù)端無(wú)法通過(guò)主動(dòng)查詢(xún)的方式去獲取報(bào)警信息,,只能被動(dòng)地等待服務(wù)器報(bào)警。Socket的一個(gè)優(yōu)點(diǎn)是連接一旦建立,,服務(wù)器與客戶(hù)端的區(qū)別就不再明顯,,雙方都可以主動(dòng)向?qū)Ψ桨l(fā)送信息。路燈節(jié)點(diǎn)的XN2115芯片會(huì)自動(dòng)檢測(cè)路燈是否出現(xiàn)故障,,若出現(xiàn)故障,,將會(huì)通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò)向服務(wù)器發(fā)送報(bào)警信號(hào)。服務(wù)器接收到路燈的報(bào)警信號(hào)后,,會(huì)將這一信息傳遞給手機(jī),,手機(jī)通過(guò)鈴聲來(lái)向工作人員發(fā)出警報(bào),并在報(bào)警歷史文件中更新報(bào)警信息,。
    Socket技術(shù)框架存在不穩(wěn)定問(wèn)題,,為了增加軟件的的可靠性,當(dāng)客戶(hù)端接到報(bào)警信息后會(huì)發(fā)給服務(wù)器一個(gè)反饋信息,。若服務(wù)器發(fā)送了報(bào)警信息卻在2 s內(nèi)收不到反饋信息,,則重新發(fā)送報(bào)警信息。若持續(xù)5次仍然沒(méi)有收到反饋,,則系統(tǒng)認(rèn)為網(wǎng)絡(luò)連接斷開(kāi),。
2.4 查詢(xún)模塊
    服務(wù)器每隔1 min會(huì)查詢(xún)路燈節(jié)點(diǎn)的工作狀態(tài),并生成或者更新工作狀態(tài)記錄文件,。持有移動(dòng)終端的工作人員在輸入一級(jí)密碼之后,,軟件連接服務(wù)器并自動(dòng)讀取工作狀態(tài)記錄文件,然后按照工作狀態(tài)記錄文件中的內(nèi)容將路燈狀態(tài)顯示出來(lái),。也可以通過(guò)“刷新”按鈕來(lái)獲取新的工作狀態(tài)記錄文件,。
3 實(shí)驗(yàn)驗(yàn)證與結(jié)論
    Android應(yīng)用程序可在Eclipse環(huán)境下開(kāi)發(fā),需要下載Android SDK開(kāi)發(fā)工具包,。Android可以通過(guò)ADB動(dòng)態(tài)下載,、卸載指定的APK文件。新的APK文件在下載成功后,,包管理器會(huì)對(duì)其進(jìn)行分析,,讀取應(yīng)用程序的相關(guān)信息,并將它加入到應(yīng)用程序列表,。更換模塊時(shí),,只需要換上相應(yīng)的APK即可,而不像其他系統(tǒng)那樣需要重新編譯和替換所有模塊,。
    本系統(tǒng)在局域網(wǎng)內(nèi)進(jìn)行了測(cè)試,。測(cè)試手機(jī)使用三星I5200,,服務(wù)器程序是在Eclipse環(huán)境下用JAVA編寫(xiě)的,。手機(jī)客戶(hù)端可以控制單片機(jī)上LED燈的啟動(dòng)與關(guān)閉,,路燈的工作情況、報(bào)警信息也可以在手機(jī)上顯示,。程序工作界面如圖4所示,。

 

 

    通過(guò)Android移動(dòng)終端、PC,、GPRS和ZigBee來(lái)組建LED路燈控制網(wǎng)絡(luò),,能夠?qū)崿F(xiàn)移動(dòng)終端對(duì)路燈的遠(yuǎn)程監(jiān)控,為工作人員帶來(lái)了極大的方便,具有較大的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 詹成國(guó),朱偉,徐敏.基于Android的測(cè)控裝置人機(jī)界面的設(shè)計(jì)與開(kāi)發(fā)[J].電力自動(dòng)化設(shè)備,2012,32(1):119-122.
[2] 魏崇毓,張菲菲. 基于Android平臺(tái)的視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程,2012,38(14):214-216.
[3] 張麒,王秀敏,任建新.基于Android的橋梁檢測(cè)車(chē)安全監(jiān)控系統(tǒng)的設(shè)計(jì)[J] .吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2012,30(3):285-290.
[4] 盧伯澎, 羅飛. 基于Android和GSM的遠(yuǎn)程污水處理系統(tǒng)[J].計(jì)算機(jī)工程,2011,37(S1):300-308.
[5] 高峰,畢經(jīng)平,郭景峰,等.汽車(chē)狀態(tài)感知系統(tǒng)的Android客戶(hù)端[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,51(S1):1393-1396.
[6] KWON Y, KIM H. Efficient group key management of  ZigBee network for home automation[C]. 2012 IEEE International Conference on Consumer Electronics(ICCE),,IEEE, 2012:378-379.
[7] 楊豐盛.Android應(yīng)用開(kāi)發(fā)揭秘[M].北京:機(jī)械工業(yè)出版社,,2010.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。