国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32自動氣象站監(jiān)測系統設計

2018-07-07 02:58:50范鵬程王大旺陸建君
氣象研究與應用 2018年2期
關鍵詞:氣象站以太網嵌入式

范鵬程,曹 烤,王大旺,陸建君

(中國氣象局上海物資管理處,上海 200050)

自動氣象站是指能夠對多種氣象要素自動進行采集、處理、存儲和傳輸的地面氣象觀測設備。隨著計算機網絡技術的發(fā)展,在對遠程監(jiān)控系統進行充分研究之后,結合當前主流的嵌入式技術,提出一種能實現遠程氣象數據監(jiān)測的方法。系統采用嵌入式平臺來采集數據,并通過以太網控制器W5500搭建的Web服務器,將數據通過Internet發(fā)送給遠程客戶端,來實現客戶端網頁對服務器采集數據的動態(tài)更新。

1 系統總框圖

氣象數據采集系統硬件主要由數據采集模塊、主控制模塊、數據儲存模塊以及電源模塊組成[1-4]。數據采集模塊是在主控制器的驅動下,完成對溫度、濕度、風速、風向以及氣壓等數據的采集,主控制模塊使用的是高性能Cortex-M3內核的STM32處理器,它可以完成對數據采集模塊的控制以及對采集數據的處理工作。數據儲存模塊使用SD卡完成數據存儲,處理完成的數據通過以太網模塊發(fā)送至客戶端[5,6],整體結構設計如圖 1 所示。

圖1 系統結構圖

2 電源模塊

在供電方面,使用太陽能供電和蓄電池供電的組合方式保證自動氣象站能全天候工作。在有足夠強的光照的條件下,太陽能電池板的電壓經過充電控制芯片UC3906,給鉛酸蓄電池進行充電,在光照較弱的條件下,充電控制器控制充電電路不啟動,不對蓄電池進行充電。UC3906芯片是專門為鉛酸電池充電設計的,其內部的基準電壓隨溫度變化規(guī)律與鉛酸電池電壓的溫度特性完全一致,通過對環(huán)境溫度的準確監(jiān)測,保證電池既充足電又不會嚴重過充電,這樣有利于提高充電效率和延長使用壽命[7]。

系統對太陽能電池板電壓、充電器輸出電壓、STM32主控模塊電壓這三路電壓進行監(jiān)測,保證自動氣象站能夠工作在正常狀態(tài)。電壓監(jiān)測使用STM32內部自帶的ADC,它是12位逐次逼近型的模擬數字轉換器,有18個通道,其中兩路為內部信號源,剩余的16個外部通道可以實現對外部多路電壓信號的測量。系統使用的STM32F103RCTB內部參考電壓引腳與VCC信號線相連,這樣ADC的參考電壓就是VCC上的電壓。所以太陽能電池板的電壓及充電器輸出電壓,經分壓電阻降壓后,保證小于3.3V,接入STM32 ADC的I/O口以實現對這三路電壓的監(jiān)測。

3 嵌入式Web服務器設計與實現

嵌入式Web服務器的設計是系統的重點和難點,它包括三部分內容:以太網模塊接口電路、HTTP協議以及實時數據的傳輸。

3.1 以太網接口電路設計

Internet接入設備的傳統做法基本上是采用軟件編程,由于軟件實現的協議缺乏穩(wěn)定性以及網絡協議的復雜性,這對開發(fā)人員的能力要求比較高。因此直接采用硬件協議棧實現網絡連接,具有設計簡單方便、應用快捷靈活等特點。WIZnet公司生產的W5500使用邏輯門電路實現TCP/IP協議棧的傳輸層以及網絡層,并集成了鏈路層、物理層以及32KB存儲器用作數據收發(fā)緩存。這樣就把數據流量的處理工作轉移到W5500集成硬件中進行,使得主控芯片只需要承擔應用層控制信息的處理任務。因而使用W5500只需要一些簡單的Socket編程就能實現以太網的應用,這為嵌入式的設計開發(fā)提供硬件參考。

W5500提供了SPI接口,從而能夠更加容易與外設MCU通信,而且W5500使用了新的高效SPI協議支持80MHz速率,從而能夠更好的實現高速網絡通訊。如圖2所示,本設計采用SPI接口將STM32微控制器和以太網模塊連接構成以太網接口電路[8,9],其中 RJ-45 接口作為以太網通信接口是實現Internet接入的樞紐,網絡傳輸狀態(tài)指示燈指示網絡的工作狀態(tài)是否正常。

