萬 云,陳達美,楊大奎
(1.重慶城市職業學院信息與智能工程系,重慶402160;2.重慶市永川區大安小學校,重慶402160)
在農業生產中,環境對植物的生長起著關鍵作用,將直接影響植物的產量與質量。及時、迅速、便捷地了解植物生長環境,對于掌握植物生長狀況并做出準確的預判而言有著非常重要的意義[1]。智能溫室在該背景下產生,它是以自動控制系統為核心,利用計算機網絡技術對溫室內的光照、溫濕度、CO2含量及土壤水分等環境因子進行實時監測和調控,使得它們接近理論最佳值,滿足作物生長需求。
從20世紀70年代后期開始,智能化溫室技術在日本和歐美等發達國家就已獲得應用,歷經幾十年的發展,該項技術現已趨于成熟并獲得了大規模推廣使用[2-3]。我國的智能溫室起步較晚,在20世紀后期才從國外引進較為先進的溫室設施技術和控制系統[4]。目前,國內外智能溫室仍以有線技術和無線技術為主實現通信與監控。基于有線技術通信時,需布設較多線纜,出現的故障可能性較大且成本較高,降低了溫室技術的效益[5];基于無線技術通信時,主要采用WiFi、ZigBee、藍牙和通用分組無線業務(General Packet Radio Service,GPRS)等組網實現無線監測,在一定程度上解決了有線傳輸的弊端[6-7],但仍存在功耗高、難以實現多個溫室間遠距離通信等問題。
本文針對現有溫室監控系統在通信上存在的問題,提出了一種將遠距離無線電(Long Range,LoRa)和窄帶物聯網(Narrow Band Internet of Things,NB-IoT)進行結合的智慧溫室群遠程監控通信模式,結合低功耗主控單元(Microcontroller Unit,MCU)和自組通信協議設計,解決了無線信道沖突問題,實現了終端與用戶間的雙向有效通信,完成了實時采集和執行控制。基于該通信模式的溫室監控系統,理論上可擴展至256個溫室,具有組網簡單、功耗低、距離遠和數據傳輸可靠的優勢,特別適用于溫室群的遠程精準化和智能化管理。
智慧溫室群遠程監控系統的通信總體結構如圖1所示,該系統的通信主要包含終端子網(各溫室)至集中器之間的通信和網關至云平臺之間的通信。

圖1 系統通信總體結構Fig.1 General structure of system communication
終端子網(各溫室)至集中器之間的通信:依靠所設計的自組協議構成自組網,以實現無線傳輸。在每個溫室內布置了溫濕度傳感器、土壤水分傳感器、光照濃度傳感器和CO2濃度傳感器等節點,通過各傳感器節點采集對應環境因子值,再經運算速度快、低功耗的MCU進行智能化處理,在完成處理后將數據傳輸至終端子網內的LoRa模塊,最后經自組協議與集中器中的LoRa模塊建立通信連接,確保數據有效雙向傳輸。
網關至云平臺之間的通信:依靠運營商構架的協議實現傳輸。網關由低功耗MCU和NB-IoT模塊組成。MCU在接收到集中器的數據之后,對數據進行處理并將其傳輸至NB-IoT模塊,NB-IoT模塊通過與運營商基站之間的專屬協議實現無線通信連接,確保數據有效傳輸至云平臺。用戶可通過PC端上位機軟件直接從云平臺調取各溫室內的數據,以實現遠程監控。
該監控系統硬件設計主要體現于溫室群中各溫室終端采集節點的設計,其硬件結構如圖2所示,其中包含電源模塊、采集模塊、執行模塊、主控單元和通信模塊。

