慕燈聰, 闞 卓, 李 崢, 朱 旋
(淮北師范大學物理與電子信息學院,235000,安徽省淮北市)
我國是傳統(tǒng)的農(nóng)業(yè)大國,農(nóng)業(yè)發(fā)展離不開肥沃的土地. 如今,土壤酸堿化、板結(jié)、水分流失等問題日益突出,嚴重影響農(nóng)作物的產(chǎn)量[1]. 因此,能夠準確的檢測出土壤各項參數(shù),及時了解土壤環(huán)境參數(shù)信息,對于提高作物產(chǎn)量和倡導精準農(nóng)業(yè)有著深遠的意義[2]. 隨著電子信息技術(shù)的發(fā)展,市面上已具有能夠測量土壤參數(shù)的各種傳感器.利用ZigBee組建網(wǎng)絡的優(yōu)點和土壤參數(shù)傳感器相結(jié)合,提出并設(shè)計了基于無線傳感器網(wǎng)絡(Wireless Sensor Networks)WSN的土壤參數(shù)測量系統(tǒng).
基于WSN的土壤參數(shù)測量系統(tǒng),由ZigBee無線傳感器網(wǎng)絡節(jié)點和STM32網(wǎng)關(guān)組成,無線傳感器網(wǎng)絡包括ZigBee采集節(jié)點,ZigBee路由節(jié)點以及ZigBee協(xié)調(diào)器[3];STM32網(wǎng)關(guān)包含STM32L151RET6核心板、ESP8266 WIFI模塊以及M5311A NB-IoT模塊[4][5]. 數(shù)據(jù)采集節(jié)點連接土壤溫度、濕度、PH以及氮磷鉀傳感器,負責原始數(shù)據(jù)的采集與發(fā)送;路由節(jié)點本身也可以采集并處理數(shù)據(jù),除此之外,當終端節(jié)點在通信范圍內(nèi)搜索不到協(xié)調(diào)器節(jié)點時,可借助路由節(jié)點進行數(shù)據(jù)的多跳;協(xié)調(diào)器節(jié)點負責無線傳感器網(wǎng)絡的組建,并維護整個網(wǎng)絡的運行,接收采集節(jié)點或者路由節(jié)點的數(shù)據(jù)傳送給STM32網(wǎng)關(guān),進一步通過NB-IoT或者ESP8266將數(shù)據(jù)發(fā)送給OneNET進行存儲、顯示,用戶可通過電腦端網(wǎng)頁或者手機端APP實時查看測量的數(shù)據(jù). 系統(tǒng)整體框架如圖1所示.
圖1 系統(tǒng)總體結(jié)構(gòu)示意圖
電源是系統(tǒng)能否穩(wěn)定工作以及測量參數(shù)精度的關(guān)鍵所在,系統(tǒng)硬件需要使用12 V,5 V,3.3 V電壓,ZigBee終端節(jié)點的工作電壓為3.3 V,土壤pH,溫度、濕度以及氮磷鉀傳感器的工作電壓需要5 V,考慮到土壤測量市電供電不便的原因,因此設(shè)計12 V太陽能供電,方便用戶使用. 陽光充足、太陽能板輸出電壓穩(wěn)定時,采用太陽能板供電,夜晚或者陰天時采用12 V蓄電池供電,同時預留12 V適配器和12 V開關(guān)電源接口,在有市電條件下可采用市電供電. 研究設(shè)計采用芯龍公司的XL1509-5.0電源管理芯片將12 V穩(wěn)壓至5 V,設(shè)計XC6206P332MR將5 V穩(wěn)壓至3.3 V. XL1509具有寬電壓輸入(4.5 V~40 V),2 A負載驅(qū)動能力,XC6206P332MR最大輸出0.5 A電流,二者完全能夠滿足該系統(tǒng)使用. 設(shè)計電路如圖2所示.
圖2 電源管理模塊設(shè)計
數(shù)據(jù)采集節(jié)點負責土壤參數(shù)的測量、信號的調(diào)理與發(fā)送. 包括CC2530 ZigBee主控單元、土壤溫度、濕度傳感器、土壤PH傳感器、土壤氮磷鉀傳感器以及相應的信號調(diào)理電路. 同時帶有電池電量監(jiān)測,當采用電池供電時負責監(jiān)控電池是否處于缺電狀態(tài),方便用戶實時掌握電池狀態(tài);土壤參數(shù)測量異常時會發(fā)出聲光報警,用戶可手動關(guān)閉報警的開啟與否;液晶顯示電路采用1.3寸OLED液晶,用于顯示土壤參數(shù)以及電池電路等基本信息,用戶亦可控制液晶顯示的開啟與關(guān)閉從而達到節(jié)約能源的目的. 其整體框圖如圖3所示.
圖3 采集節(jié)點結(jié)構(gòu)設(shè)計
2.2.1 土壤溫、濕度電路設(shè)計
土壤溫度傳感器采用防水型DS18B20,其結(jié)構(gòu)可以直接插進土壤里使用,與主控通訊方式為單總線方式,只需占用一個IO口,硬件設(shè)計接在CC2530主控模塊的P1.5引腳上. 土壤濕度采用電容式土壤濕度傳感器,區(qū)別于市面上電阻式土壤濕度傳感器,避免了極易被腐蝕的問題,極大的延長了使用壽命,其輸出為模擬信號輸出,接在CC2530的ADC接口P0.6上. 設(shè)計電路圖如圖4所示.
圖4 土壤溫、濕度檢測電路
2.2.2 pH信號調(diào)理電路設(shè)計
土壤pH傳感器選用PR-3000-TR-PH-05,模擬量輸出0~5 V,量程為3~9 pH,ZigBee的AD的測量范圍為0~3.3 V,因此設(shè)計0~5 V轉(zhuǎn)換為0~3 V轉(zhuǎn)換電路,采用2個高精密、低溫漂的電阻分壓來實現(xiàn)電壓信號的轉(zhuǎn)換,電壓轉(zhuǎn)換輸出后采用LM358設(shè)計了電壓跟隨電路,起到隔離信號的作用,設(shè)計電路如圖5所示.
圖5 PH信號調(diào)理電路
2.2.3 氮磷鉀電路設(shè)計
氮磷鉀傳感器采用VMS-3000-TR-NPK-N01,插入土壤中可快速測量土壤氮磷鉀含量,從而有助于用戶判斷土壤的肥沃程度,其量程0 mg/kg~1999 mg/kg,響應時間快,精度高,信號輸出方式為RS485(ModBus-RTU協(xié)議)輸出,485芯片選用3.3 V 工作電壓的低功耗SP3485芯片,RO和DI端口分別接在ZigBee的P0.2和P0.3引腳上,SP3485輸入輸出使能端并聯(lián)接在P1.7引腳上,設(shè)計電路如圖6所示.
圖6 SP3485電路
網(wǎng)關(guān)節(jié)點以STM32L151RET6作為主控單元,通過串口1(PA9,PA10)和ZigBee協(xié)調(diào)器進行通訊,接收ZigBee協(xié)調(diào)器發(fā)送的土壤傳感器數(shù)據(jù)信息;串口4(PC10,PC11)和M5311A NB-IoT模塊通訊;串口3(PB10,PB11)和ESP8266 WIFI模塊通訊. 用戶開機時可以通過按鍵選擇使用NB-IoT或者WIFI模塊來和OneNET云平臺進行通訊,以此來適用于不同的場所. 同時,網(wǎng)關(guān)節(jié)點本地端也設(shè)計了聲光報警和OLED液晶顯示電路,OLED液晶屏用于顯示實時土壤參數(shù)、電池電量、各終端節(jié)點的在線情況以及NB-IoT的網(wǎng)絡狀態(tài);當出現(xiàn)參數(shù)異常、電量異常、終端掉線或者NB-IoT模塊掉網(wǎng)不工作時,會啟動聲光報警. 結(jié)構(gòu)示意圖如圖7所示.
圖7 網(wǎng)關(guān)節(jié)點結(jié)構(gòu)示意圖
2.3.1 STM32L151RET6主控
網(wǎng)關(guān)節(jié)點選擇STM32L151RET6作為主控芯片,STM32L151RET6是意法半導體公司推出的超低功耗處理器,超低功耗模式電流能夠達到280 nA,內(nèi)部資源豐富,具有512-KB Flash存儲器,非常適合土壤參數(shù)測量系統(tǒng)網(wǎng)關(guān)的設(shè)計要求.
2.3.2 M5311A NB-IoT模塊
該系統(tǒng)選用M5311A NB-IoT模塊,M5311是中移動公司推出的NB-IoT模塊,工作電壓范圍廣,常采用3.3V供電,功耗較低,適合電池供電的環(huán)境,其內(nèi)置MTK2625,也支持OPENCPU功能,通訊協(xié)議上支持UDP/TCP-IP/HTTP以及MQTT,接入OneNET云平臺穩(wěn)定可靠,協(xié)議簡單[6].
無線傳感器網(wǎng)絡的程序設(shè)計選擇IAR Embedded Workbench軟件,采用Z-Stack_2.5.3.1協(xié)議棧進行程序的組網(wǎng)、數(shù)據(jù)的采集和發(fā)送等任務. STM32網(wǎng)關(guān)板程序開發(fā)采用 Keil MDK5集成開發(fā)環(huán)境,使用較為成熟的庫函數(shù)進行編程,同時移植了嵌入式物聯(lián)網(wǎng)實時操作系統(tǒng)RT-Thread,使得任務處理、調(diào)度更加流暢. 整個開發(fā)過程采取模塊化編程思路,分別編寫并調(diào)試完成了ZigBee組網(wǎng)程序、采集節(jié)點數(shù)據(jù)驅(qū)動采集程序、STM32網(wǎng)關(guān)程序以及OneNET云平臺的搭建.
數(shù)據(jù)采集節(jié)點負責土壤原始數(shù)據(jù)的采集并處理,主要包含網(wǎng)絡的加入,防水型DS18B20的單總線驅(qū)動程序,土壤濕度、PH傳感器以及電池電量采集的三路ADC初始化程序,氮磷鉀傳感器的ModBus-RTU協(xié)議,串口初始化等程序,主控采集到數(shù)據(jù)后,判斷數(shù)據(jù)是否異常,如有異常,啟動聲光報警電路用于警示,反之,則將數(shù)據(jù)打包發(fā)送給ZigBee協(xié)調(diào)器節(jié)點. 其流程圖如下頁圖8所示.
圖8 采集節(jié)點程序流程圖
網(wǎng)關(guān)程序主要包含ZigBee協(xié)調(diào)器程序以及STM32網(wǎng)關(guān)程序. 協(xié)調(diào)器程序負責整個無線傳感器網(wǎng)絡的組建、維護以及節(jié)點的加入等工作. 組網(wǎng)完成后等待節(jié)點的加入,加入網(wǎng)絡過后則判斷是否接收到數(shù)據(jù),判斷處理數(shù)據(jù)是否異常,最終將數(shù)據(jù)通過串口通信發(fā)送給STM32網(wǎng)關(guān),程序流程圖如圖9所示. STM32網(wǎng)關(guān)程序,負責接收協(xié)調(diào)器的數(shù)據(jù),驅(qū)動NB-IoT模塊和ESP8266 WIFI模塊,將接收到的數(shù)據(jù)處理后顯示在OLED液晶上、判斷是否有異常數(shù)據(jù)、啟動報警,并傳輸給OneNET云平臺進行顯示存儲,流程如圖10所示.
圖9 協(xié)調(diào)器程序流程圖
圖10 STM32網(wǎng)關(guān)程序流程圖
一般終端界面設(shè)計相對來說是個復雜的過程,需要掌握相應的編程語言,代碼一步步調(diào)試完善,開發(fā)周期較長,但OneNET云平臺為用戶提供了一套完整的流程,用戶注冊號OneNET賬號,按照要求設(shè)置好產(chǎn)品概況、配置完數(shù)據(jù)點后即可在應用管理界面編輯自己的應用[7]. OneNET云平臺給用戶提供了拖拉式的控件,設(shè)置好屬性參數(shù),即可完成界面設(shè)計. 該系統(tǒng)借助OneNET云平臺構(gòu)建了WEB網(wǎng)頁顯示界面以及手機APP客戶端,用于對土壤參數(shù)的實時查詢,在數(shù)據(jù)流展示界面,用戶可以以EXCEL格式導出各個時間段的土壤參數(shù)的歷史數(shù)據(jù).
測試時在學校操場和學校主干道旁各布置了一個采集節(jié)點和一個協(xié)調(diào)器節(jié)點,協(xié)調(diào)器節(jié)點連接電腦串口調(diào)試助手,用于顯示接收到的數(shù)據(jù);采集節(jié)點每次發(fā)送100個字節(jié)數(shù)據(jù),發(fā)送10組數(shù)據(jù),每組數(shù)據(jù)測試完后改變采集節(jié)點和協(xié)調(diào)器節(jié)點的距離,測試結(jié)果如表1和表2所示.
表1 學校操場測試結(jié)果
通過表格1,2可以得知,隨著通信距離的增加以及障礙物的增加,都會給ZigBee無線傳感器網(wǎng)絡通信的丟包率造成影響,距離越遠和障礙物越多,丟包率都會增加. 對于土壤參數(shù)的測量,遮擋環(huán)境較少,區(qū)域內(nèi)短距離組網(wǎng),對數(shù)據(jù)實時性要求不高,該系統(tǒng)能夠滿足設(shè)計要求. 當通信距離過大時,可以通過增加路由節(jié)點實現(xiàn)數(shù)據(jù)的多跳,可進一步減少數(shù)據(jù)丟包率.
表2 學校主干道測試結(jié)果
ZigBee采集節(jié)點接入土壤參數(shù)傳感器,插在操場的土壤里,網(wǎng)關(guān)節(jié)點距離采集節(jié)點100 m處,網(wǎng)關(guān)和采集節(jié)點皆采用12 V太陽能板供電. 在實驗室進入OneNET控制臺,設(shè)備列表顯示設(shè)備為在線狀態(tài),說明硬件正常接入了云平臺,可進行數(shù)據(jù)的接收顯示. 進入OneNET云平臺應用界面,可實時查詢土壤參數(shù),如圖11所示.
圖11 OneNET界面
本文將無線傳感器網(wǎng)絡技術(shù)應用在土壤參數(shù)測量系統(tǒng)中,采用ZigBee組建無線傳感器網(wǎng)絡,數(shù)據(jù)采集節(jié)點采集土壤溫度、濕度、pH值以及氮磷鉀參數(shù),通過無線傳感器網(wǎng)絡將數(shù)據(jù)發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器通過串口傳輸給STM32網(wǎng)關(guān),最終通過NB-IoT或者WIFI把數(shù)據(jù)傳輸?shù)絆neNET云平臺,用戶可遠程通過PC端網(wǎng)頁或者手機APP查看歷史數(shù)據(jù)和土壤實時參數(shù). 本文對基于WSN的土壤參數(shù)測量系統(tǒng)的整體方案以及軟硬件設(shè)計進行了詳細的分析說明,并對系統(tǒng)進行了測試,結(jié)果表明該系統(tǒng)運行穩(wěn)定,數(shù)據(jù)可靠,實用性強,非常適合應用于土壤參數(shù)測量,為實時了解土壤環(huán)境狀態(tài)提供了切實可行的方案,具有廣闊的應用前景.