單芯片解決方案,開啟全新體驗——W55MH32 高性能以太網單片機
W55MH32是WIZnet重磅推出的高性能以太網單片機,它為用戶帶來前所未有的集成化體驗。這顆芯片將強大的組件集于一身,具體來說,一顆W55MH32內置高性能Arm? Cortex-M3核心,其主頻最高可達216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲與數據處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協議棧、內置MAC以及PHY,擁有獨立的32KB以太網收發緩存,可供8個獨立硬件socket使用。如此配置,真正實現了All-in-One解決方案,為開發者提供極大便利。
在封裝規格上,W55MH32提供了兩種選擇:QFN100和QFN68。
W55MH32L采用QFN100封裝版本,尺寸為12x12mm,其資源豐富,專為各種復雜工控場景設計。它擁有66個GPIO、3個ADC、12通道DMA、17個定時器、2個I2C、5個串口、2個SPI接口(其中1個帶I2S接口復用)、1個CAN、1個USB2.0以及1個SDIO接口。如此豐富的外設資源,能夠輕松應對工業控制中多樣化的連接需求,無論是與各類傳感器、執行器的通信,還是對復雜工業協議的支持,都能游刃有余,成為復雜工控領域的理想選擇。同系列還有QFN68封裝的W55MH32Q版本,該版本體積更小,僅為8x8mm,成本低,適合集成度高的網關模組等場景,軟件使用方法一致。更多信息和資料請進入http://www.w5500.com/網站或者私信獲取。
此外,本W55MH32支持硬件加密算法單元,WIZnet還推出TOE+SSL應用,涵蓋TCP SSL、HTTP SSL以及 MQTT SSL等,為網絡通信安全再添保障。
為助力開發者快速上手與深入開發,基于W55MH32L這顆芯片,WIZnet精心打造了配套開發板。開發板集成WIZ-Link芯片,借助一根USB C口數據線,就能輕松實現調試、下載以及串口打印日志等功能。開發板將所有外設全部引出,拓展功能也大幅提升,便于開發者全面評估芯片性能。
若您想獲取芯片和開發板的更多詳細信息,包括產品特性、技術參數以及價格等,歡迎訪問官方網頁:http://www.w5500.com/,我們期待與您共同探索W55MH32的無限可能。

