《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 面向環境監測的無線傳感器網絡節點的軟件設計
面向環境監測的無線傳感器網絡節點的軟件設計
張振興 童玲 田雨
摘要: 環境監測是無線傳感器網絡的重要應用領域。為搜集某一區域內的環境數據,傳感器節點需要在無人值守情況下長時間地工作在惡劣環境條件下。傳感器節點的軟件設計為節點正常工作提供了重要保證。
Abstract:
Key words :

  引  言

  環境監測無線傳感器網絡的重要應用領域。為搜集某一區域內的環境數據,傳感器節點需要在無人值守情況下長時間地工作在惡劣環境條件下。傳感器節點的軟件設計為節點正常工作提供了重要保證。

  1  無線傳感器網絡系統結構

  整個傳感器網絡是由若干個采集節點、1個匯聚節點、1個數據中轉器以及1個便于用戶查看和控制的上位機組成。系統結構如圖1所示。采集節點用于對環境數據的采集、數據的預處理,承當數據的路由;匯聚節點負責整個網絡的開啟和維護,向采集節點發送命令,搜集節點的數據以及和數據中轉器之間的串口通信;數據中轉器承擔數據的中轉及轉發上位機的命令;上位機是數據搜集的終端設備,并且可以根據用戶的需要對節點的采集時間間隔、休眠時間間隔、傳感器的開關進行相應設置。

系統結構

  2 節點的硬件電路

  為方便數據的搜集,匯聚節點和采集節點硬件電路設計相同,只是軟件設計有所不同。任意節點都可作為匯聚節點,與數據中轉器通過串口進行通信,來搜集網絡中其他節點的數據。節點的硬件結構如圖2所示。

節點的硬件結構

  本設計選用的核心芯片是TI公司推出的ZigBee芯片CC2430。它以8051微處理器為內核,自身攜帶的射頻收發器用來實現無線傳感器網絡節點的通信,提供了4路I/O口來控制傳感器的打開和關閉。傳感器將相應的環境數據變成電壓、電流等信號送給信號調理電路,經相關調理后送到CC2430的 ADC接口進行A/D采樣,最后CC2430將得到的A/D值存人1個外接的64 Kb的存儲器中。當節點作為網絡中的匯聚節點時,CC2430的 2路I/O口被設置成UART0串口Tx和Rx,用于和數據中轉器進行串口通信。對于能源供應部分,為保證節點長期穩定工作,選用2300 mA的鎳氫充電電池,2組鎳氫電池采用雙電源供電模式。軟件通過控制2組鎳氫電池的切換實現對節點的輪流供電,并在電池電壓不足時控制太陽能電池板對其進行充電。

  3 節點軟件設計

  3.1  Z-Stack協議棧簡介

  本次的軟件設計基于TI公司Z-Stack 2006協議棧。Z-Stack 2006是TI公司專門為CC2430芯片設計的ZigBee協議棧。它由1個簡單的單線程的操作系統管理。該操作系統基于任務調度機制,任務通過API函數osalTaskAdd()按照優先級添加到任務鏈表。任務的事件觸發實現任務調度。每個任務最多可定義16個事件,每個事件都對應1個唯一的事件號。NextActiveTask()是任務事件查詢函數,返回任務的事件狀態ActiveTask,根據返回的事件值來調用相應的任務處理函數ActiveTask()進行處理。操作系統任務調度如圖3所示。

操作系統任務調度

  主函數在完成節點相關初始化之后會進入無限循環過程,該過程會一直檢測操作系統的任務鏈表中是否有事件要進行處理。

  3.2 節點工作流程

  為便于管理和調度,節點所要實現的功能都是將其定義為事件進行處理的。每個事件完成相應功能。將事件按一定關系串接,就能實現節點工作時要完成的系統功能。采集節點和匯聚節點的工作流程如圖4、圖5所示。

