方 銳, 李旭東, 貢 亮, 黃亦翔, 李彥明, 劉成良, 郭商羿
(1.上海交通大學(xué) 機(jī)械與動(dòng)力工程學(xué)院,上海 200240;2.農(nóng)業(yè)部 華南都市農(nóng)業(yè)重點(diǎn)實(shí)驗(yàn)室,廣州 510640)
物聯(lián)網(wǎng)就是把物理世界中的物品,通過射頻識(shí)別(Radio Frequency Identification,RFID)、紅外感應(yīng)器、全球定位系統(tǒng)(Global Positioning System,GPS)、激光掃描器等信息傳感設(shè)備,按照約定的協(xié)議,進(jìn)行信息交換和共享,以實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集和測(cè)量、智能化識(shí)別、定位、跟蹤、監(jiān)控和管理的一種網(wǎng)絡(luò)[1-3]。物聯(lián)網(wǎng)打破傳統(tǒng)思維,將物理基礎(chǔ)設(shè)施和IT基礎(chǔ)設(shè)施統(tǒng)一起來,實(shí)現(xiàn)物理世界與數(shù)字虛擬世界的交流溝通,逐漸顯現(xiàn)出“全面感知,可靠傳輸,高度智能”的特征,成為繼計(jì)算機(jī)、互聯(lián)網(wǎng)與移動(dòng)通信網(wǎng)絡(luò)之后的第3次信息化浪潮,以更透徹的感知和度量、更全面的互聯(lián)互通、更深入的智能化處理為特征的物聯(lián)網(wǎng)能夠有效地促進(jìn)物質(zhì)生產(chǎn)與服務(wù)管理相結(jié)合、物理世界與數(shù)字世界相融合、工業(yè)化與信息化相融合,應(yīng)用范圍將涉及基礎(chǔ)設(shè)施、公共安全、環(huán)境保護(hù)、現(xiàn)代農(nóng)業(yè)、智能工業(yè)、城市管理和商業(yè)應(yīng)用等各個(gè)領(lǐng)域[4]。
智慧農(nóng)業(yè)模式是現(xiàn)代農(nóng)業(yè)生產(chǎn)的大勢(shì)所趨,運(yùn)用物聯(lián)網(wǎng)技術(shù),實(shí)現(xiàn)農(nóng)業(yè)的精確生產(chǎn),使得勞動(dòng)力、生產(chǎn)資料、土地資源等各要素在時(shí)間空間上精確分配,以獲得利益最大化[7-8]。但是目前針對(duì)于大田墑情監(jiān)測(cè),由于其環(huán)境惡劣,組網(wǎng)困難,開發(fā)成本高,對(duì)農(nóng)業(yè)物聯(lián)網(wǎng)的發(fā)展和普及造成了很大的阻礙[9]。針對(duì)這種現(xiàn)狀,本文建立了一種基于多種WSN的農(nóng)業(yè)物聯(lián)網(wǎng)溫室監(jiān)控系統(tǒng),可適配多種WSN終端,便攜式網(wǎng)關(guān)可以多種方式接入公網(wǎng),實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。
物聯(lián)網(wǎng)溫室監(jiān)控系統(tǒng)包括WSN、網(wǎng)關(guān)、服務(wù)器和應(yīng)用監(jiān)控終端4個(gè)部分,如圖1所示。

