[無線電易讀版]基於 STM32 和 W5500 的 UPnP 自動端口映射功能實現

文章開始之前讓我們設想下面的幾個情形:我們在辦公室內就能訪問到生產車間的網絡攝像機,而無需到監控室查看生產情況;在下班之前,或在回去的路上,就可以先打開家裡的空調器和廚房設備,等進入家門,立刻就是一個溫度宜人的環境――廚房裡的飯也做好了;我們想在電視機上回味一下幾天前在景區拍的照片,把相機或者DV聯網就可以了,無需再去拷貝。工作生活都如此方便,將是一個很愜意的事情。 實現這些場景的網絡設備都要基於一種叫端口映射的網絡技術。端口映射就是路由器將外網某一個端口與內網中某個設備的IP地址和端口號建立起一一對應關系。內網主動訪問外網時,路由器主動建立了映射關系,內外網間就可以通信。但是外網要主動訪問內網是不可行的,因為不知道內網的設備IP和端口,只能和路由器外網通信。路由器可以進行手動配置端口映射,但是便攜式設備經常移動,內網的IP地址也是不是固定的,每次使用都要手動配置路由器顯然是個麻煩的事情。本文就為你講解如何使用UPnP協議實現網絡設備自動配置路由器進行端口映射。 {一、UPnP協議簡介 UPnP(Universal Plug and Play,即插即用)是各種各樣的智能設備、無線設備和個人電腦等實現遍布全球的對等網絡連接(P2P)的結構。使用UPnP達到的效果是任何設備一旦連接上網絡,所有在網絡上的設備馬上就能知道有新設備加入,這些設備彼此之間能互相通信,更能直接使用或者控制它,一切都不需要人工設置。 1.1 UPnP結構 服務、設備和控制點是UPnP網絡的基本組件,如圖1: 圖 1 UPnP組件圖◾設備(Device):家電、手機、智能設備、無線設備、電腦等等都可以稱之為設備。◾服務(Service):是指設備在不同情況下的動作和設備的狀態。◾控制點(Control Point):指的是可以發現並控制其他設備的控制設備。在UPnP網絡中,設備可以和控制點合並為同一台設備。  1.2  UPnP工作流程 UPnP定義了設備之間、設備和控制點、控制點之間通信的協議。完整的UPnP有設備尋址、設備發現、設備描述、設備控制、事件通知和基於HTML的描述等幾部分構成。UPnP協議最底層是TCP/IP協議,UPnP實現的工作流程如圖2所示: 圖2 UPnP實現的工作流程 尋址:就是找個可用IP地址。一般都采用DHCP服務,使設備自動得到一個IP地址。 發現:加入到網絡中,設備會定期的以組播的方式表明自身的存在以及告知(Advertise)它提供的服務;控制點則是網絡中廣播search packets來發現具有某些服務的設備,具有該服務的設備以單播的方式應答。 描述:控制點可以從發現消息中得到設備描述的URL(可以認為是瀏覽器地址),通過URL取回設備描述的信息。 控制、事件和展示則是控制點獲取描述之後進行的各種通信交互。其中控制是控制點對設備進行的操作;事件為設備向控制點定期發送其感興趣的信息,展示可以認為是設備的一個功能,它給控制點一個URL,可以登錄到設備的網頁服務器。 二、UPnP路由器端口映射控制點在W5500實現…

View More [無線電易讀版]基於 STM32 和 W5500 的 UPnP 自動端口映射功能實現

基於STM32+W5500的UPnP協議應用

1.概述 工具: PC W5500EVB 路由器串口調試工具編譯環境:Keil4 &IAR 功能:通過SNMP協議實現內網與外網的端口映射以及連接。 PC連接路由器,PC和路由器在同一個網段。 本文主要把路由器IP模擬為外網IP,W5500EVB的IP作為內網IP,從以下幾個方面來驗證此功能的可實施性。 TCP Server回環測試 UDP回環測試外網設備發送指令控制W5500EVB上LED 2. UPnP協議即通用即插即用英文是Universal Plug and Play,縮寫為UPnP,下面主要說一下基本的實現過程。 UPnP定義了設備之間、設備和控制點、控制點之間通信的協議。 完整的UPnP有設備尋址、設備發現、設備描述、設備控制、事件通知和基於Html的描述等幾部分構成。 1)尋址 首先尋址是通過控制點和設備取得網絡地址的過程,控制點和設備都先獲取IP地址後才能進行下一步的工作; 2 ) 發現 控制點首先要尋找整個網絡上的UPnP設備,同時網絡上的設備也要宣告自身的存在,本篇中W5500將作為控制點;…

View More 基於STM32+W5500的UPnP協議應用