<<返回上一页

SNMP协议V1版本演示


关键词:SNMP  W5500  WIZnet  W5500EVB  网络管理协议


简单网络管理协议(SNMP,Simple Network Management Protocol)构成了互联网工程工作小组(IETF,Internet Engineering Task Force)定义的Internet协议簇的一部分。提供了一种从网络上的设备中收集网络管理信息的方法。SNMP也为设备向网络管理工作站报告问题和错误提供了一种方法。 它由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema),和一组数据对象。

一个网络管理系统运行应用程序,以该应用程序监视并控制被管理的设备。也称为管理实体(managing entity),网络管理员在这儿与网络设备进行交互。网络管理系统提供网络管理需要的大量运算和记忆资源。一个被管理的网络可能存在一个以上的网络管理系统。 一个被管理的设备是一个网络节点,它包含一个存在于被管理的网络中的SNMP代理者。被管理的设备通过管理信息库(MIB,Management Information Base)收集并存储管理信息,并且让网络管理系统能够通过SNMP代理者取得这项信息。 代理者是一种存在于被管理的设备中的网络管理软件模块。代理者控制本地机器的管理信息,以和SNMP兼容的格式发送这项信息。

主循环代码如下:
while(1)
{
	for ( m=0; m<10; m++)
	{
		GPIO_SetBits(GPIOA, LED0);
		Delay_ms(100);
		GPIO_ResetBits(GPIOA, LED0);
		Delay_ms(100);
	}
	UserSnmpDemo();
}

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
  /* Check the parameters */
  assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  assert_param(IS_GPIO_PIN(GPIO_Pin)); 
  GPIOx->BSRR = GPIO_Pin;
}

void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
  /* Check the parameters */
  assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  assert_param(IS_GPIO_PIN(GPIO_Pin));
  GPIOx->BRR = GPIO_Pin;
}
SNMP的测试步骤如下
  1. 首先在电脑中安装Net-SNMP软件,按默认选型安装后,开始测试.
  2. 打开网络连接,点击本地连接选择属性,设置PC为静态IP(与W5500在同一网段),完成后点击确定。用网线把PC和W5500EVB连接,打开串口软件,选择正确的COM口打开串口,以获取调试信息。
  3. 然后打开 运行 “CMD” , 输入 “cd \usr\bin” , 之后输入 SNMP命令。
  4. 如图1输入“snmpget -v 1 -c public 192.168.1.111 .1.3.6.1.4.1.0.2.0”回车,得到此变量为1。
    输入“snmpget -v 1 -c public 192.168.1.111 .1.3.6.1.4.1.0.1.0”回车,如图3-4-9所示,得到LED状态为“LED ON”。
    输入“snmpset -v 1 -c public 192.168.1.111 .1.3.6.1.4.1.0.2.0 i 0”回车,如图3-4-9所示,设置变量为0。
    输入“snmpget -v 1 -c public 192.168.1.111 .1.3.6.1.4.1.0.2.0”回车,如图3-4-9所示,得到该变量为0。
    输入“snmpget -v 1 -c public 192.168.1.111 .1.3.6.1.4.1.0..0”回车,如图1所示,得到LED状态为“LED OFF”。

通过以上5步可以清楚地发现,通过snmpset命令可以方便快速设置LED的状态;在不清楚LED状态的情况下,也可以通过snmpget命令得到,从而实现快速有效的控制。


图1:Net SNMP工具测试SNMP协议

例程下载:【SNMP】
编译环境:keil V5.11
硬件要求:W5500EVB