版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
畢業(yè)設(shè)計(jì)說明書設(shè)計(jì)題目:基于物聯(lián)網(wǎng)的燈光控制系統(tǒng)——上位機(jī)系統(tǒng)設(shè)計(jì)專業(yè):物聯(lián)網(wǎng)應(yīng)用技術(shù)班級:物聯(lián)網(wǎng)XX學(xué)號(hào):姓名:指導(dǎo)教師:二O一五年十一月二十日設(shè)計(jì)內(nèi)容:課題簡介:以道惟爾公司CC2430無線傳感器節(jié)點(diǎn)和光照傳感器模塊為載體,VS2023開發(fā)環(huán)境,設(shè)計(jì)一個(gè)燈光控制系統(tǒng),實(shí)現(xiàn)對道路燈光亮滅進(jìn)行控制,并實(shí)時(shí)顯示狀態(tài)在上位機(jī)監(jiān)控軟件上。并下發(fā)燈光控制指令。主要任務(wù):〔1〕應(yīng)用層展示軟件開發(fā);〔2〕撰寫設(shè)計(jì)報(bào)告。主要技術(shù)要求如下:〔1〕采用模塊化設(shè)計(jì)思想規(guī)劃各子程序功能;(3)CC2430協(xié)調(diào)器與PC串口通訊的根本數(shù)據(jù)幀格式為:幀頭、功能碼、數(shù)據(jù)長度、數(shù)據(jù)、幀尾;(4)傳輸層應(yīng)實(shí)現(xiàn)透明傳輸。進(jìn)度安排:1.任務(wù)分解,收集有關(guān)資料并消化吸收2周;2.制定設(shè)計(jì)方案1周;3.軟件設(shè)計(jì)6周;4.撰寫設(shè)計(jì)報(bào)告2周;5.準(zhǔn)備畢業(yè)辯論。主要參考文獻(xiàn)、資料(寫清楚參考文獻(xiàn)名稱、作者、出版單位):[1]黃嘉輝.C#.NET網(wǎng)絡(luò)程序設(shè)計(jì).科學(xué)出版社,2004[2]陳林是.無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用.電子工業(yè)出版社,2023[3]高守瑋.吳燦陽.ZigBee技術(shù)實(shí)踐教程.北京航空航天大學(xué)出版社,2023[4]程遠(yuǎn)東.曾寶國.電子產(chǎn)品設(shè)計(jì)與制造技術(shù).科學(xué)出版設(shè),2023[5]戴佳.戴衛(wèi).51單片機(jī)C語言應(yīng)用程序設(shè)計(jì)實(shí)例精講.電子工業(yè)出版社,2006審批意見教研室負(fù)責(zé)人:年月日目錄摘要1概述2第1章總體設(shè)計(jì)31.1設(shè)計(jì)目標(biāo)31.2設(shè)計(jì)原那么31.3技術(shù)架構(gòu)3第2章系統(tǒng)組成與工作過程42.1系統(tǒng)組成42.2本系統(tǒng)涉及的主要功能5功能描述52.3系統(tǒng)的運(yùn)行過程6注冊網(wǎng)絡(luò)6下行鏈路〔由PC到終端〕:6控制臺(tái)請求啟動(dòng)/停止6第3章系統(tǒng)通訊協(xié)議規(guī)劃83.1系統(tǒng)運(yùn)行流程8注冊網(wǎng)絡(luò)8獲取網(wǎng)絡(luò)參數(shù)9下發(fā)控制指令93.2通信協(xié)議規(guī)劃10規(guī)劃原那么10WSN網(wǎng)絡(luò)結(jié)構(gòu)10通信協(xié)議11第4章PC控制軟件開發(fā)與測試164.1三層架構(gòu)程序設(shè)計(jì)簡介164.2CC2430終端節(jié)點(diǎn)對燈組的控制I/O口的分配關(guān)系174.3數(shù)據(jù)訪問層設(shè)計(jì)17數(shù)據(jù)訪問層CommonDB類的設(shè)計(jì)17數(shù)據(jù)訪問層使用的函數(shù)功能17CommonDB類的整體結(jié)構(gòu)18CommonDB類中方法的功能描述及代碼實(shí)現(xiàn)194.4業(yè)務(wù)邏輯層設(shè)計(jì)21WSN協(xié)調(diào)器連接21觸發(fā)串口事件處理的主要代碼如下234.5窗體表示層設(shè)計(jì)24窗體文件的添加24窗體層的展示25第5章系統(tǒng)設(shè)置265.1啟動(dòng)調(diào)試265.2功能測試26總結(jié)28致謝29參考文獻(xiàn)30摘要目前現(xiàn)有的城市路燈控制系統(tǒng)大多采用有線連接的方式,系統(tǒng)本錢高、功耗大、施工復(fù)雜,而且存在能源浪費(fèi)、后期維護(hù)困難等問題。針對以上缺點(diǎn)以道惟爾公司CC2430無線傳感器節(jié)點(diǎn)和光照傳感器模塊為載體,基于IAR和VS2023開發(fā)環(huán)境,設(shè)計(jì)一個(gè)模擬道路燈光控制系統(tǒng),實(shí)現(xiàn)對道路燈光亮滅進(jìn)行控制,并接受上位機(jī)監(jiān)控命令。該系統(tǒng)采用了無線傳感器網(wǎng)絡(luò)和ZigBee技術(shù),無線傳感器網(wǎng)絡(luò)是一種集無線通信、數(shù)據(jù)采集和信息處理功能于一體的新興網(wǎng)絡(luò)。ZigBee技術(shù)是無線傳感器網(wǎng)絡(luò)中最具代表性的一種新興技術(shù),具有低本錢、低功耗等特點(diǎn)。將ZigBee技術(shù)應(yīng)用于城市路燈控制系統(tǒng),將有利于實(shí)現(xiàn)路燈控制系統(tǒng)的智能化和節(jié)能化。關(guān)鍵詞CC2430;無線傳感器網(wǎng)絡(luò);燈光控制;ZigBee概述在道路燈光控制中,為了實(shí)時(shí)地控制不同道路燈光的亮滅,需要一個(gè)分布式多點(diǎn)道路燈光控制系統(tǒng)。傳統(tǒng)的多點(diǎn)分布式道路燈光控制系統(tǒng)多采用有線傳輸方式,然而隨著分布式節(jié)點(diǎn)的不斷增加,系統(tǒng)的布線復(fù)雜度和本錢也就極具增加,這給系統(tǒng)的設(shè)計(jì)、維護(hù)和升級帶了許多不便。如何解決有線網(wǎng)絡(luò)帶來的諸多不便已成為當(dāng)下研究的熱點(diǎn)。無線傳感器網(wǎng)絡(luò)(WSN)具有自組織、可快速部署、屏蔽性強(qiáng)、無人值守等優(yōu)點(diǎn)。隨著射頻技術(shù)、集成電路技術(shù)的開展,無線通信功能的實(shí)現(xiàn)越來越容易,數(shù)據(jù)傳輸速率也越來越快,并且逐漸到達(dá)可以與有線網(wǎng)絡(luò)相媲美的水平。本設(shè)計(jì)旨在設(shè)計(jì)一種基于物聯(lián)網(wǎng)的模擬道路燈光控制系統(tǒng),用以實(shí)現(xiàn)對多個(gè)分散節(jié)點(diǎn)的燈光亮滅控制。采用模塊化設(shè)計(jì),無論是硬件還是軟件,各個(gè)分層間結(jié)構(gòu)清楚。在技術(shù)架構(gòu)上,將感知、傳輸、應(yīng)用別離,采用感知控制層、傳輸通信層、應(yīng)用效勞層三層架構(gòu)設(shè)計(jì)。第1章總體設(shè)計(jì)1.1設(shè)計(jì)目標(biāo)1.經(jīng)調(diào)研分析,制定系統(tǒng)總體邏輯架構(gòu)和技術(shù)架構(gòu)。2.合理選擇交通燈組,并開發(fā)基于CC2430平臺(tái)的驅(qū)動(dòng)程序。3.基于CC2430和TIZ-STACK協(xié)議棧,開發(fā)WSN應(yīng)用程序,組建具有分布式自組網(wǎng)能力的WSN燈光控制無線傳感器網(wǎng)絡(luò)。4.完成PC展示層應(yīng)用軟件開發(fā)。5.最終搭建一套具有較好實(shí)時(shí)性的燈光控制系統(tǒng)。1.2設(shè)計(jì)原那么本系統(tǒng)在設(shè)計(jì)過程中綜合考慮了以下根本原那么:1.在到達(dá)預(yù)期功能的根底上,確保系統(tǒng)的性能指標(biāo),如燈光控制實(shí)時(shí)性指標(biāo)、網(wǎng)絡(luò)自愈性指標(biāo)等。2.模塊化設(shè)計(jì),無論是硬件還是軟件,各個(gè)分層間結(jié)構(gòu)清楚,采用標(biāo)準(zhǔn)的通訊協(xié)議,便于系統(tǒng)升級和網(wǎng)絡(luò)擴(kuò)容。1.3技術(shù)架構(gòu)在技術(shù)架構(gòu)上,將感知、傳輸、應(yīng)用別離,采用感知控制層、傳輸通信層、應(yīng)用效勞層三層架構(gòu)設(shè)計(jì)。PC展示層應(yīng)用軟件基.NetFramework框架,在VS2023平臺(tái)實(shí)現(xiàn)。第2章系統(tǒng)組成與工作過程2.1系統(tǒng)組成本系統(tǒng)以模擬智能交通為載體,它由感知層子系統(tǒng)、傳輸層子系統(tǒng)、應(yīng)用層子系統(tǒng)三個(gè)局部組成,如圖2-1所示。圖2-1燈光控制系統(tǒng)組成圖1-1中,感知層子系統(tǒng)由開關(guān)量控制節(jié)點(diǎn)和模擬量控制節(jié)點(diǎn)等兩類節(jié)點(diǎn)組成。其中,燈光控制節(jié)點(diǎn)、電源控制節(jié)點(diǎn)三類是開關(guān)量控制節(jié)點(diǎn)。傳輸層子系統(tǒng)是基于CC2430的ZigBee無線傳輸網(wǎng)。所有感知層節(jié)點(diǎn)的控制指令均由應(yīng)用層子系統(tǒng)通過通過串口下發(fā)給CC2430協(xié)調(diào)器,再由后者通過ZigBee無線網(wǎng)絡(luò)下發(fā)給CC2430終端節(jié)點(diǎn)。2.2本系統(tǒng)涉及的主要功能遠(yuǎn)程星光大道燈光控制功能遠(yuǎn)程太陽路燈光控遠(yuǎn)制功能遠(yuǎn)程濱河路燈光控制功能遠(yuǎn)程月亮路燈光控制功能遠(yuǎn)程水星路燈光控制功能本系統(tǒng)〔基于物聯(lián)網(wǎng)的燈光控制系統(tǒng)〕是一個(gè)模擬城市道路燈光控制的系統(tǒng),模擬該系統(tǒng)的沙盤有6條道路,如圖2-2所示,每條道路上的路燈由假設(shè)干組燈組組成,每組燈組通過控制單元與CC2430節(jié)點(diǎn)板相應(yīng)端口連接。以此類推,通過端口分配來實(shí)現(xiàn)對整條道路或者道路某一局部燈組的控制。圖2-2道路分布圖2.2.1功能描述智能燈光控制:用戶可以根據(jù)需要控制沙盤里的任意燈光。WSN軟件開發(fā)智能燈光控制系統(tǒng):系統(tǒng)能根據(jù)用戶需要控制實(shí)時(shí)傳回?cái)?shù)據(jù)信息。1〕軟啟功能:燈光的漸亮漸暗功能,能讓眼睛免受燈光驟亮驟暗的刺激,同時(shí)還可以延長燈具的使用壽命。2〕按各路段控制燈光:控制某一路段上燈光的亮滅狀態(tài),到達(dá)節(jié)能和便于管理的成效,使燈光更富人情味、本錢低且便于管理。3〕開關(guān)聯(lián)合:輕松實(shí)現(xiàn)某節(jié)點(diǎn)或某區(qū)域所有燈光的一鍵的全關(guān)和全閉功能,觸摸集中控制,使用更加方便。2.3系統(tǒng)的運(yùn)行過程2.3.1注冊網(wǎng)絡(luò)系統(tǒng)啟動(dòng)后,CC2430協(xié)調(diào)器首先建立無線網(wǎng)絡(luò),路由器和終端節(jié)點(diǎn)在發(fā)現(xiàn)網(wǎng)絡(luò)后,會(huì)主動(dòng)參加網(wǎng)絡(luò),并上傳網(wǎng)絡(luò)參數(shù)〔物理地址、網(wǎng)絡(luò)地址、節(jié)點(diǎn)類型等〕。注冊網(wǎng)絡(luò)的流程如圖2-3所示。圖2-3燈光控制電路的工作流程2.3.2下行鏈路〔由PC到終端〕:在PC機(jī)上通過上位機(jī)向串口發(fā)送數(shù)據(jù),協(xié)調(diào)器收到串口數(shù)據(jù),再通過串口協(xié)議解析數(shù)據(jù),然后通過定制的無線協(xié)議將解析到的數(shù)據(jù)進(jìn)行再次封裝,發(fā)送給終端節(jié)點(diǎn);終端節(jié)點(diǎn)接收到數(shù)據(jù)之后,經(jīng)解析控制IO口的電平上下輸出;底層控制電路接收到上下電平,執(zhí)行對應(yīng)操作。2.3.3控制臺(tái)請求啟動(dòng)/停止當(dāng)整個(gè)系統(tǒng)需要啟動(dòng)時(shí),WindowsCE控制臺(tái)上傳啟動(dòng)信息,PC下發(fā)啟動(dòng)系統(tǒng)指令。啟動(dòng)系統(tǒng)的流程如圖2-4所示。圖2-4啟動(dòng)系統(tǒng)流程第3章系統(tǒng)通訊協(xié)議規(guī)劃3.1系統(tǒng)運(yùn)行流程道路燈光控制系統(tǒng)的運(yùn)行主要包括注冊網(wǎng)絡(luò)、獲取網(wǎng)絡(luò)參數(shù)、下發(fā)控制指令等三方面的操作。在道路燈光控制系統(tǒng)中效勞器與CC2430協(xié)調(diào)器之間是通過串口進(jìn)行通信,兩者之間是需要使用統(tǒng)一的波特率、并按指定幀格式收發(fā)數(shù)據(jù)。CC2430協(xié)調(diào)器與CC2430終端節(jié)點(diǎn)之間是通過ZigBee無線網(wǎng)絡(luò)通信的,需要物理地址和網(wǎng)絡(luò)地址。CC2430終端節(jié)點(diǎn)是通過普通I/O口將控制命令轉(zhuǎn)化為控制模塊〔執(zhí)行機(jī)構(gòu)〕的驅(qū)動(dòng)信號(hào)的。3.1.1注冊網(wǎng)絡(luò)系統(tǒng)啟動(dòng)后,CC2430協(xié)調(diào)器首先建立無線網(wǎng)絡(luò),路由器和終端節(jié)點(diǎn)在發(fā)現(xiàn)網(wǎng)絡(luò)后,會(huì)主動(dòng)參加網(wǎng)絡(luò),并上傳網(wǎng)絡(luò)參數(shù)〔物理地址、網(wǎng)絡(luò)地址、節(jié)點(diǎn)類型等〕。注冊網(wǎng)絡(luò)的流程如圖3-1所示。圖3-1注冊網(wǎng)絡(luò)運(yùn)行流程3.1.2獲取網(wǎng)絡(luò)參數(shù)系統(tǒng)運(yùn)行中,為及時(shí)發(fā)現(xiàn)掉線節(jié)點(diǎn),系統(tǒng)會(huì)周期性去詢問節(jié)點(diǎn),要求返回網(wǎng)絡(luò)參數(shù)。獲取網(wǎng)絡(luò)參數(shù)的流程如圖3-2所示。圖3-2獲取網(wǎng)絡(luò)參數(shù)運(yùn)行流程3.1.3下發(fā)控制指令當(dāng)需要改變各被控對象的運(yùn)行狀態(tài)時(shí),系統(tǒng)就需要下發(fā)各類控制指令,其流程如圖3-3所示。圖3-3下發(fā)控制指令運(yùn)行流程3.2通信協(xié)議規(guī)劃3.2.1規(guī)劃原那么1〕透明傳輸,將控制與傳輸別離。2〕ZigBee無線網(wǎng)支持播送、點(diǎn)對點(diǎn)通信。3.2.2WSN網(wǎng)絡(luò)結(jié)構(gòu)1.WSN類型節(jié)點(diǎn)1〕協(xié)調(diào)器〔Coordinator〕在無線傳感網(wǎng)絡(luò)中,有且只有一個(gè)協(xié)調(diào)器節(jié)點(diǎn),它負(fù)責(zé)選擇網(wǎng)絡(luò)所使用的頻率通道、建立網(wǎng)絡(luò)并將其他節(jié)點(diǎn)參加網(wǎng)絡(luò)、提供信息路由、平安管理和其他效勞。2〕路由器〔Router〕路由器節(jié)點(diǎn)是網(wǎng)絡(luò)遠(yuǎn)距離延伸的必要部件。它負(fù)責(zé)發(fā)送和接受節(jié)點(diǎn)自身信息;節(jié)點(diǎn)之間轉(zhuǎn)發(fā)信息;允許子節(jié)點(diǎn)通過它參加網(wǎng)絡(luò)。3〕傳感器節(jié)點(diǎn)〔Sensor〕傳感器節(jié)點(diǎn)的主要任務(wù)就是發(fā)送和接收信息,通常一個(gè)終端節(jié)點(diǎn)處在數(shù)據(jù)收發(fā)狀態(tài)時(shí)可進(jìn)入休眠狀態(tài)以降低能耗。2.網(wǎng)絡(luò)拓?fù)溥x擇本系統(tǒng)的無線網(wǎng)絡(luò)基于Z-Stack協(xié)議棧完成,由于控制點(diǎn)不多、分布范圍較窄,故采用星形網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),如圖3-4所示。圖3-4星形網(wǎng)絡(luò)拓?fù)?.2.3通信協(xié)議協(xié)議的規(guī)劃應(yīng)采用分層方式實(shí)施,以便明確邊界。對于本系統(tǒng)而言,整個(gè)協(xié)議從下自上為分三層,如圖3-5所示。圖3-5自定義協(xié)議的層次結(jié)構(gòu)1〕網(wǎng)絡(luò)間傳輸數(shù)據(jù)流的特點(diǎn)。表3-1數(shù)據(jù)流特點(diǎn)序號(hào)鏈路方向數(shù)據(jù)流功能數(shù)據(jù)流大小數(shù)據(jù)流內(nèi)容1上行注冊網(wǎng)絡(luò)〔1-1〕>=24B源節(jié)點(diǎn)物理地址〔8B〕源節(jié)點(diǎn)網(wǎng)絡(luò)地址〔2B〕源節(jié)點(diǎn)的節(jié)點(diǎn)類型〔3B〕父節(jié)點(diǎn)物理地址〔8B〕父節(jié)點(diǎn)網(wǎng)絡(luò)地址〔2B〕目標(biāo)節(jié)點(diǎn)提取的鏈路質(zhì)量〔1B〕上傳網(wǎng)絡(luò)參數(shù)〔2-4〕>=24B源節(jié)點(diǎn)物理地址〔8B〕源節(jié)點(diǎn)網(wǎng)絡(luò)地址〔2B〕源節(jié)點(diǎn)的節(jié)點(diǎn)類型〔3B〕父節(jié)點(diǎn)物理地址〔8B〕父節(jié)點(diǎn)網(wǎng)絡(luò)地址〔2B〕目標(biāo)節(jié)點(diǎn)提取的鏈路質(zhì)量〔1B〕上傳執(zhí)行結(jié)果〔3-5〕>=11B源節(jié)點(diǎn)物理地址〔8B〕源節(jié)點(diǎn)網(wǎng)絡(luò)地址〔2B〕執(zhí)行結(jié)果〔1B〕2下行下發(fā)獲取網(wǎng)絡(luò)參數(shù)指令〔2-3〕>=13B目標(biāo)節(jié)點(diǎn)物理地址〔8B〕目標(biāo)節(jié)點(diǎn)網(wǎng)絡(luò)地址〔2B〕幀功能標(biāo)識(shí)〔3B〕下發(fā)控制指令〔3-3〕>=14B目標(biāo)節(jié)點(diǎn)物理地址〔8B〕目標(biāo)節(jié)點(diǎn)網(wǎng)絡(luò)地址〔2B〕幀功能標(biāo)識(shí)〔3B〕控制參數(shù)〔≥1B〕2〕協(xié)議幀格式。表3-2無線網(wǎng)通信協(xié)議根本幀格式內(nèi)容字節(jié)數(shù)備注幀頭&WSN4幀類型3幀長度241物理地址8功能復(fù)用:〔1〕注冊網(wǎng)絡(luò)和獲取網(wǎng)絡(luò)參數(shù)時(shí):承載源節(jié)點(diǎn)物理地址〔8B〕、網(wǎng)絡(luò)地址〔2B〕;〔2〕下發(fā)控制指令時(shí):承載目標(biāo)節(jié)點(diǎn)物理地址〔8B〕、網(wǎng)絡(luò)地址〔2B〕;〔3〕上傳執(zhí)行結(jié)果時(shí):承載源節(jié)點(diǎn)物理地址〔8B〕、網(wǎng)絡(luò)地址〔2B〕。網(wǎng)絡(luò)地址2數(shù)據(jù)包5功能復(fù)用:〔1〕注冊網(wǎng)絡(luò)和獲取網(wǎng)絡(luò)參數(shù)時(shí):18-19字節(jié)承載父節(jié)點(diǎn)網(wǎng)絡(luò)地址〔2B〕,20-22承載節(jié)點(diǎn)類型〔3B〕;〔2〕下發(fā)控制指令時(shí):承載控制參數(shù)〔≥1B〕,沒有用完的字節(jié)填充0;〔3〕上傳執(zhí)行結(jié)果時(shí):承載執(zhí)行結(jié)果〔1B〕,沒有用完的字節(jié)填充0。連接質(zhì)量1幀尾END33〕表1-3,各字段含義。表3-3各字段含義幀頭用于說明一幀數(shù)據(jù)的開始。幀類型用于指明傳輸?shù)倪@一幀的數(shù)據(jù)的用途。幀長度用于指明接下來要傳輸?shù)奈锢淼刂?、網(wǎng)絡(luò)地址、數(shù)據(jù)包等三字段的長度。物理地址功能復(fù)用。網(wǎng)絡(luò)地址功能復(fù)用。數(shù)據(jù)包用于指明通信中具有實(shí)質(zhì)意義的數(shù)據(jù)。連接質(zhì)量用于指明WSN中節(jié)點(diǎn)與節(jié)點(diǎn)通信的鏈路的通信質(zhì)量。幀尾用于說明一幀數(shù)據(jù)的結(jié)束。4〕幀類型簡表。表3-4幀類型簡表幀類型功能命令備注下行鏈路下發(fā)獲取網(wǎng)絡(luò)參數(shù)指令〔2-3〕RNPReadNodeNetworkParameters讀取節(jié)點(diǎn)網(wǎng)絡(luò)參數(shù)下發(fā)控制指令〔3-3〕CPAControlbyPhysicalAddress根據(jù)物理地址下發(fā)控制指令CNAControlbyNetworkAddress根據(jù)網(wǎng)絡(luò)地址下發(fā)控制指令上行鏈路注冊網(wǎng)絡(luò)〔1-1〕JNSJoininNetworkWhenStarted新節(jié)點(diǎn)參加網(wǎng)絡(luò)上傳網(wǎng)絡(luò)參數(shù)〔2-4〕SPSSendParameterstoServer上傳網(wǎng)絡(luò)參數(shù)到效勞器上傳執(zhí)行結(jié)果〔3-5〕SRSSendResulttoServer上傳網(wǎng)絡(luò)參數(shù)到效勞器
5〕幀類型詳表。表3-5JNS幀類型詳表功能類型詳細(xì)解釋JNS注冊網(wǎng)絡(luò)〔1〕用途:終端節(jié)點(diǎn)新參加網(wǎng)絡(luò)后,向協(xié)調(diào)器發(fā)送節(jié)點(diǎn)入網(wǎng)信息?!?〕終端節(jié)點(diǎn)或路由器上傳到協(xié)調(diào)器的數(shù)據(jù)工程字節(jié)數(shù)內(nèi)容幀頭4B&WSN幀類型3BJNS幀長度1B0x18物理地址8B源節(jié)點(diǎn)物理地址網(wǎng)絡(luò)地址2B源節(jié)點(diǎn)網(wǎng)絡(luò)地址數(shù)據(jù)包7B[0-1字節(jié)]父節(jié)點(diǎn)網(wǎng)絡(luò)地址[2-4字節(jié)]節(jié)點(diǎn)類型〔終端節(jié)點(diǎn):RFD〕連接質(zhì)量1B協(xié)調(diào)器收到節(jié)點(diǎn)數(shù)據(jù)后的連接質(zhì)量數(shù)據(jù)幀尾3BEND〔3〕使用步驟1〕協(xié)調(diào)器建立網(wǎng)絡(luò)2〕啟動(dòng)路由器或終端節(jié)點(diǎn)3〕終端節(jié)點(diǎn)主動(dòng)上傳入網(wǎng)信息。字符串例如表3-6CPA幀類型詳表功能類型詳細(xì)解釋CPA下發(fā)控制指令〔1〕用途:根據(jù)網(wǎng)絡(luò)地址下發(fā)控制指令?!?〕協(xié)調(diào)器下發(fā)到終端的數(shù)據(jù)工程字節(jié)數(shù)內(nèi)容幀頭4B&WSN幀類型3BCPA幀長度1B0x12物理地址8B目標(biāo)節(jié)點(diǎn)物理地址網(wǎng)絡(luò)地址2B目標(biāo)節(jié)點(diǎn)網(wǎng)絡(luò)地址數(shù)據(jù)包7B[1字節(jié)]燈組號(hào)[2-3字節(jié)]控制狀態(tài)[4-7字節(jié)]0000連接質(zhì)量1B協(xié)調(diào)器收到節(jié)點(diǎn)數(shù)據(jù)后的連接質(zhì)量數(shù)據(jù)幀尾3BEND〔3〕使用步驟及例如1〕啟動(dòng)協(xié)調(diào)器和終端節(jié)點(diǎn)2〕向終端下發(fā)控制指令3〕終端節(jié)點(diǎn)接收下發(fā)的指令字符串例如:表3-7RNP幀類型詳表功能類型詳細(xì)解釋RNP下發(fā)獲取網(wǎng)絡(luò)參數(shù)指令〔1〕用途:協(xié)調(diào)器向終端下發(fā)獲取網(wǎng)絡(luò)〔2〕由協(xié)調(diào)器下發(fā)到路由器或終端的數(shù)據(jù)工程字節(jié)數(shù)內(nèi)容幀頭4B&WSN幀類型3BRNP幀長度1B0x12物理地址8B源節(jié)點(diǎn)物理地址網(wǎng)絡(luò)地址2B源節(jié)點(diǎn)網(wǎng)絡(luò)地址數(shù)據(jù)包7B00000000連接質(zhì)量1B協(xié)調(diào)器收到節(jié)點(diǎn)數(shù)據(jù)后的連接質(zhì)量數(shù)據(jù)幀尾3BEND〔3〕使用步驟及例如1)下發(fā)獲取網(wǎng)絡(luò)參數(shù)指令2)啟動(dòng)協(xié)調(diào)器3)協(xié)調(diào)器下發(fā)信息給終端,并判斷是否接收?字符串例如:第4章PC控制軟件開發(fā)與測試PC展示層軟件用于實(shí)時(shí)接收ZigBee無限傳感器網(wǎng)絡(luò)上報(bào)的各交通路燈的亮滅狀態(tài),在本展示層軟件中,主要分為窗體表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層。4.1三層架構(gòu)程序設(shè)計(jì)簡介1.數(shù)據(jù)訪問層在三層架構(gòu)設(shè)計(jì)中,數(shù)據(jù)訪問層一般用于對數(shù)據(jù)庫進(jìn)行各項(xiàng)操作,即實(shí)現(xiàn)對數(shù)據(jù)表的Select、Insert、Update、Delete操作。本工程不涉及數(shù)據(jù)庫的操作,因此數(shù)據(jù)訪問層的功能主要是完成串口的操作,包括獲取可用串口、翻開串口、關(guān)閉串口、通過串口收發(fā)數(shù)據(jù)等。業(yè)務(wù)邏輯層業(yè)務(wù)邏輯層是三層架構(gòu)設(shè)計(jì)中表達(dá)核心價(jià)值的局部,主要負(fù)責(zé)業(yè)務(wù)規(guī)劃的制定、業(yè)務(wù)流程的實(shí)現(xiàn)。3.窗體表示層表示層位于最外層(最上層)離用戶最近,用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面。三層架構(gòu)設(shè)計(jì)方框圖如圖4-1所示:圖4-1三層架構(gòu)設(shè)計(jì)方框圖4.2CC2430終端節(jié)點(diǎn)對燈組的控制I/O口的分配關(guān)系各節(jié)點(diǎn)燈光控制分配端口如表4-1所示:表4-1各路段分配星光大道0803P1.5星光大道南側(cè)奇數(shù)燈0xFB0804P1.0星光大道北側(cè)偶數(shù)燈0x6DP1.3星光大道北側(cè)奇數(shù)燈P1.6星光大道南側(cè)奇數(shù)燈太陽路0803P1.3太陽路偶數(shù)燈0xEDP1.6太陽路奇數(shù)燈濱河路0803P1.4濱河路奇數(shù)燈0xF70804P1.2濱河路偶數(shù)燈0xDF月亮路0804P1.5月亮路0xFB水星路0803P1.1水星路奇數(shù)燈0xBEP1.7水星路偶數(shù)燈銀河大道0803P1.0銀河大道南側(cè)偶數(shù)燈0x5FP1.2銀河大道北側(cè)偶數(shù)燈0804P1.1銀河大道南側(cè)奇數(shù)燈0xB7P1.4銀河大道北側(cè)奇數(shù)燈4.3數(shù)據(jù)訪問層設(shè)計(jì)4.3.1數(shù)據(jù)訪問層CommonDB類的設(shè)計(jì)在工程解決方案資源管理器中右擊SmartHomeServer工程,選擇“添加→新建文件夾〞,文件夾命名為Class,然后在Class下新建DataAcess文件夾,然后右擊DataAcess,選擇“添加→新建項(xiàng)〞,選擇“類〞模板,類的文件名為CommonDB.cs,這樣用于數(shù)據(jù)訪問層的類添加進(jìn)DataAcess文件夾中。數(shù)據(jù)訪問層的CommonDB類主要封裝對SQLServerMobile數(shù)據(jù)庫的訪問,根據(jù)連接數(shù)據(jù)庫的字符串獲得連接對象、執(zhí)行Select語句獲得數(shù)據(jù)集DataSet以及執(zhí)行除Select語句之外的其他操作。4.3.2數(shù)據(jù)訪問層使用的函數(shù)功能數(shù)據(jù)訪問層的主要功能是串口操作,包括翻開串口,關(guān)閉串口,接收串口數(shù)據(jù)等。其中用到的函數(shù)及功能如圖4-2所示:表4-2函數(shù)功能函數(shù)名詳細(xì)功能SerialPort.GetPortNames()檢測當(dāng)前PC中是否有可用串口serialPort1.IsOpen()檢測串口是否翻開serialPort1.Open()翻開串口serialPort1.Close()關(guān)閉串口serialPort1.Read()獲取串口數(shù)據(jù)與數(shù)據(jù)長度4.3.3CommonDB類的整體結(jié)構(gòu)數(shù)據(jù)訪問層的主要功能是串口操作,包括串口翻開、關(guān)閉、數(shù)據(jù)觸發(fā)等?;趤韺?shí)現(xiàn)的MicrosoftVisualStudio2023來實(shí)現(xiàn),.NETFramework是支持生成和運(yùn)行下一代應(yīng)用程序和XMLWebservices的內(nèi)部Windows組件,在本程序中主要通過軟件中的控件來實(shí)現(xiàn)對各路段的控制。圖4-2數(shù)據(jù)庫整體結(jié)構(gòu)4.3.4CommonDB類中方法的功能描述及代碼實(shí)現(xiàn)usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Windows.Forms;usingSystem.Configuration;namespaceStudentInfo.DataAccess{classCommonDB{//獲取連接對象publicSqlConnectionGetConnection(){stringconstr=@"DataSource=.;InitialCatalog=StudentManagement;IntegratedSecurity=True";SqlConnectionCon=newSqlConnection(constr);returnCon;}//獲取Reader對象publicboolGetDataReader(stringSql){SqlConnectionCon=this.GetConnection();SqlCommandCmd=newSqlCommand(Sql,Con);Con.Open();SqlDataReaderreader=Cmd.ExecuteReader();if(reader.Read()){reader.Close();Con.Close();returntrue;}else{reader.Close();Con.Close();returnfalse;}}//獲取數(shù)據(jù)集publicDataSetGetDataSet(stringSql,stringtablename){SqlConnectionCon=this.GetConnection();SqlCommandCmd=newSqlCommand(Sql,Con);SqlDataAdapterSda=newSqlDataAdapter(Cmd);DataSetDs=newDataSet();try{Sda.Fill(Ds,tablename);returnDs;}catch(SqlExceptionex){if(Con.State!=ConnectionState.Closed){Con.Close();}MessageBox.Show(ex.Message);}returnnull;}//執(zhí)行除Select語句之外的其他數(shù)據(jù)操作〔Insert、Update、Delete〕publicintExcuteSql(stringSql){intflag=0;SqlConnectionCon=this.GetConnection();SqlCommandCmd=newSqlCommand(Sql,Con);try{Con.Open();flag=Cmd.ExecuteNonQuery();}catch(SqlExceptionex){MessageBox.Show(ex.Message);}finally{Con.Close();}returnflag;}}}4.4業(yè)務(wù)邏輯層設(shè)計(jì)邏輯控制層主要是接受來自窗體表示層用戶的操作請求,處理數(shù)據(jù)的上報(bào),并回傳數(shù)據(jù)在窗體表示層顯示。4.4.1WSN協(xié)調(diào)器連接1.程序的工作流程是首先彈出Form1.cs窗體,在WSN協(xié)調(diào)器連接中的串口操作。圖4-3翻開串口的流程圖2.波特率和串口的獲取stringportname=this.cbBWSNPortName.Text;intbaudrate=int.Parse(this.cbBWSNPortBaudRate.Text);3.連接協(xié)調(diào)器1〕獲取串口號(hào)及波特率2〕實(shí)例化串口操作類的對象3〕處理執(zhí)行結(jié)果4〕為WSN協(xié)調(diào)器串口添加串口接收數(shù)據(jù)事件的處理方法4.4.2觸發(fā)串口事件處理的主要代碼如下PrivatevoidRFIDPort_DataReceived(objectsender,System.IO.Ports.SerialDataReceivedEventArgse){//〔1〕休眠250msThread.Sleep(250);//〔2〕從串口中獲取數(shù)據(jù)intlen=RFIDPort.BytesToRead;byte[]rfiddata=newbyte[len];RFIDPort.Read(rfiddata,0,len);//〔3〕將所獲取的數(shù)據(jù)展示在窗體中Form1.CheckForIllegalCrossThreadCalls=false;this.tBPortData.Text+=("RFID讀卡信息:");foreach(bytechinrfiddata){this.tBPortData.Text+=ch.ToString("X2")+"";}this.tBPortData.Text+=("\r\n");this.tBPortData.SelectionStart=this.tBPortData.TextLength;this.tBPortData.ScrollToCaret();//〔5〕判斷是否為“功能演示〞狀態(tài)if(this.tabControl1.SelectedIndex==1){//提取卡號(hào)for(inti=3;i<7;i++){cardsn+=rfiddata[i].ToString("X2");}}}4.5窗體表示層設(shè)計(jì)4.5.1窗體文件的添加1.首先創(chuàng)立一個(gè)Windows窗體應(yīng)用程序WsnRfidLamo,該工程所包括的文件如下列圖所示,包含F(xiàn)orm1.cs窗體。程序運(yùn)行時(shí),首先顯示Form1.cs窗體,窗體下有系統(tǒng)測試和功能測試兩大局部。圖4-4工程文件2.在Form1.cs窗體下添加相應(yīng)控件,控件的名稱及屬性如表所示。表4-3Form1.cs窗體所屬控件名稱及屬性控件類型屬性屬性值控件類型屬性屬性值ButtonNamebtnOpenWSNPortLabelNamelabel1Text連接協(xié)調(diào)器Text波特率ButtonNamebtnCloseWSNPortLabelNamelabel2Text關(guān)閉協(xié)調(diào)器Text串口名稱ButtonNamebtnOpenXgddTextBoxNametBPortDataText星光大道開燈TextButtonNamebtnCloseXgddGroupBoxNamegBPortDataText星光大道關(guān)燈TextWSN串口數(shù)據(jù)4.5.2窗體層的展示圖4-5PC效勞端系統(tǒng)設(shè)置界面圖圖4-6PC效勞端功能演示界面圖第5章系統(tǒng)設(shè)置5.1啟動(dòng)調(diào)試在主窗體基于物聯(lián)網(wǎng)的燈光控制系統(tǒng)下有有兩大界面分別是系統(tǒng)設(shè)置和功能演示,啟動(dòng)調(diào)試首先要進(jìn)入系統(tǒng)設(shè)置界面下的WSN協(xié)調(diào)器連接,連接串口COM1和將波特率設(shè)置為9600并在控件btnOpenWSNPort下連接協(xié)調(diào)器,然后進(jìn)入功能演示界面點(diǎn)擊btnOpenXgdd按鍵執(zhí)行星光大道開燈
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 居住租房合同(2篇)
- Xx學(xué)校體育設(shè)施改進(jìn)實(shí)施方案
- D打印技術(shù)合作合同范本
- 幼兒園餐飲保障返校工作方案
- 海口-PEP-2024年小學(xué)5年級下冊英語上冊試卷
- 幼兒園藝術(shù)教育質(zhì)量評價(jià)方案
- 醫(yī)療行業(yè)物資供應(yīng)應(yīng)急方案
- 201X八一建軍節(jié)青少年成長營發(fā)言稿
- 自來水廠給水管道消毒方案
- 生活垃圾分選與環(huán)境保護(hù)方案
- 項(xiàng)目計(jì)劃書項(xiàng)目人力資源分配
- 人教部編八年級歷史上基礎(chǔ)知識(shí)填空
- 【多旋翼無人機(jī)的組裝與調(diào)試分析6000字(論文)】
- 灑水車司機(jī)崗位作業(yè)規(guī)程
- 2016年考研英語真題及解析答案
- 傷口造口護(hù)理新進(jìn)展課件
- +山東省棗莊市滕州市善國中學(xué)等校聯(lián)考2023-2024學(xué)年七年級+上學(xué)期期中數(shù)學(xué)試卷
- 神經(jīng)重癥腸內(nèi)營養(yǎng)病歷分享
- 醫(yī)療器械售后服務(wù)責(zé)任及質(zhì)保協(xié)議正規(guī)范本(通用版)
- 北大荒2023年審計(jì)報(bào)告
- 生活美容衛(wèi)生管理制度
評論
0/150
提交評論