采集節點和匯聚節點的工作流程

  匯聚節點和采集節點在同一時刻醒來。當匯聚節點創建網絡成功,并且采集節點入網成功后,全網節點處于通信狀態。匯聚節點會通過串口向數據中轉器發送1個表示網絡準備就緒的消息,數據中轉器接收到該消息之后根據上位機的要求決定要不要上傳數據,以及上傳哪些數據。匯聚節點接收到命令之后會觸發相應的事件進行處理,先命令采集節點將相應的數據上傳給它,再通過觸發串口事件將數據發送至數據中轉器。采集節點在入網成功以后也處于準備就緒的狀態,等待接受匯聚節點的命令,做相應的事件觸發處理。

  在每次通信結束之前,匯聚節點會向數據中轉器發送1個請求休眠的消息,數據中轉器接收到該消息之后會按照上位機的要求對全網節點的休眠過程進行設置。

   3.3  串口通信協議

  匯聚節點與數據中轉器之間的通信是通過串口進行的。串口通信協議保證數據的安全收發,便于匯聚節點和數據中轉器對數據進行解析和存儲管理。數據中轉器和匯聚節點之間的串口通信數據幀格式如下所示:

串口通信數據幀格式

  其中,SOP為起始標志符,用1字節來表示數據包的起始,將這個字節定義為0x02;CMD表示命令ID,用1字節的數據來標識命令消息。 LEN表示DATA的長度,用1字節來指示DATA位的數據的長度。DATA為具體要發送的數據。FCS是校驗位,這里使用XOR(異或校驗),校驗 CMD、LEN、DATA中的所有數據。

  當匯聚節點和數據中轉器通過串口接收到數據后,都是通過判別CMD對數據進行解析的。串口數據的CMD有如下幾種:

  ①0x03,數據中轉器發送上傳路由表命令。作為響應,匯聚節點通過串口上傳路由表數據的CMD標識為0x83。

 

  ②0x04,數據中轉器發送上傳鄰居表命令。作為響應,匯聚節點通過串口上傳鄰居表數據的CMD標識為0x84。

  ③0x05,數據中轉器發送上傳采集數據命令。作為響應,匯聚節點通過串口上傳采集數據時的CMD標識為0x85。

  ④0x89,匯聚節點發送至數據中轉器,表示網絡創建成功,等待命令消息。

  ⑤0xF9,匯聚節點發送至數據中轉器,表示數據全部上傳完畢,等待休眠。作為響應,數據中轉器通過串口向匯聚節點發送CMD為0x09的休眠設置命令。

  LEN表示數據的長度,方便數據中轉器對接收到的數據進行空間分配和存儲。FCS是校驗位,用于表征數據的準確性。

  當匯聚節點接收到串口數據時,匯聚節點會觸發自身應用層的串口事件,用于解析發送過來的命令消息,然后根據該命令來觸發相應的事件進行處理。

  3.4 休眠設置

  實驗證實,節點在休眠過程中處于斷網狀態。因此,為節省節點頻繁聯網帶來的功耗和保證全網節點工作狀態同步,在軟件上設計為節點在聯網成功后只執行通信任務,而休眠過程中只執行采集任務。當節點采集時刻到來,觸發采集事件,打開傳感器的開關對環境數據進行采集,并控制I/O口對傳感器采集得到的信號進行A/D采樣,最后將采樣值以SPI方式存入外部存儲器。在每次通信結束之前節點都會判斷是否有休眠設置命令,若接收到休眠設置命令,節點則會按照該設置進行休眠,直到下一次醒來;若沒接收到命令,節點則會按照上一次的休眠設置進行休眠。

  數據中轉器通過串口向匯聚節點發送的休眠設置命令的數據幀格式如表1所列。

