999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于WebSocket技術(shù)的溫濕度監(jiān)控系統(tǒng)研究

2016-10-19 00:10:43范鵬程陳鐘榮
湖北農(nóng)業(yè)科學 2016年6期
關(guān)鍵詞:系統(tǒng)

范鵬程 陳鐘榮

摘要:研究了一種新的基于WebSocket技術(shù)的溫濕度監(jiān)控系統(tǒng),介紹了系統(tǒng)的總體設(shè)計,包含數(shù)據(jù)采集和數(shù)據(jù)傳輸兩大模塊,系統(tǒng)采用了W5500網(wǎng)絡(luò)芯片以及AM2302數(shù)字溫濕度傳感器,在HTTP協(xié)議的基礎(chǔ)上進行了應(yīng)用開發(fā)。結(jié)果表明,基于WebSocket技術(shù)的溫濕度監(jiān)控系統(tǒng)具有成本低、數(shù)據(jù)傳輸靈活實時等優(yōu)點,并可廣泛應(yīng)用于需要溫濕度監(jiān)控的場所。

關(guān)鍵詞:W5500網(wǎng)絡(luò)芯片;HTTP協(xié)議;溫濕度監(jiān)控;系統(tǒng)

中圖分類號:P412.1 文獻標識碼:A 文章編號:0439-8114(2016)06-1558-04

DOI:10.14088/j.cnki.issn0439-8114.2016.06.050

溫度和濕度是衡量環(huán)境的重要指標。在農(nóng)業(yè)生產(chǎn)、工業(yè)控制、倉庫存儲等領(lǐng)域里,溫濕度監(jiān)控設(shè)備成為研究的重點,并正在走向大規(guī)模的實施階段。傳統(tǒng)的溫濕度監(jiān)測設(shè)備大多數(shù)采用有線方式,其優(yōu)點是可靠穩(wěn)定,而缺點是布線困難、可移動性差。針對這些問題與不足,本研究以高性能ARM芯片STM32為核心的溫濕度監(jiān)控系統(tǒng),采用最新的WebSocket技術(shù),實現(xiàn)了遠程溫濕度的實時監(jiān)測。

1 系統(tǒng)總體結(jié)構(gòu)

溫濕度監(jiān)控系統(tǒng)主要由數(shù)據(jù)采集模塊、主控制模塊、以太網(wǎng)模塊等模塊組成。數(shù)據(jù)采集模塊是傳感器在主控制器的驅(qū)動下完成對溫濕度數(shù)據(jù)的采集,主控制模塊使用的是高性能Cortex-M3內(nèi)核的STM32處理器,可以完成對數(shù)據(jù)采集模塊的控制以及對采集數(shù)據(jù)的數(shù)據(jù)處理工作,處理完成的數(shù)據(jù)通過以太網(wǎng)模塊W5500發(fā)送至客戶端。

2 系統(tǒng)硬件設(shè)計

2.1 溫濕度傳感器模塊

溫濕度數(shù)據(jù)采集使用AM2302濕敏電容數(shù)字溫濕度模塊,它是一款含有己校準數(shù)字信號輸出的溫濕度復合傳感器,應(yīng)用溫濕度傳感技術(shù)和數(shù)字模塊采集技術(shù),具有極高的可靠性和長期的穩(wěn)定性[1,2],傳感器引腳名稱描述如表1所示。

該傳感器采用單線制串行接口,與單片機之間僅僅需要一個I/O口就能夠采集到本地的溫度和濕度,其與單片機的典型連接如圖1所示。

2.2 以太網(wǎng)模塊

以太網(wǎng)模塊使用WIZnet公司生產(chǎn)的W5500芯片,該芯片直接采用硬件協(xié)議棧實現(xiàn)網(wǎng)絡(luò)連接,主要應(yīng)用在性能高和成本低的嵌入式系統(tǒng)中,具有設(shè)計簡單方便、應(yīng)用快捷靈活等特點。W5500芯片內(nèi)部集成全硬件TCP/IP協(xié)議棧、10/100M以太網(wǎng)介質(zhì)傳輸層MAC和物理層PHY,支持TCP、ARP、IGMP等協(xié)議,同時W5500內(nèi)部還集成有32 Kb存儲器用作TX/RX緩存以供以太網(wǎng)包處理,使用W5500芯片僅需要一些簡單的Socket編程就能實現(xiàn)以太網(wǎng)的應(yīng)用,這樣可以為嵌入式的設(shè)計開發(fā)提供硬件參考。