第十五章 W55MH32 SNMP示例
本篇文章,我們將詳細介紹如何在W55MH32芯片上面實現SNMP功能。并通過實戰例程,為大家講解如何使用MIB Browser管理W55MH32。
該例程用到的其他網絡協議,例如DHCP,請參考相關章節。有關W55MH32的初始化過程,請參考NetworkInstall章節,這里將不再贅述。
1 SNMP協議簡介
SNMP(Simple Network Management Protocol,簡單網絡管理協議)是一種用于管理和監控網絡設備的協議。它是應用層協議,廣泛應用于網絡設備(如路由器、交換機、服務器、打印機等)的管理和監控。SNMP提供了機制以便網絡管理員可以監控網絡性能、發現網絡問題,并對設備進行管理。
2 SNMP協議特點
簡單性:設計輕量,便于實現和部署。
互操作性:提供標準化的設備管理方式,不同廠商的設備可以通過SNMP實現互通。
跨平臺支持:SNMP是一種開放的標準協議,被廣泛應用于各種網絡設備和操作系統。
實時監控:支持快速的數據采集和報警機制。
擴展性:通過MIB支持不同設備的特定功能。
資源效率:協議設計輕量,適合低帶寬和高延遲的網絡環境。
3應用場景
接下來,我們了解下在W55MH32上,可以使用SNMP協議完成哪些操作及應用呢?
故障報警和日志管理:設備在檢測到異?;蚬收蠒r,可以通過 SNMP TRAP將報警信息發送到網絡管理系統。
工業自動化和環境監控:在工業自動化和環境監控中,W55MH32可通過 SNMP匯報傳感器數據。
數據中心和機房管理:用于數據中心和機房中監控服務器、交換機及其他網絡設備的狀態。
4使用MIB Browser管理W55MH32流程
下載并安裝MIB Browser(鏈接:https://www.ireasoning.com/download/mibfree/setup.exe)
創建分支
打開安裝目錄下 mibs文件夾,找到 RFC1213-MIB文件,右鍵使用記事本打開,上方路徑欄可以尋找路徑。

在snmp后添加一個新分支,命名為User

添加葉子節點(功能)
在分支后方繼續添加功能代碼

葉子節點格式如下:
setLED OBJECT-TYPE 添加一個新葉子節點,命名為 setLED
SYNTAX INTEGER { enabled(1),disabled(0) }設置數據類型
DESCRIPTION 注釋
::= { User 1 }葉子所在分支,與葉子編號
添加完畢后保存并退出
添加完成后,MIB Browser軟件如下所示:

代碼適配功能
測試
5 SNMP架構組成
SNMP架構包括以下三個主要部分:
管理站(Manager):運行SNMP管理軟件,用于發送請求和接收設備信息。通過命令操作網絡設備,執行配置或監控任務。
代理(Agent):安裝在受管理設備上的軟件,負責將設備的狀態信息存儲在MIB中,并響應來自管理站的查詢。能動地發送陷阱(Trap)以報告事件。
管理信息庫(MIB):定義設備的可管理參數及其數據結構MIB通常以樹狀結構組織,每個節點代表一個管理對象,具有唯一的對象標識符(OID)。
協議(SNMP協議本身):負責管理站和代理之間的通信,支持基本操作如獲取、設置和通知。
6 OID詳解
簡單網絡管理協議(SNMP)的OID(對象標識符)是一個用于唯一標識網絡設備上管理信息庫(MIB)中對象的標識符。OID是一種分層的命名方案,允許管理員查詢和設置網絡設備上的各種參數。
下面是OID的詳解:
OID結構
OID由一系列整數組成,這些整數通過點號(.)分隔,形成了一個層次結構。例如:
1.3.6.1.2.1.1.1.0
在這個結構中,每個數字都代表一個組織或節點在層次結構中的位置。
OID層次解釋
1:表示ISO(國際標準化組織)
3:表示org(組織)
6:指定IETF(互聯網工程任務組)作為組織
1:表示IETF管理的MIB(管理信息庫)
后續的數字則進一步定義了特定的MIB模塊、對象類型、實例等信息。
常見的OID前綴
1.3.6.1.2.1:這是最常用的OID前綴,通常簡寫為.iso.org.dod.internet.mgmt.mib-2,它指的是IETF定義的MIB-2。
具體OID示例
1.3.6.1.2.1.1.1.0:這是sysDescr的OID,用于獲取系統描述。
1.3.6.1.2.1.1.2.0:這是sysObjectID的OID,用于獲取系統對象標識符。
1.3.6.1.2.1.1.3.0:這是sysUpTime的OID,用于獲取系統正常運行時間。
如何使用OID
查詢:使用SNMPGET請求,可以查詢特定OID的值。
設置:使用SNMPSET請求,可以修改特定OID的值(需要設備支持)。
遍歷:使用SNMPWALK請求,可以遍歷一個OID下的所有子節點。
注意事項
OID的具體值和結構可能會隨著網絡設備的不同而有所不同。在使用OID之前,最好查閱相應設備的MIB文檔,以了解其支持的具體OID及其功能。OID是SNMP管理中不可或缺的部分,通過OID,網絡管理員可以進行監控網絡狀態、配置網絡設備、接收警報通知等操作。理解和掌握OID對于網絡管理和故障排除非常重要。
7 SNMP報文格式
SNMP報文基于ASN.1(Abstract Syntax Notation One)編碼規則,通常使用BER(Basic Encoding Rules)進行傳輸。以下是SNMP報文的基本格式和關鍵字段,本例程中使用的是SNMPv1版本,以下對SNMPv1進行講解,而對于其他版本的報文格式,由于篇幅有限,這里將不再進行講解,感興趣的朋友可自行查閱資料進行學習。
SNMP報文結構
| 字段名稱 | 類型 | 描述 |
| Message | 序列(Sequence) | 整個 SNMP消息的容器,包含以下字段。 |
| Version | 整數(Integer) | SNMP協議版本號,0表示 SNMPv1。 |
| Community | 字符串(Octet String) | 社區字符串,用于身份驗證,如 public或 private。 |
| PDU類型 | 標記(Tag, Context-Specific) | 表示操作類型,如:GET(0xA0)、GET-NEXT(0xA1)、SET(0xA3)、TRAP(0xA4)。 |
| Request ID | 整數(Integer) | 請求的唯一標識,用于匹配請求和響應。 |
| Error Status | 整數(Integer) | 錯誤狀態,取值范圍為:0(noError)、1(tooBig)、2(noSuchName)等。 |
| Error Index | 整數(Integer) | 錯誤索引,指示變量綁定列表中出錯的變量位置(從 1開始計數)。 |
| Variable Bindings | 序列(Sequence of VarBinds) | 變量綁定列表,每個綁定包含一個 OID和對應的值。 |
| - OID | 對象標識符(OID) | 被管理對象的標識符,如 1.3.6.1.2.1.1.1.0表示系統描述(sysDescr)。 |
| - Value | 可變類型(Null, Integer, String等) | OID對應的值,可能為空值(GET請求)或具體數據(響應或 SET請求)。 |
報文字段詳解
1. Message(消息整體)
這是 SNMP消息的最外層結構,是一個序列(Sequence),包含以下三個部分:
Version(版本號)
此字段定義 SNMP協議的版本號,用一個整數表示:
0表示 SNMPv1。
1表示 SNMPv2c。
3表示 SNMPv3。
該字段是解析報文的基礎,不同版本的報文格式存在差異。
Community(社區字符串)
社區字符串是 SNMPv1和 SNMPv2c的一種簡單身份驗證機制,用于限制對管理對象的訪問權限。它是一個字符串(Octet String),常見的值包括:
public:表示只讀訪問權限。
private:表示讀寫訪問權限。
PDU(協議數據單元)類型
PDU定義了操作類型,通過一個標記值(Tag, Context-Specific)來區分:
0xA0:GET請求,用于獲取管理對象的值。
0xA1:GET-NEXT請求,用于獲取下一個對象的值。
0xA3:SET請求,用于設置管理對象的值。
0xA4:TRAP,用于代理向管理站報告事件。
2. Request ID(請求 ID)
請求 ID是一個整數,用于唯一標識一個請求。它由發起方生成,并在響應中攜帶相同的 ID。通過此字段,接收方可以將響應與對應的請求進行匹配。如果響應中的請求 ID不一致,則表明響應與請求無關。
3. Error Status(錯誤狀態)
此字段用整數表示請求的執行狀態:
0:noError,表示請求執行成功,沒有錯誤。
1:tooBig,請求的響應數據超出接收方的最大允許大小。
2:noSuchName,請求中指定的 OID不存在。
3:badValue,請求中的值非法或不支持。
4:readOnly,請求試圖修改只讀對象。
5:genErr,發生了通用錯誤,具體原因未明確。
4. Error Index(錯誤索引)
如果 Error Status的值不為 0,此字段指示變量綁定列表中出錯的變量位置(從 1開始計數)。如果沒有錯誤,此字段的值為 0。
5. Variable Bindings(變量綁定列表)
變量綁定列表是 SNMP報文的核心部分,包含一個或多個變量綁定(VarBind)。每個變量綁定由以下兩部分組成:
OID(對象標識符)
OID是管理對象的唯一標識符,用點分十進制表示。例如:
1.3.6.1.2.1.1.1.0:表示 sysDescr,系統描述。
1.3.6.1.2.1.1.5.0:表示 sysName,系統名稱。
Value(值)
OID的值根據請求類型不同可能為以下幾種:
在 GET請求中,值通常為空(Null)。
在 GET-RESPONSE報文中,值為具體數據,例如整型(Integer32)、字符串(Octet String)等。
在 SET請求中,值是要設置的新值。
SNMP報文解析
MIB Browser向W55MH32發送LED設置報文:
|報文解析|
Simple Network Management Protocol (簡單網絡管理協議(SNMP報文))
version: version-1 (0) (使用的 SNMP協議版本,值為 0表示 SNMPv1)
community: public (社區字符串為 "public",通常表示只讀權限)
data: set-request (3) (PDU 類型為 SET-REQUEST,表示設置管理對象的值)
set-request
request-id: 1479407980 (請求的唯一標識符,用于匹配請求和響應)
error-status: noError (0) (錯誤狀態為 noError (0),表示沒有錯誤發生)
error-index: 0 (錯誤索引為 0,表示變量綁定列表中沒有錯誤對象)
variable-bindings: 1 item (變量綁定列表中包含 1個變量)
1.3.6.1.2.1.12.1.0: 1 (OID為 1.3.6.1.2.1.12.1.0,設置的值為 1)
Object Name: 1.3.6.1.2.1.12.1.0 (iso.3.6.1.2.1.12.1.0) (OID 對應的完整名稱)
Value (Integer32): 1 (設置的值為整數類型,值為 1)
[Response In: 237] (表示該請求的響應報文序號為 237)
|報文原文|
30 2a 02 01 00 04 06 70 75 62 6c 69 63 a3 1d 02 04 58 2d f9 6c 02 01 00 02 01 00 30 0f 30 0d 06 08 2b 06 01 02 01 0c 01 00 02 01 01
W55MH32響應報文:
|報文解析|
Simple Network Management Protocol
version: version-1 (0) (版本號:SNMPv1(值為 0))
community: public (社區字符串:"public",用于身份驗證)
data: get-response (2) (數據類型:GET-RESPONSE(值為 2),表示這是一個響應報文)
get-response (GET-RESPONSE 數據部分)
request-id: 1479407980 (請求 ID:1479407980,用于匹配請求和響應)
error-status: noError (0) (錯誤狀態:noError(值為 0),表示沒有錯誤)
error-index: 0 (錯誤索引:0,表示沒有發生錯誤的變量索引)
variable-bindings: 1 item (變量綁定:包含 1個變量)
1.3.6.1.2.1.12.1.0: 1 (變量綁定內容)
Object Name: 1.3.6.1.2.1.12.1.0 (iso.3.6.1.2.1.12.1.0) (對象標識符(OID))
Value (Integer32): 1 (OID對應的值,類型為 Integer32,值為 1)
[Response To: 236] (對請求 ID 236的響應)
[Time: 0.023844000 seconds] 響應耗時:0.023844秒)
|報文原文|
30 2a 02 01 00 04 06 70 75 62 6c 69 63 a2 1d 02 04 58 2d f9 6c 02 01 00 02 01 00 30 0f 30 0d 06 08 2b 06 01 02 01 0c 01 00 02 01 01
8實現過程
接下來,我們看看如何在代碼上適配MIB Browser上添加的功能。
注意:測試實例需要PC端和W55MH32處于同一網段。
步驟1:初始化LED并注冊到SNMP中
user_led_init(); user_led_control_init(get_user_led_status, set_user_led_status);
步驟2:注冊snmp定時器
/**
* @brief 1ms timer IRQ Handler
* @param none
* @return none
*/
void TIM3_IRQHandler(void)
{
static uint32_t tim3_1ms_count = 0;
static uint8_t tim3_10ms_count = 0;
if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)
{
tim3_1ms_count++;
tim3_10ms_count++;
// 1000ms(1秒)定時處理DHCP
if (tim3_1ms_count >= 1000)
{
DHCP_time_handler();
tim3_1ms_count = 0;
}
// 10ms定時處理SNMP
if (tim3_10ms_count >= 10)
{
SNMP_time_handler();
tim3_10ms_count = 0;
}
// 清除中斷標志位
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
}
}
我們需要10ms調用一次SNMP_time_handler()函數,方便SNMP進行超時處理。
步驟3:添加功能函數
在snmp_custom.c文件中的snmpData結構體變量中,添加功能函數:
c
運行
dataEntryType snmpData[] =
{
// System MIB
// SysDescr Entry
{ 8, {0x2b, 6, 1, 2, 1, 1, 1, 0}, SNMPDTYPE_OCTET_STRING, 30, {"WIZnet Embedded SNMP Agent"}, NULL, NULL},
// SysObjectID Entry
{ 8, {0x2b, 6, 1, 2, 1, 1, 2, 0}, SNMPDTYPE_OBJ_ID, 8, {"x2bx06x01x02x01x01x02x00"}, NULL, NULL},
// SysUptime Entry
{ 8, {0x2b, 6, 1, 2, 1, 1, 3, 0}, SNMPDTYPE_TIME_TICKS, 0, {""}, currentUptime, NULL},
// sysContact Entry
{ 8, {0x2b, 6, 1, 2, 1, 1, 4, 0}, SNMPDTYPE_OCTET_STRING, 30, {"http://www.wizwiki.net/forum"}, NULL, NULL},
// sysName Entry
{ 8, {0x2b, 6, 1, 2, 1, 1, 5, 0}, SNMPDTYPE_OCTET_STRING, 30, {"http://www.wiznet.co.kr"}, NULL, NULL},
// Location Entry
{ 8, {0x2b, 6, 1, 2, 1, 1, 6, 0}, SNMPDTYPE_OCTET_STRING, 30, {"4F Humax Village"}, NULL, NULL},
// SysServices
{ 8, {0x2b, 6, 1, 2, 1, 1, 7, 0}, SNMPDTYPE_INTEGER, 4, {""}, NULL, NULL},
{ 8, {0x2b, 6, 1, 2, 1, 12, 2, 0}, SNMPDTYPE_OCTET_STRING, 30, {""}, get_LEDStatus_UserLED, NULL},
{ 8, {0x2b, 6, 1, 2, 1, 12, 1, 0}, SNMPDTYPE_INTEGER, 4, {""}, NULL, set_LEDStatus_UserLED},
// OID Test #1 (long-length OID example, 19865)
{0x0a, {0x2b, 0x06, 0x01, 0x04, 0x01, 0x81, 0x9b, 0x19, 0x01, 0x00}, SNMPDTYPE_OCTET_STRING, 30, {"long-length OID Test #1"}, NULL, NULL},
// OID Test #2 (long-length OID example, 22210)
{0x0a, {0x2b, 0x06, 0x01, 0x04, 0x01, 0x81, 0xad, 0x42, 0x01, 0x00}, SNMPDTYPE_OCTET_STRING, 35, {"long-length OID Test #2"}, NULL, NULL},
// OID Test #2: SysObjectID Entry
{0x0a, {0x2b, 0x06, 0x01, 0x04, 0x01, 0x81, 0xad, 0x42, 0x02, 0x00}, SNMPDTYPE_OBJ_ID, 0x0a, {"x2bx06x01x04x01x81xadx42x02x00"}, NULL, NULL},
};
結構體變量snmpData的結構體dataEntryType定義如下所示:
typedef struct {
uint8_t oidlen; // OID長度
uint8_t oid[MAX_OID]; // OID數組(對象標識符)
uint8_t dataType; // 數據類型(對應SNMP數據類型)
uint8_t dataLen; // 數據長度
union {
uint8_t octetstring[MAX_STRING]; // 字符串類型數據
uint32_t intval; // 整數類型數據
} u; // 數據聯合體(存儲不同類型的數據)
void (*getfunction)(void *, uint8_t *); // 獲取數據的回調函數
void (*setfunction)(int32_t); // 設置數據的回調函數
} dataEntryType;
步驟4:初始化snmp協議
void snmpd_init(uint8_t *managerIP, uint8_t *agentIP, uint8_t sn_agent, uint8_t sn_trap)
{
#ifdef _SNMP_DEBUG_
printf("rn - SNMP : Start SNMP Agent Daemonrn");
#endif
SOCK_SNMP_AGENT = sn_agent;
SOCK_SNMP_TRAP = sn_trap;
// 檢查 socket 編號是否合法
if ((SOCK_SNMP_AGENT > _WIZCHIP_SOCK_NUM_) || (SOCK_SNMP_TRAP > _WIZCHIP_SOCK_NUM_))
{
return;
}
startTime = getSNMPTimeTick(); // 記錄啟動時間(單位:10ms)
initTable(); // 初始化 OID 條目值
initial_Trap(managerIP, agentIP); // 初始化 Trap 相關配置
/*
// SNMP Trap 示例代碼
{
dataEntryType enterprise_oid = {
0x0a,
{0x2b, 0x06, 0x01, 0x04, 0x01, 0x81, 0x9b, 0x19, 0x01, 0x00},
SNMPDTYPE_OBJ_ID,
0x0a,
{"x2bx06x01x04x01x81x9bx19x10x00"},
NULL,
NULL
};
dataEntryType trap_oid1 = {
8,
{0x2b, 6, 1, 4, 1, 0, 11, 0},
SNMPDTYPE_OCTET_STRING,
30,
{""},
NULL,
NULL
};
dataEntryType trap_oid2 = {
8,
{0x2b, 6, 1, 4, 1, 0, 12, 0},
SNMPDTYPE_INTEGER,
4,
{""},
NULL,
NULL
};
strcpy((char *)trap_oid1.u.octetstring, "Alert!!!"); // 添加字符串數據
trap_oid2.u.intval = 123456; // 添加整數值
// 通用 Trap: warmStart
snmp_sendTrap((void *)"192.168.0.214", (void *)"192.168.0.112", (void *)"public",
enterprise_oid, SNMPTRAP_WARMSTART, 0, 0);
// 企業特定 Trap
snmp_sendTrap((void *)"192.168.0.214", (void *)"192.168.0.112", (void *)"public",
enterprise_oid, 6, 0, 2, &trap_oid1, &trap_oid2);
}
*/
}
這一步,主要是將使用的socket號,管理IP地址,請求IP地址等參數注冊進去,并且記錄開始時間。如果想使用Trap主動上報,可以參考注釋中的示例代碼。
步驟5:在主循環中運行snmpd_run()函數
snmpdrun()函數代碼如下:
int32_t snmpd_run(void)
{
int32_t ret;
int32_t len = 0;
uint8_t svr_addr[6];
uint16_t svr_port;
// 檢查 socket 編號合法性
if (SOCK_SNMP_AGENT > _WIZCHIP_SOCK_NUM_)
{
return -99;
}
// 根據 socket 狀態進行處理
switch (getSn_SR(SOCK_SNMP_AGENT))
{
case SOCK_UDP:
// 檢查接收緩沖區是否有數據
if ((len = getSn_RX_RSR(SOCK_SNMP_AGENT)) > 0)
{
// 接收 UDP 數據
request_msg.len = recvfrom(SOCK_SNMP_AGENT, request_msg.buffer, len, svr_addr, &svr_port);
}
else
{
request_msg.len = 0;
}
// 處理接收到的請求數據
if (request_msg.len > 0)
{
#ifdef _SNMP_DEBUG_
dumpCode((void *)"rn[Request]rn", (void *)"rn", request_msg.buffer, request_msg.len);
#endif
// 初始化請求和響應消息
request_msg.index = 0;
response_msg.index = 0;
errorStatus = errorIndex = 0;
memset(response_msg.buffer, 0x00, MAX_SNMPMSG_LEN);
// 解析 SNMP 請求并發送響應
if (parseSNMPMessage() != -1)
{
sendto(SOCK_SNMP_AGENT, response_msg.buffer, response_msg.index, svr_addr, svr_port);
}
#ifdef _SNMP_DEBUG_
dumpCode((void *)"rn[Response]rn", (void *)"rn", response_msg.buffer, response_msg.index);
#endif
}
break;
case SOCK_CLOSED:
// 創建 UDP socket
if ((ret = socket(SOCK_SNMP_AGENT, Sn_MR_UDP, PORT_SNMP_AGENT, 0x00)) != SOCK_SNMP_AGENT)
{
return ret;
}
#ifdef _SNMP_DEBUG_
printf(" - [%d] UDP Socket for SNMP Agent, port [%d]rn", SOCK_SNMP_AGENT, PORT_SNMP_AGENT);
#endif
break;
default:
break;
}
return 1;
}
snmpd_run()函數會執行一個UDP狀態機,當收到SNMP管理的消息后會執行解析以及回復操作。
9運行結果
燒錄例程運行后,首先可以看到打印了PHY鏈路檢測和DHCP獲取網絡信息,然后是運行SNMP程序:

