一種基于ZigBee協(xié)議的動(dòng)態(tài)數據采集系統的實(shí)現
1.4 節點(diǎn)軟件
在此節點(diǎn)采用目前應用最廣泛的TinyOs嵌入式網(wǎng)絡(luò )操作系統。TinyOS的程序采用模塊化設計,程序核心都很小,一般來(lái)說(shuō)核心代碼和數據在400 B左右。TinyOS的組件有4個(gè)相互關(guān)聯(lián)的部分:1組命令處理程序句柄、1組事件處理程序句柄、1個(gè)經(jīng)過(guò)封裝的私有數據幀和一組簡(jiǎn)單任務(wù)。任務(wù)、命令和事件處理程序在幀的上下文中執行并切換幀的狀態(tài)。為了易于實(shí)現模塊化,每個(gè)組件還聲明了自己使用的接口及其要用信號通知的事件,這些聲明將用于組件的相互連接。如圖4所示為一個(gè)支持多跳無(wú)線(xiàn)通信的組件集合與這些組件之間的關(guān)系,上層組件對下層組件發(fā)命令,下層組件對上層組件發(fā)信號通知事件的發(fā)生,最低層的組件直接和硬件打交道。

2 系統軟件測試
在軟件系統設計上,移植無(wú)線(xiàn)傳感器專(zhuān)門(mén)的嵌入式操作系統TinyOS到MSP430微處理器,使用nesC語(yǔ)言編寫(xiě)應用程序。系統以溫度作為采集變量,建立了一個(gè)具有采集溫度數據、預處理、打包無(wú)線(xiàn)傳輸功能的動(dòng)態(tài)數據采集系統終端節點(diǎn)的設計。
在驗證應用程序代碼時(shí),因使用熱敏電阻調試麻煩,選用精密可調電阻代替熱敏電阻,如圖5所示,電阻值容易控制和調整,使結果具有更大可觀(guān)察性。

如上圖所示,采集的模擬信號量是電阻R110兩端的電壓值,為了觀(guān)察的方便,在測試程序中對數據進(jìn)行標度變換等初步處理,使得在PC上顯示的數據信息直觀(guān)地表示為R110兩端的電壓值。由于精密電阻值最大為10 kΩ,R110=10 kΩ。Vcc=3.1 V,AD參考電平為2.5 V,使得R110兩端電壓只能在1.5~2.5 V之間測量,選擇的測量范圍為1.6~2.4 V。
只要知道當前可調電阻R_adj的電阻值,如下公式所示就可以得到ADC5的電壓值:
VADC5=Vccin[10 kΩ/(10 kΩ+R_adj)] (1)
由于終端設計是采用無(wú)線(xiàn)模塊發(fā)送的,PC必須通過(guò)網(wǎng)關(guān)才能得到PC顯示結果(PC上可以觀(guān)察范圍為1.5~2.5 V)。在終端機上,同樣用3個(gè)LED來(lái)表示電壓量的變化,選擇參考電平為1.6 V為參考零點(diǎn),變化時(shí)LED顯示變化一次。如表1所示,需要注意的是只有測量值在1.6~2.4V之間LED指示值才正確。

在無(wú)線(xiàn)模塊數據信息的發(fā)送中,設定每隔1 000 ms發(fā)送一次。因此每過(guò)1 000 ms,串口收發(fā)指示燈將指示一次,同時(shí)在PC上更新一次數據信息。
評論