当前位置:首页 > 工业控制 > 工业控制
[导读] 互联网技术成本低廉、灵活性强,在很多领域都有着广泛的应用前景。其在工业自动化领域的应用一直是一个研究热点。SNMP(简单网络管理)协议是一种被广泛应用的互联网设备管理协议,其最大的特点就是成本低廉,容易实现

 互联网技术成本低廉、灵活性强,在很多领域都有着广泛的应用前景。其在工业自动化领域的应用一直是一个研究热点。SNMP(简单网络管理)协议是一种被广泛应用的互联网设备管理协议,其最大的特点就是成本低廉,容易实现。SNMP协议可以管理大部分符合Internet标准的设备。通过添加新的被管对象,可以非常方便地扩展其管理能力。即使在被管设备发生严重的错误时,协议本身的特点也促使其不会影响管理者的正常工作。

本文介绍一种基于AT91SAM9260工控机平台的SNMP协议实现方法,通过开发能在AT91SAM9260工控机平台上运行的SNMP Agent(SNMP代理),并扩展其MIB(管理信息)库,实现在互联网上管理工控机本身和与工控机通过其他通信协议连接的设备资源。

1 SNMP(简单网络管理)协议介绍

1.1 SNMP协议概述

SNMP协议是一种基于TCP/IP协议的应用层网络管理标准,被广泛应用于管理互联网上众多厂家的软硬件平台。SNMP协议的模型如图1所示,其中管理应用通过发送Get、Set、GetNext、GetResponse和Event这五种类型的消息来读取或设置被管设备的MIB库,实现对被管设备的管理。

SNMP协议作为应用层协议,通过用户数据报协议(UDP)来实现管理信息在互联网上的传输,相对于TCP协议,UDP这种无连接的通信方式,不但加强了SNMP协议的稳定性,而且提高了SNMP协议的运行效率。

1.2 MIB(管理信息)库

MIB库是管理站可以通过SNMP协议访问的被管理对象的集合。MIB描述了被管理对象能够为管理者提供哪些管理信息以及这些信息之间的关系。MIB使用ASN.1描述语言对对象进行描述。ASN.1使被描述对象在逻辑上形成树形结构(如图2),这样管理站就可以很方便地访问到MIB库中各个节点的信息。ASN.1描述语言也提供了基本编码规则(BER),使MIB库中数据按规则转换为串行字节流在网络上传输。

2 开发环境介绍

2.1 AT91SAM9260工控机

本文使用的AT91SAM9260工控机是一套基于ARM926EJ-S核心的嵌入式工控机系统,处理器采用ATMEL公司的AT91SAM9260,210 MHz,230MIPs。存储器包括64MB NandFlash,64MB SDRAM,2MB NorFlash。网络(Ether-net)单元为一个10/100M网络。操作系统为2.6.19内核的嵌入式linux。该设备的软硬件平台是完全满足SNMP协议的开发需求的。

2.2 net-snmp开发包

net-snmp开发包是由加州大学戴维斯分校(University ofCalifonia,Davis)开发并维护的可在linux系统下使用的SNMP协议开发程序。本文使用的是net-snmp-5.4.4版本,其组成内容主要包括:

1)可扩展SNMP Agent程序(snmpd)开发库;

2)几个用于设置SNMP代理变量的管理端命令(snmpget,snmpset,snmpwalk等);

3)将MIB文件转换成C语言程序用于MIB库扩展的mib2c工具;等等。

3 SNMP协议实现

3.1 交叉编译环境搭建

由于AT91SAM9260工控机平台上的嵌入式linux系统运行能力有限,需要在电脑上搭建net-snmp的交叉编译环境。电脑的操作系统选用的是fedora 8,交叉编译工具选用的是AT91SAM9260工控机开发包自带的armv51-linux-gcc.tar.bz2交叉编译器。

交叉编译环境搭建好以后,将net-snmp-5.4.4.tar.gz开发包拷贝到fedora 8系统的/usr/local/src文件夹下,打开fedora 8下终端(terminal)程序,运行“tar-zxvf net-snmp-5.4.4.tar.gz/work”、“cob/work/net-snmp-5.4.4”,就到达net-snmp-5.4.4的源码所在的文件夹“/work/net-snmp-5.4.4”中了。

