王園園, 張娜
(商洛學(xué)院 電子信息與電氣工程學(xué)院, 商洛 726000)
我國禽畜養(yǎng)殖數(shù)量居于世界前列,但市場競爭力較弱,我國的養(yǎng)殖業(yè)正向規(guī)?;蜆?biāo)準(zhǔn)化轉(zhuǎn)變。影響?zhàn)B殖業(yè)的因素有很多,其中環(huán)境因素比重高達(dá)30%,環(huán)境因素包括溫度、濕度、光照、氨氣濃度、二氧化碳濃度等,環(huán)境因素的不穩(wěn)定嚴(yán)重影響動物的生長、發(fā)育以及疫病。如果單純依靠傳統(tǒng)人力檢測環(huán)境,無法達(dá)到規(guī)?;酿B(yǎng)殖目的[1、2]。利用物聯(lián)網(wǎng)的概念,利用傳感器自動采集養(yǎng)殖場的環(huán)境參數(shù),并設(shè)置上位機(jī)通過遠(yuǎn)程軟件檢測控制養(yǎng)殖場環(huán)境,設(shè)計(jì)相關(guān)指標(biāo)進(jìn)行養(yǎng)殖場環(huán)境控制,可以很好的解決這一問題。
整個系統(tǒng)包括系統(tǒng)包括網(wǎng)絡(luò)用戶界面、計(jì)算機(jī)上位機(jī)控制界面和硬件系統(tǒng)。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
硬件部分包括環(huán)境參數(shù)采集和繼電器控制兩個模塊,其中環(huán)境參數(shù)采集部分,參考《中國農(nóng)牧家禽行業(yè)智慧養(yǎng)殖白皮書》,選擇對養(yǎng)殖環(huán)境影響最大的溫濕度、二氧化碳濃度、氨氣濃度、光照強(qiáng)度等參數(shù),為控制糞便清理裝置,另對糞便進(jìn)行稱重。采集的結(jié)果通過串口通信傳輸給計(jì)算機(jī),計(jì)算機(jī)中利用LabVIEW程序設(shè)計(jì)上位機(jī)進(jìn)行環(huán)境參數(shù)的讀取并進(jìn)行顯示,根據(jù)飼養(yǎng)環(huán)境的要求設(shè)置參數(shù),設(shè)置報警系統(tǒng),當(dāng)環(huán)境參數(shù)超過預(yù)先設(shè)定的范圍時,通過串口給單片機(jī)傳遞信息,進(jìn)而控制繼電器來打開相應(yīng)的執(zhí)行機(jī)構(gòu)(日光燈、風(fēng)機(jī)、遮光簾、噴淋器、處分裝置等),來進(jìn)行相應(yīng)的參數(shù)的補(bǔ)償,直到該參數(shù)恢復(fù)到規(guī)定的范圍內(nèi),則停止該執(zhí)行機(jī)構(gòu)的運(yùn)行。

圖1 系統(tǒng)結(jié)構(gòu)框圖
通過LabVIEW的WEB發(fā)布工具將上位機(jī)程序進(jìn)行網(wǎng)絡(luò)發(fā)布,用戶可以通過網(wǎng)絡(luò)登錄用戶登錄界面,實(shí)現(xiàn)遠(yuǎn)距離的飼養(yǎng)環(huán)境監(jiān)控。
系統(tǒng)硬件部分以單片機(jī)為核心,實(shí)現(xiàn)對養(yǎng)殖設(shè)備的控制。系統(tǒng)硬件部分由數(shù)據(jù)采集模塊、自動控制系統(tǒng)和通信接口三部分組成。其中數(shù)據(jù)采集模塊能進(jìn)行養(yǎng)殖場內(nèi)溫濕度、氨氣、二氧化碳濃度的采集,采集的結(jié)果傳輸給控制模塊,控制模塊進(jìn)行數(shù)據(jù)變換后通過通信模塊傳輸給計(jì)算機(jī)。計(jì)算機(jī)中上位機(jī)進(jìn)行數(shù)據(jù)分析后返回控制信息給單片機(jī),單片機(jī)控制繼電器進(jìn)行養(yǎng)殖場環(huán)境的自動調(diào)節(jié)(加熱器、排氣扇、噴水設(shè)備等),為動物提供良好的生活環(huán)境。硬件部分設(shè)置了控制鍵盤和報警系統(tǒng),控制鍵盤可在脫離上位機(jī)的情況下進(jìn)行參數(shù)設(shè)置,報警系統(tǒng)課在加熱器、通風(fēng)窗等設(shè)備失效時進(jìn)行報警。硬件電路結(jié)構(gòu)圖如圖2所示。