W5500芯片提供了SPI接口,容易與STM32處理器進行通信,而且W5500芯片使用了新的高效SPI協(xié)議,支持80 MHz速率,能夠更好地實現(xiàn)高速網(wǎng)絡(luò)通信。如圖2所示,本設(shè)計采用SPI接口將STM32處理器和以太網(wǎng)模塊連接構(gòu)成以太網(wǎng)接口電路[3,4],其中RJ-45接口作為以太網(wǎng)通信接口是實現(xiàn)Internet接入的樞紐,網(wǎng)絡(luò)傳輸狀態(tài)指示燈指示網(wǎng)絡(luò)的工作狀態(tài)是否正常。

3 系統(tǒng)軟件設(shè)計

系統(tǒng)的硬件設(shè)計相對比較簡單,軟件設(shè)計是核心工作,軟件設(shè)計工作主要包括HTTP協(xié)議處理流程和WebSocket處理函數(shù)流程。本設(shè)計中使用W5500芯片的2個Socket資源,一個用來創(chuàng)建HTTP服務(wù)器,在客戶端瀏覽器中輸入配置的IP地址就能遠程訪問硬件系統(tǒng);另一個用來創(chuàng)建WebSocket服務(wù)器,與網(wǎng)頁端建立通信來傳輸溫濕度數(shù)據(jù)。軟件設(shè)計的總體流程如圖3所示。

3.1 HTTP協(xié)議及處理流程

HTTP(超文本傳輸協(xié)議)是因特網(wǎng)中在Web服務(wù)器和客戶瀏覽器之間傳輸數(shù)據(jù)使用的協(xié)議。首先,HTTP協(xié)議是TCP/IP模型中應(yīng)用層一個面向?qū)ο蟮膮f(xié)議,在HTTP工作開始前,瀏覽器與服務(wù)器之間要建立TCP連接,然后瀏覽器向服務(wù)器發(fā)送請求信息,服務(wù)器接受到請求信息之后返回響應(yīng)信息,瀏覽器接收到服務(wù)器的響應(yīng)信息后,對數(shù)據(jù)進行處理執(zhí)行。如圖4所示,即HTTP協(xié)議傳輸數(shù)據(jù)的基本過程。

在STM32處理器和W5500芯片搭建的硬件平臺上,要實現(xiàn)HTTP服務(wù)器的通信過程,分為以下幾個步驟:

1)初始化服務(wù)器。完成Web服務(wù)器的初始化,W5500芯片作為Web服務(wù)器,首先分配Socket去監(jiān)聽HTTP請求。

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

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

4)關(guān)閉。HTTP 響應(yīng)消息完成后,關(guān)閉與客戶端的連接。

由于Web服務(wù)器和瀏覽器在通信時使用TCP協(xié)議工作,根據(jù)SOCK_HTTP之間狀態(tài)的不同,執(zhí)行不同的操作。http( )函數(shù)就實現(xiàn)了Web服務(wù)器接受請求和回復響應(yīng)的全過程。以下是對http( )函數(shù)部分重點語句的詳細解釋以及HTTP服務(wù)器實現(xiàn)的具體流程[6],如圖5所示。

void do_http( )

{

uint8 ch=SOCK_HTTP; //定義了HTTP通信的Socket端口變量

…………

switch(getSn_SR(ch)) //獲取Socket的狀態(tài)

{

case SOCK_INIT: //Socket狀態(tài)初始化

listen(ch); //Web服務(wù)器的監(jiān)聽

break;

case SOCK_LISTEN: //Socket監(jiān)聽狀態(tài)

break;

case SOCK_ESTABLISHED: //Socket建立連接成功

…………

len = recv(ch, (uint8*)http_request, len); //接收來自客戶端的請求

proc_http(ch, (uint8*)http_request);//解析HTTP請求,并發(fā)送HTTP Response

disconnect(ch); //斷開TCP連接

break;

case SOCK_CLOSE_WAIT: //Socket等待關(guān)閉狀態(tài)

…………

disconnect(ch); // 斷開TCP連接

break;

case SOCK_CLOSED: // Socket 關(guān)閉狀態(tài)

Socket(ch, Sn_MR_TCP, 80, 0x20)//重新初始化Socket端口,等待下一次連接

break;

}

}

