0 前言 最近在學習 MQTT,發現 MQTT還是挺好用的,於是花了點時間做了一個簡單的應用示例,希望能給需要做這方面的人一些參考。相關背景知識:http://www.embed-net.com/thread-224-1-1.html具體功能為:1,STM32F405 為主控芯片,它通過傳感器采集環境數據,比如溫度,濕度,光照度,大氣壓強等;2,主控芯片通過 W5500 模塊將測量的數據通過 MQTT 協議方式發布到 MQTT 服務器(服務器域名和IP見固件程序);3,主控訂閱 LED 燈控制的消息,當接收到對應的控制指令後點亮或者熄滅對應的 LED 燈;4,安卓手機端訂閱傳感器數據的消息,當接收到消息後將傳感器數據在界面顯示;5,安卓手機可發送點亮或者熄滅 LED 燈的指令到服務器,然後服務器會將該指令轉發給 STM32 主控,然後 STM32 主控解析該指令並執行指令。 1 單片機端實現 MQTT…
View More STM32+W5500+MQTT+Android實現遠程數據采集及控制[無線電易讀版]基於 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協議應用基於W5500 + STM32的SNMP協議應用
概述 工具: PC W5500EVB Net-SNMP軟件包編譯環境:Keil4 &IAR 功能:通過網絡管理協議SNMP及基本的控制命令實現簡單的LED控制 一、W5500簡介 韓國WIZnet公司生產的以太網控制芯片W5500整合了五層結構中的前四層,即物理層、數據鏈路層、網絡層和傳輸層,並在內部利用硬件實現了TCP/IP協議棧。 開發者無需專業的網絡知識,使用W5500如同控制外部存儲器一樣簡單,為用戶提供了最簡單的網絡接入方法。 全硬件TCP/IP協議棧完全獨立於主控芯片,可以降低主芯片負載且無需移植繁瑣的TCP/IP協議棧,便於產品實現網絡化更新。 以太網控制芯片W5500具有以下特點: W5500支持硬件TCP/IP協議,包括TCP、UDP、ICMP、IPv4、ARP、IGMP、PPPoE和以太網的PHY和MAC層,TCP/IP協議的硬件實現 支持8個獨立的SOCKET同時工作,可同時工作在不同的工作模式 支持高速SPI接口(SPI MODE 0,3),SPI的時鐘最高可達到80MHz,極大地提高了網絡通信的數據傳輸速率 內部集成32KB存儲器用於發送/接收緩存 內嵌10BaseT/100BaseTX以太網物理層(PHY) 支持自動協商(10/100-Based全雙工/半雙工) 工作電壓為3.3V,但I/O信號口可承受5V電壓; 二、SNMP協議簡介 SNMP:“簡單網絡管理協議”,用於網絡管理的協議。 SNMP定義在IP協議上,使用無連接的UDP進行通信,SNMP支持5個基本的操作,分別是:GetRequest、GetNextRequest、SetRequest、GetResponse和Trap,這5個操作來自各自的PDU結構。 SNMP採用的是一個請求—應答的通信方式,Trap除外,Trap不需要應答。…
View More 基於W5500 + STM32的SNMP協議應用