胡 偉
(黃山學(xué)院 信息工程學(xué)院,安徽 黃山245041)
智能農(nóng)業(yè)是農(nóng)業(yè)現(xiàn)代化發(fā)展的必然趨勢(shì),其主要內(nèi)容是將信息化技術(shù)應(yīng)用于農(nóng)業(yè)中,可以精確地對(duì)即時(shí)信息進(jìn)行采集、反饋和分析,并通過(guò)信息化技術(shù)完成農(nóng)業(yè)操作和系統(tǒng)管理。智能農(nóng)業(yè)主要涉及的信息化技術(shù)包括:嵌入式系統(tǒng)技術(shù)、智能物聯(lián)網(wǎng)技術(shù)、大數(shù)據(jù)技術(shù)和云計(jì)算技術(shù)等方面[1]。近十幾年以來(lái),歐美一些發(fā)達(dá)國(guó)家在農(nóng)業(yè)信息化的應(yīng)用實(shí)踐方面,相繼開展了農(nóng)業(yè)領(lǐng)域的物聯(lián)網(wǎng)應(yīng)用示范研究。在農(nóng)業(yè)生產(chǎn)、農(nóng)產(chǎn)品流通和資源利用等領(lǐng)域?qū)崿F(xiàn)人與物、物與物之間的信息交互。通過(guò)實(shí)踐與推廣精細(xì)化農(nóng)業(yè),形成了眾多優(yōu)質(zhì)的產(chǎn)業(yè)化應(yīng)用模式,推動(dòng)了現(xiàn)代化農(nóng)業(yè)的產(chǎn)業(yè)化發(fā)展[2]。
我國(guó)作為一個(gè)傳統(tǒng)的農(nóng)業(yè)大國(guó),目前正處于一個(gè)從傳統(tǒng)農(nóng)業(yè)模式向現(xiàn)代化農(nóng)業(yè)模式轉(zhuǎn)型的重要時(shí)期。在“互聯(lián)網(wǎng)+”的大形式下,為全面實(shí)現(xiàn)現(xiàn)代化農(nóng)業(yè)體系的轉(zhuǎn)變,智能物聯(lián)網(wǎng)技術(shù)、嵌入式系統(tǒng)技術(shù)和云計(jì)算大數(shù)據(jù)技術(shù)等高新技術(shù)的應(yīng)用將為我國(guó)農(nóng)業(yè)從傳統(tǒng)農(nóng)業(yè)轉(zhuǎn)型到現(xiàn)代化農(nóng)業(yè)的發(fā)展過(guò)程提供一個(gè)全新的技術(shù)平臺(tái)[2]。
基于物聯(lián)網(wǎng)的農(nóng)田遠(yuǎn)程監(jiān)控系統(tǒng),是利用物聯(lián)網(wǎng)技術(shù)、傳感器技術(shù)、嵌入式系統(tǒng)技術(shù)和軟硬件協(xié)同設(shè)計(jì)技術(shù)進(jìn)行開發(fā),實(shí)現(xiàn)對(duì)設(shè)備周邊農(nóng)田進(jìn)行實(shí)時(shí)監(jiān)控和有效控制[3]。平臺(tái)包括數(shù)據(jù)采集監(jiān)測(cè)平臺(tái)、無(wú)線傳感網(wǎng)絡(luò)平臺(tái)和遠(yuǎn)程管理服務(wù)平臺(tái)。通過(guò)對(duì)田間環(huán)境狀況的監(jiān)測(cè)和分析,掌握好農(nóng)作物的生長(zhǎng)狀況,同時(shí)還可以做好農(nóng)作物病蟲害防治等方面的預(yù)警。
基于物聯(lián)網(wǎng)的農(nóng)田遠(yuǎn)程監(jiān)控系統(tǒng)架構(gòu)可以分為3個(gè)層次,即感知層、傳輸層和應(yīng)用層[4]。圖1所示為基于物聯(lián)網(wǎng)的農(nóng)田遠(yuǎn)程監(jiān)控系統(tǒng)架構(gòu)圖。
圖1 基于物聯(lián)網(wǎng)的農(nóng)田遠(yuǎn)程監(jiān)控系統(tǒng)架構(gòu)圖
1.感知層處于整個(gè)系統(tǒng)架構(gòu)中的最底層,由各種傳感器組成,功能單一。感知層利用傳感器技術(shù)采集包括環(huán)境溫度、濕度、大氣壓、農(nóng)作物病蟲害即時(shí)監(jiān)測(cè)數(shù)據(jù)和水質(zhì)情況等信息,將其整合以后向傳輸層傳送。
2.傳輸層根據(jù)功能可劃分為網(wǎng)絡(luò)子層和網(wǎng)間融入子層兩部分。網(wǎng)絡(luò)子層的功能是完成數(shù)據(jù)傳輸?shù)娜蝿?wù),該層技術(shù)可借鑒傳統(tǒng)網(wǎng)絡(luò)的現(xiàn)有成熟技術(shù)。此外,無(wú)線網(wǎng)絡(luò)技術(shù)將是網(wǎng)絡(luò)子層未來(lái)發(fā)展的趨勢(shì)。網(wǎng)間融入子層位于感知層與網(wǎng)絡(luò)子層之間,主要負(fù)責(zé)兩者間的連接關(guān)系。
3.應(yīng)用層通常由應(yīng)用服務(wù)子層、業(yè)務(wù)邏輯子層和用戶界面子層組成。應(yīng)用服務(wù)子層分兩個(gè)模塊,分別解決網(wǎng)絡(luò)通信和信息存儲(chǔ)問(wèn)題,可作為系統(tǒng)功能拓展開發(fā)中的共享部分。邏輯子層基于靈活性的需求采用模塊化設(shè)計(jì),能提高系統(tǒng)的可重用性,是整個(gè)系統(tǒng)的核心部分。用戶界面子層是人機(jī)交互接口,位于整個(gè)系統(tǒng)的最高層[4]。
軟硬件協(xié)同設(shè)計(jì)是嵌入式系統(tǒng)設(shè)計(jì)開發(fā)中的重要技術(shù)之一,即在整個(gè)系統(tǒng)及定義的基礎(chǔ)上,對(duì)軟件和硬件進(jìn)行同時(shí)的協(xié)調(diào)和設(shè)計(jì)。其中包括軟硬件劃分(即哪部分功能使用硬件實(shí)現(xiàn),哪部分功能使用軟件完成),軟件系統(tǒng)和硬件系統(tǒng)的具體開發(fā)以及聯(lián)合的調(diào)試[5,6]。軟硬件協(xié)同設(shè)計(jì)要求在設(shè)計(jì)過(guò)程的初期就將軟件系統(tǒng)與硬件系統(tǒng)兩方面結(jié)合在一起考慮,以達(dá)到靈活地設(shè)計(jì)系統(tǒng)和有效地分配系統(tǒng)功能。軟硬件協(xié)同設(shè)計(jì)對(duì)分布式實(shí)時(shí)嵌入式系統(tǒng)的設(shè)計(jì)研究有著巨大的優(yōu)勢(shì),能達(dá)到最高效的設(shè)計(jì)[6,7]。
本設(shè)計(jì)的目標(biāo)是實(shí)現(xiàn)一個(gè)能夠?qū)⑦h(yuǎn)程監(jiān)控、數(shù)據(jù)采集、遠(yuǎn)端控制和語(yǔ)音控制融為一體的農(nóng)田遠(yuǎn)程監(jiān)控系統(tǒng),該系統(tǒng)需要具備以下功能。
1.傳感器數(shù)據(jù)采集功能。本系統(tǒng)主要包括有溫度、濕度、氣壓、海拔和氣體濃度等數(shù)據(jù)采集功能。
2.視頻監(jiān)控和照片采集功能。系統(tǒng)的遠(yuǎn)程控制端能夠?qū)崟r(shí)采集遠(yuǎn)程視頻監(jiān)控?cái)?shù)據(jù),并且能定時(shí)采集照片數(shù)據(jù)傳回遠(yuǎn)程控制端以便進(jìn)行分析決策。
3.噴撒設(shè)備的控制功能。系統(tǒng)的野外嵌入式設(shè)備上安裝有能夠噴撒水或藥物的小型機(jī)械設(shè)備,需要設(shè)計(jì)控制該裝置工作的控制器。
4.定時(shí)器功能。系統(tǒng)的野外嵌入式設(shè)備需要有計(jì)時(shí)功能,一方面是為了控制噴撒裝置的定時(shí)工作,另一方面是對(duì)系統(tǒng)的同步工作進(jìn)行計(jì)時(shí)。
5.網(wǎng)絡(luò)傳輸功能。系統(tǒng)的野外嵌入式設(shè)備采集的數(shù)據(jù)需要傳回到本地端,因此要在野外設(shè)備上設(shè)計(jì)網(wǎng)絡(luò)功能模塊(包括短距離傳輸?shù)乃{(lán)牙模塊和遠(yuǎn)距離傳輸?shù)?G/5G模塊)。
6.本地端的遠(yuǎn)程控制功能。為了方便遠(yuǎn)程操控,系統(tǒng)開發(fā)控制端程序來(lái)實(shí)現(xiàn)遠(yuǎn)程控制野外嵌入式設(shè)備,獲取實(shí)時(shí)信息。
7.語(yǔ)音識(shí)別功能。系統(tǒng)具有遠(yuǎn)程控制端的語(yǔ)音識(shí)別功能,實(shí)現(xiàn)智能化的操控。
系統(tǒng)的功能需求確定以后,設(shè)計(jì)進(jìn)入確定系統(tǒng)如何實(shí)現(xiàn)的階段,此時(shí)用到軟硬件劃分方法來(lái)調(diào)度軟件模塊和硬件模塊如何實(shí)現(xiàn)。軟硬件劃分是一個(gè)模塊映射的過(guò)程,即將系統(tǒng)子功能映射成由μCPU實(shí)現(xiàn)或由各種IP模塊實(shí)現(xiàn)。軟硬件劃分的優(yōu)劣取決于劃分結(jié)果在滿足系統(tǒng)約束條件的前提下,如何將成本降到最低。因此,軟硬件劃分問(wèn)題屬于系統(tǒng)優(yōu)化問(wèn)題,通過(guò)軟硬件劃分獲得一個(gè)最優(yōu)化的系統(tǒng)結(jié)構(gòu)。軟硬件劃分的方法主要包括:AADL方法、線性規(guī)劃(Linear Programming)和聚類的方法。本項(xiàng)目采用AADL方法實(shí)現(xiàn)系統(tǒng)的軟硬件劃分。圖2是基于物聯(lián)網(wǎng)的農(nóng)田遠(yuǎn)程監(jiān)控系統(tǒng)的軟硬件劃分圖。
圖2 農(nóng)田遠(yuǎn)程監(jiān)控系統(tǒng)的軟硬件劃分圖
系統(tǒng)設(shè)計(jì)的第一步是建立起系統(tǒng)的抽象模型,運(yùn)用面向?qū)ο蟮姆椒?,?duì)問(wèn)題域和系統(tǒng)職責(zé)進(jìn)行分析和理解,找出描述問(wèn)題域和系統(tǒng)職責(zé)所需的對(duì)象,定義屬性及其之間的關(guān)系,為具體的系統(tǒng)設(shè)計(jì)奠定基礎(chǔ)。運(yùn)用于嵌入式系統(tǒng)設(shè)計(jì)的建模方法主要有兩種:基于統(tǒng)一建模語(yǔ)言UML的系統(tǒng)建模方法和基于系統(tǒng)建模語(yǔ)言SysML的系統(tǒng)建模方法[8]。本設(shè)計(jì)采用基于SysML1.1的系統(tǒng)建模方法進(jìn)行建模,具體建模工具采用Enterprise Architect軟件,實(shí)現(xiàn)了用例圖、模塊定義圖、類圖和序列圖等建模圖的繪制。
的用對(duì)例象模,型定依義據(jù)屬用性戶及需其求之來(lái)間描的述關(guān)系系,統(tǒng)為,指具明體系的統(tǒng)應(yīng)系該統(tǒng)“設(shè)做計(jì)什奠么定”基。礎(chǔ)用。例運(yùn)圖用可于以嵌顯入示式各系種統(tǒng)類設(shè)型計(jì)的的元建素和模關(guān)方系法,主以要說(shuō)兩明種系:統(tǒng)基提于供統(tǒng)的一服建務(wù)模信語(yǔ)息言以U及M需L要的服系務(wù)的統(tǒng)對(duì)建象模的方信法息和?;糜诶祱D統(tǒng)是建進(jìn)模語(yǔ)行言需求Sy分sM析L和的建系立統(tǒng)功能模型的強(qiáng)有力工具,它反映的是用例、參與對(duì)象和它們之間的泛化關(guān)系。如圖3所示的是采用En?terprise Architect軟件繪制的農(nóng)田遠(yuǎn)程監(jiān)控系統(tǒng)用例圖。
圖3 農(nóng)田遠(yuǎn)程監(jiān)控系統(tǒng)用例圖
SysML建模中最常見一種圖就是模塊定義圖(BDD)。模塊定義圖用于顯示不同類型的模型元素及它們之間的關(guān)系。系統(tǒng)建模通過(guò)繪制模塊定義圖來(lái)說(shuō)明系統(tǒng)的結(jié)構(gòu)。模塊定義圖中的模型元素包括:模塊、執(zhí)行者、約束模塊、流說(shuō)明、接口和值類型等。關(guān)聯(lián)、依賴和泛化等關(guān)系是模型元素之間的結(jié)構(gòu)關(guān)系。如圖4所示的是野外傳感節(jié)點(diǎn)的模塊定義圖。
圖4 野外傳感節(jié)點(diǎn)模塊定義圖
類圖是從靜態(tài)角度建立的一種模型圖,描述的是系統(tǒng)中類與類之間的關(guān)系。在系統(tǒng)分析階段,類圖主要研究領(lǐng)域概念,描述角色和行為實(shí)體的具體職責(zé);在系統(tǒng)設(shè)計(jì)階段,類圖主要描述類與類之間的接口關(guān)系;在系統(tǒng)編碼階段,類圖描述軟件系統(tǒng)中類實(shí)現(xiàn)的依據(jù)。類圖是構(gòu)建其他圖的基礎(chǔ),沒(méi)有類圖,就無(wú)法表示系統(tǒng)的其他各個(gè)方面。圖5所示的是本地控制端程序的類圖。
圖5 本地控制端程序類圖
序列圖是用來(lái)描述系統(tǒng)動(dòng)態(tài)行為的一種SysML圖,在系統(tǒng)生命周期的前期使用。生命線是序列圖中的一種元素,代表交互過(guò)程的參與者之間的交互關(guān)系。利用生命線和生命線之間的消息為系統(tǒng)動(dòng)態(tài)行為的參與者及參與者之間的交互過(guò)程實(shí)現(xiàn)交互建模。圖6是智能農(nóng)業(yè)遠(yuǎn)程控制系統(tǒng)的操作序列圖,通過(guò)圖示的生命線及約束將各個(gè)模塊子系統(tǒng)之間的交互操作描述清楚,可以避免系統(tǒng)開發(fā)中陷入邏輯錯(cuò)誤。
圖6 系統(tǒng)操作序列圖
系統(tǒng)硬件平臺(tái)主要由兩部分組成:野外傳感節(jié)點(diǎn)和本地控制端硬件。其中野外傳感節(jié)點(diǎn)是通過(guò)基于ARM單片機(jī)的嵌入式硬件平臺(tái)設(shè)計(jì)。本地控制端的硬件平臺(tái)包括電腦端和手機(jī)端兩種方式。
野外傳感節(jié)點(diǎn)由基于ARM單片機(jī)的最小系統(tǒng)、太陽(yáng)能電池供電模塊、溫/濕度傳感器、大氣壓傳感器、藍(lán)牙模塊、4G/5G模塊、高清攝像頭和噴撒設(shè)備等組成[9],其硬件組成如圖7所示。本地控制端硬件平臺(tái)由網(wǎng)絡(luò)模塊、顯示模塊和存儲(chǔ)模塊組成。
圖7 野外傳感節(jié)點(diǎn)模塊硬件組成圖
系統(tǒng)的主要軟件平臺(tái)包括野外傳感節(jié)點(diǎn)軟件平臺(tái)設(shè)計(jì)和本地控制端軟件平臺(tái)設(shè)計(jì)兩部分。野外傳感節(jié)點(diǎn)軟件平臺(tái)設(shè)計(jì)的主要工作任務(wù)是控制噴撒設(shè)備進(jìn)行定時(shí)噴撒或遠(yuǎn)端控制噴撒操作,數(shù)據(jù)采集工作由對(duì)應(yīng)傳感器完成,利用無(wú)線傳感網(wǎng)結(jié)合4G/5G網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送到服務(wù)器端。節(jié)點(diǎn)開發(fā)的主要任務(wù)為節(jié)點(diǎn)設(shè)備的驅(qū)動(dòng)程序開發(fā)和4G/5G模塊的驅(qū)動(dòng)程序開發(fā)。野外傳感節(jié)點(diǎn)的工作流程如圖8所示。
圖8 野外傳感節(jié)點(diǎn)的軟件工作流程圖
本地控制程序軟件平臺(tái)設(shè)計(jì)的主要工作任務(wù)是進(jìn)行用戶權(quán)限管理,查詢傳感器采集的數(shù)據(jù),并可以手動(dòng)控制噴撒操作等功能。
本文使用軟硬件協(xié)同設(shè)計(jì)的方法進(jìn)行系統(tǒng)設(shè)計(jì),運(yùn)用基于SysML的系統(tǒng)建模方式進(jìn)行系統(tǒng)建模,完成了一個(gè)基于物聯(lián)網(wǎng)的農(nóng)田遠(yuǎn)程監(jiān)控系統(tǒng)的開發(fā)和設(shè)計(jì)。這樣的開發(fā)方式能夠大大縮短設(shè)計(jì)周期,提高設(shè)計(jì)的靈活性。同時(shí),系統(tǒng)的開發(fā)成本特別是野外傳感節(jié)點(diǎn)嵌入式設(shè)備的設(shè)計(jì)成本也得到降低,系統(tǒng)具備很強(qiáng)的普適性。