3.2 WebSocket處理流程

WebSocket是HTML5規(guī)范中的一個重要組成部分,是下一代客戶端服務(wù)器的異步通信方法。WebSocket協(xié)議是一種雙向通信協(xié)議,建立在TCP基礎(chǔ)之上,同http一樣通過TCP來傳輸數(shù)據(jù)[7]。

當在客戶端瀏覽器上訪問硬件的IP地址,會向W5500芯片發(fā)送http請求,W5500芯片在收到請求后將網(wǎng)頁信息發(fā)送給瀏覽器,瀏覽器就能顯示溫濕度檢測系統(tǒng)的主界面。在網(wǎng)頁的代碼中,瀏覽器會主動連接W5500芯片的WebSocket,在完成握手操作后數(shù)據(jù)通信通道即可建立。這樣硬件就可以將溫濕度數(shù)據(jù)發(fā)送給瀏覽器端,瀏覽器在收到溫濕度數(shù)據(jù)后,使用畫布功能,在指定位置畫出溫濕度示數(shù)的點和曲線。WebSocket處理函數(shù)具體流程如圖6所示。

WebSocket服務(wù)器和客戶端之間交互過程大致分為以下4個步驟并且給出了函數(shù)原型:

1)為了創(chuàng)建一個WebSocket連接,需要創(chuàng)建一個WebSocket接口傳入Web服務(wù)URL地址,sensorWebSocket會試圖連接監(jiān)聽于相應(yīng)的URL服務(wù)。

varwsUri=‘ws:192.168.3.171:1818′;

sensorWebSocket=newWebSocket(wsUri);

2)注冊事件并為事件鏈接相應(yīng)處理函數(shù),例如,當瀏覽器頁面收到來自服務(wù)器端的數(shù)據(jù)后,觸發(fā)onmessage事件,進而調(diào)用onMessage函數(shù)。

sensorWebSocket.onmessage=function(evt){onMessage(evt)};

代碼中還注冊了onopen、onclose和onerror 3個事件,onopen表示W(wǎng)ebSocket建立連接完成,onclose表示W(wǎng)ebSocket連接被關(guān)閉或無法建立連接,onerror表示W(wǎng)ebSocket發(fā)生錯誤。

3)消息處理函數(shù),在硬件上將采集來的溫濕度數(shù)據(jù)用‘.號連接,在瀏覽器端接收到數(shù)據(jù)后,使用字符串分割函數(shù)將溫度和濕度數(shù)據(jù)分割,存儲在一個數(shù)組對象里,之后將數(shù)據(jù)轉(zhuǎn)化成坐標值在畫布上顯示出來。

functiononMessage(evt)

{

vararrayTH=new Array(2);

arrayTH=evt.data.split(‘.);

……

}

4)主動關(guān)閉WebSocket連接

sensorWebSocket.close();

有了WebSocket這個功能就可以與遠程服務(wù)器連接并接受和發(fā)送消息,該功能在雙向通信方面十分有用,特別是在服務(wù)器需要主動向瀏覽器頁面發(fā)送消息時。

4 客戶端的數(shù)據(jù)監(jiān)測

程序中設(shè)定Web服務(wù)器的IP地址為192.168.3.171,客戶端PC機也位于同一網(wǎng)段,設(shè)定IP地址為192.168.3.18。在PC機瀏覽器地址欄輸入嵌入式Web服務(wù)器的IP地址192.168.3.171,運行結(jié)果如圖7所示,在測試期間可以使用加濕器來增加空氣中濕度。

5 小結(jié)

