肖增瑞+秦會斌+崔佳冬
摘 要:針對傳統(tǒng)農(nóng)業(yè)中有線網(wǎng)絡(luò)成本高、布線繁瑣、勞動成本高等問題,文中基于TLink物聯(lián)網(wǎng)云平臺、網(wǎng)關(guān)控制中心以及無線傳感網(wǎng)絡(luò)節(jié)點設(shè)計了一種方便、準(zhǔn)確、高效的智慧農(nóng)業(yè)系統(tǒng)。該系統(tǒng)可實現(xiàn)手機(jī)客戶端及網(wǎng)頁客戶端對農(nóng)業(yè)現(xiàn)場傳感器設(shè)備數(shù)據(jù)的采集和控制開關(guān),當(dāng)農(nóng)場中的某項采集數(shù)據(jù)發(fā)生異常時,通過網(wǎng)關(guān)中心對用戶手機(jī)發(fā)送短信報警信息。實驗結(jié)果表明,該系統(tǒng)可以實現(xiàn)預(yù)期效果且成本低廉,適宜廣泛推廣。
關(guān)鍵詞:智慧農(nóng)業(yè);TLink;網(wǎng)關(guān);物聯(lián)網(wǎng)云平臺
中圖分類號:TP391.4 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2017)05-00-04
0 引 言
農(nóng)業(yè)是中國最傳統(tǒng)的基礎(chǔ)產(chǎn)業(yè),物聯(lián)網(wǎng)技術(shù)的出現(xiàn)提升了農(nóng)業(yè)生產(chǎn)效率,通過信息技術(shù)對地塊的土壤、肥力、氣候等進(jìn)行大數(shù)據(jù)分析,然后據(jù)此提供與種植、施肥相關(guān)的解決方案,大大提升了農(nóng)業(yè)生產(chǎn)效率。基于精準(zhǔn)的農(nóng)業(yè)傳感器進(jìn)行實時監(jiān)測,利用云計算、數(shù)據(jù)挖掘等技術(shù)進(jìn)行多層次分析,并將分析指令與各種控制設(shè)備進(jìn)行聯(lián)動完成農(nóng)業(yè)生產(chǎn)、管理。這種智能機(jī)械代替人的農(nóng)業(yè)勞作,不僅解決了農(nóng)業(yè)勞動力日益緊缺的問題,還實現(xiàn)了農(nóng)業(yè)生產(chǎn)的高度規(guī)?;⒓s化、工廠化,提高了農(nóng)業(yè)生產(chǎn)對自然環(huán)境風(fēng)險的應(yīng)對能力,使弱勢的傳統(tǒng)農(nóng)業(yè)成為具有高效率的現(xiàn)代產(chǎn)業(yè)[1]。
本設(shè)計采用國內(nèi)流行的TLink物聯(lián)網(wǎng)云平臺,基于意法半導(dǎo)體STM32最小系統(tǒng),ZigBee無線傳感網(wǎng)絡(luò)芯片、WiFi芯片、GSM模塊以及農(nóng)業(yè)數(shù)據(jù)采集傳感器,實現(xiàn)用戶通過手機(jī)客戶端或網(wǎng)頁客戶端實時查詢農(nóng)業(yè)現(xiàn)場傳感器信息以及對農(nóng)業(yè)現(xiàn)場的通風(fēng)、加濕等設(shè)備進(jìn)行控制[2]。
1 系統(tǒng)整體設(shè)計
該系統(tǒng)由客戶端、TLink物聯(lián)網(wǎng)云平臺、網(wǎng)關(guān)、節(jié)點組成。系統(tǒng)整體框圖如圖1所示。
客戶端分為手機(jī)端和網(wǎng)頁端,可以實時查看傳感器信息,TLink物聯(lián)網(wǎng)云平臺作為一個開放的公共物聯(lián)網(wǎng)接入平臺[3],通過給用戶提供開放的API接口使傳感器數(shù)據(jù)的接入、存儲和展現(xiàn)更加方便簡單。網(wǎng)關(guān)基于STM32嵌入式最小系統(tǒng)可實現(xiàn)多種網(wǎng)絡(luò)協(xié)議的轉(zhuǎn)換[4],主要有無線傳感網(wǎng)絡(luò)ZigBee協(xié)議、無線局域網(wǎng)WiFi協(xié)議和第二代全球移動通信GSM協(xié)議。節(jié)點同樣基于STM32嵌入式最小系統(tǒng)搭建ZigBee無線傳感網(wǎng)絡(luò),實時采集傳感器信息并上傳[5]。
2 系統(tǒng)硬件設(shè)計
網(wǎng)關(guān)是本系統(tǒng)的核心控制部分。網(wǎng)關(guān)以STM32F103RBT6為主控芯片,最多可支持五路串口,在STM32最小系統(tǒng)搭載HLK-RM04 WiFi模塊、CC2530 ZigBee協(xié)調(diào)器模塊、SIM900A GSM模塊。本網(wǎng)關(guān)模塊實現(xiàn)底層ZigBee網(wǎng)絡(luò)、GSM網(wǎng)絡(luò)和Internet網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換。STM32必須提供外圍相關(guān)電路構(gòu)成最小系統(tǒng),包括3.3 V穩(wěn)壓電源、8 MHz晶振時鐘、復(fù)位電路、數(shù)字和模擬間的去耦電路、調(diào)試接口。WiFi模塊與GSM模塊在功能上互補(bǔ),充分考慮到無WiFi網(wǎng)絡(luò)情況下,數(shù)據(jù)可以通過GSM模塊傳送到用戶手機(jī)。各模塊與網(wǎng)關(guān)底板以插針的方式連接,方便程序升級更新。采用220 V轉(zhuǎn)5 V適配器供電。此外,網(wǎng)關(guān)增加功能設(shè)置按鍵和LED提示功能。按鍵主要功能為復(fù)位和啟動/停止數(shù)據(jù)上傳。網(wǎng)關(guān)ZigBee模塊采用PCB天線,WiFi模塊采用airgain內(nèi)置天線[6]。
節(jié)點以STM32F103RBT6為主控芯片,最小系統(tǒng)搭載DHT11溫濕度傳感器、BH1750光強(qiáng)度傳感器、土壤濕度傳感器模塊、松樂SRD-05VDC-SL-C繼電器、CC2530 ZigBee芯片。底層構(gòu)建一個基于ZigBee協(xié)議的無線傳感網(wǎng)絡(luò)[7]。該無線傳感網(wǎng)絡(luò)涵蓋燈光控制、通風(fēng)控制、環(huán)境溫濕度的采集、升溫、加濕控制。硬件供電電源部分電路圖如圖2所示。
電源通過AMS1117-3.3 V芯片實現(xiàn)5 V轉(zhuǎn)3.3 V輸出,電源接口為PWR2.5,可接220 V轉(zhuǎn)5 V/2 A的電源適配器獲得。C7、C8、C9為濾波電容,保證電源電壓穩(wěn)定可靠。繼電器電路圖如圖3所示。
節(jié)點板繼電器部分采用PC817光耦隔離芯片,實現(xiàn)信號地和電源地之間的有效隔離。繼電器觸點容量為250 V/10 A(AC)或30 V/10 A(DC)。繼電器輸出為公共端和常閉端。
3 系統(tǒng)軟件設(shè)計
3.1 軟件功能描述
基于STM32嵌入式軟件編程,實現(xiàn)通過一個串口服務(wù)器將芯片的三個串口USART1、USART2、USART3分別接到ZigBee協(xié)調(diào)器節(jié)點、SIM900A GSM模塊、HLK-RM04 WiFi模塊,波特率分別設(shè)置為115 200,9 600,115 200 (Bd/s)。節(jié)點板在主循環(huán)中完成對溫濕度、光照度、土壤濕度傳感器數(shù)據(jù)的采集,并將數(shù)據(jù)定時發(fā)送至串口1,再由與串口1相連接的ZigBee終端節(jié)點向上層網(wǎng)關(guān)板發(fā)送數(shù)據(jù),并實時監(jiān)聽接收網(wǎng)關(guān)板下達(dá)的控制命令[8]。
3.2 數(shù)據(jù)幀格式
節(jié)點板與網(wǎng)關(guān)板數(shù)據(jù)交互幀格式(節(jié)點上傳網(wǎng)關(guān))見表1所列。
節(jié)點上傳網(wǎng)關(guān)數(shù)據(jù)幀數(shù)據(jù)總長度為11字節(jié),幀首和幀尾固定為0XFE和0XFF,數(shù)據(jù)長度占1字節(jié),數(shù)據(jù)總長度-幀首長度-幀尾長度-1字節(jié)=0X08。源端口號標(biāo)示ZigBee終端節(jié)點用于發(fā)送數(shù)據(jù)所占用的端口。
目的端口標(biāo)示ZigBee協(xié)調(diào)器節(jié)點用于接收數(shù)據(jù)所占用的端口。
網(wǎng)關(guān)地址標(biāo)示ZigBee協(xié)調(diào)器節(jié)點的網(wǎng)絡(luò)地址,用2個字節(jié)表示,低字節(jié)在前,高字節(jié)在后。
網(wǎng)關(guān)下發(fā)節(jié)點的數(shù)據(jù)幀格式見表2所列。網(wǎng)關(guān)下發(fā)節(jié)點數(shù)據(jù)幀格式數(shù)據(jù)總長度為8字節(jié),幀首和幀尾固定為0XFE和0XFF。
數(shù)據(jù)長度占1字節(jié),數(shù)據(jù)總長度-幀首長度-幀尾長度-1字節(jié)=0X05。
源端口號為上傳數(shù)據(jù)幀中的目的端口號,目的端口號為上傳數(shù)據(jù)的源端口號。
節(jié)點地址標(biāo)示在ZigBee網(wǎng)終端節(jié)點的網(wǎng)絡(luò)地址,2個字節(jié)表示,低字節(jié)在前,高字節(jié)在后,控制命令占1字節(jié)。
控制命令為0X00表示開第一路繼電器,控制命令為0X01則表示關(guān)第一路繼電器。
控制命令為0X02,表示開第二路繼電器,控制命令為0X03,表示關(guān)第二路繼電器。
網(wǎng)關(guān)板與云平臺數(shù)據(jù)交互幀格式(網(wǎng)關(guān)板上傳云平臺)見表3所列。
幀首、幀尾固定為0X4C和0XFF,分隔符固定為0X2C(對應(yīng)ASCII碼為“,”逗號)。
數(shù)據(jù)依次為溫度、濕度、光照度、土壤濕度。
云平臺與網(wǎng)關(guān)板建立的是一個TCP長連接,云平臺控制命令下發(fā)至網(wǎng)關(guān)板則發(fā)送JSON格式數(shù)據(jù):{“sensorDatas”:[{“sensorId”:“xxxxxxx”,“value”:“xx”}]}。其中,sensor ID是云平臺中每個開關(guān)型設(shè)備的編號,value是相應(yīng)設(shè)備的狀態(tài),每個設(shè)備的開關(guān)狀態(tài)分別用00和01表示。
3.3 軟件流程圖
節(jié)點軟件流程圖如圖4所示,網(wǎng)關(guān)軟件流程圖如圖5所示。
4 TLink物聯(lián)網(wǎng)云平臺
4.1 TLink簡介
平臺的主要功能如下:
(1)接入傳感器設(shè)備能夠支持用戶使用Http,MQTT或Socket等方式連入平臺,支持以JSON,XML等標(biāo)準(zhǔn)格式上傳傳感器數(shù)據(jù),在Socket模式下,能提供傳感器設(shè)備實時反向控制功能(即由Web或App遠(yuǎn)程控制接入設(shè)備),所有數(shù)據(jù)存入和取回等API手冊完全開放,并支持客戶進(jìn)行二次開發(fā)。
(2)RESTful的交互接口設(shè)計使得TLink與開發(fā)者之間的交互非常簡潔、透明,輕松完成數(shù)據(jù)的添加、存儲、設(shè)置狀態(tài)或更新狀態(tài)等操作,能夠很容易的與移動App或企業(yè)管理系統(tǒng)進(jìn)行整合。
(3)虛擬儀表功能在一個交互頁面上,以網(wǎng)關(guān)為單位整合和展現(xiàn)多個數(shù)值型傳感器的歷史數(shù)據(jù)和曲線圖,并能夠完成對傳感器的事件觸發(fā)配置。
(4)事件觸發(fā)能力能夠定義多種傳感器的閾值,在達(dá)到特定值時發(fā)送短信,Email或由微信推送。
(5)社交功能能夠在TLink公眾號上查看傳感器的狀態(tài)或歷史曲線,并通過微信共享給好友查看。傳感器數(shù)據(jù)能夠觸發(fā)微信交互,使微信關(guān)注者能夠直接與機(jī)器設(shè)備進(jìn)行交互和控制[9]。
4.2 TLink開發(fā)流程
TLink開發(fā)流程如下:
(1)通過http://www.tlink.io/地址訪問TLink平臺注冊用戶,并登錄平臺個人中心。
(2)創(chuàng)建設(shè)備,在此處編輯設(shè)備名稱,并追加傳感器設(shè)備,設(shè)置連接協(xié)議,定義數(shù)據(jù)上報周期。
(3)編輯設(shè)備,定義協(xié)議標(biāo)簽。數(shù)據(jù)頭標(biāo)簽:[H:數(shù)據(jù)] [HE:數(shù)據(jù)],分隔符標(biāo)簽:[S:數(shù)據(jù)][SE:數(shù)據(jù)][SN長度],數(shù)據(jù)標(biāo)簽:[D?][D[長度]][DE[長度]|數(shù)據(jù)][DEC[長度]|數(shù)據(jù)][DF[長度]|數(shù)據(jù)][GPS],結(jié)束符標(biāo)簽:[T:數(shù)據(jù)][TE:數(shù)據(jù)] [CRC16][CRC8]。其中H代表字符型數(shù)據(jù),HE代表16進(jìn)制數(shù)據(jù),D代表字符型的十進(jìn)制數(shù),DE代表16進(jìn)制整型數(shù)據(jù),DEC代表16進(jìn)制整型字符串?dāng)?shù)據(jù),DF代表16進(jìn)制浮點型數(shù)據(jù),GPS代表定位數(shù)據(jù),CRC16和CRC8分別代表CRC16位和8位校驗值。
(4)設(shè)置連接協(xié)議。平臺支持的協(xié)議類型有TCP透傳:數(shù)據(jù)透傳,自定義解析協(xié)議;MQTT:協(xié)議規(guī)范嚴(yán)謹(jǐn),開發(fā)者集成協(xié)議;HTTP:HTTP RESTful API,開放接口,支持快速擴(kuò)展;Modbus RTU:工業(yè)協(xié)議標(biāo)準(zhǔn),外接聯(lián)網(wǎng)模塊可直接使用。
(5)等待客戶端連接。
4.3 云端配置
本系統(tǒng)設(shè)計采用了TCP透傳鏈接協(xié)議。協(xié)議標(biāo)簽格式為: [H:@][S:,][D?][S:,][D?][S:,][D?][S:,][D?][S:,][D?][S:,][D?][S:,][D?][S:,][D?][T:#]
實際數(shù)據(jù)示例:@,xx,xx,xx,xx,xx,xx,xx,xx #,一次上傳8個數(shù)據(jù),分別對應(yīng)節(jié)點1的溫度、濕度、光照度、土壤濕度和節(jié)點2的溫度、濕度、光照度和土壤濕度。
此外,TLink平臺還提供一些個性化服務(wù),如觸發(fā)器,可以設(shè)定某個傳感器的閾值范圍,當(dāng)采集到的數(shù)據(jù)超出這個范圍后,就進(jìn)行微信報警;組態(tài)應(yīng)用,可以編輯個性化的Web界面,通過各式各樣的控件更加直觀、方便地查詢傳感器數(shù)據(jù)和控制現(xiàn)場設(shè)備。
4.4 客戶端
客戶端基于TLink提供的開放API接口實現(xiàn),用戶根據(jù)自己的需要編輯客戶端界面??蛻舳朔譃槭謾C(jī)客戶端和網(wǎng)頁客戶端,用戶可通過任意一個客戶端登錄TLink平臺查看傳感器信息以及控制農(nóng)業(yè)現(xiàn)場的設(shè)備。
5 測試與分析
5.1 系統(tǒng)丟包率測試
本系統(tǒng)采用無線GSM、ZigBee、WiFi三種無線通信技術(shù)。GSM的工作頻段為900 MHz,主要頻率范圍為890~915MHz和935~960 MHz,ZigBee和WiFi的工作頻段均為ISM 2.4 GHz,因此可能會出現(xiàn)ZigBee與WiFi信號沖突的問題。針對此問題做如下測試:
ZigBee模塊和WiFi模塊采用隨機(jī)信道,4個ZigBee模塊分為2組,1組發(fā)送數(shù)據(jù),1組接收數(shù)據(jù),2個WiFi模塊同時向云平臺建立TCP連接。測試結(jié)果見表4所列。
5.2 丟包測試分析
基于IEEE 802.15.4的無線傳感器網(wǎng)絡(luò)協(xié)議ZigBee標(biāo)準(zhǔn)定義了16個信道,每個信道寬為2 MHz,然而基于IEEE 802.11協(xié)議的WLAN標(biāo)準(zhǔn)定義了14個信道,每個信道寬為22 MHz。以上兩種標(biāo)準(zhǔn)物理層都基于2.4 GHz ISM頻段,信道存在相互重疊的可能[10]。
ZigBee信道分布圖如圖6所示,WiFi信道無重疊分布圖如圖7所示。
對ZigBee與WiFi協(xié)議信道進(jìn)行不重疊篩選,可有3個信道不發(fā)生重疊,當(dāng)ZigBee與WiFi設(shè)備同時開啟時,通過干預(yù)各自的隨機(jī)動態(tài)信道分配方式,即WiFi信道選用不重疊1,7,13信道,ZigBee選用15,16,21,22信道,可有效避免不同通訊方式占用同一信道的情況,從而降低系統(tǒng)丟包率。
5.3 系統(tǒng)功能性測試
Web網(wǎng)頁客戶端如圖8所示,手機(jī)客戶端以及微信報警界面如圖9所示。
網(wǎng)頁客戶端和手機(jī)App端均可顯示節(jié)點數(shù)據(jù),當(dāng)節(jié)點數(shù)據(jù)異常,超過設(shè)定閾值時,本系統(tǒng)設(shè)定溫度值高于30 ℃便觸發(fā)微信報警功能。經(jīng)測試,系統(tǒng)運(yùn)行穩(wěn)定、可靠。
6 結(jié) 語
本設(shè)計保證了數(shù)據(jù)的準(zhǔn)確可靠通信,達(dá)到了預(yù)期對系統(tǒng)實時性、穩(wěn)定性的要求。測試結(jié)果表明,系統(tǒng)可以穩(wěn)定運(yùn)行在溫室環(huán)境中,實現(xiàn)了對溫室的智能監(jiān)控。
參考文獻(xiàn)
[1]王冬.基于物聯(lián)網(wǎng)的智能農(nóng)業(yè)監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[D].大連:大連理工大學(xué), 2013.
[2]施連敏,陳志峰,蓋之華.物聯(lián)網(wǎng)在智慧農(nóng)業(yè)中的應(yīng)用[J].農(nóng)機(jī)化研究, 2013(6):250-252.
[3]卞祥,王惠姣.基于TLink平臺的溫濕度監(jiān)測系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2015, 5(11):12-13.
[4]林巧生,趙育林.基于開源硬件和物聯(lián)網(wǎng)云平臺的遠(yuǎn)程控制應(yīng)用[J].湖南工業(yè)大學(xué)學(xué)報, 2016, 30(1):64-69.
[5]余佳賓,陽泳,鄒陸華,等.基于yeelink網(wǎng)絡(luò)平臺的智能農(nóng)業(yè)遠(yuǎn)程控制[J].電子技術(shù)與軟件工程, 2015(1):18.
[6]李先權(quán).WiFi網(wǎng)絡(luò)構(gòu)建與應(yīng)用研究[D].廣州:華南理工大學(xué), 2012.
[7]滿莎, 楊恢先, 彭友,等.基于ARM9的嵌入式無線智能家居網(wǎng)關(guān)設(shè)計[J].計算機(jī)應(yīng)用, 2010, 30(9):2541-2544.
[8]張海輝,朱江濤,吳華瑞,等.通用農(nóng)業(yè)環(huán)境信息監(jiān)控系統(tǒng)ReGA網(wǎng)關(guān)設(shè)計[J].農(nóng)業(yè)工程學(xué)報, 2012, 28(3):135-141.
[9]何東健,鄒志勇,周曼.果園環(huán)境參數(shù)遠(yuǎn)程檢測WSN網(wǎng)關(guān)節(jié)點設(shè)計[J].農(nóng)業(yè)機(jī)械學(xué)報, 2010, 41(6):182-186.
[10]許童羽,王建東,須暉,等.基于ZigBee與WiFi的北方日光溫室群監(jiān)控系統(tǒng)設(shè)計[J]. 中國農(nóng)機(jī)化學(xué)報, 2016, 37(1):59-64.