周賀松



摘 要:隨著物聯網技術的飛速發展,越來越多的行業開始引入物聯網技術,以提高行業的智能化、自動化水平。按照物聯網典型的三層結構(感知層、網絡層、應用層)搭建一套完整的物聯網系統需耗費較大的人力、物力成本。針對物聯網系統開發門檻高、研制周期長的現象,設計了一種包含采集終端、云服務器、Web應用的多功能物聯網采集系統。該系統具備應用范圍廣、開發周期短、占用人員少、便于移植等優勢,目前已在智慧農業、智能電力、新能源電池監測等領域得到了一系列應用,取得了較好的經濟效益和示范效應。
關鍵詞:物聯網技術;采集系統;采集終端;云服務器;Web應用;智慧農業;智能電力;新能源電池監測
中圖分類號:TP39文獻標識碼:A文章編號:2095-1302(2020)05-00-03
0 引 言
多功能采集系統示意圖如圖1所示。采集終端通過
RS 485或者I/O接口收集到傳感器數據后,按照TCP協議把數據發送到云服務器;云服務器接收到數據后,按照特有的格式進行數據存儲;Web應用響應用戶操作,通過HTTP協議從云服務器獲取數據并在網頁或者微信公眾號顯示。
1 采集終端
采集終端可以選擇太陽能或220 V市電。太陽能供電方式適用于室外監測場所,220 V供電方式適用于室內有市電的場合。如圖2所示,按照電路功能可以把采集終端分為電源電路、數據采集電路、數據處理和存儲電路、數據傳輸電路[1-3]。
1.1 電源電路
圖3所示為電源輸入電路,該電源是整個采集終端的供電電源入口。若采用太陽能供電,J4處接太陽能板(輸出電壓為5 V、功率為3 W),J1處接3.7 V的18650鋰電池,鋰電池充電管理芯片采用TP4056;若采用220 V市電供電,則需要通過專用的AC/DC模塊把220 V市電轉為5 V后再接到J1處。
圖4所示為MCU供電電路,該電路用于把3.1~5 V的輸入電壓轉換成MCU所需的3 V電壓。此處采用低功耗、低噪聲、低壓降、小封裝的SGM2019-3.0YN5G/TR芯片。
圖5所示為傳感器供電電路,用于把輸入電壓升壓至傳感器所需的供電電壓,升壓芯片為XL6019。為降低功耗,XL6019由MCU開啟,在不需要給傳感器供電時關閉。該電路提供5 V,14 V兩種輸出模式,可以通過在R45,R46處焊接對應的0 Ω電阻。
圖6所示為通信模組供電電路,用于提供無線通信模組所需的電源,穩壓芯片為SPX29302,該電路可以根據不同的通信模組選擇不同的輸入電壓,同樣該芯片由MCU進行控制以降低功耗[4-6]。
1.2 數據采集電路
本采集終端可以采集模擬量(電壓、電流)和數字量
(RS 485接口、TTL接口)。模擬量采集采用STM32F103C8T6內部的12位A/D,可以選擇電壓或者電流兩種采集模式。數字量采集提供TTL串口和RS 485接口兩種方式,如圖7所示。
1.3 數據處理及存儲電路
如圖8所示,采集終端的核心處理器為STM32F103C8T6,提供了RTC精準時鐘(可通過服務器遠程校時);數據存儲芯片為8 MB的W25Q64;RTC時鐘由紐扣電池和板載電源無縫隙切換供電,保證RTC時鐘的可靠性和長時間工作能力;存儲器的電源由MCU控制,在不需要數據存儲時可以關閉存儲單元的電源;為避免出現死機現象,啟用STM32的內部看門狗,保證采集終端不死機。
按照工作模式,可以分為實時模式和定時模式。在實時模式下,可以每秒鐘采集1次數據,在電腦端顯示。在定時模式下,可以設置2~720 min采集一次數據,數據采集完畢后,把數據傳輸到遠程服務器。
1.4 數據傳輸電路
采集終端可根據信號覆蓋情況,選擇GPRS,LTE,WiFi三種通信方式進行數據遠程傳輸。為便于升級和維護,此處只為通信模塊提供電源和TTL通信接口。
WiFi轉接板型號為ATK-ESP8266,GPRS轉接板型號為SIM800L,LTE轉接板型號為SIM7600CE。單片機通過AT指令集和通信轉接板進行通信。
2 云服務器
云服務器不僅需要處理來自Web端的HTTP請求,而且需要處理來自采集終端的TCP請求。本系統的云服務器部署在阿里云的ECS云服務器,以Spring MVC + Hibernate持久層+UI快速開發庫為基礎框架,采用面向聲明的開發模式,基于泛型方式編寫極少代碼即可實現復雜的數據展示、數據編輯、表單處理等功能。如圖1所示,云服務器包含數據采集服務器、數據服務器、Web服務器。
2.1 數據采集服務器
數據采集服務器通過TCP協議從采集終端獲取數據,通過系統內部的加密處理算法,將物理數據解析成通用的普遍數據,由數據服務器存儲。
數據解析架構基于開源框架JEECG修改,能實現代碼自動生成和手工合成半智能開發模式,可以提高開發效率。
2.2 數據服務器
數據服務器對來自采集服務器的數據進行加工處理,并把處理后的數據保存到MySQL數據庫中。數據服務器主要完成數據預處理、數據存儲和數據查詢等功能。
(1)數據預處理:對接收的數據進行格式化處理,使得數據能保存到數據庫中;
(2)數據存儲:根據預處理后的數據屬性,把數據保存到不同的數據庫表中;
(3)數據查詢:進行數據庫數據查詢,并把查詢結果返回給Web服務器。
2.3 Web服務器
Web服務器為終端用戶提供Web訪問服務,搭建Web應用與數據庫服務器和數據采集服務器的信息交換橋梁。主要實現數據查詢轉發和指令轉發等功能。
(1)數據查詢轉發:響應用戶在Web端的操作,對數據服務器進行數據查詢;
(2)命令轉發:響應用戶在Web端的操作,通過數據采集服務器把相應指令下發到采集終端。
3 Web應用
Web應用用于數據的顯示和報表繪制。考慮到平臺兼容性,本系統選用微信公眾號的方式。開發時選用響應式框架,組件間的通信為異步通信,可有效保證用戶操作的流暢性;采用開源的流行工具,保證代碼的可控性和健壯性。按照功能可以細分為三個單元。
(1)通信單元:該單元的主要功能是與服務器進行雙向通信,將本地請求上傳至云服務器,接收云服務器的回執并將該回執發送給數據處理單元;
(2)數據處理單元:將本地產生的數據或服務器產生的數據加工整理后,轉交給前端單元或通信單元;
(3)前端單元:處理用戶輸入,發送給數據處理單元,接收數據處理單元發回的數據,更改展示狀態。
圖9~圖11分別為該系統在智慧農業、智能電力、新能源等領域的應用界面。
4 結 語
本文基于物聯網技術設計的多功能采集系統,為農業、電力等傳統行業插上了信息化和智能化的翅膀,為新能源等新興產業提供了一種遠程監控手段。
參考文獻
[1]董明明,孫萬蓉,陳梓馥,等.基于RTU油井遠程測控系統的數據采集與傳輸層軟件設計[J].物聯網技術,2012,2(2):25-29.
[2]陳梓馥,孫萬蓉,董明明,等.基于ARM9的RTU設計[J].物聯網技術,2012,2(3):54-58.
[3]孟萌.基于Arduino的物聯網數據采集器設計與實現[D].北京:北京工業大學,2016.
[4]楊永平.基于GPRS的嵌入式數據采集系統設計[D].大連:大連理工大學,2007.
[5]曾偉淵.基于 Web Service 的物聯網數據平臺的設計與實現[J].電子技術與軟件工程,2015(20):193-194.
[6]許吉祥.基于物聯網的數據采集系統軟件設計[D].成都:電子科技大學,2013.
[7]石躍祥,鐘喆,李錦泓.一種新型智能水表抄表系統[J].物聯網技術,2014,4(6):16-18.
[8]黃穎,張偉.基于物聯網的智慧農業監控系統[J].物聯網技術,2017,7(4):33-34.
[9]吳曉強,張春友,侍紅巖.情景感知在農業物聯網中的應用研究
[J].物聯網技術,2019,9(1):34-36.
[10]張玉杰,王軒.微服務架構的城市照明控制系統服務平臺設計
[J].物聯網技術,2019,9(1):48-51.