基于ZigBee的通信基站環(huán)境監(jiān)控系統(tǒng)設(shè)計

基于ZigBee的通信基站環(huán)境監(jiān)控系統(tǒng)設(shè)計

ID:37030148

大小:1.46 MB

頁數(shù):68頁

時間:2019-05-15

上傳者:文檔小小白
基于ZigBee的通信基站環(huán)境監(jiān)控系統(tǒng)設(shè)計_第1頁
基于ZigBee的通信基站環(huán)境監(jiān)控系統(tǒng)設(shè)計_第2頁
基于ZigBee的通信基站環(huán)境監(jiān)控系統(tǒng)設(shè)計_第3頁
基于ZigBee的通信基站環(huán)境監(jiān)控系統(tǒng)設(shè)計_第4頁
基于ZigBee的通信基站環(huán)境監(jiān)控系統(tǒng)設(shè)計_第5頁
資源描述:

《基于ZigBee的通信基站環(huán)境監(jiān)控系統(tǒng)設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

單位代碼:10293密級:專業(yè)學(xué)位碩士論文論文題目:基于ZigBee的通信基站環(huán)境監(jiān)控系統(tǒng)設(shè)計學(xué)號1313080480姓名朱天成朱天成導(dǎo)師王文鼐教授趙越高工專業(yè)學(xué)位類別申請在職類型申請工程碩士專業(yè)(領(lǐng)域)電子與通信工程論文提交日期2017.10 DesignoftelecommunicationbasestationenvironmentmonitoringsystembasedonZigBeeThesisSubmittedtoNanjingUniversityofPostsandTelecommunicationsfortheDegreeofMasterofEngineeringByTianchengZhuSupervisor:Prof.WennaiWang,SnEngr.YueZhaoOctober.2017 南京郵電大學(xué)學(xué)位論文原創(chuàng)性聲明本人聲明所呈交的學(xué)位論文是我個人在導(dǎo)師指導(dǎo)下進行的研究工作及取得的研究成果。盡我所知,除了文中特別加以標注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得南京郵電大學(xué)或其它教育機構(gòu)的學(xué)位或證書而使用過的材料。與我一同工作的同志對本研究所做的任何貢獻均已在論文中作了明確的說明并表示了謝意。本人學(xué)位論文及涉及相關(guān)資料若有不實,愿意承擔(dān)一切相關(guān)的法律責(zé)任。研究生簽名:_____________日期:____________南京郵電大學(xué)學(xué)位論文使用授權(quán)聲明本人授權(quán)南京郵電大學(xué)可以保留并向國家有關(guān)部門或機構(gòu)送交論文的復(fù)印件和電子文檔;允許論文被查閱和借閱;可以將學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索;可以采用影印、縮印或掃描等復(fù)制手段保存、匯編本學(xué)位論文。本文電子文檔的內(nèi)容和紙質(zhì)論文的內(nèi)容相一致。論文的公布(包括刊登)授權(quán)南京郵電大學(xué)研究生院辦理。涉密學(xué)位論文在解密后適用本授權(quán)書。研究生簽名:____________導(dǎo)師簽名:____________日期:_____________ 摘要在我國,通信基站遍布全國各地,人工管理通信基站不僅效率低下,而且浪費大量的人力和財力。為提高通信基站的管理和維護水平,本文綜合運用嵌入式技術(shù)、數(shù)據(jù)存儲技術(shù)、網(wǎng)絡(luò)通信技術(shù)等方法對基站環(huán)境進行實時監(jiān)控,及時發(fā)現(xiàn)通信基站的異常狀況,上報和記錄報警信息,以有效保證通信基站安全可靠運行。論文介紹了通信基站環(huán)境監(jiān)控的國內(nèi)外研究狀況,針對通信基站環(huán)境監(jiān)控的實際需求,確定了遠程監(jiān)控系統(tǒng)的總體方案。系統(tǒng)由遠程監(jiān)控單元、服務(wù)端和客戶端組成,系統(tǒng)架構(gòu)的骨干協(xié)議選用MQTT協(xié)議,采用無線網(wǎng)絡(luò)實現(xiàn)相互間數(shù)據(jù)通信。運用嵌入式技術(shù)設(shè)計了遠程監(jiān)控單元,該單元包括多個ZigBee節(jié)點模塊。傳感器檢測基站環(huán)境溫濕度、煙霧、UPS電壓及圖像等參數(shù),經(jīng)模塊向網(wǎng)關(guān)傳輸數(shù)據(jù),再通過協(xié)調(diào)器將數(shù)據(jù)上傳給服務(wù)端。在服務(wù)端開發(fā)了數(shù)據(jù)庫管理程序,實現(xiàn)了監(jiān)控數(shù)據(jù)的記錄、歷史數(shù)據(jù)的查詢及用戶管理等功能。應(yīng)用AndroidStudio設(shè)計了客戶端程序,提供了實時查看、發(fā)送控制命令等功能,滿足了客戶端數(shù)據(jù)輸入輸出處理的要求。測試結(jié)果表明:系統(tǒng)運行穩(wěn)定,滿足通信基站監(jiān)控的要求。關(guān)鍵詞:通信基站,ZigBee,遠程監(jiān)控,客戶端I AbstractInourcountry,thecommunicationbasestationspreadsalloverthecountry;theartificialcommunicationbasestationmanagementisnotonlyinefficient,butalsowastesalotofmanpowerandfinancialresources.Inordertoimprovethecommunicationbasestationmanagementandmaintenancelevel,embeddedtechnology,datastoragetechnologyandnetworkcommunicationtechnologyisusedforreal-timemonitoringandcontrol,detectingtheabnormalsituationofcommunicationstation,reportingandrecordingalarminformation,effectivelyensuringthesafeandreliableoperationofcommunicationbasestation.Thisthesisintroducestheenvironmentalmonitoringstationcharacteristicsandtheresearchsituation.Thesystemiscomposedofremotemonitoringunit,clientandserver.TheunitconsistsofmultipleZigBeenodemodules;theycanchecktemperature,humidity,smoke,UPSvoltageandimageofthebasestationandtransmitdatathroughthemoduletothegateway.Theserverdesigndataandthecommunicationprotocolbetweenclientandserver.TheclientprogramisdesignedbyusingAndroidStudio,whichprovidesthefunctionsofreal-timeview,sendingcontrolcommandandsoon,andrealizesthedatainputandoutputprocessing.Inaddition,themonitoringsystemcanprovidehistoricaldataqueryandusermanagementfunctions.Keywords:CommunicationBaseStations,ZigBee,RemoteMonitor,ClientII 目錄專用術(shù)語注釋表..............................................................................................................................................V第一章緒論....................................................................................................................................................11.1研究背景及意義..............................................................................................................................11.2國內(nèi)外研究現(xiàn)狀..............................................................................................................................21.3論文的主要內(nèi)容與組織結(jié)構(gòu)..........................................................................................................21.3.1論文的主要內(nèi)容..................................................................................................................21.3.2論文的組織結(jié)構(gòu)..................................................................................................................3第二章ZigBee技術(shù)介紹...............................................................................................................................52.1ZigBee介紹......................................................................................................................................52.2ZigBee技術(shù)的特點..........................................................................................................................52.3ZigBee網(wǎng)絡(luò)的設(shè)備分類及功能介紹..............................................................................................62.4ZigBee網(wǎng)絡(luò)的拓撲結(jié)構(gòu)..................................................................................................................62.5ZigBee協(xié)議框架..............................................................................................................................72.6本章小結(jié)..........................................................................................................................................7第三章環(huán)境監(jiān)控系統(tǒng)總體方案及分析........................................................................................................83.1環(huán)境監(jiān)控系統(tǒng)的概況......................................................................................................................83.2環(huán)境監(jiān)控系統(tǒng)的分析......................................................................................................................83.3環(huán)境監(jiān)控系統(tǒng)的功能......................................................................................................................83.4環(huán)境監(jiān)控系統(tǒng)實現(xiàn)的方案..............................................................................................................93.5開發(fā)環(huán)境簡介................................................................................................................................103.6本章小結(jié)........................................................................................................................................11第四章遠程監(jiān)控單元的設(shè)計與通信的實現(xiàn)..............................................................................................124.1遠程監(jiān)控單元的結(jié)構(gòu)組成與硬件選型........................................................................................124.1.1遠程監(jiān)控單元的結(jié)構(gòu)設(shè)計................................................................................................124.1.2遠程監(jiān)控模塊的器件及設(shè)備選型....................................................................................134.2協(xié)調(diào)器與監(jiān)控單元程序設(shè)計........................................................................................................174.2.1協(xié)調(diào)器程序設(shè)計................................................................................................................174.2.2監(jiān)控單元程序設(shè)計............................................................................................................184.3遠程監(jiān)控模塊的通信協(xié)議分析與設(shè)計........................................................................................194.3.1通信協(xié)議的基本幀格式....................................................................................................194.3.2遠程監(jiān)控單元與協(xié)調(diào)器報文的設(shè)計................................................................................204.3.3協(xié)調(diào)器與服務(wù)器報文的設(shè)計............................................................................................204.4本章小節(jié)........................................................................................................................................22第五章服務(wù)端設(shè)計與實現(xiàn)..........................................................................................................................235.1服務(wù)端介紹....................................................................................................................................235.2服務(wù)端功能的分析........................................................................................................................235.3服務(wù)端通信協(xié)議的選擇................................................................................................................235.4服務(wù)端數(shù)據(jù)的存儲........................................................................................................................255.4.1數(shù)據(jù)存儲的分析................................................................................................................255.4.2數(shù)據(jù)存儲的設(shè)計................................................................................................................255.4.3數(shù)據(jù)存儲的實現(xiàn)................................................................................................................325.5服務(wù)端及客戶端間數(shù)據(jù)通信的實現(xiàn)............................................................................................33III 5.6本章小結(jié)........................................................................................................................................35第六章客戶端的軟件設(shè)計..........................................................................................................................366.1客戶端功能分析............................................................................................................................366.2客戶端開發(fā)環(huán)境的配置................................................................................................................366.3客戶端接口的實現(xiàn)........................................................................................................................386.3.1用戶管理接口....................................................................................................................386.3.2設(shè)備模塊管理接口............................................................................................................396.3.3設(shè)備歷史記錄接口............................................................................................................416.4客戶端實時顯示模塊的實現(xiàn)........................................................................................................436.4.1實時顯示模塊的原理........................................................................................................436.4.2實時顯示模塊的實現(xiàn)........................................................................................................466.4.3實時控制模塊的實現(xiàn)........................................................................................................506.4.4監(jiān)控圖像顯示的實現(xiàn)........................................................................................................526.5本章小結(jié)........................................................................................................................................55第七章總結(jié)與展望......................................................................................................................................567.1論文總結(jié)........................................................................................................................................567.2展望................................................................................................................................................56參考文獻........................................................................................................................................................58致謝................................................................................................................................................................60IV 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文專用術(shù)語注釋表專用術(shù)語注釋表縮略詞說明:MQTTMessageQueuingTelemetryTransport消息隊列遙測傳輸XMPPExtensibleMessagingandPresenceProtocol可擴展通訊和表示協(xié)議CoAPConstrainedApplicationProtocol受限應(yīng)用協(xié)議MACMediaAccessControl媒體介入控制層UPSUninterruptiblePowerSystem不間斷電源APIApplicationProgrammingInterface應(yīng)用程序編程接口APPApplication應(yīng)用程序SDKSoftwareDevelopmentKit軟件開發(fā)工具包V 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第一章緒論第一章緒論1.1研究背景及意義隨著移動通信技術(shù)的日益普及,通信網(wǎng)絡(luò)規(guī)模也愈來愈龐大,截止2017年4月,我國移動終端的用戶數(shù)達到13.5億個,占全球移動終端用戶數(shù)的27%,移動通信網(wǎng)絡(luò)系統(tǒng)包括移動基站、傳輸媒介、交換設(shè)備、接收終端等。其中,基站是在一定的無線電覆蓋區(qū)中,通過移動通信交換中心與移動電話終端之間進行信息傳遞的無線電收發(fā)信電臺[1]。作為通信網(wǎng)絡(luò)的組成部分,基站起著重要的作用,直接影響著網(wǎng)絡(luò)的通信質(zhì)量?;緞恿υO(shè)備和環(huán)境設(shè)施的好壞是決定通信網(wǎng)絡(luò)能否正常工作的關(guān)鍵。我國目前通訊基站的數(shù)量達560萬個,而且數(shù)量還在不斷增加。由于基站分布廣泛且每個基站又沒有配備專人值班,因此當機房環(huán)境出現(xiàn)變化時運維人員不能及時了解情況,容易導(dǎo)致基站工作故障,甚至造成局域通信網(wǎng)絡(luò)的通信中斷,影響用戶感知。目前,基站維護管理中存在以下問題:(1)由于基站分布范圍廣,部分基站地理位置相對偏僻,人工定期巡檢交通不便,管理和維護人員需要花費大量的時間。且人工巡檢還受制于天氣等因素,工作效率較低。(2)人工采集的數(shù)據(jù)準確度差,匯總統(tǒng)計工作繁重,容易出現(xiàn)信息不全、混亂及錯誤的現(xiàn)象?,F(xiàn)存的基站信息統(tǒng)計表中有些設(shè)備的數(shù)據(jù)是過時的老數(shù)據(jù),一些新設(shè)備沒有數(shù)據(jù)記錄而且現(xiàn)有數(shù)據(jù)中有些明顯不符合實際正常值的錯誤數(shù)據(jù),這給監(jiān)管人員的統(tǒng)計工作帶來了很大的困難。(3)現(xiàn)有的基站監(jiān)控系統(tǒng)雖然可以實現(xiàn)監(jiān)控,但不能實現(xiàn)智能聯(lián)動,而且不同廠家的設(shè)備相互不能通信,還是需要人工介入,沒有實現(xiàn)統(tǒng)一的機房監(jiān)控管理系統(tǒng),這也會增加各種成本。目前,已有許多公司開發(fā)出類似的基站環(huán)境監(jiān)控系統(tǒng),這些產(chǎn)品涉及監(jiān)控的環(huán)境變化量多,適合集中的大型通信基站環(huán)境監(jiān)控。但是對于中小型基站而言,這些產(chǎn)品復(fù)用性較小,價格偏高。整體來說,不適合中小型通信基站的監(jiān)控,因此,迫切需要中小型基站的監(jiān)控系統(tǒng)[2]。針對目前運營商基站分布廣、數(shù)量大、維護人員不足、管理困難和監(jiān)控系統(tǒng)未普及的現(xiàn)狀,本課題運用ZigBee無線傳感網(wǎng)絡(luò)技術(shù)實現(xiàn)機房環(huán)境的參數(shù)采集,并結(jié)合嵌入式系統(tǒng)實現(xiàn)1 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第一章緒論遠程監(jiān)控的功能。無線數(shù)據(jù)采集方案省掉鋪設(shè)電纜的費用和安裝與重新布控的施工費用,無線設(shè)備本身成本較低,非常便于監(jiān)控系統(tǒng)的安裝及普及,實現(xiàn)對基站設(shè)備、環(huán)境及出入人員科學(xué)有效的監(jiān)管,加強了基站的安全防范,具有很高的性價比和相當?shù)募夹g(shù)競爭優(yōu)勢,可為基站的運行維護提供良好的保障[3]。1.2國內(nèi)外研究現(xiàn)狀目前,針對通信基站國內(nèi)外通信設(shè)備企業(yè)與科研院所已相繼開發(fā)了多種類型的監(jiān)控系統(tǒng)。胥小武提出了采用嵌入式技術(shù)、數(shù)據(jù)存儲技術(shù)、網(wǎng)絡(luò)通信等技術(shù),設(shè)計了通信基站環(huán)境監(jiān)控系統(tǒng)的解決方案[1]。婁陽提出了采用基于2M雙向環(huán)組網(wǎng)的動力與環(huán)境集中監(jiān)控系統(tǒng)的解決方案,實現(xiàn)移動基站動力與環(huán)境集中監(jiān)控人機交互功能、數(shù)據(jù)存儲功能[4]。崔恒源提出了一種通信電源集中監(jiān)控管理系統(tǒng),基于GPRS通訊實現(xiàn)對移動通信基站電源進行實時的監(jiān)測和管理[5]。肖揚設(shè)計了通信基站應(yīng)急發(fā)電機監(jiān)測系統(tǒng),實現(xiàn)了發(fā)電信息顯示和存儲,并發(fā)送人機管理信息給監(jiān)控平臺,進而完成人機管理和發(fā)電機調(diào)度[6]。華為公司開發(fā)了動力設(shè)備及環(huán)境集中監(jiān)控系統(tǒng);香港豐聯(lián)研發(fā)了通信電源和空調(diào)設(shè)備集中監(jiān)控系統(tǒng);中興通信公司研發(fā)的監(jiān)控系統(tǒng),能夠?qū)崟r監(jiān)控基站的動力設(shè)備及環(huán)境變量,上報監(jiān)控信息并進行分析處理。這些系統(tǒng)已經(jīng)投入到大型機房中使用。但這些設(shè)備大部分是集中式的監(jiān)管和報警系統(tǒng),各廠家研發(fā)的設(shè)備之間缺乏兼容性,相互之間不能互聯(lián)互通,因而設(shè)備使用有較多的局限性。在國外,艾默生能源有限公司,針對不同規(guī)模通信機房研制了不同的成熟產(chǎn)品,如小型通信機房空調(diào)監(jiān)控產(chǎn)品,能適應(yīng)機房運行的要求。愛立信公司開發(fā)的監(jiān)控系統(tǒng),可將報警信息劃分為不同等級,并能夠采用不同狀態(tài)燈代表不同的報警內(nèi)容,方便維保人員處理。由于各個廠家的監(jiān)控設(shè)備和通信協(xié)議不一樣,操作和維保人員需要熟記各種指令信息,而指令本身信息多且繁瑣,會導(dǎo)致工作量增加[7]。1.3論文的主要內(nèi)容與組織結(jié)構(gòu)1.3.1論文的主要內(nèi)容本論文采用ZigBee技術(shù)對通信基站環(huán)境進行實時監(jiān)測,由于基站分布廣泛,每個機房均可使用ZigBee模塊,可以將各個基站監(jiān)測數(shù)據(jù)匯總分析。2 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第一章緒論本系統(tǒng)要求能夠?qū)崿F(xiàn)對基站環(huán)境的溫濕度、煙霧、人體入侵、UPS電源電量進行實時監(jiān)測,并根據(jù)實時監(jiān)測的結(jié)果控制基站室內(nèi)空調(diào)的運行、遠程開關(guān)門禁。用戶可通過手機客戶端查看監(jiān)控參數(shù),通過圖像監(jiān)控實時查看通信機房狀況。本課題研究的監(jiān)控系統(tǒng)包括三部分:遠程監(jiān)控單元、服務(wù)端和客戶端。遠程單元的各釆集信息模塊以主控芯片CC2530為核心,采集基站環(huán)境的各類參數(shù),遠程單元中協(xié)調(diào)器利用網(wǎng)絡(luò)把數(shù)據(jù)傳輸?shù)椒?wù)端,管理人員通過客戶端能夠及時掌握被監(jiān)控基站的運作情況,如果出現(xiàn)遠程終端不能夠處理的情況,監(jiān)控中心可以及時做出解決方案。本課題主要完成以下幾項工作:(1)完成通信基站環(huán)境監(jiān)控系統(tǒng)總體方案設(shè)計。(2)完成基站遠程單元各個監(jiān)控設(shè)備的協(xié)調(diào)運作,包括基站內(nèi)部各種傳感器和智能設(shè)備的選型。(3)完成協(xié)調(diào)器的程序開發(fā)。(4)實現(xiàn)底層硬件與協(xié)調(diào)器傳輸數(shù)據(jù)和控制命令等。(5)實現(xiàn)服務(wù)端與各個監(jiān)控設(shè)備、客戶端通信。(6)在服務(wù)器上設(shè)計數(shù)據(jù)庫,實現(xiàn)監(jiān)控數(shù)據(jù)存儲與查詢。(7)利用開源開發(fā)軟件AndroidStudio設(shè)計手機客戶端軟件。1.3.2論文的組織結(jié)構(gòu)本論文利用計算機網(wǎng)絡(luò)技術(shù)、嵌入式開發(fā)技術(shù),設(shè)計并實現(xiàn)通信基站環(huán)境監(jiān)控系統(tǒng)。論文的組織結(jié)構(gòu)安排如下:第1章緒論。首先介紹了論文研究背景及意義;其次對通信基站環(huán)境監(jiān)控國內(nèi)外研究現(xiàn)狀做了簡要的介紹;最后,闡述了論文的主要研究內(nèi)容和組織結(jié)構(gòu)安排。第2章ZigBee技術(shù)介紹。主要闡述了ZigBee的技術(shù)特點、ZigBee網(wǎng)絡(luò)的設(shè)備分類及功能、ZigBee網(wǎng)絡(luò)的拓撲結(jié)構(gòu)及ZigBee協(xié)議框架。第3章環(huán)境監(jiān)控系統(tǒng)總體方案及分析。簡要介紹了通信基站,分析了監(jiān)控系統(tǒng)的需求,對監(jiān)控系統(tǒng)進行了詳細的設(shè)計,包括通信網(wǎng)絡(luò)選擇、系統(tǒng)工作方式、硬件設(shè)備選型、開發(fā)工具等。第4章遠程監(jiān)控單元的設(shè)計與通信的實現(xiàn)。介紹了遠程監(jiān)控單元的結(jié)構(gòu)組成,搭建硬件平臺,確定遠程單元中各個監(jiān)控設(shè)備的數(shù)據(jù)通信協(xié)議,完成了遠程單元的設(shè)計與程序?qū)崿F(xiàn)。3 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第一章緒論第5章服務(wù)端的設(shè)計與實現(xiàn)。主要確定服務(wù)端與網(wǎng)關(guān)和客戶端間通信協(xié)議,通過訂閱同一“話題”,實現(xiàn)各數(shù)據(jù)實時傳輸。同時,確定數(shù)據(jù)庫中的表結(jié)構(gòu)以及需要存儲的字段。第6章客戶端軟件的設(shè)計與實現(xiàn)。分析了監(jiān)控軟件的結(jié)構(gòu),根據(jù)監(jiān)控軟件結(jié)構(gòu)設(shè)計了監(jiān)控軟件的功能,詳細介紹了客戶端軟件讀取監(jiān)控數(shù)據(jù)和給出控制命令的設(shè)計與實現(xiàn)過程。第7章總結(jié)與展望。對本文的工作進行總結(jié),并對下一步研究工作提出建議。4 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第二章ZigBee技術(shù)介紹第二章ZigBee技術(shù)介紹2.1ZigBee介紹ZigBee技術(shù)是一種近距離、低復(fù)雜度、低功耗、低速率、低成本的雙向無線通訊技術(shù),用于距離短、功耗低且傳輸速率不高的各種電子設(shè)備之間進行數(shù)據(jù)傳輸以及典型的有周期性數(shù)據(jù)、間歇性數(shù)據(jù)和低反應(yīng)時間數(shù)據(jù)傳輸?shù)膽?yīng)用[8]。ZigBee的網(wǎng)絡(luò)標準由IEEE802.15工作組制定,故稱為802.15(ZigBee)技術(shù)標準。2.2ZigBee技術(shù)的特點作為一種無線通信技術(shù),ZigBee技術(shù)具有如下特點[9]:(1)速率低:ZigBee的數(shù)據(jù)傳輸速率只有20~250kb/s,分別提高250kb/s(2.4GHz),40kb/s(915MHz)和20kb/s(868MHz)的原始數(shù)據(jù)的吞吐率,滿足低速率的傳輸數(shù)據(jù)的應(yīng)用需求。(2)功耗低:在低功耗的待機模式下,2節(jié)普通5號電池可以使用6~24個月。(3)成本低:因為ZigBee數(shù)據(jù)傳輸速率低、協(xié)議簡單,所以大大降低了成本;并且ZigBee協(xié)議免收專利費,ZigBee網(wǎng)絡(luò)模塊一般在1000元以下,而主要使用的網(wǎng)絡(luò)節(jié)點價格可降到100元以下。(4)容量大:ZigBee網(wǎng)絡(luò)可由一個節(jié)點管理若干個子節(jié)點,最多一個節(jié)點可以管理254個子節(jié)點,同時該節(jié)點還可有上一層網(wǎng)絡(luò)節(jié)點管理,可組成65000多個節(jié)點大型網(wǎng)絡(luò)。(5)時延短:ZigBee的響應(yīng)速度較快,一般從睡眠狀態(tài)轉(zhuǎn)入工作狀態(tài)只需15ms,節(jié)點連接進入網(wǎng)絡(luò)只需要30ms,相對其他短距離無線通信而言,藍牙需要3~10s,Wi-Fi需要3s,這樣一方面節(jié)省了能量消耗,另一方面更適用于對時延敏感的場合。(6)距離近:ZigBee的傳輸范圍一般介于10~100m之間,能覆蓋普通的家庭和辦公場所,在增加RF發(fā)射功率后,可增加到1~3KM。(7)安全性高:ZigBee提供了三級安全模式,保證安全性。5 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第二章ZigBee技術(shù)介紹(8)可靠性高:采取了碰撞避免策略,同時為需要固定寬帶的通信業(yè)務(wù)預(yù)留了專用時隙,避開了發(fā)送數(shù)據(jù)的競爭和沖突。同時,MAC層采用了完全確認的數(shù)據(jù)傳輸模式,每個發(fā)送的數(shù)據(jù)包都必須等待接收方的確認信息,如果傳輸過程中出現(xiàn)問題可進行重發(fā)。2.3ZigBee網(wǎng)絡(luò)的設(shè)備分類及功能介紹ZigBee網(wǎng)絡(luò)設(shè)備分為全功能設(shè)備和精簡功能設(shè)備兩種類型;根據(jù)設(shè)備在網(wǎng)絡(luò)中承擔(dān)通信任務(wù)的不同賦予協(xié)調(diào)器、路由器和終端三種節(jié)點類型。(1)設(shè)備類型ZigBee網(wǎng)絡(luò)中,支持兩種類型的物理設(shè)備:全功能設(shè)備和精簡功能設(shè)備。全功能設(shè)備支持任何拓撲結(jié)構(gòu),可以成為協(xié)調(diào)器,能和任何終端通信。精簡功能設(shè)備只能和網(wǎng)絡(luò)協(xié)調(diào)器通信,不能成為網(wǎng)絡(luò)協(xié)調(diào)器[10]。(2)節(jié)點類型ZigBee網(wǎng)絡(luò)通常有三種節(jié)點,分別是:協(xié)調(diào)器,路由器和終端。協(xié)調(diào)器是最復(fù)雜的一種,主要功能用于建立一個網(wǎng)絡(luò)、管理網(wǎng)絡(luò)節(jié)點、存儲網(wǎng)絡(luò)節(jié)點信息等,它屬于全功能設(shè)備。路由器負責(zé)將申請加入網(wǎng)絡(luò)的新的ZigBee終端節(jié)點添加到網(wǎng)絡(luò)拓撲中,然后可以管理和維護新加入的終端并和其他節(jié)點通信,它也屬于全功能設(shè)備。終端節(jié)點沒有搭建網(wǎng)絡(luò)的能力,但它能便捷的與路由節(jié)點結(jié)合在一起,滿足用戶對一些數(shù)據(jù)測量的需求,是精簡功能設(shè)備[11]。2.4ZigBee網(wǎng)絡(luò)的拓撲結(jié)構(gòu)ZigBee網(wǎng)絡(luò)主要有三種組網(wǎng)方式[12]:星型,簇狀型和網(wǎng)狀型,其拓撲結(jié)構(gòu)如圖2.1所示。圖2.1網(wǎng)絡(luò)拓撲結(jié)構(gòu)6 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第二章ZigBee技術(shù)介紹星型網(wǎng)絡(luò)拓撲結(jié)構(gòu)的數(shù)據(jù)和網(wǎng)絡(luò)命令都是通過協(xié)調(diào)器傳輸[13]。該網(wǎng)絡(luò)結(jié)構(gòu)簡單,協(xié)調(diào)器需要承擔(dān)較多的管理工作,網(wǎng)絡(luò)的覆蓋范圍有限。簇狀型網(wǎng)絡(luò)拓撲結(jié)構(gòu)是多個星型拓撲的集合。樹簇型拓撲結(jié)構(gòu)的優(yōu)點是它保持了星型拓撲的簡單性,具有較少的上層路由信息和較低的存儲器需求,但是它不能很好的適應(yīng)外部的動態(tài)環(huán)境[14,15]。網(wǎng)狀型網(wǎng)絡(luò)拓撲結(jié)構(gòu)是一個自由設(shè)計的拓撲,具有很高的環(huán)境適應(yīng)能力。網(wǎng)狀型拓撲結(jié)構(gòu)的網(wǎng)絡(luò)中每個節(jié)點都是一個小的路由器,都具有重新選擇路由的能力,以確保網(wǎng)絡(luò)最大限度的可靠性[16]。2.5ZigBee協(xié)議框架ZigBee是一組基于IEEE批準通過的802.15.4無線標準研制開發(fā)的組網(wǎng)、安全和應(yīng)用軟件方面的技術(shù)標準。與其他無線標準(如802.11或802.16)不同,ZigBee和802.15.4以250Kbps的最大傳輸速率承載有限的數(shù)據(jù)流量[17,18]。采用ZigBee技術(shù)的產(chǎn)品可以在2.4GHz上提供250kbit/s(16個信道)、在915MHz提供40kbit/s(10個信道)和在868MHz上提供20kbit/s(1個信道)的傳輸速率。傳輸范圍依賴于輸出功率和信道環(huán)境,介于10m到100m之間,一般是30m左右[19]。由于ZigBee使用的是開放頻段,已有多種無線通訊技術(shù)使用。相比較2.4GHz頻段,900MHz頻段為低頻頻段,無線傳播的損失較少,傳輸距離較長。在MAC層上,主要沿用WLAN中802.11系列標準的CSMA/CA方式,以提高系統(tǒng)兼容性,所謂的CSMA/CA是在傳輸之前,會先檢查信道是否有數(shù)據(jù)傳輸,若信道無數(shù)據(jù)傳輸,則開始進行數(shù)據(jù)傳輸,若產(chǎn)生碰撞,則稍后一段時間重傳[20]。ZigBee協(xié)議套件緊湊且簡單,具體實現(xiàn)的硬件需求很低,8位微處理器80c51即可滿足要求,全功能協(xié)議軟件需要32K字節(jié)的ROM,最小功能協(xié)議軟件需求大約4K字節(jié)的ROM[21]。2.6本章小結(jié)本文旨在設(shè)計一個基于ZigBee技術(shù)的基站環(huán)境監(jiān)測系統(tǒng),因此,在本章中對研究與設(shè)計過程中所用的ZigBee技術(shù)做了簡單介紹。本章主要闡述了ZigBee的技術(shù)特點、ZigBee網(wǎng)絡(luò)的設(shè)備分類及功能、ZigBee網(wǎng)絡(luò)的拓撲結(jié)構(gòu)及ZigBee協(xié)議框架。7 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第三章環(huán)境監(jiān)控系統(tǒng)總體方案及分析第三章環(huán)境監(jiān)控系統(tǒng)總體方案及分析3.1環(huán)境監(jiān)控系統(tǒng)的概況隨著當前通信技術(shù)的迅速發(fā)展,通信基站的數(shù)量也在明顯增長,基站的運行環(huán)境將直接影響設(shè)備運行的穩(wěn)定性。而通信基站的分布范圍廣泛,需要環(huán)境監(jiān)控系統(tǒng)進行自動監(jiān)控、控制機房環(huán)境,但是現(xiàn)階段只有大型基站的監(jiān)控設(shè)備配備較為完善,許多中小型基站監(jiān)控設(shè)備缺乏,技術(shù)水平也較低,多采用人工巡檢的方式控制機房環(huán)境,這不僅效率低,而且也無法及時發(fā)現(xiàn)潛在危險。基站環(huán)境監(jiān)控的內(nèi)容包括動力設(shè)備參數(shù)、機房環(huán)境參數(shù)、機房安全等[1]。除監(jiān)控外,系統(tǒng)還需要聯(lián)動空調(diào)設(shè)備、攝像頭設(shè)備與其環(huán)境(溫度、濕度)進行協(xié)調(diào)工作,使基站運行在一個相對穩(wěn)定的環(huán)境中。3.2環(huán)境監(jiān)控系統(tǒng)的分析為了保障基站設(shè)備的穩(wěn)定運行,要求機房必須保持合適溫濕度環(huán)境。環(huán)境溫度過高或者過低會導(dǎo)致基站設(shè)備運行不穩(wěn)定甚至燒毀板卡。因此,在基站機房中配備有空調(diào)系統(tǒng),當機房的環(huán)境溫度高于30度時,環(huán)境監(jiān)測系統(tǒng)能夠檢測到溫度的變化并打開空調(diào),低于26度時能關(guān)閉空調(diào),節(jié)能降耗。監(jiān)控單元溫濕度傳感器采樣周期20秒,在客戶端可以實時查看溫度信息。為防止火災(zāi)發(fā)生和蔓延,需要對基站環(huán)境的煙霧進行檢測和報警。對巡檢人員的定期巡檢需要進行登記,便于考核管理,巡檢人員通過RFID卡或客戶端控制門禁進入基站。非法人員入侵基站,監(jiān)控系統(tǒng)應(yīng)能檢測報警并啟動圖像監(jiān)控。此外,監(jiān)控系統(tǒng)還需要具備檢測基站有無水災(zāi)、UPS電源的狀態(tài)等功能,所有數(shù)據(jù)必須記錄在數(shù)據(jù)庫中,方便生成報表和歷史數(shù)據(jù)查詢。3.3環(huán)境監(jiān)控系統(tǒng)的功能為了更好的管理基站環(huán)境及設(shè)備,開發(fā)用于基站環(huán)境及設(shè)備的監(jiān)控管理系統(tǒng),為基站設(shè)備安全穩(wěn)定運行提供了一個良好的環(huán)境基礎(chǔ)。該系統(tǒng)大大減輕了基站維護人員負擔(dān),提高了系統(tǒng)的可靠性,實現(xiàn)了基站的科學(xué)管理。該系統(tǒng)支持無線網(wǎng)絡(luò)傳輸,運維人員可以通過手機8 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第三章環(huán)境監(jiān)控系統(tǒng)總體方案及分析客戶端隨時隨地的遠程查看基站各種監(jiān)控設(shè)備的工作狀況,基站的實時圖像以及各種環(huán)境參數(shù)等[2]。本系統(tǒng)的功能結(jié)構(gòu)如圖3.1所示,主要實現(xiàn)機房的環(huán)境監(jiān)測、門禁控制、UPS電源監(jiān)控等功能。通信基站監(jiān)控方案主要分為:門禁系統(tǒng),環(huán)境監(jiān)測系統(tǒng),手機客戶端三個功能模塊。圖3.1系統(tǒng)功能結(jié)構(gòu)圖(1)門禁系統(tǒng):主要實現(xiàn)當有巡檢人員刷卡時記錄下巡檢人員的編號,巡檢時間信息,并將數(shù)據(jù)上傳到服務(wù)端。(2)環(huán)境監(jiān)測系統(tǒng):主要實現(xiàn)溫濕度采集、煙霧濃度采集、空調(diào)控制、人員入侵監(jiān)控、攝像頭控制、UPS電源監(jiān)控功能。實現(xiàn)各個環(huán)境參數(shù)的采集并上傳到服務(wù)端。(3)手機客戶端:手機客戶端主要與服務(wù)端進行通信實現(xiàn)溫濕度的呈現(xiàn)、遠程控制門禁的開關(guān)、視頻圖像的呈現(xiàn)、UPS電源電量的顯示、遠程控制空調(diào)的啟動等功能。3.4環(huán)境監(jiān)控系統(tǒng)實現(xiàn)的方案本系統(tǒng)主要使用ZigBee作為通信媒介,將現(xiàn)場數(shù)據(jù)收發(fā)傳遞。通信系統(tǒng)的架構(gòu)圖如圖3.2所示。門禁系統(tǒng)和監(jiān)控系統(tǒng)視為ZigBee的節(jié)點,各個節(jié)點與ZigBee網(wǎng)關(guān)進行相連。ZigBee網(wǎng)關(guān)可以通過網(wǎng)絡(luò)與遠程服務(wù)器進行連接實現(xiàn)信息的傳遞。服務(wù)端部署在阿里云服務(wù)器中,主要負責(zé)將收到的信息進行處理,如存儲、轉(zhuǎn)發(fā)等。手機客戶端通過與服務(wù)器進行通信獲取需要的信息、進行展示控制等。9 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第三章環(huán)境監(jiān)控系統(tǒng)總體方案及分析圖3.2系統(tǒng)架構(gòu)圖系統(tǒng)架構(gòu)中的主要通信協(xié)議是MQTT協(xié)議。MQTT是一個基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議。MQTT協(xié)議是輕量、簡單、開放和易于實現(xiàn)的,它的這些特點適用范圍非常廣泛。在偶爾撥號的醫(yī)療設(shè)備、智能家居、及一些小型化設(shè)備中已廣泛使用。本監(jiān)控系統(tǒng)使用該協(xié)議實現(xiàn)消息的相互傳遞功能。3.5開發(fā)環(huán)境簡介本系統(tǒng)中的安卓系統(tǒng)開發(fā)環(huán)境使用谷歌官方提供的AndroidStudio作為開發(fā)平臺,使用Java作為標準開發(fā)語言,服務(wù)端使用Python3.6語言。(1)AndroidStudio它是一個Android集成開發(fā)工具,基于IntelliJIDEA,類似EclipseADT。AndroidStudio提供了集成的Android開發(fā)工具用于開發(fā)和調(diào)試。在IDEA的基礎(chǔ)上,AndroidStudio提供:基于Gradle的構(gòu)建支持;Android專屬的重構(gòu)和快速修復(fù);提示工具以捕獲性能、可用性、版本兼容性等問題;基于模板的向?qū)砩沙S玫腁ndroid應(yīng)用設(shè)計和組件;功能強大的布局編輯器,可以讓你拖拉UI控件并進行效果預(yù)覽[22]。(2)Python3.6語言10 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第三章環(huán)境監(jiān)控系統(tǒng)總體方案及分析它是一種語法簡潔清晰的編程語言,具有豐富和強大的庫,常被稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起。常見的一種應(yīng)用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然后對其中有特別要求的部分,用更合適的語言改寫,比如性能要求特別高的模塊,可以用C/C++重寫,而后封裝為Python可以調(diào)用的擴展類庫?,F(xiàn)已被逐漸廣泛應(yīng)用于系統(tǒng)管理任務(wù)的處理和Web編程[23]。3.6本章小結(jié)本章主要分析了通信基站環(huán)境監(jiān)控系統(tǒng)的需求,明確監(jiān)控系統(tǒng)需要實現(xiàn)的功能,確定了監(jiān)控系統(tǒng)的總體方案。并對遠程監(jiān)控單元的工作要求、硬件結(jié)構(gòu)等做出了說明,最后介紹了系統(tǒng)使用的開發(fā)工具和開發(fā)環(huán)境等相關(guān)內(nèi)容。11 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第四章遠程監(jiān)控單元的設(shè)計與通信的實現(xiàn)第四章遠程監(jiān)控單元的設(shè)計與通信的實現(xiàn)本章在第三章通信基站環(huán)境監(jiān)控系統(tǒng)的總體結(jié)構(gòu)設(shè)計基礎(chǔ)上,對遠程監(jiān)控單元進行具體分析與設(shè)計,包括硬件的選擇、通信協(xié)議的設(shè)計和軟件的設(shè)計。4.1遠程監(jiān)控單元的結(jié)構(gòu)組成與硬件選型4.1.1遠程監(jiān)控單元的結(jié)構(gòu)設(shè)計根據(jù)通信基站環(huán)境監(jiān)控遠程單元的需求可知,有多個ZigBee單元,因此,協(xié)調(diào)器的作用非常重要,它的用處是接收各監(jiān)控單元采集的數(shù)據(jù)并上傳至服務(wù)器,同時發(fā)送客戶端的指令,實現(xiàn)對空調(diào)、門禁開關(guān)的智能控制。本系統(tǒng)采用樹型結(jié)構(gòu),如圖4.1所示,由一個協(xié)調(diào)器和多個終端構(gòu)成,每個終端和協(xié)調(diào)器之間采用點對點的通信方式,終端和終端之間不通信。其中協(xié)調(diào)器實現(xiàn)了服務(wù)器到終端,終端到服務(wù)器的數(shù)據(jù)轉(zhuǎn)發(fā)。服務(wù)器協(xié)調(diào)器終端1終端2...終端n-1終端n圖4.1系統(tǒng)結(jié)構(gòu)圖圖4.2為終端的結(jié)構(gòu)圖,連接了多個傳感器設(shè)備,可以檢測溫濕度、煙霧、UPS電源電量、人體紅外以及巡檢狀態(tài)。各個終端可以根據(jù)不同的需求安裝不同的監(jiān)測模塊,實現(xiàn)靈活調(diào)整的功能。終端溫濕度煙霧電量人體紅外巡檢圖4.2終端結(jié)構(gòu)圖根據(jù)基站的運行環(huán)境要求,溫濕度采集模塊與空調(diào)協(xié)同工作才能讓機房的環(huán)境溫濕度保持在一定的范圍。溫濕度、煙霧采集模塊把定時采集的數(shù)據(jù)上傳至協(xié)調(diào)器,協(xié)調(diào)器的數(shù)據(jù)處理模塊判斷當前環(huán)境溫度是否超過閾值,若超過閾值則啟動相應(yīng)的設(shè)備,使環(huán)境保持在一個穩(wěn)定的范圍,并實時將數(shù)據(jù)信息上傳至客戶端,運維人員可實時查看或進行人工干預(yù)。例如,12 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第四章遠程監(jiān)控單元的設(shè)計與通信的實現(xiàn)當檢測到的環(huán)境溫度超過閾值時,協(xié)調(diào)器發(fā)送指令使空調(diào)開啟工作,低于閾值時則關(guān)閉空調(diào);如果是煙霧超過閾值,協(xié)調(diào)器發(fā)送打開攝像頭指令,及時獲取現(xiàn)場圖像,把圖片信息傳輸至客戶端,同時關(guān)閉攝像頭,減少圖片數(shù)據(jù)傳輸時給協(xié)調(diào)器及網(wǎng)絡(luò)帶來過大的負荷。遠程監(jiān)控模塊各環(huán)境參數(shù)采集的硬件接線圖,如圖4.3所示。選用CC2530作為主控芯片,連接了溫濕度模塊,煙霧檢測模塊、人體檢測模塊、電量檢測模塊、空調(diào)開關(guān)、門禁開關(guān)和RFid模塊。圖4.3硬件接線圖其中溫濕度模塊用于檢測基站內(nèi)部的溫度和濕度;煙霧模塊用于檢測機房內(nèi)部是否發(fā)生火災(zāi);人體檢測模塊用于檢測機房內(nèi)部是否有人入侵;電量監(jiān)測模塊用于檢測UPS電源的電量,以保證機房正常運行;空調(diào)開關(guān)用于打開或關(guān)閉空調(diào);門開關(guān)則用于用戶刷卡時打開機房門,RFid模塊檢測是否有人刷卡。4.1.2遠程監(jiān)控模塊的器件及設(shè)備選型(1)主控芯片本系統(tǒng)采用的主控芯片CC2530是用于2.4-GHzIEEE802.15.4、ZigBee和RF4CE應(yīng)用的一個真正的片上系統(tǒng)(SoC)解決方案。主控芯片的實物如圖4.4所示,它能以非常低的材料成本建立強大的網(wǎng)絡(luò)節(jié)點。CC2530結(jié)合了領(lǐng)先的RF收發(fā)器的優(yōu)良性能,業(yè)界標準的增強型8051CPU,系統(tǒng)內(nèi)可編程閃存,8KBRAM和許多其它強大的功能[24]。CC2530有四種不同的閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256KB的閃存,系統(tǒng)選用的是13 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第四章遠程監(jiān)控單元的設(shè)計與通信的實現(xiàn)CC2530F128。CC2530具有不同的運行模式,使得它尤其適應(yīng)超低功耗要求的系統(tǒng)。運行模式之間的轉(zhuǎn)換時間短,進一步確保了低能源消耗。圖4.4核心板卡實物圖(2)RFid模塊本系統(tǒng)選用的RFid模塊型號是MFRC522,其實物如圖4.5所示,它是應(yīng)用于13.56MHz非接觸式通信中高集成度讀寫卡系列芯片中的一員。MFRC522也是NXP公司針對“三表”應(yīng)用推出的一款低電壓、低成本、體積小的非接觸式讀寫卡芯片[25]。MFRC522利用了先進的調(diào)制和解調(diào)概念,完全集成了在13.56MHz下所有類型的被動非接觸式通信方式和協(xié)議。支持ISO14443A的多層應(yīng)用,其內(nèi)部發(fā)送器部分可驅(qū)動讀寫器天線與ISO14443A/MIFARE卡和應(yīng)答機的通信,無需其它的電路[26]。接收器部分提供一個堅固而有效的解調(diào)和解碼電路,用于處理ISO14443A兼容的應(yīng)答器信號。數(shù)字部分處理ISO14443A幀和錯誤檢測(奇偶&CRC)。此外,它還支持快速CRYPTO1加密算法,用于驗證MIFARE系列產(chǎn)品。MFRC522支持MIFARE更高速的非接觸式通信,雙向數(shù)據(jù)傳輸速率高達424kbit/s。它與主機間的通信采用連線較少的串行通信,且可根據(jù)不同的用戶需求,選取SPI、I2C或串行UART(類似RS232)模式之一,有利于減少連線,縮小PCB板體積,降低成本[27,28]。圖4.5RFid模塊(3)人體監(jiān)測模塊人體監(jiān)測模塊選用的是HC_SR505紅外探測器,其實物如圖4.6所示。HC_SR505是基于紅外線技術(shù)的自動控制模塊。它的工作電壓范圍是直流時為4.5V至20V,電平輸出為高電14 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第四章遠程監(jiān)控單元的設(shè)計與通信的實現(xiàn)平3.3V,低電平0V,工作溫度為-15-+70度,感應(yīng)角度小于100度錐角,感應(yīng)距離最大為7米,觸發(fā)方式分為L-不可重復(fù)觸發(fā)和H-重復(fù)觸發(fā)。本系統(tǒng)選用可重復(fù)觸發(fā)方式,即感應(yīng)輸出高電平后,在一定的后續(xù)時間中,如果檢測到有人在感應(yīng)區(qū)中,其輸出將持續(xù)高電平不變,直到人離開后才過一定時間將高電平改為低電平。圖4.6人體監(jiān)測模塊(4)溫濕度檢測模塊本模塊采用DHT11型數(shù)字溫濕度傳感器,其實物如圖4.7所示。它是一款有已校準數(shù)字信號輸出的溫濕度傳感器。其精度:濕度±1%RH,溫度±0.2℃;量程:濕度20-90%RH,溫度0~50℃。它常用于專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),以確保產(chǎn)品具有極高的可靠性和卓越的長期穩(wěn)定性。DHT11型數(shù)字溫濕度傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此,該產(chǎn)品具有品質(zhì)卓越、響應(yīng)快、抗干擾能力強、性價比高等優(yōu)點[29,30]。每個DHT11傳感器都在極為精確的濕度校驗室中進行校準。校準系數(shù)以程序的形式存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。該產(chǎn)品為4針單排引腳封裝,連接方便。體積小、功耗低,使其成為該類應(yīng)用中,在苛刻應(yīng)用場合的最佳選擇[31]。圖4.7溫濕度監(jiān)測模塊(5)煙霧監(jiān)測模塊15 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第四章遠程監(jiān)控單元的設(shè)計與通信的實現(xiàn)本模塊選用的是MQ-2型煙霧傳感器,其外形如圖4.8所示。它屬于二氧化錫半導(dǎo)體氣敏材料,屬于表面離子式N型半導(dǎo)體[32]。處于200~300攝氏度時,二氧化錫吸附空氣中的氧,形成氧的負離子吸附,使半導(dǎo)體中的電子密度減少,從而使其電阻值增加。當與煙霧接觸時,如果晶粒間界處的勢壘收到煙霧的調(diào)至而變化,就會引起表面導(dǎo)電率的變化。利用這一特性就可以獲得這種煙霧存在的信息,煙霧的濃度越大,導(dǎo)電率越大,輸出電阻越低,則輸出的模擬信號就越大[33,34]。圖4.8煙霧監(jiān)測模塊(6)攝像頭模塊攝像頭模塊選用海康威視130萬像素槍型網(wǎng)絡(luò)攝像機,其外形如圖4.9所示。它的最高分辨率可達1280×960@30fps,在該分辨率下可輸出實時圖像。該型號攝像頭采用ROI等視頻壓縮技術(shù),壓縮比高,可以適應(yīng)不同場景下對圖像質(zhì)量、流暢性的不同要求。同時,支持智能報警、越界偵測,區(qū)域入侵偵測,適用于金融、電信、政府、學(xué)校、機場、工廠、酒店、博物館、交通監(jiān)控等要求高清畫質(zhì)且光線較暗的場所,適合逆光環(huán)境。圖4.9攝像頭16 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第四章遠程監(jiān)控單元的設(shè)計與通信的實現(xiàn)4.2協(xié)調(diào)器與監(jiān)控單元程序設(shè)計4.2.1協(xié)調(diào)器程序設(shè)計協(xié)調(diào)器程序流程圖,如圖4.10所示。軟件的設(shè)計采用TI的ZigBee協(xié)議棧,在其之上進行二次開發(fā)。開始芯片及協(xié)議棧初始化配置設(shè)備為協(xié)調(diào)器創(chuàng)建設(shè)備表創(chuàng)建定時任務(wù)接收串口數(shù)據(jù)服務(wù)器請求數(shù)據(jù)是否向終端下發(fā)數(shù)據(jù)接收到終端數(shù)據(jù)是否解析終端上傳數(shù)據(jù)并上傳至服務(wù)器結(jié)束圖4.10協(xié)調(diào)器流程圖協(xié)調(diào)器模塊上電后,ZigBee協(xié)議棧會初始化CC2530芯片,并配置為協(xié)調(diào)器模式。初始化完成后,程序?qū)⑹褂肕ydevmydevice[num]創(chuàng)建終端設(shè)備表,大小由num指定。Mydev結(jié)構(gòu)如下:typedefstructMydevice{uint16Dev_id;//用戶自定義的設(shè)備iduint16Net_id;//zigbee局域網(wǎng)中設(shè)備網(wǎng)絡(luò)地址iduint8temp;//溫度值uint8humi;//濕度值uint8smok;//煙霧值17 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第四章遠程監(jiān)控單元的設(shè)計與通信的實現(xiàn)uint8prox;//人體檢測uint8rout;//巡檢uint8upsd;//電量uint16time;//設(shè)備剩余壽命}Mydev;osal_start_timerEx(SampleApp_TaskID,Periodic_MSG_EVT,1000+(osal_rand()&0x00FF))函數(shù)將創(chuàng)建一個名為Periodic_MSG_EVT的1s定時任務(wù),用于減少設(shè)備表中各個設(shè)備的壽命,壽命為0的設(shè)備信息將被清除。調(diào)用osal_start_timerEx(SampleApp_TaskID,Poll_MSG_EVT,2000+(osal_rand()&0x00FF))創(chuàng)建一個定時向服務(wù)器發(fā)送數(shù)據(jù)的任務(wù),每隔30s向服務(wù)器發(fā)送一個設(shè)備的數(shù)據(jù)。隨后調(diào)用osal_start_timerEx(SampleApp_TaskID,Esp_EVT,5000)創(chuàng)建一個服務(wù)器請求網(wǎng)關(guān)id的任務(wù),直到請求成功才刪除此任務(wù)。除了以上任務(wù),程序?qū)⑼ㄟ^SampleApp_MessageMSGCB(MSGpkt)回調(diào)函數(shù)接受各個終端設(shè)備的數(shù)據(jù),并且把接收到的數(shù)據(jù)存入mydevice[num]設(shè)備表中,并重置更新對應(yīng)的設(shè)備壽命。程序還將通過串口接受服務(wù)器下發(fā)的數(shù)據(jù)。如果接收到數(shù)據(jù),則使用strstr()函數(shù)對數(shù)據(jù)進行層層解析。如果數(shù)據(jù)是返回以上任務(wù)請求的網(wǎng)關(guān)id時,程序把收到的id存入數(shù)組中,以便以后向服務(wù)器上傳數(shù)據(jù)使用。如果是請求終端設(shè)備,程序則解析出要請求的終端id和需要請求或者控制的設(shè)備類型,隨后組裝出數(shù)據(jù)包,通過Send_Req_Message()函數(shù)發(fā)送出去,終端收到請求后將返回數(shù)據(jù)。4.2.2監(jiān)控單元程序設(shè)計監(jiān)控單元的程序流程如圖4.11所示,軟件的設(shè)計采用TI的ZigBee協(xié)議棧,在其之上進行二次開發(fā)。協(xié)調(diào)器模塊上電后,ZigBee協(xié)議棧會初始CC2530芯片,并配置為終端模式。初始化完成后,使用osal_start_timerEx(SampleApp_TaskID,END_EVT,(3000+(osal_rand()&0x00FF)))創(chuàng)建終端定時向協(xié)調(diào)器發(fā)送數(shù)據(jù)的任務(wù)。18 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第四章遠程監(jiān)控單元的設(shè)計與通信的實現(xiàn)開始芯片及協(xié)議棧初始化配置設(shè)備為終端創(chuàng)建定時任務(wù)采集溫濕度等環(huán)境參數(shù)協(xié)調(diào)器請求數(shù)據(jù)是否終端返回數(shù)據(jù)協(xié)調(diào)器控制數(shù)據(jù)是否控制設(shè)備并返回數(shù)據(jù)結(jié)束圖4.11終端流程圖使用osal_start_timerEx(SampleApp_TaskID,RFid_EVT,300)創(chuàng)建定時任務(wù),檢測用戶是否刷卡,如果有人刷卡,則使用Gen_Sub_Messg()向協(xié)調(diào)器發(fā)送數(shù)據(jù),檢測人體狀態(tài)是否改變,改變則使用Gen_Sub_Messg()向協(xié)調(diào)器發(fā)送數(shù)據(jù)。除了以上任務(wù),程序?qū)⑹褂肧ampleApp_MessageMSGCB(MSGpkt)函數(shù)接收協(xié)調(diào)器下發(fā)的數(shù)據(jù),接收到數(shù)據(jù)后,首先判斷數(shù)據(jù)類型,若是請求傳感器數(shù)據(jù),程序則采集機房內(nèi)部溫度,濕度,煙霧,人體,電源數(shù)據(jù)并使用Gen_Sub_Messg()上傳;若是控制類型數(shù)據(jù),則根據(jù)數(shù)據(jù)信息開關(guān)門或者空調(diào),并返回當前門或者空調(diào)的開關(guān)狀態(tài)使用Gen_Sub_Messg()上傳。4.3遠程監(jiān)控模塊的通信協(xié)議分析與設(shè)計4.3.1通信協(xié)議的基本幀格式服務(wù)器和協(xié)調(diào)器中間采用串口轉(zhuǎn)網(wǎng)絡(luò)的通信方式,數(shù)據(jù)使用json作為格式規(guī)范。基本幀格式如下:{"id":"er/12345671234x",19 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第四章遠程監(jiān)控單元的設(shè)計與通信的實現(xiàn)"type":"s","stype":"temp","data":"025"}。為了簡化設(shè)計并達到相同的功能,協(xié)調(diào)器與終端之間使用自定義字符串。4.3.2遠程監(jiān)控單元與協(xié)調(diào)器報文的設(shè)計(1)協(xié)調(diào)器發(fā)給終端的報文報文包含請求報文和控制報文。請求報文:reqa代表請求終端的全部傳感器數(shù)據(jù);reqt代表請求終端的溫度數(shù)據(jù);reqh代表請求終端的濕度數(shù)據(jù);reqs代表請求終端的煙霧數(shù)據(jù);reqp代表請求終端的人體檢測數(shù)據(jù);requ代表請求終端的電源數(shù)據(jù);reqd代表請求終端的門禁狀態(tài)數(shù)據(jù);reqc代表請求終端的空調(diào)狀態(tài)數(shù)據(jù);控制報文:cond1代表打開門,cona1代表打開空調(diào),cona0代表關(guān)閉空調(diào)。(2)終端返回給協(xié)調(diào)器的報文adt:xxxxxxxxx代表返回終端的全部傳感器數(shù)據(jù),xxxxxxx代表具體數(shù)據(jù);tdt:xx代表返回終端的溫度數(shù)據(jù),xx代表具體數(shù)據(jù);hdt:xx代表返回終端的濕度數(shù)據(jù),xx代表具體數(shù)據(jù);sdt:xx代表返回終端的煙霧數(shù)據(jù),xx代表具體數(shù)據(jù);pdt:xx代表返回終端的人體檢測數(shù)據(jù),xx代表具體數(shù)據(jù);udt:xx代表返回終端的電源數(shù)據(jù),xx代表具體數(shù)據(jù);ddt:xx代表返回終端的門禁狀態(tài)數(shù)據(jù),xx代表具體數(shù)據(jù);cdt:xx代表返回終端的空調(diào)狀態(tài)數(shù)據(jù),xx代表具體數(shù)據(jù)。4.3.3協(xié)調(diào)器與服務(wù)器報文的設(shè)計(1)服務(wù)器下發(fā)給協(xié)調(diào)器的報文報文包括數(shù)據(jù)請求報文和控制報文。請求報文如下:{"id":"er/6636366/1234x"","type":"g","gtype":"temp",}20 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第四章遠程監(jiān)控單元的設(shè)計與通信的實現(xiàn)請求報文是服務(wù)器用來請求指定終端的指定傳感器數(shù)據(jù)的,其中id為終端設(shè)備的id,type為g代表此數(shù)據(jù)包是請求報文,gtype為temp代表請求溫度信息,為humi代表請求濕度信息,為smok代表請求煙霧信息,為prox代表請求人體檢測信息,為upsd代表請求ups電源信息,為door代表請求門信息,為airc代表請求空調(diào)信息??刂茍笪娜缦拢簕"id":"er/6636366/1234x"","type":"c","ctype":"door","data":"100"}控制報文是服務(wù)器用來控制指定終端的門或者空調(diào)設(shè)備的,其中id為終端設(shè)備的id,type為c代表此數(shù)據(jù)包是控制報文,ctype為door代表要控制的為門,為airc代表控制的為空調(diào)。data為100代表打開此設(shè)備,為000代表關(guān)閉此設(shè)備,其中門不支持關(guān)閉報文。(2)協(xié)調(diào)器上傳給服務(wù)器的報文報文包括數(shù)據(jù)上傳報文和網(wǎng)關(guān)id請求報文。數(shù)據(jù)上傳報文格式如下:{"id":"er/6636366/1234x"","type":"s","stype":"temp","data":"025"}其中id為終端設(shè)備的id,type為s代表此數(shù)據(jù)包是上傳數(shù)據(jù)報文,stype為temp代表上傳的是溫度信息,為humi代表上傳的是濕度信息,為smok代表上傳的是煙霧信息,為prox代表上傳的是人體檢測信息,為upsd代表上傳的是UPS電源信息,為rfid代表上傳的是巡檢信息,為door代表上傳的是門信息,為airc代表上傳的是空調(diào)信息。網(wǎng)關(guān)id請求報文如下:{'chip':'?'},返回格式如下返回id:{'chip_id':'xxxxxx'},xxxxxx代表具體數(shù)據(jù)。21 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第四章遠程監(jiān)控單元的設(shè)計與通信的實現(xiàn)4.4本章小節(jié)本章主要介紹了系統(tǒng)硬件的選型,監(jiān)控單元與協(xié)調(diào)器的程序設(shè)計,以及監(jiān)控單元至協(xié)調(diào)器、協(xié)調(diào)器至服務(wù)器之間通信報文的格式,規(guī)范了請求報文和控制報文的格式。22 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第五章服務(wù)端設(shè)計與實現(xiàn)第五章服務(wù)端設(shè)計與實現(xiàn)5.1服務(wù)端介紹服務(wù)端是為客戶端服務(wù)的平臺,服務(wù)的內(nèi)容諸如向客戶端提供資源,保存客戶端數(shù)據(jù)等。這是實現(xiàn)數(shù)據(jù)通信的重要途徑,比如要修改某個參數(shù),重加載后,在客戶端可以立刻呈現(xiàn)。服務(wù)端可以是一臺電腦,也可以是一臺服務(wù)器,但物理主機會存在宕機、硬件損壞、被黑客攻擊等風(fēng)險,造成數(shù)據(jù)永久丟失。本系統(tǒng)將服務(wù)器部署在云計算中并選用阿里云主機。阿里云主要有以下3點優(yōu)勢:(1)高性價比:相比傳統(tǒng)IDC,節(jié)約80%成本投入,相比其他服務(wù)商,節(jié)省60%成本投入。(2)高穩(wěn)定性:擁有多重備份,秒級恢復(fù),按需自動擴容等功能,應(yīng)用靈活、便捷、穩(wěn)定。(3)安全可靠:掌握全球最大網(wǎng)絡(luò)攻擊防御經(jīng)驗,有效幫助客戶降低安全風(fēng)險。5.2服務(wù)端功能的分析一般的物聯(lián)網(wǎng)通信系統(tǒng)主要包括用戶管理、設(shè)備列表管理、設(shè)備歷史記錄管理、即時通信協(xié)議、硬件網(wǎng)關(guān)(可選)、傳感器和執(zhí)行器。根據(jù)設(shè)計需求,除了攝像頭之外,所有組件全部通過服務(wù)器進行數(shù)據(jù)處理和通信中轉(zhuǎn),數(shù)據(jù)歷史記錄存儲在MySQL數(shù)據(jù)庫中,服務(wù)端API采用PythonFlask設(shè)計用來實現(xiàn)用戶登錄邏輯、設(shè)備列表保存、設(shè)備歷史記錄保存三項功能。攝像頭畫面則采用??低曉品?wù)進行中轉(zhuǎn),在APP中嵌入海康威視SDK,權(quán)限認證成功之后即可看到攝像頭畫面。5.3服務(wù)端通信協(xié)議的選擇目前常用的服務(wù)端通信協(xié)議主要有XMPP協(xié)議,CoAP協(xié)議和MQTT協(xié)議。XMPP協(xié)議是一種基于標準通用標記語言的子集XML的協(xié)議,它繼承了在XML環(huán)境中靈活的發(fā)展性。因此,基于XMPP的應(yīng)用具有超強的可擴展性。經(jīng)過擴展以后的XMPP可以通過發(fā)送擴展的信息來處理用戶的需求,以及在XMPP的頂端建立如內(nèi)容發(fā)布系統(tǒng)和基于地23 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第五章服務(wù)端設(shè)計與實現(xiàn)址的服務(wù)等應(yīng)用程序。而且XMPP包含了針對服務(wù)器端的軟件協(xié)議,使之能與另一個進行通話,這使得開發(fā)者更容易建立客戶應(yīng)用程序或給一個已經(jīng)配置好XMPP協(xié)議的系統(tǒng)添加功能。但是,該協(xié)議有較復(fù)雜、冗余(基于XML)、費流量、費電,部署硬件成本高的缺點[35]。CoAP協(xié)議的全稱為受限應(yīng)用協(xié)議,其開發(fā)目的在于允許資源相對有限的設(shè)備利用UDP而非TCP通過互聯(lián)網(wǎng)實現(xiàn)通信。CoAP是一種簡單的請求/響應(yīng)協(xié)議(與REST非常相似),且遵循傳統(tǒng)的客戶端/服務(wù)器模式。CoAP數(shù)據(jù)包采用位字段以最大限度提升內(nèi)存利用效率,且經(jīng)常將字符串映射至整數(shù)以降低數(shù)據(jù)包在設(shè)備內(nèi)部以及網(wǎng)絡(luò)中傳輸時所占用的帶寬。除了數(shù)據(jù)包體積極度小巧之外,CoAP的另一大優(yōu)勢在于其采用UDP,數(shù)據(jù)報文使得CoAP能夠在各類基于數(shù)據(jù)包的技術(shù)之上起效——例如短信。CoAP的弊端之一在于,它屬于一對一協(xié)議。盡管我們可以通過擴展方式實現(xiàn)組廣播,但這種廣播能力并非原生存在。除此之外,CoAP的另一大缺陷在于不提供公共訂閱消息隊列。MQTT協(xié)議是一種由IBM主導(dǎo)開發(fā)的物聯(lián)網(wǎng)傳輸協(xié)議,它被設(shè)計用于輕量級的發(fā)布/訂閱式消息傳輸,旨在為低帶寬和不穩(wěn)定的網(wǎng)絡(luò)環(huán)境中的物聯(lián)網(wǎng)設(shè)備提供可靠的網(wǎng)絡(luò)服務(wù)。它的核心設(shè)計思想是開源、可靠、輕巧、簡單,具有以下主要的幾項特性:非常小的通信開銷(最小的消息大小為2字節(jié));支持各種流行編程語言(包括C,Java,Ruby,Python等等)且易于使用的客戶端;支持發(fā)布/預(yù)定模型,簡化應(yīng)用程序的開發(fā);提供三種不同消息傳遞等級,讓消息能按需到達目的地,適應(yīng)在不穩(wěn)定工作的網(wǎng)絡(luò)傳輸需求。這些特點使它適用范圍非常廣泛,包括受限的環(huán)境,如:機器與機器(M2M)通信、物聯(lián)網(wǎng)(IoT)系統(tǒng)中運用,在通過衛(wèi)星鏈路通信的傳感器、醫(yī)療設(shè)備、智能家居、及一些小型化設(shè)備中已廣泛使用,該協(xié)議實現(xiàn)消息的相互傳遞功能[36,37]。本基站環(huán)境監(jiān)測系統(tǒng)需要實現(xiàn)消息的相互傳遞,因此,系統(tǒng)架構(gòu)中的骨干協(xié)議選擇MQTT協(xié)議。MQTT設(shè)計架構(gòu)如圖5.1所示。圖5.1MQTT架構(gòu)圖24 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第五章服務(wù)端設(shè)計與實現(xiàn)在此系統(tǒng)中,服務(wù)端上運行MQTT代理服務(wù)器,當MQTT客戶端向服務(wù)器訂閱了一個話題之后,任何其他連接到相同服務(wù)器的客戶端向此話題發(fā)送消息都能被該客戶端接收到。5.4服務(wù)端數(shù)據(jù)的存儲云服務(wù)HTTP部分為與手機客戶端通信的API設(shè)計,用來實現(xiàn)用戶鑒權(quán)(登錄)、設(shè)備管理、歷史記錄存儲三項功能,手機客戶端用戶使用用戶名密碼登陸之后可以通過設(shè)備API獲取到設(shè)備列表并渲染顯示出來,同時向MQTT代理服務(wù)器訂閱設(shè)備列表所對應(yīng)的所有話題,此時手機客戶端就可以收到其他客戶端向此話題推送的消息,傳感器連接網(wǎng)關(guān)之后向服務(wù)器傳送數(shù)據(jù),手機APP就可以收到并實時更新傳感器數(shù)據(jù),同時把傳感器數(shù)據(jù)存儲在MySQL數(shù)據(jù)庫中以備查閱。5.4.1數(shù)據(jù)存儲的分析在物聯(lián)網(wǎng)中,很多數(shù)據(jù)需要保存下載以備查閱、分析,所以設(shè)計數(shù)據(jù)存儲功能是非常必要的。數(shù)據(jù)庫是有組織的存儲應(yīng)用程序數(shù)據(jù),可以查詢檢索指定需要的部分。大部分web應(yīng)用程序都采用基于關(guān)系模型的數(shù)據(jù)庫,也稱作結(jié)構(gòu)化查詢語言(SQL)數(shù)據(jù)庫。關(guān)系數(shù)據(jù)庫將數(shù)據(jù)保存在表中來模擬應(yīng)用程序中不同的實體。例如,一個訂單管理應(yīng)用程序數(shù)據(jù)庫可能會有user、products和orders表。一個表有一個固定數(shù)量的列和一個可變的行數(shù)。列定義了數(shù)據(jù)表所代表的實體的屬性。例如,user表會有name、address、phone等列。表中的每一行定義了由所有列的值組成的實際數(shù)據(jù)元素。表的特殊列稱為主鍵,它持有一個惟一的標識符為表中存儲的每一行。表也可以有外鍵,用于引用其他表的主鍵。這些行之間的連接稱作關(guān)系,也是關(guān)系數(shù)據(jù)庫模型的基礎(chǔ)。5.4.2數(shù)據(jù)存儲的設(shè)計本系統(tǒng)數(shù)據(jù)模型一共分為三個部分:用戶管理部分、設(shè)備管理部分和設(shè)備數(shù)據(jù)歷史記錄部分。其中,用戶管理部分用來控制用戶權(quán)限,在不登入的情況下無法進行設(shè)備管理與設(shè)備列表查看,即沒有權(quán)限訂閱設(shè)備話題,從而接收不到設(shè)備任何信息。(1)用戶管理25 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第五章服務(wù)端設(shè)計與實現(xiàn)用戶數(shù)據(jù)表節(jié)構(gòu)如表5.1所示。表5.1用戶數(shù)據(jù)表結(jié)構(gòu)參數(shù)數(shù)據(jù)類型描述idInteger數(shù)據(jù)庫唯一idUsernameString(128)用戶名password_hashString(128)用戶密碼hash值用戶數(shù)據(jù)表部分Flask模型:classUser(Base):'''用戶數(shù)據(jù)表節(jié)構(gòu):======================================================ParameterTypeDescription======================================================idInteger數(shù)據(jù)庫唯一idusernameString(128)用戶名password_hashString(128)用戶密碼hash值======================================================__tablename__='user'id=Column(Integer,primary_key=True)username=Column(String(128),unique=True,nullable=False)password_hash=Column(String(128),nullable=False)device=relationship("Device",backref="user")當用戶登錄成功之后,通過API可以獲取當前用戶所擁有的設(shè)備列表信息,并獲取設(shè)備最新的數(shù)據(jù),以防止用戶登陸之后數(shù)據(jù)為空,還需等待設(shè)備上傳數(shù)據(jù)才可以看到數(shù)據(jù),用戶登錄部分代碼如下:classUserAuth(Resource):'''用戶認證類,負責(zé)驗證密碼并生成token并返回給用戶'''def__init__(self):self.login_marshaller=login_marshallerself.response_code=400defpost(self):'''提交用戶名密碼換取token函數(shù),需要用戶名和密碼這兩個參數(shù)。..code-block::pythonurl:/api/user/get_token:return:使用login_marshaller裝飾的格式'''session=Session()username=request.values.get('username')26 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第五章服務(wù)端設(shè)計與實現(xiàn)password=request.values.get('password')user=session.query(m_user.User).filter_by(username=username).first()ifnotuserornotusername:self.login_marshaller['success']=1self.login_marshaller['msg']='Usernotexists!'self.login_marshaller['data']={'token':''}self.response_code=404else:ifnotpasswordornotuser.verify_password(password=password):self.login_marshaller['success']=1self.login_marshaller['msg']='Userauthorizefailed!'self.login_marshaller['data']={'token':''}self.response_code=401else:login_user(user)self.login_marshaller['success']=0self.login_marshaller['msg']='Userauthorizesuccess!'token=token_auth.generate_auth_token(username)self.login_marshaller['data']={'token':token}self.response_code=200session.close()returnself.login_marshaller,self.response_code用戶注冊的時候App通過post方法向/user接口發(fā)送用戶名和密碼到服務(wù)器,如果用戶名不存在即新用戶可以注冊,服務(wù)器會回應(yīng):{"success":0,"msg":"Userinsertok!","data":{"username":"test1"}}如果用戶名或者密碼已經(jīng)存在,則不允許新用戶注冊,服務(wù)器會回應(yīng):{"success":1,"msg":"Useralreadyexists!","data":{"username":"test"}}27 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第五章服務(wù)端設(shè)計與實現(xiàn)用戶注冊之后,使用注冊的用戶名和密碼登錄,即用戶通過App向服務(wù)器的/login接口post用戶名和密碼數(shù)據(jù),服務(wù)器接收到后驗證用戶名是否存在以及密碼是否正確,之后向客戶端回應(yīng):{"success":0,"msg":"Userauthorizesuccess!","data":{"token":"eyJ1c2VybmFtZSI6ICJ0ZXN0IiwgImV4cCI6ICIyMDE3LTA3LTIzIDAyOjI5OjAyIn0="}}如果用戶名或密碼不正確,則拒絕用戶登陸,服務(wù)器會向客戶端回應(yīng):{"success":1,"msg":"Userauthorizefailed!","data":{"token":""}}(2)設(shè)備管理用戶登錄之后App會向服務(wù)器請求設(shè)備列表數(shù)據(jù),其中,設(shè)備數(shù)據(jù)表節(jié)構(gòu)設(shè)計如表5.2所示。表5.2設(shè)備數(shù)據(jù)表結(jié)構(gòu)參數(shù)數(shù)據(jù)類型描述idInteger數(shù)據(jù)庫唯一idUsernameString(128)用戶名device_nameString(32)設(shè)備名稱topicString(16)設(shè)備唯一id,MQTT話題設(shè)備value數(shù)值,默認為0(預(yù)留),valueString(64)用來保存設(shè)備最近一次數(shù)據(jù)remarksString(256)設(shè)備備注date_timeDateTime設(shè)備創(chuàng)建時間/數(shù)據(jù)更新時間(預(yù)留)設(shè)備數(shù)據(jù)表的Flask模型如下所示:classDevice(Base):'''設(shè)備數(shù)據(jù)表節(jié)構(gòu):28 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第五章服務(wù)端設(shè)計與實現(xiàn)=========================================================ParameterTypeDescription=========================================================idInteger數(shù)據(jù)庫唯一idusernameString(128)用戶名device_nameString(32)設(shè)備名稱topicString(16)設(shè)備唯一id,MQTT話題valueString(64)設(shè)備value數(shù)值,默認為0(預(yù)留)remarksString(256)設(shè)備備注date_timeDateTime設(shè)備創(chuàng)建時間/數(shù)據(jù)更新時間(預(yù)留)========================================================='''__tablename__='device'id=Column(Integer,primary_key=True)username=Column(String(128),ForeignKey('user.username'),nullable=False)device_name=Column(String(128),nullable=True)topic=Column(String(64),nullable=False,unique=True)value=Column(String(64),nullable=False)remarks=Column(String(256),nullable=True)date_time=Column(DateTime,nullable=False,default=datetime.datetime.utcnow())查詢設(shè)備列表使用httpget方法用來查找設(shè)備信息,輸出信息遵循Python-Flaskdevices_response_marshaller格式,需要提供token和topic兩個參數(shù)來獲取設(shè)備列表,提供token是為了提供用戶身份,如果提供了topic則顯示指定設(shè)備信息,如果不提供topic則返回該token對應(yīng)用戶名下所有設(shè)備信息。如果Token認證成功并且用戶名下存在此設(shè)備,服務(wù)器會回應(yīng):{"success":0,"msg":"Getdevicelistsuccess!","data":[{"device_name":"tdevice","topic":"er/a","value":"0","remarks":"hhhh"}]}如果用戶需要添加新設(shè)備到用戶名下,則需要提供如下信息:token:用戶認證令牌topic:設(shè)備topic可以認為是設(shè)備唯一標示,為空則返回所有設(shè)備29 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第五章服務(wù)端設(shè)計與實現(xiàn)device_name:設(shè)備名稱remarks:設(shè)備備注信息如果該用戶名下沒有這個設(shè)備topic,則允許添加該設(shè)備,服務(wù)器回應(yīng):{"success":0,"msg":"Insertdevicesuccess!","data":[{"device_name":"tdevice","topic":"er/a","value":"0","remarks":"hhhh"}]}但是如果已經(jīng)存在此設(shè)備的唯一id,則服務(wù)器不允許重復(fù)添加此設(shè)備,設(shè)備會添加失敗,服務(wù)器回應(yīng):{"success":1,"msg":"Topichasbeenused!","data":[]}如果用戶需要刪除設(shè)備,需要向服務(wù)器提供用戶登錄時候獲取的token令牌和設(shè)備topic,通過認證之后即可刪除設(shè)備,服務(wù)器回應(yīng):{"success":0,"msg":"Deletedevicesuccess!","data":[]}如果刪除的設(shè)備已經(jīng)被刪除或者根本不存在,服務(wù)器回應(yīng):{"success":1,"msg":"Deletenotexists!","data":[]}或者客戶端沒有提供topic,服務(wù)器會報告錯誤信息:{"success":1,"msg":"Topiccannotbenull!",30 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第五章服務(wù)端設(shè)計與實現(xiàn)"data":[]}(3)設(shè)備數(shù)據(jù)歷史記錄在物聯(lián)網(wǎng)系統(tǒng)中,設(shè)備歷史記錄不僅能用來查看當前環(huán)境下的情況,還可以用來分析環(huán)境趨勢、甚至聯(lián)合多個設(shè)備分析當前數(shù)據(jù)。本設(shè)計中數(shù)據(jù)采用MySQL進行存儲,設(shè)備歷史記錄數(shù)據(jù)表結(jié)構(gòu)如表5.3所示。表5.3設(shè)備歷史記錄數(shù)據(jù)表參數(shù)數(shù)據(jù)類型描述idInteger數(shù)據(jù)庫唯一idtopicString(16)設(shè)備唯一id,MQTT話題valueString(64)設(shè)備value數(shù)值,默認為0date_timeDateTime設(shè)備創(chuàng)建時間/數(shù)據(jù)更新時間設(shè)備歷史記錄表的Flask模型如下所示:classDeviceLog(Base):'''設(shè)備歷史記錄數(shù)據(jù)表節(jié)構(gòu):======================================================ParameterTypeDescription======================================================idInteger數(shù)據(jù)庫唯一idtopicString(16)設(shè)備唯一id,MQTT話題valueString(64)設(shè)備value數(shù)值,默認為0date_timeDateTime設(shè)備創(chuàng)建時間/數(shù)據(jù)更新時間======================================================='''__tablename__='device_log'id=Column(Integer,primary_key=True)topic=Column(String(64),nullable=False)value=Column(String(64),nullable=False)date_time=Column(DateTime,nullable=False)def__init__(self,topic,value="0",date_time=datetime.datetime.utcnow()):self.topic=topicself.value=valueself.date_time=date_time設(shè)備歷史記錄是通過MQTT即時通信系統(tǒng)插入,無需客戶端向服務(wù)器發(fā)送請求,只要網(wǎng)關(guān)向MQTT代理服務(wù)器發(fā)布傳感器數(shù)據(jù),該數(shù)據(jù)就會被服務(wù)器接收到并自動記錄在數(shù)據(jù)庫中。因此,設(shè)備歷史記錄只提供一個歷史查詢功能,向服務(wù)器通過get請求發(fā)送如下信息:31 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第五章服務(wù)端設(shè)計與實現(xiàn)token:用戶認證令牌topic:設(shè)備topic可以認為是設(shè)備唯一標識,為空則返回所有設(shè)備per:每頁返回的條目數(shù)量page:請求的第幾頁,默認應(yīng)該填寫1客戶端會得到服務(wù)器回應(yīng)傳感器的歷史數(shù)據(jù):{"success":0,"msg":"Getdevicelogssuccess!","page":2,"current_page":2,"data":[{"value":"025","date_time":"2017-07-1210:13:43"},{"value":"025","date_time":"2017-07-1210:13:44"},{"value":"025",]}客戶端接收到信息之后,只需要通過圖表繪圖展示出來,即可看到此設(shè)備運行期間的環(huán)境趨勢信息,便于各種數(shù)據(jù)的分析和預(yù)測。5.4.3數(shù)據(jù)存儲的實現(xiàn)Python有大部分的數(shù)據(jù)庫引擎包,包括開源的和商業(yè)的。Flask在可使用的數(shù)據(jù)庫包上沒有限制,所以可以使用MySQL、Postgres、SQLite、Redis、MongoDB或者CouchDB中的任何一個,本設(shè)計中選擇使用MySQL進行數(shù)據(jù)存儲。Flask-SQLAlchemy是一個Flask擴展,它簡化了在Flask應(yīng)用程序中對SQLAlchemy的使用。SQLAlchemy是一個強大的關(guān)系數(shù)據(jù)庫框架,支持一些數(shù)據(jù)庫后端[38]。提供高級的ORM和底層訪問數(shù)據(jù)庫的本地SQL功能。和其他擴展一樣,通過pip安裝Flask-SQLAlchemy:(venv)$pipinstallflask-sqlalchemy32 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第五章服務(wù)端設(shè)計與實現(xiàn)在Flask-SQLAlchemy,數(shù)據(jù)庫被指定為URL。表5.4列出三個最受歡迎的數(shù)據(jù)庫引擎URL的格式。表5.4各數(shù)據(jù)庫URL格式數(shù)據(jù)庫引擎URLMySQLmysql://username:password@hostname/databasePostgrespostgres://username:password@hostname/databaseSQLite(Unix)sqlite:///absolute/path/to/databaseSQLite(Windows)sqlite:///absolute/path/to/database在這些URL中,hostname是指托管MySQL服務(wù)的服務(wù)器,可以是本地(localhost)或遠程服務(wù)器。數(shù)據(jù)庫服務(wù)器可以托管多個數(shù)據(jù)庫,所以database指出要使用的數(shù)據(jù)庫名。數(shù)據(jù)庫需要身份驗證,username和password是數(shù)據(jù)庫用戶憑證。應(yīng)用程序數(shù)據(jù)庫URL必須在Flask配置對象中的SQLALCHEMY_DATABASE_URI鍵中進行配置。另一個有用的選項是SQLALCHEMY_COMMIT_ON_TEARDOWN,可以設(shè)置為True來啟用在每個請求中自動提交數(shù)據(jù)庫更改。數(shù)據(jù)庫連接配置:engine=create_engine(app.config['SQLALCHEMY_DATABASE_URI'],pool_recycle=3600)Session=sessionmaker(bind=engine)之后在python代碼中導(dǎo)入此Session并實例化就可以訪問數(shù)據(jù)庫了:session=Session()5.5服務(wù)端及客戶端間數(shù)據(jù)通信的實現(xiàn)由于客戶端無法直接使用ZigBee協(xié)議傳輸?shù)臄?shù)據(jù),因此需要ZigBee網(wǎng)關(guān)將數(shù)據(jù)進行轉(zhuǎn)換并發(fā)布。網(wǎng)關(guān)是連接感知網(wǎng)絡(luò)與傳統(tǒng)通信網(wǎng)絡(luò)的紐帶。作為網(wǎng)關(guān)設(shè)備,物聯(lián)網(wǎng)網(wǎng)關(guān)可以實現(xiàn)感知網(wǎng)絡(luò)與通信網(wǎng)絡(luò),以及不同類型感知網(wǎng)絡(luò)之間的協(xié)議轉(zhuǎn)換,既可以實現(xiàn)廣域互聯(lián),又可以實現(xiàn)局域互聯(lián)。此外,網(wǎng)關(guān)還需要具備設(shè)備管理功能,用戶通過物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備可以管理底層的各感知節(jié)點,了解各節(jié)點的相關(guān)信息,并實現(xiàn)遠程控制[39]。因此,本設(shè)計數(shù)據(jù)通信系統(tǒng)采用MQTT協(xié)議實現(xiàn),在通過HTTPAPI獲取到設(shè)備列表之后手機客戶端會通過MQTT協(xié)議訂閱設(shè)備所關(guān)聯(lián)的話題。MQTT服務(wù)端代理服務(wù)器組件采用了杭州小莉科技開源的emqtt中間件,它具有如下優(yōu)點:(1)穩(wěn)定承載大規(guī)模的MQTT客戶端連接,單服務(wù)器節(jié)點支持50萬到100萬連接。(2)分布式節(jié)點集群,快速低延時的消息路由,單集群支持1000萬規(guī)模的路由。33 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第五章服務(wù)端設(shè)計與實現(xiàn)(3)消息服務(wù)器內(nèi)擴展,支持定制多種認證方式、高效存儲消息到后端數(shù)據(jù)庫。(4)完整物聯(lián)網(wǎng)協(xié)議支持,MQTT、MQTT-SN、CoAP、WebSocket或私有協(xié)議支持。MQTT是發(fā)布訂閱(Publish/Subscribe)模式的消息協(xié)議,與HTTP協(xié)議請求響應(yīng)(Request/Response)模式不同。MQTT發(fā)布者與訂閱者之間通過“話題”(Topic)進行消息路由,話題(Topic)格式類似Unix文件路徑,例如:sensor/1/temperaturechat/room/subjectpresence/user/fengsensor/1/#sensor/+/temperatureuber/drivers/joe/inboxMQTT話題(Topic)支持‘+,#’的通配符,‘+’通配一個層級,‘#’通配多個層級(必須在末尾)。MQTT消息發(fā)布者(Publisher)只能向特定“話題”(不支持通配符)發(fā)布消息,訂閱者(Subscriber)通過訂閱“話題”(支持通配符)來匹配消息。在服務(wù)器下載emqtt中間件安裝之后,emqtt自動注冊為服務(wù),此后便可以開機運行,或者手動進行控制:serviceemqttdstart|stop|restart。emqtt中間件啟動之后會打開如下TCP服務(wù)端口對外提供服務(wù),服務(wù)端口如表5.5所示。表5.5TCP服務(wù)端口1883MQTT協(xié)議端口8883MQTT/SSL端口8083MQTT/WebSocket端口8080HTTPAPI端口18083Dashboard管理控制臺端口在本設(shè)計中使用了1883端口進行通信,手機客戶端只要使用MQTT協(xié)議連接服務(wù)器1883端口,并訂閱話題,當傳感器向網(wǎng)關(guān)發(fā)送數(shù)據(jù)的時候網(wǎng)關(guān)會提取傳感器設(shè)備id并將設(shè)備id作為話題向服務(wù)器的該話題發(fā)送數(shù)據(jù),手機客戶端訂閱到該話題之后就能接收到實時推送消息,并顯示在屏幕上實現(xiàn)實時顯示,另一方面手機客戶端可以向執(zhí)行器的話題發(fā)送數(shù)據(jù):比如開關(guān)指令等,網(wǎng)關(guān)接收到此即時消息之后,轉(zhuǎn)換為ZigBee協(xié)議通知執(zhí)行器,此時執(zhí)行器進行動作完成控制,開關(guān)指令用于門禁的打開及空調(diào)的開關(guān)。在數(shù)據(jù)通信同時,要把傳感器歷史數(shù)據(jù)保存到數(shù)據(jù)庫中以備查閱與分析,所以在HTTP模塊中也向MQTT服務(wù)器訂閱該話題樹的根話題:erm/#,此話題可以接收到本項目所有數(shù)據(jù),然后根據(jù)消息發(fā)來的話題存儲傳感器數(shù)值到數(shù)據(jù)庫中。34 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第五章服務(wù)端設(shè)計與實現(xiàn)5.6本章小結(jié)本章主要介紹服務(wù)端幾種常見的協(xié)議,最終選擇MQTT協(xié)議。建立數(shù)據(jù)的存儲流程,包括用戶如何管理認證,當前數(shù)據(jù)如何請求查看以及歷時數(shù)據(jù)如何查詢。定義數(shù)據(jù)庫表結(jié)構(gòu),實現(xiàn)了服務(wù)端與客戶端之間通信的功能。35 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計第六章客戶端的軟件設(shè)計6.1客戶端功能分析隨著機房建設(shè)往大型數(shù)據(jù)中心、全國聯(lián)網(wǎng)、多級聯(lián)網(wǎng)的方向發(fā)展,機房監(jiān)控也從宏觀環(huán)境上的監(jiān)管慢慢轉(zhuǎn)變?yōu)閷ξ⒂^設(shè)備的控制。運維人員對機房監(jiān)控系統(tǒng)的要求也越來越高,APP移動管理系統(tǒng)的推出勢在必行。傳統(tǒng)的機房監(jiān)控管理由于網(wǎng)絡(luò)的緣故,以及特殊單位行業(yè)保密性等要求,需要指定的人員在指定的區(qū)域和指定的時間里完成必要的運維工作,工作綜合交叉性具有極大限制,造成資源的浪費,效率低下。從而,管理人員面對當前復(fù)雜的監(jiān)控要求,一套智能的APP移動管理監(jiān)控系統(tǒng)對各級聯(lián)網(wǎng)機房等大型數(shù)據(jù)中心的綜合運維至關(guān)重要。通過APP移動管理系統(tǒng),可使不同的管理人員隨時隨地了解各自所需要的監(jiān)控信息。突破了監(jiān)控人員、時間、地點的要求限制;整合了單一零散的工作內(nèi)容;減少了機房監(jiān)控資源的浪費;提高了機房設(shè)備運行的環(huán)境續(xù)航能力,保證機房設(shè)備安全、高效地運行[40,41]。根據(jù)需求,系統(tǒng)架構(gòu)使用了C/S架構(gòu),Android手機負責(zé)接收服務(wù)器傳過來的數(shù)據(jù),并呈現(xiàn)系統(tǒng)的實時數(shù)據(jù)。通過用戶界面操作數(shù)據(jù),來調(diào)節(jié)監(jiān)測系統(tǒng)的運行和狀態(tài)。客戶端需要從用戶登陸驗證開始,對用戶身份進行核實并實現(xiàn)記住密碼的功能,可以避免短時間內(nèi)的重復(fù)登錄。成功登錄之后需要認證攝像頭權(quán)限及獲取設(shè)備列表,可以查看各設(shè)備的參數(shù)及控制相應(yīng)設(shè)備的開關(guān)。6.2客戶端開發(fā)環(huán)境的配置根據(jù)監(jiān)控系統(tǒng)需要,客戶端的操作流程如圖6.1所示。在客戶端中主要使用了??低晹z像頭開發(fā)SDK、IBM公司的MQTT協(xié)議的開發(fā)包以及其他網(wǎng)絡(luò)通信必要的開發(fā)包。使用前需對相應(yīng)的工具進行配置,導(dǎo)入相應(yīng)的開發(fā)包。具體開發(fā)包如圖6.2所示。36 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計圖6.1客戶端流程圖圖6.2項目的依賴包導(dǎo)入相應(yīng)的開發(fā)包后,需要對相應(yīng)的環(huán)境進行配置,在項目的build.gradle文件中進行配置:dependencies{compilefileTree(include:['*.jar'],dir:'libs')androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',{excludegroup:'com.android.support',module:'support-annotations'})compile'com.android.support:appcompat-v7:25.3.1'compile'com.android.support.constraint:constraint-layout:1.0.0-alpha8'compile'com.android.support:design:25.3.1'compile'com.github.PhilJay:MPAndroidChart:v3.0.2'testCompile'junit:junit:4.12'compilefiles('libs/EZOpenSDK_V4.5.0.20170605.jar')37 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計compilefiles('libs/glide-3.6.1.jar')compilefiles('libs/jmdns-3.4.1.jar')compilefiles('libs/zxing.jar')compile'com.jakewharton:butterknife:8.7.0'annotationProcessor'com.jakewharton:butterknife-compiler:8.7.0'compile'io.reactivex:rxjava:1.1.0'compile'io.reactivex:rxandroid:1.1.0'compile'com.squareup.retrofit2:retrofit:2.0.0-beta4'compile'com.squareup.retrofit2:converter-gson:2.0.0-beta4'compile'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta4'compile'com.orhanobut:logger:1.15'compilefiles('libs/com.ibm.micro.client.mqttv3.jar')compilegroup:'com.google.code.gson',name:'gson',version:'2.8.1'}通過以上配置,基本完成了開發(fā)環(huán)境的配置功能。6.3客戶端接口的實現(xiàn)客戶端的數(shù)據(jù)通過MQTT協(xié)議來進行傳輸,服務(wù)端提供了API接口以供APP調(diào)用,主要接口分為用戶管理接口、設(shè)備模塊管理接口和歷史數(shù)據(jù)記錄接口。6.3.1用戶管理接口用戶管理接口主要負責(zé)用戶的注冊、登錄的管理。接口地址為:url:/user;用戶登錄接口的參數(shù)為:username,password。APP使用post方法將參數(shù)傳給服務(wù)端,來注冊新用戶。如果注冊成功服務(wù)端會返回如下信息:{"success":0,"msg":"Userauthorizesuccess!","data":{"token":"eyJ1c2VybmFtZSI6ICJ4dXNodW4iLCAiZXhwIjogMDEifQ=="}}如果success為0表示登錄成功。這時候我們會獲取到代表身份信息的“token”。軟件的代碼實現(xiàn)如下:publicclassLoginMethod{privatestaticfinalintDEFAULT_TIMEOUT=5;privateRetrofitmRetrofit;privateLoginServicemLoginService;38 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計//在訪問HttpMethods時創(chuàng)建單例privatestaticclassSingletonHolder{privatestaticfinalLoginMethodINSTANCE=newLoginMethod();}//獲取單例publicstaticLoginMethodgetInstance(){returnSingletonHolder.INSTANCE;}privateLoginMethod(){OkHttpClient.Builderbuilder=newOkHttpClient.Builder();builder.connectTimeout(DEFAULT_TIMEOUT,TimeUnit.SECONDS);mRetrofit=newRetrofit.Builder().client(builder.build()).addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJavaCallAdapterFactory.create()).baseUrl(BASE_URL).build();mLoginService=mRetrofit.create(LoginService.class);}publicvoidlogin(Subscribersubscriber,Stringusername,Stringpassword){Observableobservable=mLoginService.login(username,password);toSubscribe(observable,subscriber);}privatevoidtoSubscribe(Observableo,Subscribers){o.subscribeOn(Schedulers.io()).unsubscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe((Observer)s);}}用戶在登錄后會獲取到登錄的狀態(tài)信息,通過解析相應(yīng)的狀態(tài)信息即可判斷登錄是否成功。6.3.2設(shè)備模塊管理接口設(shè)備管理模塊主要用來管理設(shè)備,對設(shè)備進行增刪查改的操作。接口地址為:url:/device。如獲取設(shè)備列表,接口參數(shù)為token,使用GET方法向服務(wù)器請求,獲取設(shè)備的列表,軟件的代碼具體實現(xiàn)如下:publicinterfaceGetDeviceListService{@GET("device")39 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計ObservablegetDeviceList(@Query("token")Stringtoken);}在此定義了一個回調(diào)函數(shù),如果獲取列表成功,則會返回一個DeviceListData的對象,代碼如下:{"success":0,"msg":"Getdevicelistsuccess!","data":{{"device_name":"溫度","topic":"er/6636366/00021","value":"0","remarks":"溫度"},{"device_name":"ups電源","topic":"er/6636366/00015","value":"0","remarks":"ups電源"}{"device_name":"人體接近","topic":"er/6636366/00024","value":"0","remarks":"人體接近"}}如果success的狀態(tài)為0,則表示獲取列表成功,data中即為我們的設(shè)備列表,通過解析數(shù)據(jù),即可獲得設(shè)備的ID和設(shè)備狀態(tài)等信息。在頁面上展示相應(yīng)的設(shè)備信息,效果如下圖6.3所示。40 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計圖6.3設(shè)備列表界面6.3.3設(shè)備歷史記錄接口設(shè)備歷史記錄主要用來對設(shè)備的歷史信息進行管理,便于統(tǒng)計和展示相應(yīng)的設(shè)備的歷史狀態(tài)。接口地址為:URL:/log。使用get方法進行請求,獲取歷史記錄列表。接口參數(shù)為:token、topic、per、page四個參數(shù)。實現(xiàn)代碼如下:publicinterfaceLoginService{@FormUrlEncoded@POST("login")Observablelogin(@Field("username")Stringusername,@Field("password")Stringpassword);}該接口如果請求成功會返回指定設(shè)備的歷史信息數(shù)據(jù)。通過解析數(shù)據(jù),可以將數(shù)據(jù)呈現(xiàn)在界面上,實現(xiàn)代碼如下:publicclassDateChartActivityextendsAppCompatActivity{//floatdates[]={10.2f,11.1f,19f,30f,29f,30f,20f};Listdates=newArrayList<>();Listxaxis=newArrayList<>();privateSubscribersubscriber;Stringtopic="er/6636366/00033";LineChartchart;@OverrideprotectedvoidonCreate(@NullableBundlesavedInstanceState)41 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計{super.onCreate(savedInstanceState);setContentView(R.layout.activity_linechart);Intentintent=getIntent();topic=intent.getStringExtra("topic");chart=(LineChart)findViewById(R.id.chart);//String[]week={"2017-09-1403:35:53","2017-09-1403:35:53","2017-09-1403:35:53","2017-09-1403:35:53","2017-09-1403:35:53","2017-09-1403:35:53","2017-09-1403:35:53"};ChartUtils.initChart(chart);//getDetails(subscriber,topic,""+20,""+1,Constant.TOKEN);subscriber=newSubscriber(){@OverridepublicvoidonCompleted(){System.out.println("onCompleted:");}@OverridepublicvoidonError(Throwablee){System.out.println("onError:");}@OverridepublicvoidonNext(DetailsListEntitydetailsListEntity){System.out.println("onNext:");Gsongson=newGson();Logger.json(gson.toJson(detailsListEntity));for(inti=0;igetData(){Listvalues=newArrayList<>();for(inti=0;imsubscriber,Stringtopic,intper,intpage,Stringtoken){GetLogMethod.getInstance().getlog(msubscriber,topic,per,page,token);42 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計}@OverrideprotectedvoidonPause(){super.onPause();subscriber.unsubscribe();}@OverrideprotectedvoidonResume(){super.onResume();System.out.println("onResume:");}}通過以上代碼便可以在統(tǒng)計表中展示歷史記錄了。例子中獲取了濕度傳感器的信息。記錄的濕度歷史記錄如圖6.4所示。圖6.4濕度傳感器歷史記錄6.4客戶端實時顯示模塊的實現(xiàn)6.4.1實時顯示模塊的原理客戶端在服務(wù)端的中轉(zhuǎn)下將傳感器過來的數(shù)據(jù)解析并呈現(xiàn)在界面上,在MQTT協(xié)議的規(guī)范下通過訂閱和傳感器一樣的Topic便可以收到傳感器接收到的數(shù)據(jù),原理圖如下圖6.5所示。43 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計圖6.5MQTT基本示意圖在圖6.5中,ClientA發(fā)布話題temperature,如果ClientB和C訂閱了temperature話題,就會受到ClientA發(fā)布的消息,這就是MQTT協(xié)議的基本流程。Android客戶端MQTT的代碼使用了IBM公司的開發(fā)包作為開發(fā)工具,具體實現(xiàn)代碼如下:publicstaticbooleanconnectionMqttServer(Handlerhandler,StringServAddress,StringServPort,StringuserID,ArrayListTopics){StringconnUrl="tcp://"+ServAddress+":"+ServPort;try{client=newMqttClient(connUrl,userID,null);for(inti=0;i(){@OverridepublicvoidonCompleted(){System.out.println("onCompleted:");}46 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計@OverridepublicvoidonError(Throwablee){System.out.println("onError:");}@OverridepublicvoidonNext(DetailsListEntitydetailsListEntity){System.out.println("onNext:");//返回成功解析相應(yīng)數(shù)據(jù)。Gsongson=newGson();Logger.json(gson.toJson(detailsListEntity));for(inti=0;i0){DeviceListDataBean.get(position).setValue("000");linkedHashMap.put("data","000");mDeviceDetailsGridAdapter.notifyDataSetChanged();}else{linkedHashMap.put("data","100");DeviceListDataBean.get(position).setValue("100");mDeviceDetailsGridAdapter.notifyDataSetChanged();}//Iterator>it=linkedHashMap.entrySet().iterator();//while(it.hasNext()){//Map.Entrye=it.next();//Logger.d("Key:"+e.getKey()+";Value:"+e.getValue());//}message=gson.toJson(linkedHashMap);MqttV3Service.publishMsg(message.trim().replace(":",":"),Qos,position);Logger.d("message:"+message.trim().replace(":",":"));50 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計break;軟件呈現(xiàn)如圖6.10所示。圖6.10門禁控制圖(2)空調(diào)控制的實現(xiàn)空調(diào)控制協(xié)議中定義類型為aric,在軟件中點擊空調(diào)控制按鈕即可發(fā)出相應(yīng)的報文信息,將數(shù)據(jù)發(fā)送出去。具體代碼如下:caseConstant.TYPE_AIRCOND:Logger.d("value:"+DeviceListDataBean.get(position).getValue());linkedHashMap.put("ctype","airc");if(Integer.parseInt(DeviceListDataBean.get(position).getValue())>0){DeviceListDataBean.get(position).setValue("000");linkedHashMap.put("data","000");mDeviceDetailsGridAdapter.notifyDataSetChanged();}else{linkedHashMap.put("data","100");DeviceListDataBean.get(position).setValue("100");mDeviceDetailsGridAdapter.notifyDataSetChanged();}message=gson.toJson(linkedHashMap);MqttV3Service.publishMsg(message.trim().replace(":",":"),Qos,position);Logger.d("message:"+message.trim().replace(":",":"));break;軟件實現(xiàn)如下圖6.11所示。51 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計圖6.11空調(diào)控制軟件截圖6.4.4監(jiān)控圖像顯示的實現(xiàn)監(jiān)控攝像頭使用了??低暤臄z像頭,SDK的主要流程如圖6.12所示。圖6.12攝像頭設(shè)備初始化52 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計在初始化SDK后,可以獲取設(shè)備列表,在返回的EZDeviceInfo數(shù)組中找到使用的設(shè)備的deviceSerial和CameraNo.來進行視頻的實時預(yù)覽。通過如下代碼便可以實現(xiàn)視頻的實時預(yù)覽功能。privateclassGetCamersInfoListTaskextendsAsyncTask>{privatebooleanmHeaderOrFooter;privateintmErrorCode=0;publicGetCamersInfoListTask(booleanheaderOrFooter){mHeaderOrFooter=headerOrFooter;}@OverrideprotectedvoidonPreExecute(){super.onPreExecute();//mListView.setFooterRefreshEnabled(true);if(mHeaderOrFooter){}}@OverrideprotectedListdoInBackground(Void...params){if(RealPlayActivity.this.isFinishing()){returnnull;}if(!ConnectionDetector.isNetworkAvailable(RealPlayActivity.this)){mErrorCode=ErrorCode.ERROR_WEB_NET_EXCEPTION;returnnull;}try{Listresult=null;result=getOpenSDK().getDeviceList(0,20);returnresult;}catch(BaseExceptione){ErrorInfoerrorInfo=(ErrorInfo)e.getObject();mErrorCode=errorInfo.errorCode;LogUtil.debugLog(TAG,errorInfo.toString());returnnull;}}@OverrideprotectedvoidonPostExecute(Listresult){super.onPostExecute(result);if(RealPlayActivity.this.isFinishing()){return;53 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計}if(result!=null){System.out.println("reslut.size():"+result.size());mDeviceInfo=result.get(0);mCameraInfo=EZUtils.getCameraInfoFromDevice(mDeviceInfo,0);StringverifyCode="YEKKCT";LogUtil.debugLog(TAG,"verifycodeis"+verifyCode);DataManager.getInstance().setDeviceSerialVerifyCode(mCameraInfo.getDeviceSerial(),verifyCode);startRealPlay();}if(mErrorCode!=0){onError(mErrorCode);}}protectedvoidonError(interrorCode){switch(errorCode){caseErrorCode.ERROR_WEB_SESSION_ERROR:caseErrorCode.ERROR_WEB_SESSION_EXPIRE:ActivityUtils.handleSessionException(RealPlayActivity.this);break;default:break;}}/***開始播放**@see*@sinceV2.0*/privatevoidstartRealPlay(){Log.d(TAG,"startrealplay");if(mCameraInfo!=null){if(mEZPlayer==null){mEZPlayer=EzvizApplication.getOpenSDK().createPlayer(mCameraInfo.getDeviceSerial(),mCameraInfo.getCameraNo());}if(mEZPlayer==null)return;if(mDeviceInfo==null){return;}54 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第六章客戶端的軟件設(shè)計if(mDeviceInfo.getIsEncrypt()==1){mEZPlayer.setPlayVerifyCode(DataManager.getInstance().getDeviceSerialVerifyCode(mCameraInfo.getDeviceSerial()));}//mEZPlayer.setHandler(mHandler);mEZPlayer.setSurfaceHold(mRealPlaySh);mEZPlayer.startRealPlay();}}}通過以上關(guān)鍵代碼實現(xiàn)攝像頭圖像的呈現(xiàn),具體效果如圖6.13所示:圖6.13視頻的實時預(yù)覽6.5本章小結(jié)本章主要介紹客戶端各功能的實現(xiàn),定義了與服務(wù)端數(shù)據(jù)通信的接口。通過解析上傳報文的類型,在客戶端實現(xiàn)了各傳感器數(shù)據(jù)的實時呈現(xiàn)。通過定義控制報文的格式,可以在客戶端發(fā)送指令進行相關(guān)開關(guān)的控制。并論證了系統(tǒng)的可行性與穩(wěn)定性。55 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第七章總結(jié)與展望第七章總結(jié)與展望7.1論文總結(jié)基站管理一直是通信運營商日常工作中的重中之重,基站維護和監(jiān)管的好壞直接影響通信基站網(wǎng)絡(luò)服務(wù)的質(zhì)量,進而決定運營商在網(wǎng)絡(luò)使用者心中的印象。作為基站正常運行的保障系統(tǒng),環(huán)境監(jiān)測系統(tǒng)是基站管理中的關(guān)鍵部分,然而隨著通信業(yè)的蓬勃發(fā)展,通信運營商建立基站數(shù)量的增多,傳統(tǒng)僅僅依靠人工進行巡檢的方法使通信運營商對基站環(huán)境的監(jiān)管越來越弱。論文研究的通信基站環(huán)境監(jiān)測系統(tǒng)遠程監(jiān)控對于提升通信運營商對基站的監(jiān)管力度提供了很好的借鑒,通過采集基站現(xiàn)場的溫濕度、ups電源電壓和入室人員圖像信息,結(jié)合基站管理人員遠程客戶端的操作,系統(tǒng)滿足了運營商對基站的遠程監(jiān)控、提高基站維護和管理效率、降低運營成本的迫切需求。論文主要工作體現(xiàn)在:(1)在對基站環(huán)境監(jiān)控實際情況進行分析的基礎(chǔ)上進行系統(tǒng)的總體分析,選用無線網(wǎng)絡(luò)將數(shù)據(jù)傳輸至服務(wù)端,采用MQTT協(xié)議上傳各項數(shù)據(jù)至客戶端,最后設(shè)計監(jiān)控系統(tǒng)的整體方案。(2)對遠程單元進行具體詳細的分析設(shè)計,選用通用的ZigBee傳感器和其它輔助模塊,搭建硬件平臺;分析設(shè)計了遠程單元和網(wǎng)關(guān)間的通信協(xié)議。(3)服務(wù)端部署在云端,不僅節(jié)省成本,同時也降低數(shù)據(jù)損壞、丟失的風(fēng)險。選用MySQL數(shù)據(jù)庫存儲各傳感器數(shù)據(jù),實現(xiàn)實時查看及歷史數(shù)據(jù)查看。(4)客戶端軟件基于Android系統(tǒng)開發(fā),使用戶使用更加便捷。軟件可以向用戶提供實時監(jiān)控、數(shù)據(jù)查詢、系統(tǒng)管理等功能模塊,操作員可以通過軟件顯示界面實時的實行遠程控制及整個系統(tǒng)的維護管理。7.2展望由于本人的能力和時間關(guān)系,本論文還存在很多不足,在以后的工作與學(xué)習(xí)中,可以從以下兩方面進行深入的研究,使系統(tǒng)更加完善、穩(wěn)定。56 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文第七章總結(jié)與展望(1)遠程監(jiān)控系統(tǒng)網(wǎng)關(guān)與服務(wù)端數(shù)據(jù)可以基于4G流量傳輸,可以擴大系統(tǒng)的應(yīng)用范圍,這也是未來發(fā)展的趨勢。如果基于流量傳輸,圖像數(shù)據(jù)在微處理器上的存儲及轉(zhuǎn)發(fā)對整個遠程單元網(wǎng)關(guān)也是負擔(dān),同時,要避免過多占用基站資源,不影響用戶使用感受,這都是需要解決的問題。(2)本系統(tǒng)只采用手機客戶端進行遠程查看和操作,相比電腦客戶端有便捷性的優(yōu)勢。但是在數(shù)據(jù)統(tǒng)計和分析中,無法在手機中完成,因此還是需要開發(fā)電腦客戶端使系統(tǒng)更加完善。57 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文參考文獻參考文獻[1]胥小武.通信基站環(huán)境監(jiān)控系統(tǒng)的設(shè)計與軟件實現(xiàn)[D].西南交通大學(xué)碩士論文,2014.05.01.[2]何永峰.基于移動通信基站的監(jiān)控系統(tǒng)設(shè)計[D].電子科技大學(xué)碩士論文,2016.05.04.[3]路娟.基于ZigBee網(wǎng)絡(luò)的電信機房動力環(huán)境遠程監(jiān)控系統(tǒng)的設(shè)計研究[D].太原理工大學(xué)碩士論文,2012.05.01.[4]婁陽.移動通信基站動力與環(huán)境集中監(jiān)控系統(tǒng)的設(shè)計及實現(xiàn)[D].南京理工大學(xué)論文,2015.01.[5]崔恒源.移動通信基站動力環(huán)境監(jiān)控系統(tǒng)設(shè)計及實現(xiàn)[J].計算機測量與控制,2009,17(10):1955-1957.[6]肖洋.通信基站應(yīng)急發(fā)電機監(jiān)測系統(tǒng)研究與實現(xiàn)[D].哈爾濱理工大學(xué)碩士論文,2012.03.01.[7]王士磊.無線通信基站信息管理系統(tǒng)的設(shè)計分析[J].中小企業(yè)管理與科技(下旬刊),2013,(2):201-202.[8]蒲泓全,賈軍營,張小嬌,等.ZigBee網(wǎng)絡(luò)技術(shù)研究綜述[J].計算機系統(tǒng)應(yīng)用,2013,22(9):6-11.[9]龔志.智能家居安防子系統(tǒng)的設(shè)計與實現(xiàn)[D].南京郵電大學(xué)碩士論文,2011.12.01.[10]黎志碧.無線傳感器網(wǎng)絡(luò)在航空現(xiàn)場測試中的應(yīng)用研究[D].電子科技大學(xué)碩士論文,2007.03.01.[11]王娜.煤礦安全預(yù)警系統(tǒng)中匯聚節(jié)點的研究與設(shè)計[D].河北聯(lián)合大學(xué)碩士論文,2013.11.22.[12]ZigBee技術(shù)及其應(yīng)用[OL].http://wenku.baidu.com/view/b90c1f2658fb770bf78a5541.html,2017.[13]閆富松,趙軍輝,李秀萍.ZigBee技術(shù)及其應(yīng)用[J].廣東通信技術(shù),2006,26(4):48-51.[14]尹鋒,陳臨安.基于ZigBee的高速公路隧道燈控系統(tǒng)設(shè)計[J].公路工程,2011,36(5):95-99[15]無線網(wǎng)絡(luò)ZigBee技術(shù)[OL].http://wenku.baidu.com/view/15ae2005b52acfc789ebc96a.html,2017.[16]基于ZigBee技術(shù)的室內(nèi)定位系統(tǒng)研究與實現(xiàn)[OL].http://wenku.baidu.com/view/9590be781711cc7931b71682.html,2017.[17]徐小濤,高泳洪,章煒,等.基于IEEE802.15.4的ZigBee無線網(wǎng)絡(luò)數(shù)據(jù)傳輸安全的研究與探討[J].信息網(wǎng)絡(luò)安全,2009,(6):10-12.[18]ZigBee協(xié)議的基本概念及框架[OL].http://blog.csdn.net/apn172/article/details/7280910,2012.[19]王興.基于ZigBee的無線傳感器網(wǎng)絡(luò)時鐘同步算法的研究[D].北京郵電大學(xué)碩士論文,2012.01.01.[20]高巖.基于ZigBee技術(shù)的高速公路智能收費管理系統(tǒng)硬件技術(shù)方案設(shè)計[D].北京郵電大學(xué)碩士論文,2009.11.11.[21]介質(zhì)訪問子層[OL].http://www.docin.com/p-554417974.html,2016.[22]尹孟征.基于Android的APP開發(fā)平臺綜述[J].通信電源技術(shù),2016,33(4):154-155.[23]EricMatthes.python編程從入門到實踐[M].北京:人民郵電出版社,2017.[24]基于LabVIEW與RFID技術(shù)的實驗室設(shè)備管理系統(tǒng)[R].學(xué)術(shù)論文聯(lián)合比對庫,2015.01.08.[25]MFRC522設(shè)計報告[OL].http://wenku.baidu.com/view/7e8b6982b9d528ea81c779c2.html,2017.[26]基于單片機的RFID讀寫器設(shè)計[OL].http://www.docin.com/p-447096190.html,2012.[27]RFID_MFRC522_圖文[OL].http://wenku.baidu.com/view/d3cee98602d276a201292e01.html,2017.[28]智能家居門禁控制系統(tǒng)[OL].http://wenku.baidu.com/view/401ad905ba1aa8114431d9dc.html,2016.[29]袁喜斌.一種新型溫室氣傳病害預(yù)警方式[J].現(xiàn)代化農(nóng)業(yè),2017,(1):71-72.[30]胡欣宇,郭凱星,郭軍君,等.基于ZigBee的智能養(yǎng)殖生態(tài)控制系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2017,7(1):67-70.[31]王劍.基于智能手機平臺的空氣環(huán)境質(zhì)量檢測系統(tǒng)[J].中國科技信息,2015,(5):60-63.[32]MQ-2煙霧傳感器的工作原理[OL].http://max.book118.com/html/2016/0823/52492629.shtm,2016.[33]王朝玉,王建衛(wèi),王順勇,等.基于物聯(lián)網(wǎng)的智能家居控制系統(tǒng)設(shè)計[J].電子制作,2017,(1)1:37-38.[34]高林林.基于物聯(lián)網(wǎng)的電梯監(jiān)控系統(tǒng)設(shè)計[D].中國科學(xué)技術(shù)大學(xué)碩士論文,2016.06.02.[35]王錚.XMPP協(xié)議分析及客戶端開發(fā)[D].吉林大學(xué)碩士論文,2007.10.23.58 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文參考文獻[36]MQTT協(xié)議-MQTT協(xié)議簡介及協(xié)議原理[OL].http://blog.csdn.net/changsimeng/article/details/64441129,2017.[37]謝楊.基于云計算的現(xiàn)代農(nóng)業(yè)物聯(lián)網(wǎng)監(jiān)控系統(tǒng)[D].西南交通大學(xué)碩士論文,2015.05.10.[38]孔祥龍,王燕.適用于低成本物聯(lián)網(wǎng)終端的消息通訊協(xié)議比較研究[J].無線互聯(lián)科技,2015,(16):49-52.[39]何曉明,歐亮,朱永慶.物聯(lián)網(wǎng)網(wǎng)關(guān)的設(shè)計與實現(xiàn)[J].廣東通信技術(shù),2012,32(4):2-6.[40]劉瑞易.試論無線移動通信基站維護[J].中國新通信,2017,19(14):14-16.[41]顏少漢,吳雪冰.無線基站節(jié)能減排解決方案[J].中國新技術(shù)新產(chǎn)品,2011,(14):13-14.59 南京郵電大學(xué)專業(yè)學(xué)位碩士研究生學(xué)位論文致謝致謝時光飛逝,我的研究生學(xué)習(xí)也即將結(jié)束,在這兩年多的學(xué)習(xí)中,使我受益頗多。首先,我要感謝的是我的導(dǎo)師王文鼐教授。王老師學(xué)識廣博,在他的悉心指導(dǎo)和幫助下,我順利完成了我的論文。在學(xué)習(xí)過程,王老師在給予了我很大的幫助。感謝王老師在我課題遇到困難時,給我的指導(dǎo)和意見。其次,感謝所有授課老師,是你們教會我各種知識并解答我的困惑。同時,也感謝各位同學(xué)所給予我的鼓勵和幫助。最后,我要深深地感謝我的父母和愛人,謝謝你們對我的支持和理解,謝謝你們毫無保留的關(guān)心和愛,促使我順利完成學(xué)業(yè)。再次感謝所有關(guān)心、幫助過我的親人、老師、朋友和同學(xué),謝謝你們!60

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。
大家都在看
近期熱門
關(guān)閉