鄭貴林 曾志威
摘要:針對(duì)傳統(tǒng)農(nóng)業(yè)環(huán)境監(jiān)測(cè)系統(tǒng)成本高、交互性差、兼容性差、擴(kuò)展性差等缺點(diǎn),設(shè)計(jì)基于騰訊QQ(即時(shí)通信軟件)物聯(lián)平臺(tái)的農(nóng)業(yè)環(huán)境監(jiān)測(cè)系統(tǒng),介紹系統(tǒng)的整體設(shè)計(jì)和具體實(shí)現(xiàn)。系統(tǒng)以i.MX283處理器作為開(kāi)發(fā)平臺(tái),基于嵌入式Linux系統(tǒng)開(kāi)發(fā),移植QQ物聯(lián)軟件開(kāi)發(fā)工具包(SDK),實(shí)現(xiàn)了手機(jī)QQ與系統(tǒng)的交互功能。系統(tǒng)使用通用串行總線(USB)攝像頭獲取實(shí)時(shí)圖像;使用RS485總線作為控制網(wǎng)關(guān),接入環(huán)境監(jiān)測(cè)傳感器。實(shí)現(xiàn)了手機(jī)QQ對(duì)農(nóng)場(chǎng)的視頻監(jiān)控,對(duì)水質(zhì)、氣象、土壤等環(huán)境信息的監(jiān)測(cè)。系統(tǒng)已成功應(yīng)用于成都蒲江農(nóng)場(chǎng),結(jié)果表明,系統(tǒng)穩(wěn)定、易用,對(duì)農(nóng)業(yè)生產(chǎn)有一定指導(dǎo)作用。
關(guān)鍵詞:農(nóng)業(yè)物聯(lián)網(wǎng);QQ物聯(lián);視頻監(jiān)控;傳感器;iMX283處理器
中圖分類(lèi)號(hào): S126;TP274+.2? 文獻(xiàn)標(biāo)志碼: A? 文章編號(hào):1002-1302(2019)05-0187-05
收稿日期:2017-12-13
基金項(xiàng)目:賽爾網(wǎng)絡(luò)下一代互聯(lián)網(wǎng)技術(shù)創(chuàng)新項(xiàng)目(編號(hào):NGII20160617)。
作者簡(jiǎn)介:鄭貴林(1963—),男,山西太原人,博士,教授,博士生導(dǎo)師,主要從事智慧建筑、智能電網(wǎng)、海洋波浪能發(fā)電技術(shù)和傳感器技術(shù)等方面研究。E-mail:glzheng@whu.edu.cn。
通信作者:曾志威,碩士研究生,主要從事智能儀器儀器表、物聯(lián)網(wǎng)方向研究。E-mail:zhiweizeng@whu.edu.cn。
“互聯(lián)網(wǎng)+”技術(shù)逐步融入農(nóng)業(yè)、畜牧業(yè)等傳統(tǒng)行業(yè),農(nóng)業(yè)物聯(lián)網(wǎng)系統(tǒng)綜合了傳感器技術(shù)、自動(dòng)控制技術(shù)、網(wǎng)絡(luò)通訊技術(shù),能提高農(nóng)作物生產(chǎn)效率,降低生產(chǎn)成本,增加經(jīng)濟(jì)收入[1]。實(shí)現(xiàn)對(duì)農(nóng)場(chǎng)的視頻監(jiān)控以及對(duì)水質(zhì)、氣象、土壤等農(nóng)場(chǎng)環(huán)境信息的實(shí)時(shí)監(jiān)測(cè)和管控,對(duì)改造傳統(tǒng)農(nóng)業(yè)、提升農(nóng)業(yè)現(xiàn)代化水平具有重要作用[2]。綜合當(dāng)前研究現(xiàn)狀,農(nóng)業(yè)環(huán)境監(jiān)測(cè)系統(tǒng)經(jīng)歷著傳統(tǒng)的人工現(xiàn)場(chǎng)監(jiān)測(cè)、使用電腦作為終端監(jiān)測(cè)、使用手機(jī)應(yīng)用程序(APP)監(jiān)測(cè)的演變[3]。目前較為流行的電腦終端、手機(jī)APP監(jiān)測(cè)方式存在如下缺點(diǎn):設(shè)備廠商須要自己構(gòu)建服務(wù)器、開(kāi)發(fā)手機(jī)APP電腦客戶端,整個(gè)系統(tǒng)成本高、兼容性差;由于平臺(tái)的不統(tǒng)一,用戶須要安裝不同的應(yīng)用,交互性差,沒(méi)有好的用戶體驗(yàn)。
本研究設(shè)計(jì)的基于QQ(即時(shí)通信軟件)物聯(lián)平臺(tái)的農(nóng)業(yè)環(huán)境監(jiān)測(cè)系統(tǒng),使用了QQ物聯(lián)智能硬件開(kāi)發(fā)平臺(tái),將QQ賬號(hào)體系及關(guān)系鏈、QQ消息通道能力等核心能力提供給系統(tǒng),可以實(shí)現(xiàn)手機(jī)、電腦QQ客戶端對(duì)農(nóng)場(chǎng)的實(shí)時(shí)視頻監(jiān)控、環(huán)境信息數(shù)據(jù)的實(shí)時(shí)查看以及歷史數(shù)據(jù)的統(tǒng)計(jì)和分析,對(duì)農(nóng)業(yè)生產(chǎn)具有一定的指導(dǎo)作用。同時(shí)使用QQ物聯(lián)平臺(tái),減少了服務(wù)器架設(shè)、降低了APP開(kāi)發(fā)難度、統(tǒng)一了APP設(shè)計(jì)規(guī)范,極大地減少了系統(tǒng)構(gòu)建的成本,提高了用戶體驗(yàn)[4]。
1 系統(tǒng)架構(gòu)
本研究的農(nóng)業(yè)環(huán)境監(jiān)測(cè)系統(tǒng)總體上可分為3個(gè)部分,即環(huán)境監(jiān)測(cè)傳感器、嵌入式終端、QQ物聯(lián)平臺(tái)。為了解決野外供電問(wèn)題,系統(tǒng)整體使用太陽(yáng)能板供電,蓄電池作為不間斷電源(UPS)。嵌入式終端獲取傳感器數(shù)據(jù),本地存儲(chǔ),格式化上傳到QQ物聯(lián)平臺(tái)云服務(wù)器,服務(wù)器推送信息給手機(jī)、電腦客戶端查閱。系統(tǒng)整體架構(gòu)見(jiàn)圖1。
1.1 環(huán)境監(jiān)測(cè)傳感器
環(huán)境監(jiān)測(cè)傳感器是農(nóng)業(yè)環(huán)境監(jiān)測(cè)系統(tǒng)的核心部分,傳感器實(shí)現(xiàn)了對(duì)農(nóng)業(yè)生產(chǎn)信息的獲取。本系統(tǒng)選用的傳感器主要包括幾大類(lèi):攝像頭傳感器,用于獲取實(shí)時(shí)圖像信息;水質(zhì)監(jiān)測(cè)傳感器,用于獲取水位、水溫、pH值、電導(dǎo)率、溶解氧含量等信息;氣象監(jiān)測(cè)傳感器,用于獲取風(fēng)向、風(fēng)速、大氣溫度、濕度、壓力、降水量、PM2.5、CO2濃度等信息;土壤監(jiān)測(cè)傳感器,用于獲取土壤溫度、濕度、pH值、養(yǎng)分等信息。4類(lèi)傳感器配合工作,實(shí)現(xiàn)了對(duì)農(nóng)業(yè)生產(chǎn)信息的全方位獲取。
1.2 嵌入式終端
嵌入式終端由數(shù)據(jù)采集模塊、視頻監(jiān)控模塊、電源管理模塊、網(wǎng)絡(luò)通訊模塊、數(shù)據(jù)存儲(chǔ)模塊等組成[5]。數(shù)據(jù)采集模塊采用RS485總線接口,連接水質(zhì)、氣象、土壤監(jiān)測(cè)傳感器,可以很方便地拓展傳感器。視頻監(jiān)控模塊通過(guò)通用串行總線(USB)接口連接攝像頭傳感器,實(shí)現(xiàn)高速圖像采集。電源管理模塊管理太陽(yáng)能板和蓄電池,使用繼電器為每一路傳感器單獨(dú)供電,采用間歇供電方式,降低系統(tǒng)功耗,提高傳感器使用壽命。網(wǎng)絡(luò)通訊模塊采用第3代移動(dòng)通信技術(shù)/第4代移動(dòng)通信技術(shù)(3G/4G)通訊,移植了QQ物聯(lián)軟件開(kāi)發(fā)工具包(SDK),將數(shù)據(jù)上傳到云服務(wù)器。數(shù)據(jù)存儲(chǔ)模塊負(fù)責(zé)本地保存數(shù)據(jù),在網(wǎng)絡(luò)故障情況下,終端仍能正常采集傳感器數(shù)據(jù)并本地保存;網(wǎng)絡(luò)恢復(fù)后,終端讀取歷史數(shù)據(jù)上傳到服務(wù)器,確保數(shù)據(jù)的完整性。
1.3 QQ物聯(lián)平臺(tái)
QQ物聯(lián)平臺(tái)是騰訊公司2014年發(fā)布的智能硬件開(kāi)發(fā)平臺(tái),用于實(shí)現(xiàn)智能硬件設(shè)備和手機(jī)QQ軟件的互聯(lián)互通。智能硬件設(shè)備移植了QQ物聯(lián)SDK后,便可獲得QQ賬號(hào)體系及關(guān)系鏈、QQ消息通道能力等核心能力,用戶可在QQ中通過(guò)二維碼掃描、局域網(wǎng)內(nèi)查找等方式找到設(shè)備,添加為好友。通過(guò)設(shè)備好友內(nèi)嵌的超級(jí)文本標(biāo)記語(yǔ)言(HTML)頁(yè)面,可以實(shí)現(xiàn)傳統(tǒng)APP客戶端功能,例如獲取實(shí)時(shí)數(shù)據(jù)、查看歷史數(shù)據(jù)等。
2 嵌入式終端硬件設(shè)計(jì)
2.1 核心電路設(shè)計(jì)
終端選用i.MX283處理器作為開(kāi)發(fā)平臺(tái),飛思卡爾半導(dǎo)體設(shè)計(jì)的i.MX283處理器是一款低功耗、高性能的應(yīng)用處理器,基于ARM926EJ-STM內(nèi)核,主頻高達(dá)454 MHz,集成 128 kB 靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、128 kB只讀存儲(chǔ)器(ROM),具有2路USB接口、4路串行外設(shè)(SPI)接口、6路USART接口和1路10/100 M以太網(wǎng)MAC控制器,外接有128 M DDR2內(nèi)存、128 M NAND FLASH[6]。i.MX283處理器核心電路見(jiàn)圖2。
2.2 數(shù)據(jù)采集模塊設(shè)計(jì)
終端選用RS485總線接口采集數(shù)據(jù)。RS485是隸屬于開(kāi)放式系統(tǒng)互聯(lián)通信參考模型(OSI)物理層的電氣特性規(guī)定為2線、半雙工、多點(diǎn)通訊的標(biāo)準(zhǔn)。RS485接口采用平衡驅(qū)動(dòng)器和差分接收器的組合,抗共模干擾能力強(qiáng),最長(zhǎng)可以傳輸 1 200 m 以上(通訊速率小于12.5 kB/s),數(shù)據(jù)最高傳輸速率可達(dá)4.375 MB/s(傳輸距離小于10 m),其單級(jí)最多可接32個(gè)控制設(shè)備節(jié)點(diǎn)[7]。RS485收發(fā)器ADM2483芯片采用了磁隔離(iCoupler)技術(shù),是一款集成式電氣隔離器件,隔離電壓高達(dá)2 500 V,能有效保護(hù)系統(tǒng)[8]。RS485總線接口電路見(jiàn)圖3。
2.3 電源管理模塊設(shè)計(jì)
終端選用CN3722作為電源管理模塊。CN3722是一款太陽(yáng)能板供電的同步中壓脈寬調(diào)制(PWM)降壓DC/DC充電控制器,具有太陽(yáng)能最大功率點(diǎn)跟蹤功能[9]。在輸入端,通過(guò)MP管腳接電阻分壓網(wǎng)絡(luò)(R28和R32)檢測(cè)太陽(yáng)能電池電壓,此管腳電壓被調(diào)制到1.04 V,通過(guò)內(nèi)置最大功率點(diǎn)追蹤(MPPT)算法,實(shí)現(xiàn)太陽(yáng)能電池最大功率點(diǎn)追蹤;在輸出端,通過(guò)FB管腳接電阻分壓網(wǎng)絡(luò)(R26和R30)檢測(cè)電池電壓、采樣電阻(R25)檢測(cè)充電電流,實(shí)現(xiàn)對(duì)單節(jié)或多節(jié)磷酸鐵鋰電池或鋰電池充電管理。CN3722電路見(jiàn)圖4。
2.4 數(shù)據(jù)存儲(chǔ)模塊設(shè)計(jì)
終端選用安全數(shù)碼(SD)卡作為數(shù)據(jù)存儲(chǔ)模塊。SD卡是在多媒體卡(MMC)的基礎(chǔ)上發(fā)展而來(lái),是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,它被廣泛地應(yīng)用于便攜式裝置。SD卡一般支持2種操作模式:SD卡模式、SPI模式。主機(jī)可以選擇以上任意一種接口來(lái)和SD卡通訊。本設(shè)計(jì)中選用SPI模式,SD卡存儲(chǔ)電路設(shè)計(jì)見(jiàn)圖5。
2.5 通訊模塊設(shè)計(jì)
終端選用USR-G402TF作為通訊模塊。USR-G402TF是濟(jì)南有人物聯(lián)網(wǎng)技術(shù)有限公司的一款5模12頻4G模塊,支持移動(dòng)/聯(lián)通2G、3G、4G和電信4G網(wǎng)絡(luò)高速接入,即使在偏遠(yuǎn)的山區(qū),也可以保持通訊鏈路。模塊通過(guò)USB 2.0G高速接口連接處理器,內(nèi)置傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議(TCP/IP協(xié)議),具有6.25、18.75 MB/s的最大上下行通訊速率。
2.6 視頻監(jiān)控模塊設(shè)計(jì)
終端選用IMX179攝像頭模組作為視頻監(jiān)控模塊。IMX179是索尼公司的一款最新第3代背照式技術(shù)高清攝像頭,具有800萬(wàn)像素,優(yōu)秀的暗光能力,支持免驅(qū)協(xié)議,支持USB接口。在使用過(guò)程中可以在Linux系統(tǒng)中直接插入通用攝像頭驅(qū)動(dòng),通過(guò)Linux視頻設(shè)備驅(qū)動(dòng)(V4L2)接口讀取攝像頭數(shù)據(jù),USB設(shè)備連接見(jiàn)圖6。
3 嵌入式終端軟件設(shè)計(jì)
終端軟件基于Linux 2.6.35.3平臺(tái)開(kāi)發(fā),配有廠商提供的USB驅(qū)動(dòng)程序、RS485串口驅(qū)動(dòng)程序、4G模塊驅(qū)動(dòng)程序、攝像頭驅(qū)動(dòng)程序、TF卡驅(qū)動(dòng)程序等。終端軟件主要包括傳感器數(shù)據(jù)采集任務(wù)和QQ物聯(lián)平臺(tái)通訊任務(wù)。
3.1 傳感器數(shù)據(jù)采集設(shè)計(jì)
環(huán)境監(jiān)測(cè)傳感器通過(guò)RS485總線組網(wǎng)接入終端,終端定時(shí)采集傳感器數(shù)據(jù)。當(dāng)采集周期到來(lái)時(shí),終端通過(guò)控制繼電器輸出依次給傳感器供電,等待傳感器初始化完成,采集傳感器數(shù)據(jù),關(guān)閉傳感器電源。采集程序流程見(jiàn)圖7。
攝像頭監(jiān)測(cè)傳感器使用USB免驅(qū)攝像頭,在Linux系統(tǒng)中可以像訪問(wèn)普通文件一樣進(jìn)行讀寫(xiě)等操作,降低了開(kāi)發(fā)難度,提高了系統(tǒng)兼容性。采集程序通過(guò)V4L2接口讀取攝像頭數(shù)據(jù)。V4L2是Linux系統(tǒng)下針對(duì)UVC免驅(qū)USB設(shè)備的編程框架,為上層應(yīng)用程序提供一系列的接口函數(shù),可以實(shí)現(xiàn)對(duì)視頻設(shè)備的操作,進(jìn)而完成視頻圖像的采集[10],攝像頭采集流程見(jiàn)圖8。
3.2 QQ物聯(lián)平臺(tái)通訊設(shè)計(jì)
QQ物聯(lián)平臺(tái)開(kāi)發(fā)流程包括以下步驟:(1)建立開(kāi)發(fā)者賬號(hào);(2)創(chuàng)建新設(shè)備;(3)配置設(shè)備后臺(tái);(4)創(chuàng)建設(shè)備序列號(hào)和秘鑰;(5)QQ物聯(lián)設(shè)備端功能實(shí)現(xiàn);(6)整體測(cè)試。終端硬件軟件開(kāi)發(fā)環(huán)境搭建好后,到QQ物聯(lián)官網(wǎng)下載對(duì)應(yīng)版本的SDK,得到Tencent_iot_SDK開(kāi)發(fā)包[11]。SDK主要文件及功能見(jiàn)表1。
環(huán)境監(jiān)測(cè)傳感器數(shù)據(jù)通過(guò)SDK中datapoint結(jié)構(gòu)體打包后,調(diào)用tx_report_data_points函數(shù)上報(bào)datapoint數(shù)據(jù)。datapoint結(jié)構(gòu)體成員變量主要包含unsigned int類(lèi)型的id和char *類(lèi)型的value,id標(biāo)識(shí)不同類(lèi)型傳感器,便于后臺(tái)識(shí)別,value指向JSON格式字符串,用于傳遞各種傳感器實(shí)時(shí)數(shù)據(jù)。
攝像頭監(jiān)測(cè)傳感器通過(guò)V4L2接口讀取視頻數(shù)據(jù),存入共享內(nèi)存中。SDK內(nèi)部一個(gè)線程負(fù)責(zé)將數(shù)據(jù)發(fā)送到QQ物聯(lián)平臺(tái),調(diào)用tx_set_video_data函數(shù)發(fā)送每一幀視頻數(shù)據(jù)。攝像頭采集數(shù)據(jù)、網(wǎng)絡(luò)傳輸視頻數(shù)據(jù),功耗大,流量多。攝像頭默認(rèn)不開(kāi)啟,當(dāng)需要訪問(wèn)視頻數(shù)據(jù)時(shí),可遠(yuǎn)程開(kāi)啟攝像頭,以降低系統(tǒng)功耗,減少流量使用。
4 QQ物聯(lián)輕APP設(shè)計(jì)
QQ物聯(lián)輕APP是用戶用手機(jī)端操作設(shè)備的主控制界面。當(dāng)用戶綁定了環(huán)境監(jiān)測(cè)設(shè)備后,在“我的設(shè)備”列表中,點(diǎn)擊該設(shè)備,進(jìn)入的第一個(gè)界面即為設(shè)備的輕APP。輕APP主要分為公共模板和自定義HTML5等2種形式。公共模板為QQ物聯(lián)為通用的設(shè)備類(lèi)別官方設(shè)計(jì)開(kāi)發(fā)的輕APP,通過(guò)QQ物聯(lián)后臺(tái)配置就可以使用,能夠滿足基本通用功能。自定義HTML5可以根據(jù)QQ物聯(lián)的設(shè)計(jì)規(guī)范和deciveAPI(JavaScript接口)來(lái)實(shí)現(xiàn)更加定制化的輕APP,將頁(yè)面的統(tǒng)一資源定位符(URL)地址提交到QQ物聯(lián)后臺(tái),即可完成在QQ中直接內(nèi)嵌使用[4]。本系統(tǒng)采用自定義HTML設(shè)計(jì),輕APP界面如圖9所示。
5 系統(tǒng)應(yīng)用與總結(jié)
本研究設(shè)計(jì)的系統(tǒng)已成功應(yīng)用于成都蒲江農(nóng)場(chǎng),安裝有5個(gè)站點(diǎn),在野外無(wú)人值守的惡劣環(huán)境下,由太陽(yáng)能板和蓄電池供電,通過(guò)4G網(wǎng)絡(luò)傳輸數(shù)據(jù),穩(wěn)定運(yùn)行2年多時(shí)間,為農(nóng)場(chǎng)生產(chǎn)決策提供了數(shù)據(jù)支持(圖10)。系統(tǒng)接入QQ物聯(lián)平臺(tái),可以通過(guò)QQ客戶端方便快捷地查看農(nóng)場(chǎng)各項(xiàng)環(huán)境參數(shù)和實(shí)時(shí)視頻信息,同時(shí)還可以把設(shè)備分享給消費(fèi)者,提高了系統(tǒng)的交互性,增強(qiáng)消費(fèi)者對(duì)農(nóng)產(chǎn)品質(zhì)量的安全感[12]。
參考文獻(xiàn):
[1]李國(guó)英. “互聯(lián)網(wǎng)+”背景下我國(guó)現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)鏈及商業(yè)模式解構(gòu)[J]. 農(nóng)村經(jīng)濟(jì),2015(9):29-33.
[2]王曉敏,鄧春景. 基于“互聯(lián)網(wǎng)+”背景的我國(guó)智慧農(nóng)業(yè)發(fā)展策略與路徑[J]. 江蘇農(nóng)業(yè)科學(xué),2017,45(16):312-315.
[3]蔡 鑌,畢慶生,李福超,等. 基于ZigBee無(wú)線傳感器網(wǎng)絡(luò)的農(nóng)業(yè)環(huán)境監(jiān)測(cè)系統(tǒng)研究與設(shè)計(jì)[J]. 江西農(nóng)業(yè)學(xué)報(bào),2010,22(11):153-156.
[4]騰訊公司. QQ物聯(lián)全解析[J]. 物聯(lián)網(wǎng)技術(shù),2015,5(5):5-7.
[5]梁莉娟. 基于Android的農(nóng)業(yè)溫室環(huán)境遠(yuǎn)程監(jiān)測(cè)系統(tǒng)[J]. 江蘇農(nóng)業(yè)科學(xué),2017,45(15):206-209.
[6]周立功. 嵌入式Linux開(kāi)發(fā)教程[M]. 北京:北京航空航天大學(xué)出版社,2016.
[7]虞日躍,史洪源. RS-485總線的理論與實(shí)踐[J]. 電子技術(shù)應(yīng)用,2001,27(11):55-57.
[8]蘭 穎,李 剛. iCoupler(R)數(shù)字隔離技術(shù)及其應(yīng)用[J]. 電子技術(shù)應(yīng)用,2006,32(11):89-93.
[9]田 野,張紅雨. 一款新型太陽(yáng)能無(wú)線超高頻閱讀器的設(shè)計(jì)[J]. 電子技術(shù)應(yīng)用,2013,39(10):25-28.
[10]徐 家,陳 奇. 基于V4L2的視頻設(shè)備驅(qū)動(dòng)開(kāi)發(fā)[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2010,31(16):3569-3572.
[11]鄧遠(yuǎn)釗. 基于嵌入式Linux的QQ物聯(lián)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電腦知識(shí)與技術(shù),2017,13(21):55-56.
[12]陳 熔,俞 彤. 基于APP的農(nóng)產(chǎn)品質(zhì)量安全監(jiān)管平臺(tái)的設(shè)計(jì)與開(kāi)發(fā)[J]. 江蘇農(nóng)業(yè)科學(xué),2017,45(12):171-173.全朋坤,趙 娟,李艷聰,等. 蘋(píng)果樹(shù)枝的力學(xué)試驗(yàn)與其結(jié)構(gòu)參數(shù)的聯(lián)系[J]. 江蘇農(nóng)業(yè)科學(xué),2019,47(5):192-195.