圖2 以太網接口電路

3.2 HTTP協議以及處理流程

HTTP(超文本傳輸協議)是因特網中在Web服務器和客戶瀏覽器之間傳輸數據使用的協議。首先,HTTP協議是TCP/IP模型中應用層一個面向對象的協議,在HTTP工作開始之前,瀏覽器與服務器之間要建立TCP鏈接,然后瀏覽器向服務器發(fā)送請求信息,服務器接受到請求信息之后返回響應信息,瀏覽器接收到服務器的響應信息后,對數據進行處理執(zhí)行。如圖3所示,就是HTTP協議傳輸數據的基本過程。

圖3 HTTP傳輸數據示意圖

在STM32微控制器和以太網模塊W5500搭建的硬件平臺上,要實現HTTP服務器的通信過程,大致分為以下幾個步驟。

(1)初始化服務器:這部分完成Web服務器的初始化,例如W5500作為Web服務器,首先分配Socket去監(jiān)聽HTTP請求。

(2)接受并解析客戶端請求:當Socket連接建立完成后,W5500接收來自客戶端的HTTP請求并進行分析。

(3)回應響應消息:如果請求方法為GET,則先返回響應首部,再將客戶端請求的URL目標文件從內存中讀出,作為HTTP應答發(fā)送給客戶端。

(4)關閉:HTTP響應消息完成后,關閉與客戶端的連接。

由于Web服務器和瀏覽器在通信時使用TCP協議工作,根據SOCK_HTTP之間狀態(tài)的不同,執(zhí)行不同的操作。http函數就實現了Web服務器接受請求和回復響應的全過程。HTTP服務器實現的具體流程[10],如圖 4 所示。

圖4 HTTP服務器實現流程圖

3.3 Web服務器上的數據傳輸以及動態(tài)頁面的實現

要在嵌入式系統中實現頁面的動態(tài)更新,與在通用服務器上是不一樣的。由于受到單片機處理速度以及存儲空間的限制,不可能生成各種不同的頁面。 這里采用 SSI技術,SSI(Server Side Include)俗稱服務器端嵌入,是一種網頁制作技術。它的工作原理是檢測文件中的標志位,然后在這個標志前面添加你所需要的字符串。

因此在嵌入式系統中,可將編好的網頁文件保存在自定義的數組中,對需要添加氣象數據部分作一個特殊標志。當程序運行時,先將數組讀入內存,然后檢測數組中的標記,將傳感器測量并處理完成后的氣象數據添加到標志之前,這樣就可以重新生成一個頁面,并將其發(fā)送給客戶端。動態(tài)網頁可以及時更新網頁中的某些數據,因此可以清楚的查詢到所需要觀測的氣象數據,使遠程監(jiān)測變得方便快捷[11],具體實現步驟如下。

首先,新建一個index.html的靜態(tài)網頁文件,將靜態(tài)網頁存儲在數組webpage內,代碼簡化如下:

當服務器接受到客戶端的請求,就將數組webpage內的網頁作為響應發(fā)送給客戶端。代碼簡化如下:

其中定義了W5500的發(fā)送/接受緩存區(qū)的大小TX_RX_BUF_SIZE,如果所要發(fā)送數據的字節(jié)大于TX_RX_BUF_SIZE,就需要將數據拆分開依次發(fā)送。Send函數的原型是uint16 send(SOCKET s,const uint8* buf,uint16 len),這樣我們就可以清楚的了解,通過建立HTTP連接的Socket端口,將緩存區(qū)內一定長度的數據發(fā)送出去。

由于發(fā)送給服務器是一個沒有信息的靜態(tài)頁面,不包含任何數據值,所以在發(fā)送之前,需要處理器去查找標志,然后在標志前插入測定的氣象數據,查找函數如下:

其中tx數組用于存放處理完成的溫度數據。這樣所測定的氣象數據就可以顯示在網頁中。

4 客戶端數據監(jiān)測

程序中設定Web服務器的IP地址為192.168.3.171,客戶端PC機也位于同一網段,設定IP地址為192.168.3.18。在PC機瀏覽器地址欄輸入嵌入式Web服務器的IP地址192.168.3.171,運行結果如表1所示。

表1 數據監(jiān)測表

然后點擊進入電壓監(jiān)控頁面,可以顯示出太陽能電池板的電壓、充電器輸出電壓以及STM32主控模塊電壓,運行結果如表2所示。

