<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

          作者: 時間:2016-11-29 來源:網(wǎng)絡(luò) 收藏


          第一步:開啟路由器UPnP。登陸路由器控制界面,打開“轉(zhuǎn)發(fā)規(guī)則->UPnP 設(shè)置”,如果UPnP狀態(tài)沒有開啟,則需要開啟一下。
          第二步:將編譯好的可執(zhí)行文件下載到開發(fā)板中,接網(wǎng)線到路由器上,接USB調(diào)試線到PC端,打開串口助手對應(yīng)的COM口以便查看調(diào)試信息和進(jìn)入串口命令菜單。按復(fù)位鍵,程序開始執(zhí)行,經(jīng)過串口打印信息,我們看到DHCP獲取正確IP地址,發(fā)現(xiàn)UPnP設(shè)備、獲得描述,設(shè)置事件都已完成,如圖9所示:

          圖9 UPnP執(zhí)行成功打印輸出
          接下來就是我們的串口操作菜單,如圖10:

          圖10 程序完成初始化后的菜單界面

          第三步:基本命令輸入。按照菜單提示進(jìn)行命令輸入,在此1-4就是基本的串口命令操作:打開/關(guān)閉led,設(shè)置/查看網(wǎng)絡(luò)配置;5 、6步就是開啟TCP 、UDP回環(huán)測試。TCP回環(huán)實際上就是開啟了一個TCP Server,同一網(wǎng)段的TCP Client可以直接與其建立通信,可發(fā)送數(shù)據(jù)到此TCP Server,TCP Server會回復(fù)相同的數(shù)據(jù)。串口基本配置和內(nèi)網(wǎng)回環(huán)測比較簡單,在此不再貼圖查看。

          第四步:配置TCP端口映射。在串口調(diào)試助手上輸入 7,進(jìn)行配置選項,按照菜單提示,我們端口映射,外網(wǎng)端口號為12222,內(nèi)網(wǎng)端口號為5000,添加成功后會提示AddPortSuccess。如圖11所示:

          圖11添加端口映射成功后串口打印出信息
          刷新第一步進(jìn)入的UPnP狀態(tài)設(shè)置和設(shè)備列表,可發(fā)現(xiàn)控制節(jié)點(diǎn)W5500_Control_Point 已經(jīng)加入內(nèi)部端口號為5000,外部端口53F7為12222。可見我們已經(jīng)成功用UPnP協(xié)議對路由器端口進(jìn)行了映射。而且看到Thunder5在這里也有UDP /TCP 端口映射列表。如圖12所示。在這里也說一下,我們常用的P2P軟件,Thunder PPlive等都支持UPnP端口映射。

          圖12添加端口映射后路由器端口映射表

          第五步,用外網(wǎng)測試配置好的端口映射。
          如圖3端口映射網(wǎng)絡(luò)圖,W5500和PC2不在同一個網(wǎng)絡(luò)中,如果不進(jìn)行端口映射,PC2不可能連接到W5500 TCP Server。首先我們在串口界面上輸入5進(jìn)入TCP Server回環(huán)程序。接下來查看路由器的外網(wǎng)IP,可見外網(wǎng)IP為“36.36.141.53”,其為公網(wǎng)IP。我們?nèi)我庹乙慌_PC用網(wǎng)絡(luò)調(diào)試助手建立一個TCP Client ,去連接我們剛才配置好的服務(wù)器IP為“36.36.141.53”端口為“12222”。連接成功后,發(fā)送LED_ON(紅色為發(fā)送的數(shù)據(jù)),通過網(wǎng)絡(luò)調(diào)試助手我們可以看到收到LED_ON(黑色為收到的數(shù)據(jù)),證明回環(huán)已建立。這就如同,無論我們在什么地方都能對我們的設(shè)備進(jìn)行連接和控制。如圖13所示:

          圖13外網(wǎng)連接到內(nèi)網(wǎng)并進(jìn)行數(shù)據(jù)回環(huán)測試
          同時通過EVB上的LED,我們可以發(fā)現(xiàn),LED燈可以根據(jù)我們輸入的指令執(zhí)行亮滅動作。如圖14 所示:

          圖14 LED根據(jù)命令進(jìn)行亮滅

          第六步:刪除已添加的端口。在菜單界面中輸入8,然后按指示刪除剛才的端口,刷新路由器映射表,發(fā)現(xiàn)已經(jīng)沒有這個應(yīng)用了。

          四 總結(jié)
          目前,實現(xiàn)各種設(shè)備的互聯(lián)互通已經(jīng)成為人們的迫切需求,而實現(xiàn)這一目的的關(guān)鍵是家庭網(wǎng)絡(luò)的中間件技術(shù),最有前景的就是今天講的UPnP,因此支持UPnP標(biāo)準(zhǔn)的設(shè)備越來越多。本文通過UPnP部分協(xié)議實現(xiàn)了設(shè)備的自動端口映射,方便設(shè)備直接部署在內(nèi)網(wǎng)中,無需客戶去配置,就能在外網(wǎng)中直接訪問內(nèi)網(wǎng)設(shè)備,查看或者配置設(shè)備信息。作為一個UPnP協(xié)議的一個簡單應(yīng)用,希望能給大家一個思路。

          上一頁 1 2 3 下一頁

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

          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();