阅读:5120回复:2
【串口转SNMP】/ 嵌入式单片机SNMP程序/SNMP上位机网管软件/snmp评估库
【串口转SNMP】
"串口转SNMP技术"通过TCP/IP的SNMP网络将"串口设备(如空调、UPS、仪表、电源等)" 直接连接到以太网网络中,实现对"设备"的网络化远程管理,如,IE浏览器远程浏览,SNMP网络管理等,避免了"设备"出问题后无人知晓。"串口转SNMP"嵌入式技术提供了优异的可靠性,提供了设备独立运行的安全性。通过这个网络管理器让"设备"从传统的工业控制设备一步跨越到网络化的IT设备,当"设备"发生故障时,仅在几秒内通过网络即可知晓故障情况,并“决胜”于千里之外。实时通知特性可在问题发生时及时通知您。"串口转SNMP技术"的“即插即用”功能以及嵌入式技术,完全实现了设备的远程网络化管理。 mcu_snmp#163.com ">mcu_snmp#163.com (#替换为@) 无论你用的是什么类型的单片机,不管C51,ARM7单片机,ColdFire,MC9S12NE64,还是其它单片机,只要已经支持了以太网接口,保证1天之内就能移植SNMP。 同时提供SNMP网管程序/SNMP上位机软件. 有意者请联系 mcu_snmp#163.com (#替换为@) snmp评估库使用步骤: 第1步:告诉我你的处理器和你的编译工具(ADS、Keil还是别的) 第2步:编译一个二进制库snmp.lib或libsnmp.a二进制库给你。 第3步:你要做的事情,增加udp和snmp的通信接口, (这一步可省略,因为以下是一个通用做法。如果你采用了专用的TCPIP协议栈,可以利用协议栈提供的通信接口。如果你采用了linux或vxworks,就不更不要这一步了,因为libsnmp.a采用了操作系统的socket接口)。 1)修改一点点代码,在你原来的udp的代码上,发现udp的目的端口是161(SNMP),就调用snmp_recv函数,这个函数在snmp.lib里实现了。 char snmp_recv(unsigned char sender_ip[4],unsigned short sender_port, unsigned char *buff,unsigned short length) ; 参数解释:sender_ip,所收udp包的源IP,即snmp上位机的IP。 sender_port,所收udp包的源端口,即snmp上位机的端口。 buff,所收到的udp包数据内容起始地址指针,不包括ip头,udp头,是udp纯数据 length,所收到的udp包数据长度,不包括ip头,udp头,是udp纯数据 2)增加一个函数,在你原来udp代码上,增加snmp_output函数,因为snmp.lib处理完成后,需要调用该函数把snmp响应包发送出去。 char snmp_output(unsigned char dest_ip[4],unsigned short dest_port, unsigned short src_port,unsigned char *buff,unsigned short length) ; dest_ip,目的IP。 dest_port,目的端口。 src_port,源端口,(在这里都是传入161). buff,要发送的udp包数据内容起始地址指针,不包括ip头,udp头,是udp纯数据 length,要发送的udp包数据长度,不包括ip头,udp头,是udp纯数据 3)把snmp.lib或libsnmp.a加入到你的工程,编译,烧入设备。 如果你是linux系统,只需要写一个main.c,然后和libsnmp.a编译一个可执行文件snmpd并运行即可。附main.c参考代码: extern int snmp_run(); int main(int argc,char **argv) { if(fork()==0) //如果是uClinux,改为vfork即可 { snmp_run(); return 0; } return 0; } 如果你是vxworks操作系统,实现一个snmp_init函数,并在初始化时候调用即可. extern int snmp_run(); int snmp_init() { if(taskSpawn("tSNMP",51,0,20 * 1024,(FUNCPTR)snmp_run, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) == ERROR) return (ERROR); return OK; } 第4步:测试,安装MIB Browser,对设备进行SNMP测试。 因为snmp.lib里内置了一些公有MIB,可以对它们进行测试,私有MIB扩展需要真正合作后才能开始。 第5步:如果测试通过,讨论合作事项。 如果你需要snmp库或者不会用MIB Browser,请来信告诉我。mcu_snmp#163.com (#替换为@) 更多内容请访问 blog.163.com/mcu_snmp snmp.blogbus.com/ hi.baidu.com/mcu_snmp |
|
沙发#
发布于:2010-01-14 23:11
我是在Tornado2.2.1 for arm平台上开发snmp的,刚开始,很难。你的控件好多money?
|
|
板凳#
发布于:2010-04-30 11:25
新增加【串口转SNMP】
|
|