圖1 溫室監(jiān)控系統(tǒng)原理圖
WSN由多個(gè)無線傳感節(jié)點(diǎn)組成,節(jié)點(diǎn)由太陽能板供電,適配5種常見農(nóng)業(yè)傳感器。采集的數(shù)據(jù)通過WSN最終匯聚到網(wǎng)絡(luò)協(xié)調(diào)器。網(wǎng)關(guān)內(nèi)置了這樣的協(xié)調(diào)器,接收的數(shù)據(jù)通過串口通信上傳到以樹莓派為主體硬件平臺(tái)的網(wǎng)關(guān),網(wǎng)關(guān)將接收到的數(shù)據(jù)按照無線傳輸協(xié)議進(jìn)行解析,轉(zhuǎn)化成傳統(tǒng)互聯(lián)網(wǎng)協(xié)議識(shí)別的數(shù)據(jù)格式,最終轉(zhuǎn)發(fā)至遠(yuǎn)程服務(wù)器中。服務(wù)器包括數(shù)據(jù)庫(kù)管理系統(tǒng)SQL Server和動(dòng)態(tài)網(wǎng)頁腳本程序,負(fù)責(zé)用戶應(yīng)用網(wǎng)站后臺(tái)建設(shè)[10]。應(yīng)用終端和控制終端是針對(duì)于用戶設(shè)計(jì)的人機(jī)交互界面,可以提供溫室環(huán)境監(jiān)控、歷史環(huán)境數(shù)據(jù)查詢、水肥執(zhí)行器控制等服務(wù)。
物聯(lián)網(wǎng)網(wǎng)關(guān)可以實(shí)現(xiàn)多種感知網(wǎng)絡(luò)與基礎(chǔ)網(wǎng)絡(luò)之間的協(xié)議轉(zhuǎn)換和數(shù)據(jù)轉(zhuǎn)發(fā)。此外物聯(lián)網(wǎng)網(wǎng)關(guān)還需要具備設(shè)備管理功能。網(wǎng)關(guān)支持WSN通信接口,支持TCP/IP、WiFi、3G/4G、GPRS通信接口和其他協(xié)議接口。因此,物聯(lián)網(wǎng)網(wǎng)關(guān)必須滿足以下功能:
(1) 數(shù)據(jù)互操作。互操作是指兩個(gè)系統(tǒng)之間數(shù)據(jù)信息共享交互操作的過程[11]。目前用于近距離通信的傳輸協(xié)議有很多,每種技術(shù)都有其針對(duì)性的應(yīng)用場(chǎng)合,缺乏兼容性和統(tǒng)一的標(biāo)準(zhǔn)。物聯(lián)網(wǎng)網(wǎng)關(guān)解決多種異構(gòu)網(wǎng)絡(luò)之間的溝通問題,建立信息交互的統(tǒng)一信息模型,實(shí)現(xiàn)通信協(xié)議的轉(zhuǎn)換,以規(guī)范農(nóng)業(yè)物聯(lián)網(wǎng)應(yīng)用的建設(shè),達(dá)到高效的應(yīng)用集成和數(shù)據(jù)共享的目的[12]。
(2) 管理功能。網(wǎng)關(guān)接收的數(shù)據(jù)量大、數(shù)據(jù)結(jié)構(gòu)迥異,例如不僅需要接收WSN的節(jié)點(diǎn)數(shù)據(jù),包括節(jié)點(diǎn)的標(biāo)識(shí)、參數(shù)、狀態(tài)等信息,還需接收遠(yuǎn)程監(jiān)控端下發(fā)的控制命令。網(wǎng)關(guān)需要對(duì)各種數(shù)據(jù)進(jìn)行識(shí)別、分類和處理,實(shí)現(xiàn)統(tǒng)一的管理[13]。
基于上述的物聯(lián)網(wǎng)系統(tǒng)架構(gòu)和物聯(lián)網(wǎng)網(wǎng)關(guān)需求分析,本文介紹適配多種WSN終端的物聯(lián)網(wǎng)網(wǎng)關(guān),開發(fā)出網(wǎng)關(guān)樣機(jī)如圖2所示,該樣機(jī)上行提供TCP/IP、GPRS接口,下行提供ZigBee、WiFi、USB、UART串口等通信接口。下面從樣機(jī)的硬件和軟件兩個(gè)方面分別進(jìn)行介紹。

