樊紅娟



摘 要:糧食作為重要的國家儲備,對糧庫糧情的監測尤為重要。文中開發了一套基于LoRa的糧庫糧情監測系統,采用STM32作為控制模塊,將采集的溫濕度通過LoRa傳至服務器端,解決了多點傳輸沖突問題;服務器端采用Java語言開發,實現了對數據的存儲和分析。測試結果表明,系統功能符合預期,能夠實時采集多點溫濕度信息,滿足了對糧庫糧情數據采集的有效性和可靠性要求。
關鍵詞:LoRa;糧情監測;系統設計;Java;STM32;后臺管理
中圖分類號:TP39文獻標識碼:A文章編號:2095-1302(2020)07-00-02
0 引 言
糧食不僅關系國計民生,更是國家的重要儲備,因此糧食倉儲非常重要。糧食在存儲過程中會出現發熱霉變、蟲害等現象,為了解決糧食存儲過程中存在的問題,許多學者借助現代信息化手段設計并開發了多種產品用于監測糧食的實時狀態[1-3]。尤其在物聯網技術興起后,對糧情的監測更為容易[4-6]。
本文采用LoRa技術設計并開發了一款糧庫糧情監測系統,此系統管理后臺采用當前流行的Java語言開發,用戶可通過手機APP或PC端用戶界面方便地查看糧食的實時數據,并對數據進行分析。
1 系統總體框架
糧庫糧情監測系統共包括4部分,即系統前端交互界面、系統管理后臺、監測節點和數據庫。
用戶使用系統的前端交互界面與系統交互,本文開發了兩種前端交互界面,分別為手機端APP和PC端Web界面。手機端APP采用Android技術,能夠使用戶隨時隨地進行糧情監測。用戶還可以打開PC端的瀏覽器進入Web界面進行糧情監測。系統管理后臺采用Java技術開發,實現了系統管理、基礎設置、數據監測、數據分析、統計報表和預警管理等功能[7]。監測節點獲取糧庫的溫濕度信息后傳給服務器端的系統管理后臺,由系統管理后臺負責將數據存儲到MySQL數據庫。系統總體框架如圖1所示。
為解決各監測點數據同時傳輸的沖突問題,在設計監測模塊時采用CSMA/CA機制,在發送前偵聽有無其他節點正在發送數據,有則延時避讓,無則立即發送。
2 系統設計
2.1 硬件設計
數據采集節點是本系統的一個重要部分,其作用是監測糧庫糧食的溫濕度。當溫濕度不在預設范圍內時,產生報警信號,并實時把采集的數據通過LoRa模塊傳給服務器。數據采集節點將SMT32作為控制器,整個采集節點的外設包含8個部分,分別為LoRa模塊、報警模塊、溫濕度監測模塊、電源模塊、時鐘電路、復位電路、JTAG接口和USB轉串接口[8]。監測點結構如圖2所示。
STM32系列控制器為要求性能高、成本低、功耗低的嵌入式應用而設計,本文重新優化了其功能、存儲器和性能,以最小的硬件變化滿足了項目需求。LoRa作為低功耗廣域網的典型代表技術之一,具有傳輸距離遠、功耗低、成本低、靈敏度高和抗干擾能力強等優點,在本文中用于發送糧庫糧食的溫濕度信息和接收服務器端的控制信號。電源模塊用于為監測節點提供工作電壓和電流。當糧庫中糧食的溫濕度超出閾值時,報警模塊產生報警信號。溫濕度監測模塊選用SHT20溫濕度傳感器模塊,用于糧庫糧食的溫濕度監測。JTAG接口用于下載程序,USB轉串口用于調試手持設備。
2.2 軟件設計
2.2.1 采用技術
本系統開發了兩種類型的前端用戶交互界面,即手機APP和PC端的Web頁面。
(1)手機APP能夠自動適應各種品牌和型號的手機,采用Android技術和XML技術開發,界面美觀,操作簡單。
(2)PC端的Web頁面通過H5技術實現,使用CSS3技術進行布局,采用JavaScript技術實現異步交互。
系統的管理后臺采用當前最流行的Java框架SSM(SpringMVC+Spring+MyBatis)開發。Spring能夠管理對象間的依賴關系,降低系統耦合度。SpringMVC是一個輕量級Java框架,它使用了MVC的設計思想,能與Spring無縫對接,降低了Web層開發復雜性。MyBatis采用XML文件配置的方式管理SQL語句,降低了SQL語句與代碼的耦合度。應用SSM框架進行開發提高了系統管理后臺的開發效率和穩定性。
2.2.2 系統后臺管理功能的設計
糧庫糧情監測系統后臺管理包括系統管理、基礎設置、數據監測、數據分析、統計報表和預警管理6大模塊。系統的后臺管理功能模塊結構如圖3所示。
(1)系統管理模塊為超級管理員使用,是系統能夠正常運行的基本模塊,具有用戶管理、權限管理、角色管理、日志管理等功能。
(2)基礎設置模塊是對糧庫、人員、監測點等進行基本設置的模塊,主要包括對糧庫信息的增、刪、改、查等操作,以及倉庫糧情信息的設置,監測點的設置,工作人員的管理,布點的設置等。
(3)數據監測模塊是監測糧情溫濕度的模塊,包括自動按時監測和發送指令監測。
(4)數據分析模塊主要是對數據庫中存儲的歷史數據進行數據分析,包括數據對比,數據按時間變化情況顯示,某時段的曲線圖等。
(5)統計報表模塊用于生成報表,可以按周生成,也可以按月、按年生成。
(6)預警管理模塊是針對糧庫糧情出現異常情況而設定的功能模塊,具有超溫預警、倉重預警等功能。
2.2.3 數據庫設計
根據對業務邏輯的需求分析,本系統選擇MySQL作為后臺數據庫,并設計了用戶信息表、監測點數據表、倉庫信息表、倉庫溫濕度信息表、單位表等15個數據庫表來存儲數據。倉庫溫濕度表見表1所列。
3 系統測試
為了驗證本系統的有效性,選用市面上的手持數字測溫儀和測濕儀對實驗倉庫測量溫濕度,并與本系統的測量結果進行對比,對比結果見表2所列。
4 結 語
本文借助LoRa技術開發了一款糧庫糧情監測系統,用戶可以通過手機APP或PC端Web頁面對糧庫中的糧食溫濕度進行監測。系統的后臺管理采用當前流行的Java框架SSM開發,提高了系統的開發效率和穩定性。硬件采集節點采用STM32系列芯片作為控制器。經測試,本系統能夠對糧庫中糧食的溫濕度進行監測,并能夠對糧庫進行管理,達到了預期效果。
參考文獻
[1]龍夏,檀明,王曉峰,等.糧庫糧情智能監測系統的設計與實現
[J].牡丹江師范學院學報(自然科學版),2019(4):5-8.
[2]張雪蒼,熊偉.糧情測控系統的現狀研究及展望[J].糧食加工,2017,42(6):70-73.
[3]馬暉.基于DE0的糧倉糧情監測系統的設計與實現[D].武漢:武漢輕工大學,2017.
[4]曲春燕,原明亭,張華虎.基于ZigBee無線傳感網絡的糧庫糧情監測系統的設計[J].工業控制計算機,2014,27(11):58-59.
[5]朱寧莉,馬振洲.基于LoRa無線技術的散糧集裝箱溫濕度監測系統[J].單片機與嵌入式系統應用,2018,18(10):67-69.
[6]趙慶明.基于無線網絡的糧情監測系統開發與研究[D].天津:天津工業大學,2019.
[7]黃鵬.糧情遠程監控系統的設計與實現[D].成都:電子科技大學,2017.
[8]費祥,張梅.基于LoRa的溫濕度監測節點設計[J].物聯網技術,2019,9(3):34-36.
[9]袁明波.基于無線傳感器網絡的糧庫糧情監測系統設計[D].沈陽:沈陽理工大學,2010.
[10]楊恩澤.智慧糧庫控制系統的設計與實現[D].杭州:浙江大學,2018.