基於W5500的嵌入式SNMP代理端實現

最近一個做焊接設備的朋友想在焊機上添加監控的新功能,實時獲取焊機的溫度、功耗等參數,還可簡單控制,實現對集群焊接設備的網絡化管理。而這個朋友不想在開發管理系統上花太多精力,想找一個開源的管理軟件來實現他的需求。這讓我想到了簡單郵件管理協議SNMP,它生來就是為搞網絡管理服務的。能廣泛兼容各網絡設備,一經推出就得到了廣泛的應用和支持,幾乎所有的網絡設備生產廠家都實現了對SNMP的支持,大多數網絡管理系統和平台也都是基於SNMP的。事實上,目前SNMP已成為網絡管理領域中的工業標准,我國國家廣電總局就要求通信領域的標准網絡設備都必須支持SNMP協議。SNMP代理端實際占用系統資源少,在單片機上運行是沒有問題的。於是我想到用手頭的WIZnet-W5500評估板實現了SNMP代理端,給他提供一個參考。 二 SNMP基礎普及 在實現SNMP代理端之前,我們先了解一下SNMP的基本知識。管理系統中就要有管理者和被管理者,網管協議定義它為管理站和代理端,它們通過管理信息庫MIB進行接口統一,實現數據的通信。 MIB可以認為是一個被管理對像的集合,每個對像規定了能夠被管理進程查詢和設置的信息,同時都有自己的名字我們稱之為對像標識符,簡稱OID,它的命名方法跟DNS樹形結構命名類似,通過OID就能知道這個設備所屬的領域和廠家,如MIB中有一個節點{1.3.6.1.4.1},即enterprises,代表企業,它以下的節點都為企業型的。如IBM為{1.3.6.1.4.1.2},Cisco為{1.3.6.1.4.1.9}等。任何一個公司、學校只要用電子郵件發往 [email protected] 進行申請即可獲得一個結點名。這樣就可以定義自己的產品的OID,使它能用SNMP進行管理。 為了操作管理數據庫MIB,如圖1所示:SNMP 規定了5種協議SNMP報文,用來在管理進程和代理之間的交換。1 get-request;2 get-next-request;3 set-request;4 get-response;5trap。前面的3種操作是由管理進程向代理進程發出的get/set操作,雙方都使用UDP161端口。第4個是對前三種操作的回應,用UDP161端口,第5個代理進程主動發出的報文,通知管理進程有某些事情發生,使用UDP162端口。                            …

View More 基於W5500的嵌入式SNMP代理端實現

基於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協議應用