交叉开发环境搭建好以后,就可以开始在工控机上实现SNMP协议的开发了。开发过程主要分为以下两个部分:

1)开发出能在AT91SAM9260工控机上运行的SNMPAgent程序(即snmpd程序);

2)通过net-snmp开发包提供的工具,扩展MIB库。

3.2 SNMP Agent开发

在使用net-snmp开发包编译smnpd程序之前,要对编译选项进行配置。继续在fedora 8下运行“./configure-with-cc=armv51-linux-gcc-with-ar=armv51-linux-ar-enable-mini-agent-with-endianness=little-enable-mini-agent-disable-ipv6-disable-snmptrapd-subagent”,此命令主要是对交叉编译器,目标机大小端,代理的编译模式进行配置。各配置选项的具体含义可以运行“./configure-help”查看。

配置完net-snmp编译选项后可以进行静态编译,运行“make LDFLAGS=”-static””,编译得到snmpd。将snmpd拷贝到工控机操作系统的/usr/sbin目录下,并在工控机操作系统终端下运行“ehmod u+x snmpd”,更改snmpd的权限。

要在工控机操作系统下运行SNMP Agent程序,还需要配置snmpd.conf文件。使用电脑上路径“/work/net-snmp-5.4.4/EXAMPLE.conf”的文件作为测试范本,将其拷贝成工控机“/usr/loeal/share/snmp/snmpd.cord”文件,将其中的community设置修改为以下内容:

#sec.name source community

com2sec local loealhost public

com2sec net 192.168.0.135/24 public

其中工控机所在的测试网段为192.168.0.xxx。将组设置改为可读写(group MyRWGroup v2c net),以方便测试使用。

移植完snmpd和snmpd.eonf文件后,在工控机操作系统终端下运行“snmpd-f-Le-d”命令,如果正常启动,则snmpd移植成功。

3.3 MIB库扩展

进入fedora 8的“/work/net-snmp-5.4.4/share/snmp/mibs”路径下,可以看到net-snmp包涵了很多公有MIB文件。这些文件都是按照规范格式开发出来的。管理信息库的扩展就是将按照这种规范格式开发出来的私有MIB文件移植到net-snmp中。以实现管理端通过SNMP协议对私有对象进行管理。扩展MIB库主要分为以下三个步骤:

首先,将待扩展的私有MIB文件拷贝到fedora 8的“/work/net-snmp-5.4.4/share/snmp/mibs”路径下,并将该MIB文件添加到环境变量MIBS中去(fedora下运行“ex port MIBS=ALL”)。添加完可以用net-snmp自带的snmptranslate命令检测代理是否能够正确找到待扩展的私有MIB。

然后,使用mib2c工具生成C文件,例如fedora下运行“mib2 netSnmpExampleScalars”命令,就会生成MIB文件中定义的netSnmpExampleScalars对象的.h文件和.c文件。其中.h文件对节点进行函数声明和宏定义。.c文件分为初始化函数和响应函数两大块。其中初始化函数用来对变量进行注册,响应函数用来响应管理端的操作命令,响应函数的返回值需要手工填充。

最后,将私有MIB生成的C文件拷贝到“/work/net-snmp-5.4.4/agent/mibgroup”目录下,重新配置net-snmp,在./configure后面添加“-with-mib-modules=“XXX ””(其中XXX为生成的C文件名),编译生成新的snmpd程序,移植到工控机系统中。

连接好工控机到电脑的网络,使用net-snmp开发包自带的snmpget,snmpset等命令测试snmpd的运行情况,如果得到正确的结果测试,就证明在AT91SAM9260工控机上实现SN MP协议成功。

4 结束语

net-snmp开发包提供了强大的开发和测试工具,使开发者能方便地完成各种嵌入式工控机平台下的SNMP协议开发。本文实现的基于AT91SAM9260工控机平台的SNMP协议,在工业级互联网管理设备的开发上有着很大的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