無線傳感器網(wǎng)絡數(shù)據(jù)中轉器的設計
3.1 數(shù)據(jù)中轉器的工作流程
本文所討論的數(shù)據(jù)中轉器和無線傳感器都具備休眠功能,這樣可以有效的降低系統(tǒng)功耗。無線傳感器平時處于休眠狀態(tài),當需要采集數(shù)據(jù)和上傳數(shù)據(jù)時,再自動醒來聯(lián)網(wǎng)并喚醒數(shù)據(jù)中轉器。數(shù)據(jù)中轉器被喚醒后,便可接收無線傳感器網(wǎng)絡的上傳數(shù)據(jù),并存儲在SD卡中,然后判斷無線傳感器網(wǎng)絡上傳數(shù)據(jù)次數(shù)N(N的初始值為0),如果N小于10,數(shù)據(jù)中轉器將通知無線傳感器休眠,同時自己也進入休眠狀態(tài)。如果N等于10,數(shù)據(jù)中轉器將啟動GPRS模塊,再將SD卡內(nèi)的大量數(shù)據(jù)上傳給上位機,在供用戶存儲顯示使用之后,上位機將下達新的數(shù)據(jù)采集控制命令,以控制無線傳感器采集數(shù)據(jù)的類型、數(shù)據(jù)采集間隔、數(shù)據(jù)上傳間隔、網(wǎng)絡數(shù)據(jù)上傳的類型等給數(shù)據(jù)中轉器,數(shù)據(jù)中轉器將新的數(shù)據(jù)采集控制命令轉達給尢線傳感器后便進入休眠狀態(tài),無線傳感器在更新采集參數(shù)后,也進入休眠狀態(tài)。整個無線傳感器網(wǎng)絡數(shù)據(jù)采集系統(tǒng)就這樣周而復始的工作,圖3所示為其系統(tǒng)軟件工作流程圖。本文引用地址:http://2s4d.com/article/161036.htm
3.2 數(shù)據(jù)通信協(xié)議
無線傳感器網(wǎng)絡數(shù)據(jù)采集系統(tǒng)中各個模塊之間的通信需要制定明確的數(shù)據(jù)通信協(xié)議。數(shù)據(jù)通信協(xié)議可以保證數(shù)據(jù)安全正確的收發(fā),便于系統(tǒng)中各個模塊對數(shù)據(jù)的接收、解析和存儲管理。該系統(tǒng)通信協(xié)議的數(shù)據(jù)幀格式如表1所列。
表1中:SOP為起始標志符,可用一個字節(jié)來表示數(shù)據(jù)幀的起始,將這個字節(jié)定義為0x7E;CMD表示命令ID,用一個字節(jié)的數(shù)據(jù)來標識命令消息;LEN表示DATA的長度.也用一個字節(jié)來指示DATA位的數(shù)據(jù)長度;DATA為具體要發(fā)送的數(shù)據(jù);FCS是校驗位,這里的校驗使用異或校驗來校驗CMD、LEN、DATA中的所有數(shù)據(jù);STOP為結束標志符,用一個字節(jié)來表示數(shù)據(jù)幀的結束,一般將這個字節(jié)定義為0xAA。
當無線傳感器網(wǎng)絡數(shù)據(jù)采集系統(tǒng)的各個模塊接收到數(shù)據(jù)后,都是通過判別CMD來對數(shù)據(jù)幀的類型進行解析。數(shù)據(jù)幀的CMD有如下五種類型:其中,0X02為無線傳感器向數(shù)據(jù)中轉器上傳采集數(shù)據(jù)的命令;0X03為數(shù)據(jù)中轉器告知無線傳感器休眠的命令;0X04為數(shù)據(jù)中轉器向上位機服務器上傳采集數(shù)據(jù)的命令;0X05為上位機服務器向數(shù)據(jù)中轉器下達數(shù)據(jù)采集控制的命令;0X06為數(shù)據(jù)中轉器向無線傳感器轉達數(shù)據(jù)采集控制的命令。
系統(tǒng)中各個模塊之間按以上制定的數(shù)據(jù)幀格式進行通信,可以極大地排除雜亂信號的干擾,簡化系的軟件設計,從而達到數(shù)據(jù)傳輸?shù)陌踩院涂煽啃浴?br />3.3 基于AT指令的GPRS通信
GPRS模塊SIM300C作為一個功能獨立而且完善的模塊,可以通過外接SIM手機卡實現(xiàn)與遠端上位機的連接和通信,ARM芯片LPC2148則利用AT指令以GPRS流量的方式發(fā)送數(shù)據(jù)給上位機。ARM發(fā)送的AT指令都是以字節(jié)為單位,回車符代表指令的結束,模塊接收到回車符后開始執(zhí)行指令。模塊執(zhí)行指令后的一切返回值(無論是指令執(zhí)行后的OK,還是ERROR)都是以不可打印字符“0D0A”開始和結束。LPC2148與GPRS模塊之間可通過UART1通信。本系統(tǒng)使用表2所列指令來實現(xiàn)與遠程上位機服務器的數(shù)據(jù)傳輸。
表2中第一條AT指令可使得GPRS模塊附著到GPRS網(wǎng)絡;第二條AT指令為GPRS模塊聯(lián)網(wǎng)而設置的上下文環(huán)境;第三條AT指令用于激活GPRS網(wǎng)絡的上下文環(huán)境,并獲取網(wǎng)絡IP;第四條AT指令用于建立TCP連接。由于本設計中的數(shù)據(jù)中轉器需與遠程上位機相互通信,因而必須建立TCP連接,這樣,首先GPRS模塊會返同一個對此條指令認可的確認消息“OK”,之后,如若TCP網(wǎng)絡連接建立成功則會返回“CONNECT OK\r”,表示物理通道已經(jīng)成功建立,之后便可調(diào)用最后一條指令與遠端上位機進行數(shù)據(jù)通信。
4 結語
無線傳感器網(wǎng)絡數(shù)據(jù)中轉器在很大程度上可以解決無線傳感器網(wǎng)絡與上位機服務器之間的遠程通信問題,并能有效地降低整個系統(tǒng)的功耗。經(jīng)過試驗表明,上述設計方案具有穩(wěn)定可靠,數(shù)據(jù)傳輸準確等優(yōu)點,能夠滿足無線傳感器網(wǎng)絡數(shù)據(jù)采集系統(tǒng)在長期無人值守的情況下監(jiān)測某一區(qū)域環(huán)境信息的要求。
評論