數據幀格式

  Sleeping_Time表示節點要休眠的時間;Collecting_Time表示節點在休眠過程中的采集時間間隔;Current_Time是當前的校準時間;Sensor_Flag表示傳感器開關的標志。休眠過程中到達采集時刻,進行環境數據的采集、采樣和存儲。向采集節點發送當前的校準時間,保證節點采集時刻精確和時間的同步。同時,傳感器的開關標志位可以控制打開或關閉哪幾路傳感器,采集用戶感興趣的環境數據。到達休眠時刻,節點醒來,連接網絡。

  3.5 充  電

  為保證鎳氫電池對節點長期供電,節點硬件電路設計了1個充電控制電路對其進行充電管理。CC2430專門提供1個I/O口對供電電壓進行A/D采樣。當供電的電源電壓不足時(即低于設定的值),在軟件上會通過切換先讓另一組電源對節點進行供電,再打開太陽能的充電電路對電源充電。節點在通信和采集數據時功耗很大,因此在每一次通信和采集數據完成之后都會檢測當前供電電壓值和當前的充電電壓值,根據2個電壓值決定要不要進行電源切換、是否對電源進行供電以及充電是否完成。

  3.6 異常處理

  網絡中節點在工作時可能出現一些異常,因此要對這些異常作糾錯處理,以保證節點的正常工作。

  (1)新加入節點的異步

  在全網節點處于休眠狀態時,若有新的節點加入網絡,為保證其網絡狀態和其他節點同步,新加入的節點在搜索不到網絡時會按照默認的休眠設置進行休眠。休眠醒來繼續搜索網絡。以此循環直到搜索到網絡。

  (2)數據出錯

  數據中轉器通過串口獲得的數據都要進行校驗處理,若校驗出錯,則拋棄該數據包,命令匯聚節點重發數據。

  (3)無應答

  匯聚節點對某一采集節點發送上傳數據的請求命令,若該節點在規定時間內沒有作出響應,匯聚節點會默認該節點被拋棄,它將向下一個節點發送上傳數據的請求。

  (4)無確認

  匯聚節點收到采集節點的數據后都會向該節點發送一個確認的消息,表示數據已經收到。而采集節點會根據有沒有接收到確認消息決定數據要不要重發。

  結  語

  無線傳感器網絡節點的軟件設計很大程度上決定了整個系統的穩定性和長久性。任務調度機制和異常處理決定系統在工作時處于穩定的狀態,而節點的充電管理系統保證了節點長期工作的能源供應。系統可以按照用戶需要,在野外大量、準確地采集數據。本設計可用于在無人值守情況下長期監測某一區域的環境信息,有著廣闊的應用前景。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产亚洲精品aa| 欧美视频三区在线播放| 亚洲人成在线影院| 毛片一区二区| 亚洲精品在线视频| 亚洲精品一二三区| 国产精品久久久久久久久久尿 | 久久视频在线看| 久久精品国产亚洲精品| 亚洲国产福利在线| 欧美激情一二区| 亚洲欧美一区二区三区极速播放| 亚洲欧美日韩国产中文| 精品二区视频| 欧美日韩在线不卡| 久久精品123| 日韩亚洲国产精品| 亚洲欧美日韩在线高清直播| 亚洲图片欧洲图片av| 韩国三级电影一区二区| 欧美极品一区| 欧美日韩国产一区二区三区地区| 欧美在线观看一区| 亚洲乱码国产乱码精品精| 最新日韩av| 亚洲一区自拍| 亚洲经典在线看| 国产精品丝袜久久久久久app| 米奇777超碰欧美日韩亚洲| 久久夜色精品国产欧美乱极品 | 欧美日韩国产黄| 欧美视频免费在线观看| 国产精品欧美精品| 免费观看不卡av| 免费人成精品欧美精品| 亚洲欧美日韩视频二区| 午夜精品一区二区三区在线视| 午夜精品久久久久久99热| 欧美一区二区三区喷汁尤物| 亚洲精品视频一区二区三区| 亚洲精品欧美一区二区三区| 亚洲欧美日韩另类| 午夜在线一区| 国产三级精品三级| 激情成人综合| 亚洲激情综合| 美国成人毛片| 免费观看成人www动漫视频| 欧美v日韩v国产v| 欧美日本一区二区三区| 亚洲一区二区在线免费观看| 欧美中文字幕视频| 亚洲与欧洲av电影| 欧美在线啊v一区| 亚洲图片欧美一区| 欧美伊人精品成人久久综合97| 亚洲黄色在线看| 午夜精品免费| 亚洲国产精品va在线观看黑人| 亚洲欧美综合国产精品一区| 欧美一区二区视频在线观看2020| 亚洲欧洲中文日韩久久av乱码| 一本一道久久综合狠狠老精东影业 | 欧美在线免费观看| 亚洲精品乱码久久久久久蜜桃麻豆 | 国产精品www色诱视频| 欧美高清在线视频观看不卡| 久久国产毛片| 欧美激情2020午夜免费观看| 国产精品视频yy9099| 影音先锋另类| 黄色日韩精品| 日韩午夜在线| 日韩午夜一区| 久久福利电影| 亚洲视频电影图片偷拍一区| 日韩午夜三级在线| 性感少妇一区| 欧美一区二区三区四区高清| 欧美v亚洲v综合ⅴ国产v| 国产精品视频久久| 91久久极品少妇xxxxⅹ软件| 欧美一级久久久| 亚洲小说区图片区| 亚洲一区国产视频| 久久―日本道色综合久久| 欧美日韩精选| 一区二区在线视频观看| 亚洲一区亚洲| 99亚洲一区二区| 在线一区观看| 久久理论片午夜琪琪电影网| 久久久久久久久久看片| 欧美日韩国产不卡在线看| 狠狠色丁香久久综合频道| 亚洲视频香蕉人妖| 日韩系列在线| 另类人畜视频在线| 欧美大片在线观看一区| 欧美激情亚洲精品| 国产无一区二区| 中文在线资源观看视频网站免费不卡| 亚洲国产综合在线看不卡| 欧美在线中文字幕| 国产精品久久久久一区二区三区| 亚洲国产女人aaa毛片在线| 久久av一区二区三区| 久久9热精品视频| 国产精品久久久久久久久免费樱桃 | 欧美午夜一区二区三区免费大片| 亚洲国产成人在线| 久久精品男女| 久久精品人人爽| 猛男gaygay欧美视频| 国产在线观看精品一区二区三区 | 欧美一区二区三区免费视频| 国产精品99免视看9| 亚洲乱亚洲高清| 亚洲一区二区三区免费在线观看| 午夜精品一区二区三区在线视| 中文有码久久| 欧美日韩在线视频观看| 亚洲免费成人av| 99在线观看免费视频精品观看| 欧美国产日韩xxxxx| 亚洲国产成人在线视频| 亚洲精品美女在线观看播放| 免费看亚洲片| 亚洲福利在线视频| 亚洲精品久久久久中文字幕欢迎你| 久久躁日日躁aaaaxxxx| 狠狠色狠狠色综合系列| 久久精品视频在线观看| 久久天堂成人| 亚洲国产精品传媒在线观看| 最新中文字幕一区二区三区| 欧美成人综合网站| 亚洲精品视频在线看| 在线一区免费观看| 欧美性一区二区| 亚洲一区二区三区高清| 欧美一区二区三区四区在线观看| 国产精品影片在线观看| 亚洲福利视频网| 亚洲精一区二区三区| 欧美理论在线播放| av成人免费在线| 亚洲高清免费视频| 欧美va天堂va视频va在线| 亚洲人www| 亚洲小说欧美另类社区| 国产精品一区二区在线观看| 欧美在线免费视屏| 欧美国产大片| 一区二区三区日韩| 亚洲欧洲一区二区天堂久久 | 久久综合导航| 亚洲精品乱码久久久久久黑人| 一区二区三区你懂的| 国产精品国产三级国产a| 欧美一区二区三区视频在线| 美女免费视频一区| 99精品视频免费观看视频| 午夜伦欧美伦电影理论片| 国产一区二区三区黄视频| 99re6这里只有精品视频在线观看| 亚洲视频 欧洲视频| 国产欧美丝祙| 在线一区二区三区四区| 欧美在线视屏| 亚洲欧洲日产国码二区| 亚洲欧美日韩国产成人| 欧美日韩国产在线一区| 亚洲视频在线看| 久久三级福利| 一本久久综合亚洲鲁鲁| 久久久国产一区二区三区| 亚洲精品社区| 亚洲免费网站| 极品av少妇一区二区| 久久黄色级2电影| 亚洲国产日韩在线| 亚洲一区二区三区高清| 伊人久久成人| 亚洲无限av看| 久久天天狠狠| 9久草视频在线视频精品| 欧美伊人精品成人久久综合97 | 国产精品久久久久国产精品日日| 久久精品一区二区三区中文字幕| 欧美精品一区二区三区蜜桃| 亚洲欧美文学| 国产精品一卡| 亚洲精品偷拍| 国产伦精品一区二区三区免费 | 亚洲视频在线免费观看| 免费亚洲视频| 亚洲欧美综合v| 欧美午夜一区二区福利视频| 亚洲日本欧美|