無線溫室監(jiān)控系統(tǒng)由無線測量節(jié)點與執(zhí)行器節(jié)點、匯聚節(jié)點和后臺管理系統(tǒng)三層組成。測量節(jié)點采集數(shù)據(jù)并通過匯聚節(jié)點將數(shù)據(jù)轉(zhuǎn)發(fā)給后臺管理系統(tǒng)。測量節(jié)點由51 兼容的射頻SoC 芯片nRF9E5 來實現(xiàn);執(zhí)行器節(jié)點采用基于ARM?CortexTM-M3 的微控制器LMS3S1968 和無線收發(fā)器NRF905 組成;匯聚節(jié)點采用處理能力更強的ARM9 和無線收發(fā)器nRF905 組成。
無線溫室監(jiān)控系統(tǒng)采用基于ARM?Cortex™-M3 的LMS3S1968 微控制器和無線收發(fā)芯片nRF905 設(shè)計了執(zhí)行器節(jié)點。從硬件和軟件兩個層面進行研究,根據(jù)無線通信系統(tǒng)特點設(shè)計了系統(tǒng)的硬件、軟件,并進行了調(diào)試和試驗運行;采用μC/OS-II 嵌入式實時操作系統(tǒng)作為無線傳感器網(wǎng)絡(luò)節(jié)點的操作系統(tǒng)。系統(tǒng)具有可靠性高、可方便擴展通信節(jié)點容量等優(yōu)點。
�。�1)μC/OS-II嵌入式實時操作系統(tǒng)
隨著無線傳感器網(wǎng)絡(luò)的廣泛應(yīng)用,節(jié)點構(gòu)成的變化是巨大的。因此無線傳感器網(wǎng)絡(luò)節(jié)點上的嵌入式操作系統(tǒng)必須具備好的移植性。與通用的操作系統(tǒng)相比,嵌入式操作系統(tǒng)具有如下一些特征:小巧、實時性、可裁減性、固化代碼、穩(wěn)定性。針對不同的處理器類型,存儲器容量和實時性需求,有不同的嵌入式操作系統(tǒng)。UCB 為Mica 系列傳感器網(wǎng)絡(luò)產(chǎn)品開發(fā)了一套微型的操作系統(tǒng)TinyOS;清華大學(xué)也開發(fā)出了一種靈活的低成本無線傳感器網(wǎng)絡(luò)節(jié)點 FLOWS,它的單片機采用TI 公司的MSP430,移植了uC/OS-II 操作系統(tǒng),無線傳輸芯片采用NRF905。
μC/OS-II 是一個簡單、高效的源碼公開的嵌入式實時操作系統(tǒng)內(nèi)核。其大多數(shù)函數(shù)調(diào)用和服務(wù)的執(zhí)行時間具有可確定性;具有可搶占的實時多任務(wù)調(diào)度系統(tǒng)功能,而且提供了用于任務(wù)間同步、互斥、通信的系統(tǒng)服務(wù)。這些功能可以根據(jù)不同需求進行裁減,它的最小化內(nèi)核能編譯到2 KB,目前已經(jīng)被移植到x86、ARM、PowerPC、MIPS 等眾多體系結(jié)構(gòu)上�;诙绦【�、可移植性強的特點,μC/OS-II 很適用于無線傳感器網(wǎng)絡(luò)節(jié)點芯片。相比較于TinyOS,uC/OS-II 提供了更加完善的任務(wù)調(diào)度和任務(wù)通信機制,并且采用標(biāo)準(zhǔn)的C 語言設(shè)計,從而可以更加方便的移植與調(diào)試。
(2)μC/OS-II 在LM3S1968 上的移植
LM3S1968 片上具有高達256KB 的單周期Flash 和64KB 的單周期SRAM,因此,不需要外擴存儲器就可以滿足μC/OS-II 代碼對容量的要求。
μC/OS-II 在LM3S1968 上的移植,由用戶層、中間件層、μC/OS-II 源碼層、μC/OS-II移植層和驅(qū)動庫層等五個層次組成。
�、儆脩魧拥腢ser 目錄存放用戶代碼與設(shè)置。其中Main.C 文件是用戶編寫任務(wù)的地方,如通風(fēng)控制、光照強度控制等任務(wù);Main.H 定義任務(wù)的堆棧大小、優(yōu)先級等。OS_CFG.H是μC/OS-II 的配置文件,用戶可根據(jù)需要修改其內(nèi)容。Includes.H 是總的頭文件,除μC/OS-II的源碼外,所有“.C”的文件都包含它,這樣用戶所需的頭文件和其它聲明只需在Includes.H中聲明一次就行了。
�、谥虚g件層的Middleware 目錄存放用戶自己編寫的中間件,如Uart0.C、Uart0.H 串口通信中間件等。
③μC/OS-II 源碼層的μC/OS-II \Source 目錄存放μC/OS-II 的源代碼(除uCOS_II.C 外的全部“.C”和“.H”的文件)。用戶只要把源碼復(fù)制到此目錄,不需對源碼作任何的修改。
�、堞藽/OS-II 移植層的μC/OS-II \Ports 目錄存放μC/OS-II 基于LM3S1968 的移植代碼,包括OS_CPU_C.C、OS_CPU_A.ASM 和OS_CPU.H 等三個必要的文件,用戶應(yīng)根據(jù)處理器來改寫這三個文件,使之能夠移植到相應(yīng)的處理器上。Target 目錄中的Startup 文件是LM3S1968 的啟動代碼和中斷向量表,用戶要在其中加入需要的中斷服務(wù)函數(shù)的首地址;Target.C 和Target.H 提供LM3S1968 初始化函數(shù)targetInit()和其它外設(shè)控制函數(shù)。
�、蒡�(qū)動庫層是直接面向硬件目標(biāo)板的層。一般來說,除μC/OS-II 外,其它代碼都要直接或間接通過它訪問硬件。
后臺管理系統(tǒng)與節(jié)點的通信途徑為:后臺管理系統(tǒng)←→Internet←→匯聚節(jié)點←→測量節(jié)點或執(zhí)行器節(jié)點。后臺管理系統(tǒng)以IP 數(shù)據(jù)包形式通過Internet 傳送到匯聚節(jié)點的數(shù)據(jù)包括目標(biāo)節(jié)點編號、控制命令。測量節(jié)點和執(zhí)行器節(jié)點采取統(tǒng)一編號方式,控制命令為要求測量節(jié)點上傳采樣數(shù)據(jù),或要求執(zhí)行器節(jié)點執(zhí)行命令要求的動作(即控制設(shè)備的啟動或停止)或要求執(zhí)行器節(jié)點上傳該節(jié)點控制設(shè)備的運行狀態(tài)。
匯聚節(jié)點與測量節(jié)點/執(zhí)行器節(jié)點之間采用多跳路由的通信方式,由于監(jiān)控區(qū)域內(nèi)的節(jié)點眾多,采用統(tǒng)一的數(shù)據(jù)格式有利于節(jié)點間的通信,數(shù)據(jù)格式如下:
其中,Preamble 為引導(dǎo)字節(jié),BroAddr 為廣播地址(為0xFF),F(xiàn)inal-No 為數(shù)據(jù)傳輸?shù)哪繕?biāo)節(jié)點編號,Middle-No 為中間節(jié)點編號,Source-No 為提供數(shù)據(jù)的源節(jié)點編號,CtrlData為控制命令,Data 1…Data n 為需發(fā)送或接收的有效數(shù)據(jù),CRC 為校驗碼。
nRF905 處于發(fā)射模式時,Preamble 和CRC 由nRF905 自動加載,BroAddr 和中間所有數(shù)據(jù)由微控制器按順序送入射頻模塊 nRF905。接收模式時,nRF905 先接收一數(shù)據(jù)包,分別驗證Preamble、BroAddr 和CRC 正確后,再將所有數(shù)據(jù)送入微控制器處理,由軟件比較地址,進行相應(yīng)處理。
溫室監(jiān)控系統(tǒng)建立的最終目的是為了獲取溫室環(huán)境的數(shù)據(jù)信息,監(jiān)控溫室的正常運行,并通過分析數(shù)據(jù)得到作物生長與環(huán)境變化的規(guī)律。傳統(tǒng)的多點環(huán)境參數(shù)監(jiān)控系統(tǒng)一般都是通過有線通信(如RS-485 總線)的方式把環(huán)境參數(shù)數(shù)據(jù)傳送到監(jiān)控中心的。有線通信的一個無法回避的問題是需要布線,它使系統(tǒng)的設(shè)計、安裝及維護等的復(fù)雜度大幅提高,同時使系統(tǒng)的成本也大大增加,而且如果某一節(jié)點損壞有可能導(dǎo)致整個通信網(wǎng)絡(luò)癱瘓。由于溫室大棚占地面積大,采用傳統(tǒng)的有線監(jiān)控系統(tǒng)除了通信設(shè)備之間的物理線路連接還需要供電線路的支持。而采用無線技術(shù)后,系統(tǒng)精簡了通信和供電線路的鋪設(shè),方便了系統(tǒng)的維護和擴展,對提高溫室的生產(chǎn)管理水平具有重要的意義。采用無線通信技術(shù)可以有效的解決采用有線通信所存在的問題,而且具有成本更低、不需要布線、可以任意增加或減少測量節(jié)點、維護方便等優(yōu)點.
維庫電子通,電子知識,一查百通!
已收錄詞條129403個