圖2 溫室群終端硬件結構圖Fig.2 Hardware structure of greenhouse group terminal
電源模塊的功能是實現對各模塊的穩定供電。在該系統中,MCU、通信模塊和采集模塊中的溫濕度傳感器、光照度傳感器、CO2濃度傳感器均需直流3.3V供電,執行模塊和采集模塊中的土壤水分傳感器需直流5V供電。因此,電源模塊需給系統提供3.3V和5V供電。
采集模塊的功能是實現對溫室內各環境因子數據的采集,并將數據傳送給MCU。在該系統中所需采集的環境因子有溫濕度、光照度、土壤水分和CO2濃度。其中,溫濕度的采集通過集溫濕度一體的DHT11數字傳感器實現,光照度的采集通過BH1750型傳感器實現,土壤水分的采集通過485型PR-3000-TR-N01傳感器實現,CO2濃度的采集通過MH-Z19紅外CO2傳感器實現。
執行模塊的功能是從MCU獲取數據,將各環境因子控制在預設范圍內。在該模塊中,設備有天窗、遮陽網、熱風機、循環風機、噴霧加濕器、滴灌、補光燈、CO2發生器等,這些設備的運行均可通過MCU對其所接的繼電器發送指令來實現控制。
主控單元是整個溫室終端控制的核心,可選用意法半導體ST推出的低功耗處理器STM32F103C8T6進行智能化設計,完成各環境因子的數據采集與控制,并將相關數據經自組通信協議傳送給集中器,同時也接收來自集中器的指令。
通信模塊為各終端子網至集中器之間提供通信保障。系統選用有SX1278擴頻芯片的LoRa模塊來實現,它是一款低功耗、小體積、微功率、高性能、遠距離LoRa無線串口模塊,理論距離可達8km左右,可滿足遠距離、穩定、準確和低成本的應用需求[8]。
因各溫室終端子網內的傳感器節點一般采用電池供電,所以需對監控終端進行低功耗設計,該系統主要從兩方面實現低功耗設計。
(1)從硬件上選用低功耗器件
MCU選用低功耗處理器STM32F103C8T6,這是一款基于ARM Cortex-M內核的32位的微控制器,支持等待、睡眠和停止3種低功耗工作模式。
各終端子網與網關通信選用LoRa模塊實現,其外觀如圖3所示。LoRa技術工作在1GHz以下的非授權頻段,在應用時無需額外付費,其節點可根據具體應用場景需求進行或長或短的睡眠,所以電池供電壽命長。除此之外,LoRa技術對建筑的穿透力極強。總之,其所具備的成本低、功耗低、抗干擾能力強、傳輸距離遠和穩定性強等技術特點非常適合于低成本、大規模的物聯網部署,因此其已成為智慧溫室群監控系統通信組網技術的首選[9-10]。其內部的SX1278芯片采用了擴頻調制解調技術,支持睡眠、等待等低功耗模式,可實現在低功耗前提下的遠程通信[11]。

圖3 LoRa模塊外觀圖Fig.3 External view of LoRa module
網關與云平臺通信選用NB-IoT模塊實現,其外觀如圖4所示。NB-IoT網絡是通訊網絡的重要組成部分,是物聯網技術和物聯網產業的基礎。它依托于蜂窩通信技術,能夠承載海量數目的連接終端,其深度覆蓋能力很強,功耗較低,便于移動,指向傳感類、計量類和監控類物聯網應用場景。相較于長期演進技術(Long Term Evolution,LTE),NB-IoT網絡的核心優勢主要體現在能夠連接海量數據、覆蓋范圍廣、功耗較低、模塊成本較低等;相比 GPRS,它最大的優勢是低功耗[12-13]。基于上述特點,NB-IoT成為本系統網關至云平臺通信的首選技術。

圖4 NB-IoT模塊外觀圖Fig.4 External view of NB-IoT module
(2)從軟件設計上通過分時采集和分時發送數據方式實現節能
通常情況下,MCU和SX1278處于等待和睡眠工作模式,MCU按設定的采樣周期定時采集傳感器的節點數據,將數據進行處理并寫入SX1278的緩存器。當檢測到信道空時發送數據,MCU自動轉入低功耗模式;當SX1278接收到數據時,向MCU發送中斷請求,依據讀取到的SX1278狀態寄存器數據轉入中斷服務,然后進入低功耗模式,使MCU在大部分情況下處于低功耗的工作狀態[11]。
該系統選擇星型拓撲作為無線網絡基礎結構,其網絡架構如圖5所示。每個LoRa模塊與溫室內的各傳感器節點構成了一個星型子網,每個子網再將數據匯集到網關,形成大星型網絡。考慮到單個星型網絡容量有限且無法覆蓋遠距離節點的問題,系統根據溫室個數將系統劃分為多個子網,并為每個子網分配了獨立的信道。相同信道的節點和網關組成星型結構子網,可降低信號間的相互干擾,擴充網絡容量,增加覆蓋范圍。

圖5 自組網絡架構圖Fig.5 Self-organizing network architecture
為確保各子網與網關的通信暢通,設計了如表1所示的自組通信協議數據幀格式,子網和網關間的通信需遵循該幀格式協議。