打開MIB Borwser,輸入W55MH32的地址,然后依次點擊system分支下的各個節點,獲取到的結果與代碼定義相同:

再找到User分支下的setLED指令,右鍵指令,點擊set,類型選擇integer,Value填 1,點擊OK:

getLED指令,右鍵指令,點擊get,即可讀出LED狀態:

10總結
本文講解了如何在 W55MH32芯片上實現 SNMP功能,通過實戰例程展示了使用 MIB Browser管理 W55MH32的具體過程,涵蓋在 MIB Browser中創建分支、添加葉子節點,以及在代碼中適配功能等關鍵步驟。文章詳細介紹了 SNMP協議的概念、特點、應用場景、架構組成、OID詳解和報文格式,幫助讀者理解其在網絡設備管理和監控中的重要作用。
下一篇文章將聚焦 PING命令,解析其測試網絡連通性的原理及在網絡故障排查中的應用,同時講解如何在W55MH32上使用 PING命令進行網絡診斷,敬請期待!
WIZnet是一家無晶圓廠半導體公司,成立于 1998年。產品包括互聯網處理器 iMCU?,它采用 TOE(TCP/IP卸載引擎)技術,基于獨特的專利全硬連線 TCP/IP。iMCU?面向各種應用中的嵌入式互聯網設備。
WIZnet在全球擁有 70多家分銷商,在香港、韓國、美國設有辦事處,提供技術支持和產品營銷。
香港辦事處管理的區域包括:澳大利亞、印度、土耳其、亞洲(韓國和日本除外)。
審核編輯 黃宇
-
以太網
+關注
關注
41文章
5997瀏覽量
180804 -
SNMP
+關注
關注
0文章
119瀏覽量
30665
發布評論請先 登錄
第十五章 DAC (上篇)
第十五章 DAC (下篇)
【正點原子FPGA連載】第十五章 窗口門狗(WWDG)實驗 -摘自【正點原子】新起點之FPGA開發指南_V2.1
第二章 W55MH32 DHCP示例
第五章 W55MH32 UDP示例
第九章 W55MH32 HTTP Server示例
第十章 W55MH32 SNTP示例
第十一章 W55MH32 SMTP示例
第十二章 W55MH32 NetBIOS示例
第十四章 W55MH32 TFTP示例
第十六章 W55MH32 PING示例
第十七章 W55MH32 ARP示例
第十八章 W55MH32 FTP_Server示例
第二十五章 W55MH32 TCP_Server_Multi_Socket示例
第二十六章 W55MH32?上位機搜索和配置示例
第十五章 W55MH32 SNMP示例
評論