關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于無線傳感網絡的智能機房環境監控系統的設計與實現

        基于無線傳感網絡的智能機房環境監控系統的設計與實現

        作者: 時間:2012-08-22 來源:網絡 收藏

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

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

        本文引用地址:http://www.104case.com/article/160069.htm

        波段開關相關文章:波段開關原理


        電流變送器相關文章:電流變送器原理

        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 曲松县| 昌都县| 海林市| 湖南省| 南郑县| 兴文县| 罗城| 乃东县| 五寨县| 临清市| 德钦县| 张家川| 林甸县| 惠安县| 禹城市| 大竹县| 神农架林区| 古蔺县| 桃江县| 大新县| 于都县| 福州市| 涞源县| 开远市| 苍南县| 房山区| 富顺县| 朝阳区| 东安县| 句容市| 那坡县| 苏尼特左旗| 舟山市| 始兴县| 黑山县| 丰都县| 类乌齐县| 辽中县| 五大连池市| 舒兰市| 章丘市|