關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應用 > 基于無線傳感網(wǎng)絡(luò)的智能機房環(huán)境監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)

基于無線傳感網(wǎng)絡(luò)的智能機房環(huán)境監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)

作者: 時間:2012-08-22 來源:網(wǎng)絡(luò) 收藏

4.2 網(wǎng)軟件平臺搭建
操作系統(tǒng)是通過調(diào)度各項任務來使整個系統(tǒng)協(xié)調(diào)的運作起來的。對不同類型設(shè)備的處理作為一個任務,把新建的任務添加到系統(tǒng)中,操作系統(tǒng)便會把新任務與協(xié)議棧融合到一起,使系統(tǒng)具備新的功能,即完成了軟件平臺的搭建。
1)建立任務:任務初始化函數(shù)的建立
任務初始化函數(shù)要做兩件事,首先是為任務獲取系統(tǒng)分配的任務ID,最后是初始化運行任務所需的硬件資源及變量。
任務初始化函數(shù)的格式為:
XXX_Init(unsigned char task_id)
{
XXX_TaskID=task_id;
初始化任務運行所需的硬件資源及變量。
}
其中“XXX”表示任務的名稱。“XXX_TaskID”是用戶自己定義的變量,用于存儲任務的ID號。
2)建立任務:任務事件處理函數(shù)的建立
對模塊的各種外部變化操作系統(tǒng)以事件的方式來處理,不同的宏定義代表不同事件,比如:KEY_CHANGE為按鍵事件;ZD0_STATE_CHANGE為狀態(tài)變化事件;AF_INCOMING_MSG CMD表示接收到其他節(jié)點發(fā)送來的數(shù)據(jù),該事件為處理的重要事件。
任務事件處理函數(shù)原型為:uint16 Sample_ProcessEvent(uint8 task_id,uint16 events);形參task_id為任務ID號,events為事件代號。
3)添加任務
所有的任務添加都是在應用層App/OSAL_SampleApp.c中通過osalTaskAdd()函數(shù)添加一個OSAL任務,函數(shù)原型為:
void osalTask Add(const pTaskInitFn pfninit,
const pTaskEventHandlerFn pfnEventProcessor,
const byte taskPriority)
參數(shù)1:pfnInit(指向任務初始化函數(shù)的指針);
參數(shù)2:pfnEventProcessor(指向任務事件處理函數(shù)的指針);
參數(shù)3:taskPrioritv(任務優(yōu)先級)。
4.3 ZigBee通訊設(shè)置與組網(wǎng)
4.3.1 網(wǎng)絡(luò)通訊設(shè)置
在Tools/f8wConfig.cfg配置文件中定義了工程相關(guān)的網(wǎng)絡(luò)通訊設(shè)置。其中比較重要的是ZigBee通信相關(guān)的信道通道的設(shè)置和PAN ID的設(shè)置。用戶可以通過更改該文件中的相關(guān)宏定義,來控制ZigBee網(wǎng)絡(luò)的通道和PAN ID,以此來解決多個ZigBee網(wǎng)絡(luò)的沖突問題。信道是數(shù)據(jù)在物理層傳輸時使用的通道:PIN ID為ZigBee網(wǎng)絡(luò)的標識符,用來區(qū)別不同的網(wǎng)絡(luò)。
除此之外在啟動網(wǎng)絡(luò)前還需要修改模塊的物理地址。在ZigBee網(wǎng)絡(luò)中,無論是協(xié)調(diào)器還是路由器或終端節(jié)點,每個模塊都有自己唯一的64位物理地址。物理地址的修改有兩種方式,一種是通過Zmain/Zmain.c中的zmain_ext_addr()函數(shù)設(shè)置;另一種是使用Chipeon Flash Programmer軟件。默認地址0xff ff ff ff ff ff ff ff為無效的,除此之外都是有效的,且保證在網(wǎng)絡(luò)中的唯一性即可。
4.3.2 網(wǎng)絡(luò)組建
1)協(xié)調(diào)器格式化網(wǎng)絡(luò)
協(xié)調(diào)器將掃描DEFAULT_CHANLIST指定的通道,最后在其中之一上形成網(wǎng)絡(luò)。如果ZDAPP_CONFIG_PAN_ID被定義為0xFFFF,那么協(xié)調(diào)器將根據(jù)自身的IEEE地址建立一個隨機的PAN ID。如果ZDAPP_CONFIG_PAN_ID沒有被定義為0xFFFF,那么協(xié)調(diào)器建立網(wǎng)絡(luò)的PAN ID將由ZDAPP_CONFIG _PAN_ID指定,通常這個值介于0~0x3FFF。
2)路由器和終端設(shè)備加入網(wǎng)絡(luò)
路由器和終端設(shè)備啟動后,將掃描DEFAULT_CHANLIST指定的頻道。如果ZDAPP_CONFIG_PAN_ID沒有被定義為0xFFFF,則路由器或終端將強制加入ZDAPP_CONFIG_PAN_ID定義的網(wǎng)絡(luò)。反之隨機加入網(wǎng)絡(luò)。
4.4 數(shù)據(jù)傳輸
系統(tǒng)中涉及的數(shù)據(jù)傳輸方式有兩種:無線收發(fā)和串口收發(fā)。其中節(jié)點向協(xié)調(diào)器發(fā)送采集信息、協(xié)調(diào)器向控制節(jié)點發(fā)送控制信息是通過無線收發(fā)的;協(xié)調(diào)器將采集信息傳送給網(wǎng)關(guān)、網(wǎng)關(guān)向協(xié)調(diào)器發(fā)送控制命令是通過串口收發(fā)的。
4.4.1 無線數(shù)據(jù)收發(fā)
1)無線發(fā)送 系統(tǒng)中采用短地址方式發(fā)送數(shù)據(jù),數(shù)據(jù)以幀格式傳輸。在發(fā)送前按照協(xié)議規(guī)定的幀形式構(gòu)建數(shù)據(jù)幀,然后調(diào)用無線發(fā)送函數(shù)。函數(shù)原型為:uint8 SendData(uint8*buf,uint16 addr,uint8 Leng);buf為發(fā)送數(shù)據(jù)指針;addr為目的地址;Leng發(fā)送數(shù)據(jù)長度。
2)無線接收 對于無線接收并沒有像發(fā)送一樣單獨的處理函數(shù),而是在任務處理函數(shù)中通過處理無線接收數(shù)據(jù)事件來完成處理的,具體函數(shù)如下:
h.JPG
其中AF_INCOMING_MSG_CMD為無線接收事件宏定義,SampleApp_MessageMSGCB()函數(shù)則為具體接收事件的處理函數(shù)。
4.4.2 串口數(shù)據(jù)收發(fā)
系統(tǒng)中所用的串口為無線芯片CC2430自帶資源,通過自定義串口收發(fā)函數(shù)來使用該資源,從而網(wǎng)關(guān)與協(xié)調(diào)器節(jié)點數(shù)據(jù)傳輸。
串口發(fā)送函數(shù)原型為:
void UartTX_Send_String(char*Data,int len);
串口接收函數(shù)原型為:
char UartRX_Receive_Char(void);

5 結(jié)束語
隨著物聯(lián)網(wǎng)概念的普及,ZigBee的無線器網(wǎng)絡(luò)技術(shù)得到越來越廣泛的應用。文中將ZigBee網(wǎng)絡(luò)技術(shù)應用于中,介紹了系統(tǒng)總體架構(gòu),無線傳感器網(wǎng)絡(luò)部分的軟、硬件及實現(xiàn)過程,重點介紹了無線網(wǎng)絡(luò)的構(gòu)建與數(shù)據(jù)傳輸。整個系統(tǒng)能實時、準確地測量并顯示內(nèi)各點的數(shù)據(jù)信息,使管理者能夠及時了解機器工作,從而及時、有效地采取措施。如果更換采集節(jié)點的傳感器,該可以應用于不同的場合,可見無線傳感器網(wǎng)絡(luò)技術(shù)具有廣闊的應用前景。

本文引用地址:http://www.butianyuan.cn/article/160069.htm

波段開關(guān)相關(guān)文章:波段開關(guān)原理


電流變送器相關(guān)文章:電流變送器原理

上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