圖2 硬件電路結(jié)構(gòu)圖
在單片機(jī)程序設(shè)計(jì)中關(guān)于硬件系統(tǒng)與計(jì)算機(jī)的通信部分,采用系采用主機(jī)查詢方式,符合標(biāo)準(zhǔn) MODBUS 協(xié)議(RTU 方式),變送器應(yīng)答的主從方式查詢,字節(jié)格式 8 位數(shù)據(jù)位,無校驗(yàn),1 位停止位,波特率9 600。例將溫度值設(shè)置對地址位 01(對應(yīng)變送器 7 位撥碼開為0000001)的變送器直接查詢,在串口調(diào)試程序中進(jìn)行如上通訊設(shè)置后輸入:010300000002C40B即可。
LabVIEW利用圖像化編程語言,在控制界面設(shè)計(jì)等方面應(yīng)用廣泛。系統(tǒng)通過LabVIEW軟件將實(shí)際養(yǎng)殖環(huán)境與網(wǎng)絡(luò)進(jìn)行連接。系統(tǒng)通信部分利用VISA進(jìn)行數(shù)據(jù)采集時[3-4]。先對串口參數(shù)進(jìn)行初始化設(shè)置,并進(jìn)行與下位機(jī)的通信程序的加載,因計(jì)算機(jī)與變送器進(jìn)行的是交互式通信,故向串口寫入數(shù)據(jù),通過延遲程序等待變送器的數(shù)據(jù)應(yīng)答,讀取數(shù)據(jù),為實(shí)現(xiàn)數(shù)據(jù)的實(shí)時采集,設(shè)置while循環(huán),循環(huán)結(jié)束后停止數(shù)據(jù)采集。軟件平臺主要實(shí)現(xiàn)環(huán)境參數(shù)采集、參控控制調(diào)節(jié)等功能。
以溫濕度采集控制為例,打開溫度采集按鈕,根據(jù)實(shí)際情況通過面板中的控制旋鈕設(shè)置溫度的最高限和最低限,開始采集溫度,前面板顯示溫度實(shí)時曲線,并在超出警告范圍時,進(jìn)行報警,并通過串口給單片機(jī)發(fā)送信息進(jìn)行溫度控制。變送器按照命令返回的數(shù)據(jù)是字符串格式,如果采集到的字符串為:01030400730311C40B,則溫濕度的有效數(shù)據(jù)為:0073。本程序采用提取字符串函數(shù),提取從第三字節(jié)開始長度為兩個字節(jié)的子字符串。將其轉(zhuǎn)化為十進(jìn)制數(shù)組,再從數(shù)組中提取溫度數(shù)據(jù):115,對其進(jìn)行處理轉(zhuǎn)換為溫度數(shù)據(jù):11.5。溫濕度信號采集后面板如圖3所示。
養(yǎng)殖檢測系統(tǒng)前面板如圖4所示。

圖3 溫濕度檢測程序

智能養(yǎng)殖監(jiān)控界面是基于軟件平臺搭建的,因此,從網(wǎng)上登錄監(jiān)控界面是通過Internet登錄相關(guān)服務(wù)器,從而對軟件平臺的調(diào)用。傳統(tǒng)方式使在辦公室和養(yǎng)殖場的電腦上各寫一個程序,通過TPC/IP等協(xié)議在兩臺電腦上傳遞數(shù)據(jù)。開發(fā)這樣的程序使比較繁瑣的。LabVIEW提供了非常的簡便的方式,可以輕松控制遠(yuǎn)程計(jì)算機(jī)上的程序。常用的由遠(yuǎn)程前面板和WEB發(fā)布[5]。遠(yuǎn)程前面板要求服務(wù)器和客戶端都必須安裝相同版本的LabVIEW開發(fā)軟件,而WEB發(fā)布功能可以讓一臺計(jì)算機(jī)像瀏覽網(wǎng)頁一樣查看和控制運(yùn)行在另一臺計(jì)算機(jī)上的VI。
首先在服務(wù)器上,選擇LabVIEW“工具→WEB發(fā)布工具”菜單項(xiàng),在彈出的“WEB發(fā)布工具”的配置對話框上選取需要發(fā)布的VI,并啟動WEB服務(wù)器,然后按照提示生成一個WEB發(fā)布的VI,LabVIEW為這個VI生成一個html文件,放置在WEB服務(wù)器的根目錄下[6-7]。只要網(wǎng)絡(luò)上的其他計(jì)算機(jī)打開網(wǎng)頁瀏覽器,輸入作為WEB服務(wù)器的計(jì)算機(jī)名或IP地址即可進(jìn)行訪問。WEB服務(wù)提供出來的功能使運(yùn)行在服務(wù)器上的,在使用WEB服務(wù)時,客戶機(jī)把需要調(diào)用的功能,所需要的參數(shù)傳遞給服務(wù)器,服務(wù)器對其進(jìn)行處理后把運(yùn)行功能得到的結(jié)果再返回給客戶機(jī)。
測試結(jié)果表明,可通過Web瀏覽器鏈接到LabVIEW應(yīng)用程序,實(shí)現(xiàn)PC與單片機(jī)控制板之間便捷的串口通訊,在網(wǎng)頁上對單片機(jī)控制板所模擬的養(yǎng)殖設(shè)備進(jìn)行遠(yuǎn)程的監(jiān)測和控制。該系統(tǒng)同樣適用于其他需進(jìn)行環(huán)境檢測的系統(tǒng)。