表1 自組通信協議數據幀格式Table 1 Data frame format of private communication protocol
該數據幀由幀頭、子網號、數據域和幀尾組成,幀頭和幀尾各占1個字節,分別固定為9AH和FFH,在數據傳送過程中可表示一個完整的數據起始;子網號占1個字節,代表每個溫室的地址編號,溫室群中最多可擴展為256個溫室;數據域包含空氣濕度、空氣溫度、土壤水分、光照度和CO2濃度等值,除光照度和CO2濃度占2個字節外,其他參數均為1個字節。
該溫室群的遠程監控通信實質就是對所監測的數據進行采集、傳輸與處理、顯示等,其工作流程如圖6所示。在具體運行過程中,數據的通信主要體現在節點和網關的通信上。

圖6 系統工作流程圖Fig.6 Workflow of system
節點通信即對子網中傳感器節點所采集的數據進行處理,處理過程主要分為3步:1)節點是否收到網關中LoRa集中器發送的數據指令。如檢測到數據,則會解析繼電器狀態,并執行相應設備操作以確保環境因子在預設范圍內,同時會采集和回傳傳感器中新的數據至網關,否則會繼續等待定時時間;2)判斷設定的采集數據時間值。在系統程序中,將采集和回傳時間分別設定為200ms和250ms固定值,即每隔200ms會采集一次數據,每隔250ms會回傳一次數據;3)低功耗。為降低功耗,節點采用休眠設計,在定時時間未到時,節點的射頻芯片和傳感器等會進入休眠低功耗狀態。
網關通信即對節點的數據進行傳輸與處理,主要體現在兩方面:1)負責監聽各終端子網上傳的數據,將數據存入云平臺,客戶PC端從云平臺調用存入的數據,進行手動或自動操作;2)負責接收用戶PC端上位機經云平臺發送的數據,通過與MCU相連的LoRa通信模塊將數據發送至各子網。網關通信的工作流程如圖7所示。
為測試系統的通信效果,設定如下測試條件:
1)采用2個小型實驗溫室組成溫室群并將其作為終端子網,采用1個LoRa模塊和1個NB-IoT模塊構成網關,它們共同組成星型網絡,如圖8所示。

圖8 實物搭架測試圖Fig.8 Physical drawing of test
2)各子網內含有溫濕度、光照度、土壤水分和CO2濃度4路傳感器節點和天窗、遮陽網、熱風機、循環風機、噴霧加濕器、滴灌、補光燈、CO2發生器等8路執行設備(用繼電器代替)。
3)租用谷雨云透徹平臺作為云端,購買電信物聯網卡1張,將其綁定至云端建立連接,如圖9所示。

圖9 云平臺搭建圖Fig.9 Diagram of cloud platform
4)通信參數設定:LoRa模塊發射功率為100mW,覆蓋頻率為410MHz~441MHz,在程序中將傳感器采集數據的時間設為200ms,網關定時收發傳感器數據的時間設為100ms,定時上傳云服務器的時間設為250ms。
上電后,在上位機IP地址欄處輸入云端IP地址和端口號,點擊連接服務器,系統能顯示連接成功提示語,在終端設備頁面也能實時查看在兩個溫室內所采集到的數據值,如圖10所示。

圖10 系統連通性和實時性測試Fig.10 System connectivity and real-time testing
在測試兩個溫室間的通信距離時,選擇相對空曠的地帶進行測試。將一個溫室固定,另一個溫室在每隔固定溫室500m的距離時通過串口數據調試窗口發送100個數據包,所得測試數據如表2所示。

表2 通信測試數據Table 2 Test data of communication
實測結果表明,在發射功率為100mW時,測試距離在1.5km范圍內幾乎無丟包現象;測試距離在2km~2.5km范圍內,開始出現丟包現象;當測試距離接近3km,丟包率已高達20%。但由于采取了獨立信道抗干擾和分時傳輸機制,確保了數據的有效傳輸。綜上所述,在相對空曠的地帶、發射功率為100mW的情況下,能保證至少2km的有效通信,系統具備功耗低、傳輸遠、數據可靠的通信能力。
將LoRa技術和NB-IoT技術相結合并應用于智慧溫室群遠程監控系統中,實現了用戶與各溫室之間的通信,完成了用戶端遠程監控各溫室環境因子的功能。由測試結果可知,所構建的通信模式具有組網簡單、功耗低、距離遠和數據傳輸可靠的優勢,特別適用于溫室群的遠程管理。不過由于以上數據是在較空曠的環境下獲得,在復雜環境下,類似系統還有較好的技術開發空間。