新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于STM32和W5500的UPnP自動端口映射功能實現(xiàn)

基于STM32和W5500的UPnP自動端口映射功能實現(xiàn)

作者: 時間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
文章開始之前讓我們設(shè)想下面的幾個情形:我們在辦公室內(nèi)就能訪問到生產(chǎn)車間的網(wǎng)絡(luò)攝像機,而無需到監(jiān)控室查看生產(chǎn)情況;在下班之前,或在回去的路上,就可以先打開家里的空調(diào)器和廚房設(shè)備,等進入家門,立刻就是一個溫度宜人的環(huán)境――廚房里的飯也做好了;我們想在電視機上回味一下幾天前在景區(qū)拍的照片,把相機或者DV聯(lián)網(wǎng)就可以了,無需再去拷貝。工作生活都如此方便,將是一個很愜意的事情。
實現(xiàn)這些場景的網(wǎng)絡(luò)設(shè)備都要基于一種叫端口映射的網(wǎng)絡(luò)技術(shù)。端口映射就是路由器將外網(wǎng)某一個端口與內(nèi)網(wǎng)中某個設(shè)備的IP地址和端口號建立起一一對應(yīng)關(guān)系。內(nèi)網(wǎng)主動訪問外網(wǎng)時,路由器主動建立了映射關(guān)系,內(nèi)外網(wǎng)間就可以通信。但是外網(wǎng)要主動訪問內(nèi)網(wǎng)是不可行的,因為不知道內(nèi)網(wǎng)的設(shè)備IP和端口,只能和路由器外網(wǎng)通信。路由器可以進行手動配置端口映射,但是便攜式設(shè)備經(jīng)常移動,內(nèi)網(wǎng)的IP地址也是不是固定的,每次使用都要手動配置路由器顯然是個麻煩的事情。本文就為你講解如何使用UPnP協(xié)議實現(xiàn)網(wǎng)絡(luò)設(shè)備自動配置路由器進行端口映射。

一、UPnP協(xié)議簡介
UPnP(Universal Plug and Play,即插即用)是各種各樣的智能設(shè)備、無線設(shè)備和個人電腦等實現(xiàn)遍布全球的對等網(wǎng)絡(luò)連接(P2P)的結(jié)構(gòu)。使用UPnP達到的效果是任何設(shè)備一旦連接上網(wǎng)絡(luò),所有在網(wǎng)絡(luò)上的設(shè)備馬上就能知道有新設(shè)備加入,這些設(shè)備彼此之間能互相通信,更能直接使用或者控制它,一切都不需要人工設(shè)置。
1.1 UPnP結(jié)構(gòu)
服務(wù)、設(shè)備和控制點是UPnP網(wǎng)絡(luò)的基本組件,如圖1:


圖 1 UPnP組件圖
? 設(shè)備(Device):家電、手機、智能設(shè)備、無線設(shè)備、電腦等等都可以稱之為設(shè)備。
? 服務(wù)(Service):是指設(shè)備在不同情況下的動作和設(shè)備的狀態(tài)。
? 控制點(Control Point):指的是可以發(fā)現(xiàn)并控制其他設(shè)備的控制設(shè)備。在UPnP網(wǎng)絡(luò)中,設(shè)備可以和控制點合并為同一臺設(shè)備。

1.2 UPnP工作流程
UPnP定義了設(shè)備之間、設(shè)備和控制點、控制點之間通信的協(xié)議。完整的UPnP有設(shè)備尋址、設(shè)備發(fā)現(xiàn)、設(shè)備描述、設(shè)備控制、事件通知和基于HTML的描述等幾部分構(gòu)成。UPnP協(xié)議最底層是TCP/IP協(xié)議,UPnP實現(xiàn)的工作流程如圖2所示:

圖2 UPnP實現(xiàn)的工作流程
尋址:就是找個可用IP地址。一般都采用DHCP服務(wù),使設(shè)備自動得到一個IP地址。
發(fā)現(xiàn):加入到網(wǎng)絡(luò)中,設(shè)備會定期的以組播的方式表明自身的存在以及告知(Advertise)它提供的服務(wù);控制點則是網(wǎng)絡(luò)中廣播search packets來發(fā)現(xiàn)具有某些服務(wù)的設(shè)備,具有該服務(wù)的設(shè)備以單播的方式應(yīng)答。
描述:控制點可以從發(fā)現(xiàn)消息中得到設(shè)備描述的URL(可以認為是瀏覽器地址),通過URL取回設(shè)備描述的信息。
控制、事件和展示則是控制點獲取描述之后進行的各種通信交互。其中控制是控制點對設(shè)備進行的操作;事件為設(shè)備向控制點定期發(fā)送其感興趣的信息,展示可以認為是設(shè)備的一個功能,它給控制點一個URL,可以登錄到設(shè)備的網(wǎng)頁服務(wù)器。

上一頁 1 2 3 下一頁

關(guān)鍵詞: STM32W5500端口映

評論


技術(shù)專區(qū)

關(guān)閉