楊篤偉 邵 彧
(鄭州西亞斯學(xué)院,河南 鄭州 451100)
在農(nóng)業(yè)生產(chǎn)過程中,以圖像識(shí)別技術(shù)為基礎(chǔ)的農(nóng)作物監(jiān)測(cè)方法得到了廣泛應(yīng)用,利用分布式終端、飛行器和便攜式設(shè)備,對(duì)農(nóng)作物葉片、根系以及形狀色度等進(jìn)行拍照,然后將圖片等信息傳送給具有專家數(shù)據(jù)庫(kù)的服務(wù)器,利用神經(jīng)網(wǎng)絡(luò)、自適應(yīng)閾值等技術(shù)手段進(jìn)行處理,可以對(duì)各種農(nóng)作物的生長(zhǎng)情況和病蟲害進(jìn)行準(zhǔn)確監(jiān)測(cè)。作為第一手信息收集的終端設(shè)備,由于受地理環(huán)境、成本和研發(fā)周期等諸多因素的影響,如何能做到高效靈活就顯得尤為重要,近年來硬件上以ARM 架構(gòu)為核心擴(kuò)展各種外設(shè)接口,軟件系統(tǒng)加載Linux 操作系統(tǒng)內(nèi)核,成為嵌入式系統(tǒng)設(shè)計(jì)的主流,以這種模式研發(fā)便攜式農(nóng)作物監(jiān)測(cè)設(shè)備必將具有良好廣闊的應(yīng)用前景。
在設(shè)計(jì)農(nóng)作物病蟲害和生長(zhǎng)情況便攜式監(jiān)測(cè)設(shè)備中首先綜合考慮了以下因素:一是成像,圖像識(shí)別技術(shù)可以說是目前應(yīng)用最為廣泛、最為有效的農(nóng)作物監(jiān)測(cè)技術(shù),高清晰度無失真的圖像獲取極為關(guān)鍵;二是設(shè)備的可達(dá)性,隨著地理環(huán)境的不同和農(nóng)作物生長(zhǎng)情況的不同,成像時(shí)應(yīng)能方便圖像的獲取,所以可采用簡(jiǎn)易的具有伸縮能力的360°機(jī)械臂、無人機(jī)等裝置;三是地理位置獲取,便攜裝置往往會(huì)在一個(gè)較大地理區(qū)域獲得一段時(shí)區(qū)的農(nóng)作物信息,圖像信息疊加位置信息會(huì)為后期數(shù)據(jù)處理帶來便利;四是采集信息的傳輸,如果要對(duì)信息進(jìn)行綜合處理以達(dá)到最大化的監(jiān)控效果,后臺(tái)服務(wù)器是必不可少的,這就需要便攜式設(shè)備能將采集的信息方便快速地傳輸?shù)椒?wù)器;另外,關(guān)于土地墑情、環(huán)境溫濕度和研發(fā)費(fèi)用周期等因素也可以作為設(shè)計(jì)要素一并考慮。
基于以上考慮本設(shè)計(jì)采用基于ARM Cortex-A9 的Freescale 公 司ARM926EJ-S 內(nèi) 核 的 MCIMX28x,主 頻454MHz,軟件系統(tǒng)加載經(jīng)過裁剪的Linux2.6.35 內(nèi)核,基于視頻驅(qū)動(dòng)接口V4L2 實(shí)現(xiàn)中星微ZC30 攝像頭的本地視頻采集功能,采用瑞士u-blox 公司的GPS 模塊芯片實(shí)現(xiàn)串口位置信息采集,采用SIMCOM 公司推出的新一代GPRS SIM900A 模塊實(shí)現(xiàn)便攜式設(shè)備和服務(wù)器之間的信息無線傳輸,另外,還統(tǒng)一設(shè)置了觸摸屏、LED 燈狀態(tài)顯示和存儲(chǔ)器單元等模塊,系統(tǒng)總體框圖如圖所示。
圖一 圖像識(shí)別系統(tǒng)框圖
本便攜式設(shè)備設(shè)計(jì)以周立功EasyARM-i.MX280A 開發(fā)板和AP-283 擴(kuò)展板為基礎(chǔ)平臺(tái),根據(jù)任務(wù)需求裁剪其開源的原理圖模塊,在此基礎(chǔ)上制作PCB 板,完成硬件設(shè)備組裝和調(diào)試。
本設(shè)備采用 Freescale 基于 ARM9 內(nèi)核的i.MX28 為核心處理器,處理器主頻最高達(dá) 454MHz,其他資源包括DDR2 和NAND Flash 支持,并提供多路 UART、USB、10/100M 以太網(wǎng)接口和CMOS 攝像頭接口,集成顯示屏模塊和看門狗復(fù)位監(jiān)控電路,能很好滿足多種類型的數(shù)據(jù)實(shí)時(shí)采集。
本設(shè)備圖像采集采用中星微公司的ZC30 攝像頭,需要拍攝的農(nóng)作物畫面通過圖像傳感器轉(zhuǎn)換為模擬電信號(hào),然后通過內(nèi)部的A/D 電路轉(zhuǎn)換成數(shù)字信號(hào),并由專用的DSP 芯片進(jìn)行數(shù)字信號(hào)的進(jìn)一步加工和處理,通過USB接口傳送到主控單元進(jìn)行存儲(chǔ)和實(shí)時(shí)顯示,圖像采集速度和質(zhì)量都能很好滿足任務(wù)要求。
GPS 位置定位與時(shí)間信息的獲取采用瑞士u-blox 公司的NEO-6M 芯片模塊,體積小、性能優(yōu),自帶陶瓷天線及高增益LNA 芯片,搜星能力強(qiáng),該芯片使用串口與主控單元連接,數(shù)據(jù)幀采用GPS 標(biāo)準(zhǔn)的NMEA 0183 格式,波特率設(shè)置為9600bps。
本便攜式設(shè)備與后期處理服務(wù)器的信息傳輸可以采取多種方式,考慮到高速分組數(shù)據(jù)的網(wǎng)絡(luò)傳輸,選擇采用GPRS 通訊模式,電路選用的GPRS 模塊為SIMCom 公司的SIM800,其有多個(gè)工作頻段,特別適用于物聯(lián)網(wǎng)無線數(shù)據(jù)通訊。當(dāng)模塊上電啟動(dòng)并RDY 后,使用默認(rèn)速率115200 與主控單元通信,接口使用一般串口連接方式。
本便攜式設(shè)備的硬件單元模塊由于是從基礎(chǔ)開發(fā)板裁剪而來,所以相對(duì)簡(jiǎn)單,大量工作是關(guān)于軟件功能模塊的設(shè)計(jì)開發(fā),其中包括集成開發(fā)環(huán)境的構(gòu)建、Linux 操作系統(tǒng)內(nèi)核的裁剪與加載、外設(shè)功能模塊的驅(qū)動(dòng)開發(fā)以及用戶程序的開發(fā)與調(diào)試等。
作為一種典型的軟硬件定制的嵌入式設(shè)備,各種資源相對(duì)有限,所以本監(jiān)測(cè)設(shè)備的軟件系統(tǒng)在通用計(jì)算機(jī)上進(jìn)行開發(fā),首先就需要構(gòu)建一體化的集成與開發(fā)環(huán)境,在通用計(jì)算機(jī)上通過虛擬機(jī)方式安裝Ubuntu 操作系統(tǒng)作為軟件開發(fā)平臺(tái),安裝ARM-Linux-GCC 交叉編譯器和GDB調(diào)試器,建立通用計(jì)算機(jī)與目標(biāo)設(shè)備之間的串口連接,通過TFTP 傳輸加載Linux 操作系統(tǒng)內(nèi)核,通過SSH 和NFS實(shí)現(xiàn)驅(qū)動(dòng)程序和用戶程序的網(wǎng)絡(luò)傳輸與調(diào)試。
操作系統(tǒng)內(nèi)核是設(shè)備資源管理和任務(wù)調(diào)度的基礎(chǔ),根據(jù)嵌入式設(shè)備硬件資源的不同,操作系統(tǒng)內(nèi)核必須經(jīng)過裁剪、編譯和加載,本設(shè)備以Linux2.6.35 內(nèi)核為基礎(chǔ),通過圖形交互方式配置界面構(gòu)建Makefile 文件,交叉編譯好的內(nèi)核通過網(wǎng)絡(luò)TFTP 簡(jiǎn)單文件傳輸協(xié)議加載到目標(biāo)設(shè)備。
由于攝像頭、GSP 和GPRS 模塊都采用了通用的USB和異步通訊串口,所以外設(shè)接口驅(qū)動(dòng)相對(duì)簡(jiǎn)單,將相應(yīng)接口的驅(qū)動(dòng)集成到一體化內(nèi)核即可,相關(guān)數(shù)據(jù)信息由對(duì)應(yīng)的用戶程序進(jìn)行處理。
4.3.1 圖像采集模塊
攝像頭模塊基于V4L2 視頻驅(qū)動(dòng)接口實(shí)現(xiàn)本地視頻采集功能。V4L2 是Linux 操作系統(tǒng)下開發(fā)視頻采集設(shè)備驅(qū)動(dòng)應(yīng)用程序的一套規(guī)范,該規(guī)范以層級(jí)框架的形式定義了程序開發(fā)清晰的模型和通用的接口,V4L2 規(guī)范中不僅定義了通用的API 接口,還對(duì)圖像的格式、圖像的輸入/輸出方法和不同視頻信息處理的一系列通道接口進(jìn)行了定義,通過調(diào)用功能模塊函數(shù)就能實(shí)現(xiàn)相應(yīng)功能。
功能程序流程包括以下幾個(gè)環(huán)節(jié):通過打開/dev/videoN 設(shè)備文件打開視頻設(shè)備,讀取攝像頭的狀態(tài)信息、選擇視頻輸入、設(shè)置視頻制式和幀格式、向驅(qū)動(dòng)申請(qǐng)幀緩沖、將申請(qǐng)到的幀緩沖映射到用戶空間里、將申請(qǐng)到的幀緩沖全部隊(duì)列排隊(duì)、開始視頻的采集、進(jìn)一步的視頻處理、停止視頻的采集、關(guān)閉視頻設(shè)備。
4.3.2 GPS 空間定位和定時(shí)模塊
GPS 模塊采用NEO-6 芯片,通過串口來實(shí)現(xiàn)空間定位和UTC 時(shí)間的數(shù)據(jù)傳輸,串口通訊協(xié)議采用世界通用的NMEA 0183 格式,ASCII 編碼,波特率設(shè)置為9600bps,數(shù)據(jù)位8 位,1 位開始位,1 位停止位,無奇偶校驗(yàn)位。根據(jù)命令的不同可以傳輸不等長(zhǎng)的各種數(shù)據(jù)幀,包括全球定位數(shù)據(jù)、衛(wèi)星PRN 數(shù)據(jù)、衛(wèi)星狀態(tài)信息、運(yùn)輸定位數(shù)據(jù)、地面速度信息、大地坐標(biāo)信息和UTC時(shí)間和日期等,數(shù)據(jù)幀格式為$aaccc,ddd,ddd,…,ddd*hh<CR><LF>,其中“$”為幀命令起始位,aaccc 是地址域,ddd…ddd 為有效數(shù)據(jù),“*”為校驗(yàn)和前綴,hh代表校驗(yàn)和,用ASCII 碼回車和換行表示幀結(jié)束,應(yīng)用程序只要按協(xié)議規(guī)定的格式給出命令和提取特征數(shù)據(jù)段,就能實(shí)現(xiàn)定位和定時(shí)信息的獲取。
4.3.3 GPRS 通訊模塊
SIM900A 通過標(biāo)準(zhǔn)的RS-232 串行接口實(shí)現(xiàn)與主控單元的信息傳輸,本設(shè)備采用起始默認(rèn)的115200bps 波特率。對(duì)該功能模塊編程十分簡(jiǎn)單方便,使用標(biāo)準(zhǔn)的AT 命令集就能實(shí)現(xiàn),該命令集包括一般命令、呼叫控制命令、網(wǎng)絡(luò)服務(wù)相關(guān)命令、電話本命令、短消息命令和GPRS 命令等,應(yīng)用程序通過發(fā)給GPRS 模塊的不同AT 命令字符串就能控制其相應(yīng)行為。
本文利用目前十分普遍的ARM+Linux 嵌入式設(shè)備設(shè)計(jì)模式,研發(fā)了一款便攜式的農(nóng)作物監(jiān)測(cè)設(shè)備,可以很好地應(yīng)用在多種農(nóng)作物病蟲害和生長(zhǎng)過程的監(jiān)控上,研發(fā)周期短、性價(jià)比高,如果進(jìn)一步增加現(xiàn)場(chǎng)診斷模塊還能更好發(fā)揮性能。
農(nóng)村科學(xué)實(shí)驗(yàn)2021年1期