熊強(qiáng)強(qiáng),齊志藝,曾美琳2,
(1.南昌理工學(xué)院,江西 南昌 330044;2.江西工業(yè)貿(mào)易職業(yè)技術(shù)學(xué)院,江西南昌 330038;3.南昌蛋訊電子科技有限公司,江西南昌 330029)
我國科學(xué)技術(shù)水平持續(xù)提升,傳統(tǒng)農(nóng)業(yè)應(yīng)當(dāng)積極引入科技實(shí)現(xiàn)智慧農(nóng)業(yè)改革,尤其是養(yǎng)殖業(yè),正處于重要改革和發(fā)展時(shí)期。原本不超過千頭的奶牛和肉牛養(yǎng)殖場是以粗放經(jīng)營模式為主,具有信息技術(shù)水平低和管理水平滯后等問題,導(dǎo)致無法顯著提升飼養(yǎng)效果,同時(shí)也難以控制較高的人工成本。對此,基于云計(jì)算、大數(shù)據(jù)和物聯(lián)網(wǎng)等技術(shù),完成以LoRa無線傳感網(wǎng)絡(luò)為基礎(chǔ)的群養(yǎng)奶牛個(gè)體信息監(jiān)控系統(tǒng)的研發(fā)與實(shí)現(xiàn),使中小規(guī)模奶牛養(yǎng)殖場的奶牛管理信息化水平得以提升。
系統(tǒng)運(yùn)行之后,首先利用RFID 電子耳標(biāo)辨別奶牛身份[1-3],然后對奶牛的體溫、心率以及運(yùn)動狀態(tài)信息進(jìn)行采集,接著利用LoRa 無線傳感網(wǎng)絡(luò)向匯聚節(jié)點(diǎn)傳輸這些個(gè)體信息,匯聚節(jié)點(diǎn)成功接收信息后對其進(jìn)行分析和處理,再打包成數(shù)據(jù)幀,利用LoRa 無線傳感網(wǎng)絡(luò)向后端監(jiān)控平臺傳遞,從而利用PC 端監(jiān)控群養(yǎng)奶牛個(gè)體信息,而移動終端可以根據(jù)需要拍照或者錄像,并與后端監(jiān)控平臺實(shí)時(shí)交互信息,使奶牛個(gè)體信息得以共享。系統(tǒng)工作原理圖如圖1所示。
圖1 系統(tǒng)工作原理圖
硬件設(shè)計(jì)具體包括移動終端、服務(wù)器端、監(jiān)控端、匯聚節(jié)點(diǎn)以及監(jiān)測節(jié)點(diǎn)。監(jiān)測節(jié)點(diǎn)包含三個(gè)傳感器,分別用于監(jiān)測奶牛體溫、心率血氧以及運(yùn)動狀態(tài),RFID 電子耳標(biāo)用于辨別奶牛身份[4-5]。
動物健康情況可通過體溫改變來體現(xiàn),就如同人類一樣,低燒高燒就表示身體健康存在異常,養(yǎng)殖奶牛時(shí)對于體溫的監(jiān)測也非常重要。MXL90615 傳感器被用來完成體溫的監(jiān)測,其主要優(yōu)勢為精度高,測得的最高溫與最低溫之差高達(dá)155 ℃,正常運(yùn)轉(zhuǎn)過程中最高溫與最低溫之差是125 ℃,并且具有功耗低、尺寸小和成本低的特征;且響應(yīng)速度快,動態(tài)測量奶牛運(yùn)動時(shí)信息更為便捷。紅外信號通過MXL90615向電信號轉(zhuǎn)變,然后進(jìn)行放大和處理,并保存最終運(yùn)算結(jié)果。
中小型奶牛養(yǎng)殖場空間有限,奶??偭恳膊荒芴?,否則每一頭奶?;顒臃秶矔芟蓿虼四膛_\(yùn)動行為都有相應(yīng)的規(guī)律。奶牛運(yùn)動行為能夠反映其健康狀態(tài),將運(yùn)動傳感器安裝到奶牛的頸部,對其運(yùn)動行為監(jiān)測并獲取圖像,利用去除偽跡算法處理圖像,獲取奶牛的側(cè)臥、走動和采食等行為。監(jiān)測奶牛全天運(yùn)動行為,通過算法比較所有圖像,獲取奶牛運(yùn)動位移,進(jìn)而對加速度等進(jìn)行計(jì)算,最后根據(jù)奶牛運(yùn)動量對奶牛健康狀態(tài)進(jìn)行判斷。該研發(fā)系統(tǒng)中測量運(yùn)動的傳感器選用的是LIS2DH,可實(shí)現(xiàn)三軸加速度的測量,低功耗情況下電流只有2 μA,輸出頻率范圍在1 Hz~5.3 kHz,加速度量程為±2g、±4g、±8g、±16g。該傳感器的可編程中斷共兩個(gè),低功耗狀態(tài)下能夠?qū)\(yùn)動加速度進(jìn)行檢測,并對運(yùn)動狀態(tài)進(jìn)行研究,并使中斷喚醒得以實(shí)現(xiàn),從而實(shí)現(xiàn)奶牛運(yùn)動數(shù)據(jù)的傳輸。
奶牛體征參數(shù)中心率是非常重要的,一般為70~80次/分(犢牛),40~60次/分(2歲牛),60~80次/分(成年奶牛),30~60 次/分(成年公牛)的心率脈搏指標(biāo)是正常的。如圖2 所示為此模塊電路原理示意圖,光電傳感器是其最主要的器件,監(jiān)測到奶牛脈搏信號后將其轉(zhuǎn)變成光信號,再將其轉(zhuǎn)變?yōu)殡娦盘?。奶牛體內(nèi)血管血流量會隨著心臟跳動而發(fā)生改變,探測器接收光強(qiáng)受到血流量改變的影響,由此能夠測量出心率值。此模塊對奶牛心率信號采集是通過MAX30100 傳感器來實(shí)現(xiàn)的[6-9]。
圖2 心率信號采集電路
RFID 電子耳標(biāo)負(fù)責(zé)對奶牛體重、年齡和編號等信息進(jìn)行辨別。RFID 器件作為電子耳標(biāo)的核心元件,其電子讀寫器選擇R200 模塊,該模塊工作頻率在840~960 MHz 范圍內(nèi)可調(diào),讀寫距離最大能夠達(dá)到20 m,主要優(yōu)勢在于距離遠(yuǎn)、尺寸小和功耗低,很好地滿足體積小和成本低的要求。
匯聚節(jié)點(diǎn)硬件由STM32F103ZET6 微控制器、LoRa 數(shù)傳電路等構(gòu)成。每隔5 ms 喚醒監(jiān)測節(jié)點(diǎn),同時(shí)打包采集的數(shù)據(jù)利用LoRa 傳輸?shù)絽R聚節(jié)點(diǎn),成功接收之后對數(shù)據(jù)進(jìn)行監(jiān)測,再利用LoRa 數(shù)傳向STM32 微控制器傳輸,完成解析再與上位機(jī)進(jìn)行通信,完成數(shù)據(jù)幀打包,利用LoRa 數(shù)傳連接上位機(jī)。選擇由安信可新推出的LoRa 模塊Ra-02 作為核心模塊,如圖3 所示為LoRa 通信模塊實(shí)物圖[10-13]。
圖3 LoRa通信模塊實(shí)物圖
主程序流程圖如圖4 所示。系統(tǒng)首先進(jìn)行初始化,為系統(tǒng)運(yùn)行提供保證,接下來利用RFID 電子耳標(biāo)辨別奶牛個(gè)體信息,以保證奶牛參數(shù)的正確,然后利用相應(yīng)的傳感器對奶牛的運(yùn)動狀態(tài)、血氧、體溫以及心率等數(shù)據(jù)進(jìn)行采集,再通過LoRa 無線傳感網(wǎng)絡(luò)傳輸至匯聚節(jié)點(diǎn),匯聚節(jié)點(diǎn)獲取信息之后,完成相應(yīng)的處理,具體包括分類、篩選以及壓縮等,打包后向監(jiān)控服務(wù)器傳遞。監(jiān)控端處理數(shù)據(jù)并顯示相應(yīng)數(shù)據(jù),以移動端需求為依據(jù),將相應(yīng)的數(shù)據(jù)發(fā)送給移動終端。
圖4 主程序流程圖
圖5 所示為LoRa 無線通信接收數(shù)據(jù)子程序流程圖。此程序運(yùn)行之后,首先完成接收模塊的初始化操作,接下來對接收方式進(jìn)行判定。若選擇單一接收模式,對接收通道前導(dǎo)碼不斷查詢,如果是需要的就對數(shù)據(jù)進(jìn)行接收。若選擇連續(xù)接收方式,則接收數(shù)據(jù)開始的判定條件:接收的前導(dǎo)碼長度與SX1278 芯片RegPreambleMsb 寄存器和RegPreambleLsb 寄存器設(shè)置的前導(dǎo)碼長度相同[14-15]。
圖5 LoRa無線通信接收數(shù)據(jù)子程序
圖6 所示為LoRa 無線通信發(fā)送數(shù)據(jù)子程序流程圖。該子程序運(yùn)行后首先進(jìn)行包括時(shí)鐘電路、Flash 閃存電路等的初始化配置,還必須配置載波頻率擴(kuò)頻因子、帶寬發(fā)送功率等通信參數(shù)。SX1278發(fā)送數(shù)據(jù)時(shí),首先,需要把奶牛的數(shù)據(jù)信息寫入到SX1278 的FIFO 中;然后,設(shè)置RegOpMode 寄存器,以便從休眠模式切換到發(fā)送模式;數(shù)據(jù)發(fā)送后,根據(jù)該芯片ReglrqFlags 寄存器的TxDone 位數(shù)值判斷數(shù)據(jù)發(fā)送是否成功。
圖6 LoRa無線通信發(fā)送數(shù)據(jù)子程序
群養(yǎng)奶牛監(jiān)測系統(tǒng)監(jiān)控臺軟件的作用是對采集個(gè)體信息數(shù)據(jù)進(jìn)行保存、查詢、處理、研究以及展示。上位機(jī)軟件通過Visual Studio 開發(fā)平臺來實(shí)現(xiàn)[16-20],軟件模塊開發(fā)是利用C#.Net 的窗體應(yīng)用程序來完成,上位機(jī)功能主要包括設(shè)備管理設(shè)定、人際交互頁面以及查詢保存數(shù)據(jù)等。圖7 所示為監(jiān)控臺軟件結(jié)構(gòu)圖。
圖7 監(jiān)控臺軟件
手機(jī)移動端監(jiān)控子程序流程圖如圖8 所示,程序開始運(yùn)行以后,首先通過輸入服務(wù)器的IP 和Port,判斷是否連接正確,如果正確連接則能夠順利顯示監(jiān)控到的視頻信息,相應(yīng)的操作也能夠?qū)崿F(xiàn),如果連接未成功則程序返回到最開始重新運(yùn)行,重新提示需要輸入正確的服務(wù)器IP 和Port。移動終端的監(jiān)控共分為照片瀏覽、視頻保存和照片保存三種操作,如果不需要同步觀看則退出即可。
圖8 手機(jī)移動端監(jiān)控子程序
系統(tǒng)核心電路板實(shí)物圖如圖9 所示,移動終端示意圖如圖10 所示。
圖9 系統(tǒng)核心電路板實(shí)物圖
圖10 移動終端示意圖
因通信功能為該系統(tǒng)的核心功能,為此設(shè)計(jì)兩個(gè)測試對系統(tǒng)通信效果進(jìn)行檢測,第一個(gè)測試是對后臺監(jiān)控端與監(jiān)測節(jié)點(diǎn)數(shù)據(jù)通信狀況進(jìn)行測試,測試環(huán)境包括檢測節(jié)點(diǎn)600 個(gè),后臺監(jiān)控主機(jī)一臺。測試過程:首先,通過波特率為9 600 bit/s 串口將測試數(shù)據(jù)發(fā)送至監(jiān)測節(jié)點(diǎn),然后,監(jiān)測節(jié)點(diǎn)利用LoRa 無線傳感網(wǎng)絡(luò)(無線收發(fā)模塊射頻中心的頻率和發(fā)射功率分別為470 MHz 和20 dBm)將這些數(shù)據(jù)發(fā)送至后臺監(jiān)控主機(jī)。最終,通過后臺監(jiān)控主機(jī)上接收到的數(shù)據(jù)情況,來測試監(jiān)測節(jié)點(diǎn)與后臺監(jiān)控端傳輸距離與丟包率之間的關(guān)系。測試過程中,每次發(fā)送數(shù)據(jù)包的數(shù)量都會是100 個(gè)。表1 所示為對應(yīng)的測試結(jié)果。
表1 監(jiān)控節(jié)點(diǎn)至后臺監(jiān)控端通信效果
由表1 中數(shù)據(jù)可知,傳輸距離越大丟包量就越多。傳輸距離不超過2.5 km 的情況下,數(shù)據(jù)丟包率低于15%。
表2 為測試2,是對移動終端與后臺監(jiān)控端通信性能進(jìn)行檢測。具體測試為利用手機(jī)移動終端查看后臺監(jiān)控端所提供的奶牛的視頻圖像。
表2 移動終端至監(jiān)控端通信效果
根據(jù)表2 可知,當(dāng)對30 頭奶牛的信息數(shù)據(jù)同步檢測與查看時(shí),手機(jī)終端丟包率達(dá)到8.6%~10.3%,且在查看視頻過程中,出現(xiàn)卡頓情況較為嚴(yán)重。
群養(yǎng)奶牛個(gè)體信息監(jiān)測系統(tǒng)應(yīng)用了LoRa 無線通信技術(shù),該技術(shù)可實(shí)現(xiàn)后臺端和監(jiān)測節(jié)點(diǎn)以及移動終端之間的數(shù)據(jù)通信,確保全方位的監(jiān)測群養(yǎng)奶牛的個(gè)體健康情況。系統(tǒng)能夠穩(wěn)定運(yùn)行,數(shù)據(jù)的遠(yuǎn)距離傳輸也得以實(shí)現(xiàn),同時(shí)具有功耗小的優(yōu)勢,并且組網(wǎng)也非常簡單和方便。然而該系統(tǒng)也存在一些不足,如移動終端同時(shí)監(jiān)測多頭奶牛的情況下,會導(dǎo)致移動終端對視頻的瀏覽等功能帶來較為明顯的干擾,同時(shí),整套系統(tǒng)的價(jià)格優(yōu)勢相對來說并不是非常突出,未來對于以上問題和不足還會不斷改進(jìn),同時(shí)也會不斷完善其他功能。