隨著信息化的推進與網(wǎng)絡(luò)技術(shù)的發(fā)展,嵌入式系統(tǒng)設(shè)備實現(xiàn)網(wǎng)絡(luò)連接成為了一大趨勢。本研究設(shè)計了一種基于WebScoket的溫濕度監(jiān)測系統(tǒng)方案,實現(xiàn)實時更新,降低數(shù)據(jù)流量和網(wǎng)絡(luò)延遲,減輕服務(wù)器負擔。W5500芯片的使用,比其嵌入式以太網(wǎng)方案更加快捷、方便實現(xiàn)溫濕度監(jiān)測,可用于農(nóng)業(yè)生產(chǎn)、工業(yè)控制、倉庫儲存等多個領(lǐng)域。

參考文獻:

[1] 王東濤,鞠鳳船.農(nóng)業(yè)大棚溫濕度監(jiān)控系統(tǒng)設(shè)計[J].安徽農(nóng)業(yè)科學,2010,38(35):20446-20447.

[2] 劉繼忠,邱于兵,黃 翔.基于ARM的遠程溫濕度監(jiān)測系統(tǒng)的設(shè)計[J].儀表技術(shù)與傳感器,2012(8):90-92.

[3] 于春雪.W5100在遠程電力質(zhì)量監(jiān)測設(shè)備中的應(yīng)用[J].電力系統(tǒng)通信,2011,32(9):59-64.

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

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

[6] 林笑君.基于Cortex-M3的嵌入式WEB服務(wù)器監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[D].太原:太原理工大學,2013.

[7] 鄭 玲,鄭曉天.基于WebSocket的電力系統(tǒng)實時數(shù)據(jù)更新研究[J].計算機與現(xiàn)代化,2013(1):85-87.

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 国产女人爽到高潮的免费视频 | 国产美女无遮挡免费视频| 国产毛片网站| 国产视频欧美| 欧美性精品| 久久国产免费观看| 国产一级毛片网站| 亚洲精品中文字幕无乱码| 日韩精品高清自在线| 久草视频精品| 在线不卡免费视频| 欧美成在线视频| 国产精品蜜芽在线观看| 秋霞国产在线| 日韩第九页| 欧美有码在线观看| 成人毛片免费在线观看| 国产激情无码一区二区免费| 国产大片黄在线观看| 强乱中文字幕在线播放不卡| 欧美区国产区| 在线观看国产精品第一区免费| 国产高清国内精品福利| 欧美成人第一页| 国产免费看久久久| 欧美性色综合网| 欧洲熟妇精品视频| 国产精品久久自在自2021| 热久久这里是精品6免费观看| 国产成人综合日韩精品无码不卡 | 亚洲一区二区约美女探花| 成人综合久久综合| 国产极品美女在线播放| 91区国产福利在线观看午夜 | 国产中文一区二区苍井空| 国产人妖视频一区在线观看| 精品福利网| 日本成人在线不卡视频| 狠狠躁天天躁夜夜躁婷婷| 国产精品成人一区二区不卡| 日本精品视频| 欧美午夜精品| 久久综合一个色综合网| 欧美yw精品日本国产精品| 孕妇高潮太爽了在线观看免费| 67194亚洲无码| 丁香六月综合网| 狼友视频国产精品首页| 亚洲精品免费网站| 毛片一级在线| 亚洲欧美综合另类图片小说区| 91综合色区亚洲熟妇p| 国产精品男人的天堂| 国产自在线拍| 国产在线视频导航| 97超碰精品成人国产| 综合天天色| 国产美女丝袜高潮| 亚洲第一黄色网址| 亚洲人成色77777在线观看| 国产成人综合在线观看| 精品在线免费播放| 欧美国产视频| 亚洲国产中文在线二区三区免| 最新日本中文字幕| 秋霞国产在线| 成年人国产网站| 色噜噜中文网| 青青操国产| 精品国产乱码久久久久久一区二区| 搞黄网站免费观看| 亚洲AV人人澡人人双人| 国产一区在线观看无码| 国产福利拍拍拍| 国产丝袜第一页| 无码国产伊人| 人人爽人人爽人人片| 欧美日本激情| 亚洲欧美另类专区| 欧美日本激情| 国产尤物视频网址导航| 91年精品国产福利线观看久久|