圖2 網(wǎng)關(guān)實(shí)物圖
本文研制的物聯(lián)網(wǎng)網(wǎng)關(guān)采用樹莓派Raspberry Pi為中心建立網(wǎng)關(guān)硬件平臺(tái),Raspberry Pi是基于ARM11的開發(fā)板,它提供了以太網(wǎng)、USB、HDMI接口,基于Linux的操作系統(tǒng)、Python語言開發(fā)環(huán)境,同時(shí)也支持C、Java等語言,Raspberry Pi在體積、集成度、性價(jià)比、開發(fā)環(huán)境和效率上有著明顯的優(yōu)勢(shì)[14-15]。樹莓派作為網(wǎng)關(guān)主體實(shí)現(xiàn)通信協(xié)議的廣泛接入,上行以以太網(wǎng)、WiFi、或GPRS等多種模式連接到通用網(wǎng)絡(luò),遠(yuǎn)程服務(wù)器以PC機(jī)作為載體接收數(shù)據(jù),實(shí)現(xiàn)與基礎(chǔ)互聯(lián)網(wǎng)的對(duì)接。下行通過PL2303實(shí)現(xiàn)USB轉(zhuǎn)TTL串口通信與內(nèi)置的網(wǎng)絡(luò)協(xié)調(diào)器連接,再由協(xié)調(diào)器對(duì)子節(jié)點(diǎn)WSN進(jìn)行參數(shù)配置和結(jié)構(gòu)管理。
上述網(wǎng)絡(luò)協(xié)調(diào)器選用C8051F340作為主控芯片,C8051F34x器件是完全集成的混合信號(hào)片上系統(tǒng)型MCU,與標(biāo)準(zhǔn)8051內(nèi)核完全兼容,指令執(zhí)行速度有很大的提高[16],協(xié)調(diào)器中包括ZigBee模塊,WiFi模塊,電壓轉(zhuǎn)換模塊,串口通信模塊。ZigBee模塊選擇DRF1605H模塊,該模塊可以實(shí)現(xiàn)ZigBee和串口通信之間的相互轉(zhuǎn)換,可以安裝天線,室外傳輸距離達(dá)1.6 km[17]。WiFi模塊選擇深圳思博智聯(lián)科技公司開發(fā)的TTL-WiFi透?jìng)鞴碳瑢?shí)現(xiàn)模塊串口與WiFi數(shù)據(jù)的實(shí)時(shí)透?jìng)鳌k妷恨D(zhuǎn)換模塊轉(zhuǎn)換電源電壓為開發(fā)板各模塊所需電壓。串口通信模塊作為與樹莓派的通信接口。該協(xié)調(diào)器樣機(jī)實(shí)現(xiàn)了對(duì)WSN的數(shù)據(jù)信息匯聚和數(shù)據(jù)傳輸。
物聯(lián)網(wǎng)網(wǎng)關(guān)功能是確保WSN上傳數(shù)據(jù)的接收、數(shù)據(jù)互操作和上傳,服務(wù)器端發(fā)送命令的接收,識(shí)別和下傳。同時(shí),還需實(shí)現(xiàn)對(duì)WSN的操作維護(hù)和管理。物聯(lián)網(wǎng)網(wǎng)關(guān)樣機(jī)軟件功能模塊如圖3所示。

圖3 網(wǎng)關(guān)軟件設(shè)計(jì)功能模塊
本系統(tǒng)中,每個(gè)節(jié)點(diǎn)具有數(shù)據(jù)采集與自主路由功能,協(xié)調(diào)器接收到的數(shù)據(jù)格式見表1[18]。網(wǎng)關(guān)中內(nèi)置的網(wǎng)絡(luò)協(xié)調(diào)器接收WSN的數(shù)據(jù),監(jiān)測(cè)數(shù)據(jù)格式是否正確,不正確則舍棄,檢測(cè)正確后分辨來源地址,并重新分配短地址,將整理后的數(shù)據(jù)通過串口通訊發(fā)送出去,數(shù)據(jù)格式見表2。程序中啟動(dòng)一個(gè)定時(shí)器,定時(shí)消除接收數(shù)據(jù)出錯(cuò)時(shí)產(chǎn)生的錯(cuò)誤冗余,當(dāng)數(shù)據(jù)出錯(cuò)時(shí),將接收和發(fā)送字段清零。協(xié)調(diào)器程序流程如圖4所示。

