


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、水環(huán)境監(jiān)測系統(tǒng)節(jié)點軟件設計本文中設訃的監(jiān)測丹點選取IAREmbeddedWorkbench為開址壞境.編程語盲為C語言【仙.應用這款毎成開發(fā)環(huán)境設計開發(fā)節(jié)點的軟件.方便快捷,開發(fā)效率高.并且此開發(fā)環(huán)境的Cg編譯器能夠忙成高效幷可靠的可執(zhí)擰代碼,同時能夠針對具體的芯片進廳代碼優(yōu)化.本監(jiān)測系統(tǒng)的節(jié)點軟件設訃k耍包抹隘度傳感器的測鼠程用.畢于CC3430fUZigbm網簾的廿點Z問通們程序以朋匯聚廿點F1上位機通過-t11燈數腳的處理程用4.1監(jiān)測節(jié)點初始化程序設計溫度監(jiān)穂節(jié)點主要功能厲矍運用傳感器去采鋸H標水域的話度值.井通過傳感器微據線將數字伯號件輸到單兒饑的I/O口幷任單片機屮處理,然后通過R
2、F射頻摸塊將戲?仃勺無線發(fā)送踣匯舉節(jié)點,上位機通過卅1讀取匯聚節(jié)點接豎敵戡.晟店可以再在后臺系統(tǒng)對轉換后的伯號信息進帝査詢D水環(huán)境監(jiān)測節(jié)點是作丸整個系姣工作的第一環(huán)節(jié).皺投放在訂標水域實施數據液址匚作.監(jiān)測節(jié)點稈序總休設計如閣41所示.”亠一.Ftf,*RmiS閣11臨測節(jié)點桎斥總體訕計監(jiān)測背點實施數據棗集工作之詢、戢先設置眼片機CC2430(W鐘頻率.站后設置穩(wěn)用器,一整個系統(tǒng)循環(huán)等特一直到穩(wěn)斥器供電穩(wěn)定.隨后初始化單片機的輸入輸出錨U,在本系統(tǒng)中,傳感器的監(jiān)測敵抑:從POU輸入,即把POLH殳疋為輸入模式,即將內部的輸出卜拉驅動管關閉,將P0置LCC2430的4個定時器分別是16位定時器(
3、定時器1)MAC定時器(定時»2).8位定時器(定時器3和4),單片機種通過控制寄存器TxCTL來控制定時器操作,這世采用輸出比較模式來進行典吃的輸入捕獲和輸出比較操作.CC2430具有兼容RF收發(fā)器,是以業(yè)界領先的CC2420射頻核心為基礎的,節(jié)點之間的無線通苗便采用IEEE802.154定義卜的24GHz直接序列擴頻頻譜(DSSS)RF調制恪式來進fj(4SL添加介門狗程序以保證也片機運行鎧定,防止收到外界磴場干擾.IIS測廿點的系純初始化如圖42圖4.2節(jié)點初始化涼秤圖4.2溫度數據采集模塊程序設計本系統(tǒng)是対11標水域的相關物理參數進行測屋從而完咸實時監(jiān)測的功能,數據佇息是通過
4、相關傳感器進行采集,本監(jiān)測節(jié)點搭載DS18B20溫度傳感器實現水環(huán)境溫度的采集和傳輸.DS1SB20的溫度檢測的-個工作周期可分為兩個部分,即溫度檢測和數據處理在DS18B2D共仃三種形態(tài)的存儲器資源.它們分別是:ROM只讀存儲器.RAM數抑:暫存器,EEPROMIE易失性記憶體。根據DS18B20的通們協(xié)議,DS18B20只能作為從機,而單片機系統(tǒng)作為主機,單片機控制DS18B20完成一次溫度轉換必須經過3個步驟:復位、發(fā)送ROM指令、發(fā)送RAM指令.毎次對DS18B20的操作都要進行以上三個步驟問。復位過程為:DS1SB20的所有通佶都由復位脈沖組成的初始化序列開始.該初始化序列由匸機發(fā)出
5、.后銀由DS1SB20發(fā)出的存在脈沖(presencepulse)。虹片機將數擁線抑低至少480uS然施杯放數抑:線等待15-60uSilDS18B20接收佇:;,DS18B20接收到們號后,會把數據線拉低60-240uS.L機檢測到敵卅線被拉低后標識虹位成功.發(fā)送ROM指令:ROM折令表示主機對系統(tǒng)上所接的全部DS1SB20進行尋址,以確定對那個DS1SB20進行操作,或者是讀収某個DS1SB20的ROM序列號。發(fā)送RAM指令:RAM指令用于單片機對DS1SB20內部RAM進行操作,如讀訛寄«器的值,或占設置寄仔器的值.DS1SB20的或"J時.?圖如圖43所j;根據實際
6、測試的情況總結出了以卜的DS18B20操作步驟:(1'初始化DS18B20:(a) t先控制數據線,將其設置為高電平位“1”:(b) 然厲進行延時,延時的時間要盡雖的短,不過不要求特別精確和嚴格:(c) 接著再將數抓線祝為低電平“0”:(d) 陽進行延時操作,延時的時何大致在480微秒到960微秒左右:(e) 將數據線拉回到高電平位“1”:(f) 延時等待.初始化成功時,DS18B20將在1550毫秒間產生-個低電平“0”,這個電位的變化可以用來確定它的存在但是為了避免用序陷入死循環(huán),冋該限制延時等待的時間,進行必要的超時控制:(g) 如果CPU讀到數擁線的低電平“0”麻,仍需耍進行延
7、時,延時的時間耍從數抑線拉到高電、“1”算起.也就是從第(e)步的時間算起,并11至少要480微抄:(h) 赧后以將數抑;線拉到高電平“L結束。(2) DS1SB20的寫操作:<a)數據線置低電平“0”:(b) 延時確定時何設鬥為小15微秒的值,例如為2微妙:(c) 發(fā)送字節(jié)按由低到高的順序,每次只發(fā)送一位:<d)延時一個大于60微秒的時何:<e)拉數據線到高電平,并延時一個小于15微秒的時何(可以設為2微秒):(f)重交上述<a)(f)的步驟.將所仃的了節(jié)都發(fā)送出£:<g)錄后將數據線拉至島電半.(3) DS1SB20的讀操作:(a)拉高數據線:<
8、;b)延時2微秒:<c)拉低數據線:<d)延時一個小于15微秒的時何.這里為2微秒:(e)拉高數據線,并設迓端口狀態(tài)為輸入狀態(tài):<f)延時4微秒.或冷是其他小于15微秒的時何:<g)通過讀取數抑;線來獲得一個狀態(tài)位,然后進行敵拯處理:(h)延時70微秒,或者是其他-個處J:60120倣秒間的時間。4.3節(jié)點通信程序設計431節(jié)點之間數據傳送程序設計將監(jiān)測節(jié)點置于II標水域,并把每個節(jié)點編號??际赖接捎谠趯嶋H惜況卜.節(jié)點耍大面枳覆孟監(jiān)測的H標水域,但是由于水流或者是風向形響,W點位置會不斷的發(fā)生變動,所以監(jiān)測節(jié)點和匯聚卩點Z間的實際距離是否超過無線通信距離便成為數據佇息能
9、否成功接收的關鍵因索。為了解決物理趾離仃可能超過通佇趾離的惜況,本系統(tǒng)讓每個監(jiān)測節(jié)點都有轉發(fā)功能,這樣遠距離的數據們息就可以多跳,經過路由節(jié)點到達匯聚節(jié)點,實現遠距離的數據傳輸。節(jié)點通信數據流程圖如圖44增應節(jié)點路由節(jié)點'林聚節(jié)點J圖4.4節(jié)點通信數據涼幹圖把毎個節(jié)點編號,確定路由節(jié)點并將路由表'弓入相關節(jié)點,節(jié)點正常匸作的時候,每個路由節(jié)點都把白己的ID以及父節(jié)點ID.溫度和電壓倍息廣播出去,同時其他監(jiān)測節(jié)點都在按照踣由表來轉發(fā)數據,最后數據轉發(fā)到匯聚節(jié)山由匯聚節(jié)點通過申11發(fā)送給服務器。同時隨著時間和節(jié)點相對位置的改變,能通過匯聚節(jié)點向路由節(jié)點發(fā)送新的路由表,建工新伯息傳輸
10、路徑.節(jié)點Z何的通伯模型如圖4.5:X1RHA*+二叫V二:9"*"V;:MhiiW冬MihW/di、亠林由節(jié)a路由節(jié)衣Miiiva樣由wa路由"點捋由審炷45貝有傳感功能的路由節(jié)點和匯鎖節(jié)點通信模型通過CC2430的射頻模塊發(fā)送數擁報文,傳輸的數據報文包含了節(jié)點的節(jié)點編號,能盤狀態(tài)和溫度值伯息.未經路由的報文格式如圖46所示,經過路由的報文格式如圖47所示:FatherID:MyID:Temperature:1byte1byte6byteVoltage圖4.6末經過路由的報文格式圖4.7經過路由的報文格式LQI:FatherID:MyID:Tempentun.V
11、blageIVyteIVyteIVyte6Vyte所以我們可以淸晰的從上傳到上位機的數據們息中讀収到測址值還仃備節(jié)點的H體工作位息等,便r我們及時調整卩點位世以適應ji體環(huán)境的變化,保證監(jiān)測數據的準確性和可靠性。監(jiān)測"點z何數據傳送程丿?沒n流程圖如圖4&II由II由,z>II由i.ncin*;.ul號.ricir>)編度.電用為佶34>出£羯:.£;.:A)'.為估MX遇怙H»«kflftn崔it/H£M«nA&lX*MUiAi«tt.AW«©Hlit
12、oAr*tf%i£Ul£圖4.8監(jiān)測15點之間數據傳送程序設計滅程圖可以G出監(jiān)測節(jié)點都具有路由轉發(fā)的功能ID號和路由衣都固化在硬件節(jié)點之中系統(tǒng)初始化之厲,測a到的數據信息就按照路由路徑在節(jié)點之間傳遞并到達匯聚節(jié)點,通過串口得到數據侑息.43.2串口通信程序設計傷置于斥邊的匯聚節(jié)點通過無線接收到監(jiān)測水域內監(jiān)測*點發(fā)送來的數擁佇息.將敵犯信息送至廿點fpu,I:位機通過串口讀収敵拯并作進一步處理,實現整個數據的傳輸過程.圖4.9是匯聚節(jié)點接收轉發(fā)數據流程圖。WWHIt圖4.9匯聚節(jié)點接收轉發(fā)數據滅程圖匯聚節(jié)點接收到水域內監(jiān)測節(jié)點的數據們息后上傳至上位機,匯聚節(jié)點將數據們息發(fā)送到
13、弗口的程序如卜:voidDataToPort(UINT8*pBuf)UINT8*buf,UINT8temBufll;UINT81;if(byte)osal_strien(pBuf)=10)teniBuffOla1;foi(i=l;i<=10,i+)tcniDuf(i-pDufi-l;buf=teniBuf,definedMT_TASK)debug_sti(iunt8*)buf);#enchf)上位機和匯聚節(jié)點通過九針出口相連在匯聚節(jié)點接收到監(jiān)測節(jié)點的數據們息并將伯息送至弗口處后,由上位機對串口數據進行讀取,從而得到監(jiān)測數據.上位機對笊口數據讀取程庁如卜:publicpartialclas
14、sL1通SystemWebUI.PageprotectedvoidPage_Load(objectsender,EveiitArgse)Portlnfosportinfos=newPortinfos();protectedvoidSendbtn_Click(objectsender,EventArgse)Portinfoportinfo=newPortlnfo();portinfoPortName=tlusPortName.Text,portinfoBaiuidRate=ConveilTolnt32(tlusBaudRateText);portinfoDataBits=ConvertToInt
15、32(thisDataBitsText);portinfoStopBits=Convert.Tolnt32(thisstopBitsText);portinfoData=thisDataText;portinfosadd(portinfo)tPortSendportsend=newPortsend(),portsend.Send(portinfos).現實環(huán)境卜.我們要隨著節(jié)點的實際位進情況更新路由表.以保證數據能夠正常的在系統(tǒng)內傳輸.所以監(jiān)測節(jié)點和匯聚節(jié)點要能實現雙向通伯.-旦判斷霸要更新路由表.我們可以通過W聚肖點的無線發(fā)送讓監(jiān)測節(jié)點收到收到新的路由佔息.匯聚節(jié)點向路由節(jié)點發(fā)送路由表程序流
16、程圖設計如圖410:1f1mar*tnxrY4.10匯寨卩點向路由傳點發(fā)送路由山榨序流程圖4.4節(jié)點分簇算法設計根據上文介紹的本系統(tǒng)節(jié)點之何通伯特點每個節(jié)點都有轉發(fā)能力.路由節(jié)點會收到匯聚節(jié)點發(fā)送的新路宙表,實現動態(tài)擠撲.如何很據節(jié)點在監(jiān)測水域的實際惜況確定新的路由農就是保證系統(tǒng)數據傳輸穩(wěn)定的一頂遺要壞節(jié).本課題中.設計了一種分簇算法,對網絡進行分簇,選取簇頭卩點,為每個卩點構造路由表,并將執(zhí)行算法Z/H的網絡拓撲片以顯示.算法介紹實驗開始前.要先行測S:被測水域的大小參數.將節(jié)點成長方形的分布置于H標水域,如圖4.11所示。我們已知的卄點佇息包括:卩恵編號(SensorNumber),&qu
17、ot;點坐標(CoordinateX.CoordinateY)fll疔點剩余能址(DumpEnergy),在執(zhí)行完算法之后,我們能夠紂到:"點所在簇的編(ArealD),卩點和色(IsHead)和宵點路由衷(由父巧點編兮Father.子節(jié)點編號Children組成).步狠1:首先根據地理位置分簇.如圖所示分成四個三角形根據肖點位置坐標劃分節(jié)點所在區(qū)域.対ArealD賦值劃分式如圖412所示./®0O/O/KI.圖412對監(jiān)測區(qū)城分塊選聯匯聚節(jié)點為坐標原點.建芷坐標軸,劃分節(jié)點分傷的業(yè)形區(qū)域.如圖所示:CoordinateY>=0IW域0:CoorchnateX<
18、0&&CoorclinateY/CoordinateX>=-2W/L區(qū)域1:CoorclinateX<0&&CoordinateY/CoordinateX<-2W/L區(qū)域2:CoorchnateX>=0&&CoordinateY/CoordinateX>2W/L域3:CoorclinateX>0&&CoordinateY/CoordinateX<=2W/L步驟2:為毎個子區(qū)域選取簇頭節(jié)點,選取簇頭節(jié)點的標準是:根據節(jié)點到匯聚節(jié)點的距離對該區(qū)域的節(jié)點進行排序.次序在范N/3+1.2N/3+1的節(jié)點作為泯選第頭.即根擁節(jié)點到汗聚節(jié)點的距離選擇中何段的節(jié)點作為該簇的候選簇頭(2)選取候選節(jié)點中倒余能呈赧髙的節(jié)點作為簇頭.步驟3:為毎個節(jié)點構造路由表,對Father和Children賦值具體過程為:對于簇成員節(jié)點I.如'4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中考數學總復習《特殊角三角函數值的混合運算》專項測試卷帶答案
- 風險識別在公司戰(zhàn)略根基構建過程中的作用試題及答案
- 山東省泰安市東平縣2025屆七下數學期末調研試題含解析
- 跨越難關2025年VB考試試題及答案
- 優(yōu)化養(yǎng)老院安全管理計劃
- 班級國際交流活動的計劃與實施
- 向善向上社團活動安排計劃
- 2024年云南省機關事務局下屬事業(yè)單位真題
- 2024年西安雁塔雁南小學教師招聘筆試真題
- 生物學科學術研討交流計劃
- 人教版七級下冊-巴西-課件
- 口腔科管理手冊(參考)
- 租賃房屋委托書(8篇)
- 漢字就是這么來的
- 重癥甲流護理查房
- 尿毒癥患者的護理健康評估
- 健康喝水知識講座
- 依萊達電動車使用說明書
- 無人機系統(tǒng)數據鏈
- 食堂阿姨培訓課件
- 對口升學課件
評論
0/150
提交評論