基于無線傳感器網(wǎng)絡(luò)的智能灌溉系統(tǒng)研究
上位PC機作為控制中心必須具備網(wǎng)絡(luò)喚醒、數(shù)據(jù)處理、路由維護(hù)功能。C++Builder、Delphi和微軟的Visual Basic都是可選的快速開發(fā)工具。上層軟件功能由Delphi實現(xiàn),考慮到點對點通信的可靠性,數(shù)據(jù)在底層無線傳輸中需要增加必要的協(xié)議規(guī)范。設(shè)計中對有效數(shù)據(jù)進(jìn)行打包,格式為:前導(dǎo)碼、地址、有效數(shù)據(jù)載荷、校驗碼。
6.2.1 串口通信格式
上位機與模塊間的通信是通過異步串口來完成的。異步串口采用標(biāo)準(zhǔn)的串口格式,即1個起始位、8個數(shù)據(jù)位和1個停止位,傳輸速率為1 200 b/s。上位機與模塊間的通信內(nèi)容有兩類,一類是數(shù)據(jù),一類是命令。
6.2.2 數(shù)據(jù)及命令的區(qū)分
當(dāng)上位機向模塊傳送信息時,DTR端的功能是指示串口信息的性質(zhì)。若串口信息為命令,DTR端應(yīng)置為邏輯“0”,若串口信息為數(shù)據(jù),則DTR端應(yīng)置為邏輯“1”。
當(dāng)模塊向上位機傳送信息時,DSR端可用來指示串口信息的性質(zhì),若串口信息為命令,DSR端為邏輯“0”,若串口信息為數(shù)據(jù),DSR端為邏輯“1”。當(dāng)模塊串口無數(shù)據(jù)發(fā)出時,DSR端的功能可指示模塊是否可以接收上位機的信息,當(dāng)模塊準(zhǔn)備好,可以接收上位機的信息時,此端為邏輯“0”;當(dāng)模塊不能接收計算機的數(shù)據(jù)時,此端為邏輯“1”。
6.2.3 命令和數(shù)據(jù)傳送格式
SA68D21DL的命令傳送格式為:
D7H 命令碼H 參數(shù)H
其中,D7H為命令碼的特征碼,即字頭。命令碼為一字節(jié)長度,代表命令的性質(zhì)。不同的命令碼有不同的參數(shù),模塊在收到命令后,將根據(jù)命令碼的不同,分析參數(shù)并執(zhí)行命令。對于有些需要發(fā)送信令的命令,模塊將根據(jù)命令的性質(zhì)來發(fā)送相應(yīng)的信令。當(dāng)SA68D21DL在進(jìn)行數(shù)據(jù)傳送時,不論是上位機傳給模塊,還是模塊傳給上位機的數(shù)據(jù),都采用無格式傳送方式。
基于農(nóng)田實際工程,采用平面路由協(xié)議DD(Directed Diffusion)定向擴散路由是一種以數(shù)據(jù)為中心的信息傳播協(xié)議,與已有的路由算法有著截然不同的實現(xiàn)機制,運行DD的傳感器節(jié)點使用基于屬性的命名機制來描述數(shù)據(jù),并通過向所有節(jié)點發(fā)送對某個命名數(shù)據(jù)的INTEREST(任務(wù)描述符)來完成數(shù)據(jù)收集。在傳播INTEREST的過程中,指定范圍內(nèi)的節(jié)點利用緩存機制動態(tài)維護(hù)接收數(shù)據(jù)的屬性及指向信息源的梯度矢量等信息,同時激活傳感器來采集與該INTEREST相匹配的信息。節(jié)點對采集的信息進(jìn)行簡單的預(yù)處理后,利用本地化規(guī)則和加強算法建立一條到達(dá)目的節(jié)點的最佳路徑。
6.3 主控軟件程序設(shè)計
系統(tǒng)軟件采用分層設(shè)計,包括硬件設(shè)備驅(qū)動層、操作系統(tǒng)層、應(yīng)用程序接口層和應(yīng)用軟件層。軟件系統(tǒng)結(jié)構(gòu)如圖7所示。操作系統(tǒng)選擇小型的實時操作系統(tǒng)μC/OS-II是基于以下考慮:廣州致遠(yuǎn)公司MiniARM嵌入式工控模塊提供正版μC/OS-II實時操作系統(tǒng)在內(nèi)的豐富軟件資源,完整的軟硬件架構(gòu)只需專注于編寫產(chǎn)品的應(yīng)用程序。幾行代碼即可實現(xiàn)TCP/IP通信、CAN-BUS現(xiàn)場總線通信、USB通信和大容量存儲等復(fù)雜功能,使嵌入式系統(tǒng)設(shè)計更加簡潔方便。TCP/IP協(xié)議分為4層:鏈路層(ARP協(xié)議)、網(wǎng)絡(luò)層(IP協(xié)議、ICMP協(xié)議)、傳輸層(TCP協(xié)議、UDP協(xié)議)、應(yīng)用層(HTTP協(xié)議)。本系統(tǒng)的TCP/IP協(xié)議棧選擇UIP1.0。
7 結(jié)語
本文研究了基于嵌入式系統(tǒng)而設(shè)計出來的智能廣域農(nóng)田供水系統(tǒng),當(dāng)檢測到農(nóng)田缺水信息時能夠通過自動控制繼電器來啟動供水水泵,而且實現(xiàn)了遠(yuǎn)程GPRS通信,可以通過PC機來了解系統(tǒng)的運行狀況并可對其控制,能夠自動采集土壤信息來自行確定是否啟動水泵為農(nóng)田供水,這正符合我國農(nóng)村的基本國情。
本系統(tǒng)操作簡單,對系統(tǒng)改造一下,可以設(shè)計成庭院自動供水系統(tǒng)、溫室自動供水系統(tǒng)和花園自動供水系統(tǒng)等,故本系統(tǒng)的可擴展性比較好,前景比較廣闊。
評論