表1 協(xié)調(diào)器接收數(shù)據(jù)格式

表2 協(xié)調(diào)器發(fā)送數(shù)據(jù)格式

圖4 WSN協(xié)調(diào)器流程圖
莓派通過USB接口實(shí)現(xiàn)和WSN協(xié)調(diào)器樣機(jī)的串口通信,在Linux環(huán)境下使用python語言編寫基于USB接口的應(yīng)用程序編程接口(API),實(shí)現(xiàn)傳感數(shù)據(jù)的傳輸,運(yùn)用輕量級(jí)集成數(shù)據(jù)庫(kù)sqlite3,創(chuàng)建數(shù)據(jù)表用于規(guī)范化存儲(chǔ)數(shù)據(jù),并調(diào)用python的圖像用戶界面模塊wxpython,實(shí)現(xiàn)在樹莓派上的實(shí)時(shí)節(jié)點(diǎn)數(shù)據(jù)顯示。向遠(yuǎn)程服務(wù)器發(fā)送TCP/IP客戶端連接請(qǐng)求,運(yùn)行數(shù)據(jù)庫(kù)查詢驅(qū)動(dòng)程序?qū)С鰯?shù)據(jù)發(fā)送至服務(wù)器。同時(shí)監(jiān)聽網(wǎng)絡(luò)端口,接收互聯(lián)網(wǎng)下發(fā)的指令數(shù)據(jù)包,識(shí)別數(shù)據(jù)包并解析包信息,根據(jù)包信息進(jìn)行指令下發(fā)。樹莓派程序流程圖如圖5所示。

圖5 樹莓派程序流程圖
本文提出的適配多種WSN終端的網(wǎng)關(guān)樣機(jī)可通過遠(yuǎn)程桌面或樹莓派自帶的液晶屏登陸系統(tǒng),查看網(wǎng)關(guān)數(shù)據(jù)接收與發(fā)送狀態(tài),實(shí)時(shí)顯示接收數(shù)據(jù),實(shí)現(xiàn)節(jié)點(diǎn)數(shù)據(jù)的可視化,如圖6所示。遠(yuǎn)程服務(wù)器接收并存儲(chǔ)網(wǎng)關(guān)發(fā)送的環(huán)境數(shù)據(jù)信息,為用戶應(yīng)用與監(jiān)控平臺(tái)服務(wù),實(shí)現(xiàn)數(shù)據(jù)源與應(yīng)用系統(tǒng)間的互操作性。服務(wù)器數(shù)據(jù)庫(kù)管理程序運(yùn)行結(jié)果如圖7所示。

圖6 網(wǎng)關(guān)數(shù)據(jù)接收顯示

圖7 遠(yuǎn)程服務(wù)器監(jiān)聽網(wǎng)關(guān)日志
該網(wǎng)關(guān)已在溫室示范園區(qū)運(yùn)行多時(shí),現(xiàn)場(chǎng)運(yùn)行調(diào)試結(jié)果證明,該網(wǎng)關(guān)系統(tǒng)性能穩(wěn)定、通用性和擴(kuò)展性強(qiáng)、易于開發(fā)和維護(hù)。
物聯(lián)網(wǎng)網(wǎng)關(guān)是物聯(lián)網(wǎng)應(yīng)用的重要組成部分,它是傳統(tǒng)通信網(wǎng)絡(luò)與WSN的橋梁。本文展示了適配多種無線傳輸協(xié)議的物聯(lián)網(wǎng)網(wǎng)關(guān)樣機(jī),該樣機(jī)實(shí)現(xiàn)了數(shù)據(jù)傳輸、協(xié)議轉(zhuǎn)換、WSN管理和控制等功能。除了本文中用于溫室環(huán)境監(jiān)控的應(yīng)用之外,該網(wǎng)關(guān)還適用于智能家居、工業(yè)監(jiān)控、智能電網(wǎng)等應(yīng)用中。