表2 電壓檢測表

5 結束語

隨著信息化的推進與網絡技術的發(fā)展,嵌入式系統設備實現網絡連接成為了一大趨勢。系統基于Cortex-M3的嵌入式模塊,其中太網控制器W5500的使用,比其它以太網方案更加快捷、方便實現了自動氣象站監(jiān)測系統數據的更新[12-17]。經過模擬測試表明,可以對氣壓、溫度、濕度、風向、風速進行較為精確地監(jiān)測。

[1]毛壽興,楊麗麗.自動氣象站氣壓傳感器的校準及誤差分析處理[J].氣象研究與應用,2016,37(4):96-98.

[2]陶偉,張喜鴻.廣西自動氣象站計量檢定智能顯示平臺的研制[J].氣象研究與應用,2015,36(4):94-96.

[3]黃宏智,黃飛龍,陳冰懷.新型自動氣象站實時監(jiān)控系統的設計與實現[J].廣東氣象,2016,38(5):74-77.

[4]王建莊,余秀娟.國家級自動氣象站應用APN自動補傳的實現[J].廣東氣象,2015,37(4):73-76.

[5]張惠捷,鐘鼎.基于 Cortex-M3 的自動氣象站設計[J].電子技術,2012,37(8):70-72.

[6]郁波.自動氣象站數據傳輸系統設計[D].南京:南京信息工程大學,2008.

[7]徐海輝.基于 UC3906的太陽能充電控制器的設計[J].通信電源技術,2010,27(2):33-34.

[8]于春雪.W5100在遠程電力質量監(jiān)測設備中的應用[J].電力系統通信,2011,32(227):59-64.

[9]陳實,王琪,張鐵軍,等.一種基于W5100的數據傳輸系統[J].電子技術應用,2013,39(9):54-56.

[10]高嵩.基于HTTP協議的嵌入式遠程監(jiān)控系統的研究[D].北京:北京工業(yè)大學,2009.

[11]林笑君.基于Cortex-M3的嵌入式WEB服務器監(jiān)控系統的設計與實現[D].太原:太原理工大學,2013.

[12]周柳麗,蒙程,馬冬晨.自動氣象站現場校準過程處理經驗[J].氣象研究與應用,2013,34(4):67-69.

[13]田小芳,韋麗英,黃健征.自動氣象站蒸發(fā)傳感器日常維護及數據異常處理[J].氣象研究與應用,2016,37(S1):149.

[14]黎錦雷,韋菊,楊玉靜.新型自動氣象站故障分析與排除[J].氣象研究與應用,2015,36(4):100-102.

[15]王建莊,余秀娟.廣東省自動氣象站數據傳輸監(jiān)控功能的實現[J].廣東氣象,2013,35(2):71-73.

[16]雷衛(wèi)延,李源鴻,楊志健.船舶自動氣象站中心采集系統的設計與實現[J].廣東氣象,2014,36(6):63-66.

[17]陳映強,鄭繼玲,黃育嬌.自動站氣象資料管理查詢系統的設計與實現[J].廣東氣象,2012,34(5):54-56.

猜你喜歡
氣象站以太網嵌入式
珠峰上架起世界最高氣象站
基于1500以太網養(yǎng)豬場的智能飼喂控制系統的設計與實現
心靈氣象站
趣味(語文)(2019年3期)2019-06-12 08:50:14
搭建基于Qt的嵌入式開發(fā)平臺
談實時以太網EtherCAT技術在變電站自動化中的應用
電子制作(2017年24期)2017-02-02 07:14:44
嵌入式軟PLC在電鍍生產流程控制系統中的應用
自動氣象站應該注意的一些防雷問題
一種90W高功率以太網供電系統的設計
電源技術(2015年7期)2015-08-22 08:48:48
淺談EPON與工業(yè)以太網在貴遵高速公路中的應用
Altera加入嵌入式視覺聯盟
松潘县| 平泉县| 广德县| 沅江市| 镇安县| 大悟县| 页游| 广水市| 太白县| 宣城市| 建水县| 双城市| 合肥市| 达州市| 长子县| 启东市| 内黄县| 威信县| 卓尼县| 延边| 阿克| 黔东| 云安县| 临清市| 原阳县| 宝丰县| 林西县| 潞城市| 雷山县| 晋中市| 昭平县| 平遥县| 郎溪县| 蓬溪县| 双江| 五寨县| 岳西县| 宜章县| 亳州市| 宁乡县| 华宁县|