新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于STM32和W5500的UPnP自動端口映射功能實現

        基于STM32和W5500的UPnP自動端口映射功能實現

        作者: 時間:2016-11-29 來源:網絡 收藏


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

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

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

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

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

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

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

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

        圖13外網連接到內網并進行數據回環測試
        同時通過EVB上的LED,我們可以發現,LED燈可以根據我們輸入的指令執行亮滅動作。如圖14 所示:

        圖14 LED根據命令進行亮滅

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

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

        上一頁 1 2 3 下一頁

        關鍵詞: STM32W5500端口映

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 交口县| 阿拉尔市| 盖州市| 奈曼旗| 凤庆县| 长汀县| 辽中县| 林周县| 包头市| 岳阳市| 新竹县| 金寨县| 潮安县| 太仆寺旗| 安阳县| 皮山县| 容城县| 武清区| 大安市| 西峡县| 汨罗市| 甘南县| 张家港市| 昌平区| 同仁县| 通道| 邵阳市| 临湘市| 扎兰屯市| 青海省| 凤凰县| 陈巴尔虎旗| 内黄县| 绿春县| 鞍山市| 西平县| 西吉县| 京山县| 同心县| 视频| 象山县|