文档库 最新最全的文档下载
当前位置:文档库 › SNMP自定义oid

SNMP自定义oid

SNMP自定义oid
SNMP自定义oid

SNMP自定义oid

Windows自定义oid

1.安装snmptools

首先需要在windows上安装snmp服务,具体安装方法可搜索网上的介绍,在windows组件中进行安装。oid有一个oid的标准,如果这个标准中可能并没有定义我们需要监控的变量,如对一个程序的运行情况进行监控,这个时候就需要扩展oid,实现自己定义的oid。

注:windows2012,需要安装snmp wmi

1)下载snmptools

扩展oid需要一个工具snmptools,下载地址

https://https://www.wendangku.net/doc/ea3377824.html,/projects/snmptools/files/?source=navbar

2)配置snmptools

下载完成后,解压文件,里面有一个index.html文件,对照着上面就可以安装成功,在这里稍微提一下:

1.如果你的是Windows 32位系统,需要复制压缩包中的snmptools.dll到系统目录

C:\WINDOWS\system32下,点击压缩包中的regagent.reg文件,在注册表中注册

2.如果你的是Windows 64位系统,需要复制压缩包中的snmptools.dll到系统目录

C:\WINDOWS\下,点击压缩包中的regagentWow6432.reg文件,在注册表中注册

3.在运行中输入services.msc,找到snmp服务重新启动

3)自定义扩展oid

在C盘根目录建立counters.ini文件(该文件位置,可通过修改注册表信息修改),文件内容中定义你自己的oid,oid中支持三种类型counter string 和自定义的输出。官方给的实例如[1.3.6.1.4.1.15.1]

counter=LogicalDisk\Free Megabytes\_Total

[1.3.6.1.4.1.15.2]

type=string

counter=this is a test

[1.3.6.1.4.1.15.3]

type=exec

counter=cscript /nologo c:\test.vbs

[1.3.6.1.4.1.15.4]

type=exec

counter=c:\test.bat

//bat文件直接在=后即可

我想对我们扩展oid来说比较有用的可能还是可执行命令的输入,也就是第三个。这里你可以使用bat的输入作为snmp的返回值。我的应用是使用java写一个程序,然后使用批处理脚本来调用java进行返回。希望上诉对于大家有所帮助。

2.配置SNMP

C:\counters.ini

[1.3.6.1.4.1.15.1]

type=exec

counter=c:\test-1.bat

[1.3.6.1.4.1.15.2]

type=exec

counter=c:\test-2.bat

[1.3.6.1.4.1.15.3]

type=exec

counter=c:\test-3.bat

c:\test-1.bat

@ echo off

echo aaa

@ echo off

echo %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,8%

@echo off

set /a r=%random%%%100+250

echo %r%

snmpwalk -c Ccloud -v 2c 192.168.193.189 1.3.6.1.4.1.15

SNMPv2-SMI::enterprises.15.1 = STRING: "aaa"

SNMPv2-SMI::enterprises.15.2 = STRING: "bbb"

SNMPv2-SMI::enterprises.15.3 = STRING: "ccc"

snmpwalk -c Ccloud -v 2c 192.168.193.189 1.3.6.1.4.1.15 -On

.1.3.6.1.4.1.15.1 = STRING: "aaa"

.1.3.6.1.4.1.15.2 = STRING: "bbb"

.1.3.6.1.4.1.15.3 = STRING: "ccc"

磁盘利用率vbs

Set objWMIService = GetObject("winmgmts:")

Set objLogicalDisk = objWMIService.Get("Win32_LogicalDisk.DeviceID='c:'") Wscript.Echo clng((1- objLogicalDisk.FreeSpace / objLogicalDisk.Size) *100)

3.安装gawk

Linux自定义oid

1.配置snmpd.conf

snmp提供了发送自定义信息的功能,可以通过执行某个sh脚本,获取某个指标值,将其通过SNMP协议发布出去。

举例,现在需要将CPU温度通过SNMP协议发布出去。

1)安装sensors

2)编写脚本

添加内容到/var/snmp/sensors-0.sh

/usr/bin/sensors | grep "Core 0" | awk '{print $3}' | cut -b 2-5

3)写入snmpd.conf

在snmpd.conf任意位置添加:

extend .1.3.6.1.4.1.12021.0.1 sensors-0 /bin/sh /var/snmp/sensors-0.sh

extend .1.3.6.1.4.1.12021.1.1 sensors-1 /bin/sh /var/snmp/sensors-1.sh

extend .1.3.6.1.4.1.12021.2.1 sensors-2 /bin/sh /var/snmp/sensors-2.sh

extend .1.3.6.1.4.1.12021.3.1 sensors-3 /bin/sh /var/snmp/sensors-3.sh

4)重启snmpd

5)关闭selinux

selinux关闭

1、临时关闭(不用重启机器):

setenforce 0 ##设置SELinux 成为permissive模式

##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

6)查看结果

然后远程通过snmpwalk接收一下数据看看:

# snmpwalk -c public -v 2c 127.0.0.1 .1.3.6.1.4.1.2021.18

UCD-SNMP-MIB::ucdavis.18.1.1 = INTEGER: 1

UCD-SNMP-MIB::ucdavis.18.2.1 = STRING: "tcpCurrEstab"

UCD-SNMP-MIB::ucdavis.18.3.1 = STRING: "/etc/tcpconn_total.sh"

UCD-SNMP-MIB::ucdavis.18.100.1 = INTEGER: 0

UCD-SNMP-MIB::ucdavis.18.101.1 = STRING: "488"

UCD-SNMP-MIB::ucdavis.18.102.1 = INTEGER: 0

UCD-SNMP-MIB::ucdavis.18.103.1 = ""

其中我们需要的是UCD-SNMP-MIB::ucdavis.18.101.1 = STRING: "488″这一行:

# snmpwalk -v 1 192.168.1.201 -c public .1.3.6.1.4.1.2021.18.101.1

UCD-SNMP-MIB::ucdavis.18.101.1 = STRING: "488"

能采集到数据之后,就可以配置cacti来接收了。在cacti界面中console->Templates->Data Templates,然后点击右上角的Add,Data Templates中的name是给这个数据模板的命名,Data Source中的name将来显示在Data Sources中,我这里添加"|host_deion| - Tcp Conn. - ESTBLISHED",选get snmp data,Internal Data Source Name也可以随便添,这个用来给rrd

文件命名。设置完后就可以save了,save之后会发现下面多了一些选项,在最下面那个添上我们需要的数据的OID".1.3.6.1.4.1.2021.18.101.1",可以保存了。

此后需要创建一个Graph Templates,好让cacti生成图片。在cacti界面中

console->Templates->Graph Templates,然后点击右上角的Add,Templates中的name是给这个数据模板的命名,Graph Template中的name是将来显示在图片上面中间的内容,我这里添加"|host_deion| - Tcp Conn. - ESTBLISHED",其他保持默认,保存之后上面会出来一些选项。在Graph Template Items中添加一个item,Data Source选之前添加的,color选择一个图片的颜色,Graph Item Type选AREA,也就是区域,也可以选其他的线条,Text Format设置说明。然后再添加一个,Graph Item Type选GPRINT,Consolidation Function选LAST,也就是当前的值,Text Format输入current。你还可以添加一些Graph Item Type为COMMENT的注释说明等。

现在只要为host添加这个画图模板就可以看到画出来的图了

又如:

exec .1.3.6.1.4.1.2021.51 mem /bin/sh /usr/local/src/mem.sh

exec .1.3.6.1.4.1.2021.52 cpu /bin/sh /usr/local/src/cpu.sh

exec .1.3.6.1.4.1.2021.53 apache /bin/sh /usr/local/src/apache.sh

exec .1.3.6.1.4.1.2021.54 tomcat /bin/sh /usr/local/src/tomcat.sh

exec .1.3.6.1.4.1.2021.55 upload /bin/sh /usr/local/src/upload.sh

ubuntu自定义oid

安装snmp

sudo vi /etc/apt/sources.list

把deb cdrom;前的##删除掉(用方向键控制光标到deb cdrom前,然后按键盘上i键,在按delete键删除##,同理也把下面的deb cdrom前的##删除,然后按Esc键,然后按住Shift 键+:,输入:wq,在按Enter键)

mount /dev/sr0 /media/cdrom --挂载安装Ubuntu的光盘

键入shell命令

sudo apt-get update

sudo apt-get install snmp*

配置snmp

rocommunity itp_rw

extend .1.3.6.1.4.1.12021.0.6 sensors-0 /etc/snmp/1416 6

extend .1.3.6.1.4.1.12021.0.7 sensors-0 /etc/snmp/1416 7

root@ubuntu:~# cat /root/1416.c

#include

#include

#include"/usr/include/modbus/modbus.h"

int main(int argc, char* argv[])

{

int n;

n=atoi(*++argv);

modbus_t *mb;

uint16_t tab_reg[32]={0};

mb = modbus_new_rtu("/dev/ttyS0",9600,'N',8,1);

modbus_set_slave(mb,11);//set slave address

modbus_connect(mb);

struct timeval t;

https://www.wendangku.net/doc/ea3377824.html,_sec=0;

https://www.wendangku.net/doc/ea3377824.html,_usec=1000000;//set modbus time 1000ms

modbus_set_response_timeout(mb,&t);

int regs=modbus_read_registers(mb, n, 1, tab_reg);

printf("%d\n" , tab_reg[0]);

modbus_close(mb);

modbus_free(mb);

return 0;

}

service snmpd restart

snmpwalk -c itp_rw -v 2c 127.0.0.1 .1.3.6.1.4.1.12021.0.6

snmpwalk -c itp_rw -v 2c 127.0.0.1 .1.3.6.1.4.1.12021.0.7

snmpget -c itp_rw -v 2c 127.0.0.1

1.3.6.1.4.1.12021.0.7.4.1.

2.9.115.101.110.115.111.114.115.45.48.1

状态吗

extend .1.3.6.1.4.1.12021.0.1 sensors-0 /usr/bin/curl -o /dev/null -s -w '%{http_code}' https://https://www.wendangku.net/doc/ea3377824.html,/

1.3.6.1.4.1.12021.0.1.3.1.1.9.115.101.110.115.111.114.115.45.48

延时

extend .1.3.6.1.4.1.12021.0.2 sensors-0 /usr/bin/curl -o /dev/null -s -w '%{time_total}' https://https://www.wendangku.net/doc/ea3377824.html,/

1.3.6.1.4.1.12021.0.

2.

3.1.1.9.115.101.110.115.111.11

4.11

5.45.48

实验二:使用snmp命令查看mib树信息

实验二:使用snmp命令查看mib树信息 一、实验目的 熟悉SNMP协议的操作的特点和功能 二、实验内容 熟悉SNMP的getrequest、getnextRequest 、SetRequestdeng 操作,通过配置文件熟悉SNMP 协议视图的概念 三、实验准备、环境 采用开源软件net_snmp(https://www.wendangku.net/doc/ea3377824.html,/) Windows操作系统 四、实验步骤 1 安装net snmnp, 单击安装程序net-snmp-5.4.0-1.win32.exe,安装均按缺省,,一般会安装到c:\usr目录下 2、熟悉和配置代理段配置文件,从而掌握视图的概念 1) 把配置文件snmpd.conf 拷贝到C:\usr\etc\snmp 下,了解其如何间 公共体和视图关联起来 2) 利用netsnmp的自动配置命令生成snmpd.conf,生成方法建相关 ppt 在命令窗口中运行命令snmpd -f -Le –d(打开一个窗口,不要关闭)3熟悉snmpde相关操作 命令的使用详见文档“简单网络管理协议工具使用” 1)GetRequest操作(打开另外一个窗口,执行命令)

Netsnmp软件实现命令snmpget.exe 命令格式 Snmpget –v1(或-v2c) –c 公共体代理主机IP地址(本机为localhost)对象实例标识 如 Snmpget –v1 –c public localhost sysName.0 利用该操作至少检索一个标量对象和标对象实例(对象选择见教材、PPT或monitor.exe软件) 2)GetNextRequest操作 Netsnmp软件实现命令snmpgetnext.exe 命令格式 Snmpget –v1(或-v2c) –c 公共体代理主机IP地址(本机为localhost)对象实例标识 Snmpgetnext –v1 –c public localhost sysName.0 3)SetRequest操作 Netsnmp软件实现命令snmpset.exe 命令格式 snmpset [common arguments] MIB-objectID type value [MIB –objectID type value] MIB-objectID是一个要指定新值的MIB数据对象。参数type表示要修改的数据对象的类型;value表示该数据对象应该设置的新值。type 是一个字符,它表示数据对象的类型,这些类型是ASN.1定义的。

函数扩展

函数sin(x )y A ω?=+的图像 1.函数cos(2x )2y π =+的图像的一条对称轴是() .2A x π =- .x 8B π =- .x 4C π =- .x D π= 2.若把函数sin(x )3y π=+ 的图像向右平移m(m 0)>个单位长度后,得到y sinx =的图像, 则m 的最小值是() .6A π 5.6B π .3 C π 2.3 D π 3.如下图所示的图像的函数解析式可以为() .2sin(2x )8 A y π=- .2sin(2x )8 B y π =+ .2sin(2x )4C y π =+ .2sin(2x )4 D y π=- 4.已知函数(x)sin(x )(0)3f π ωω=+>的最小正周期为π,则该函数的图像() .A 关于点(,0)3π对称 .B 关于直线4 x π=对称 .C 关于点(,0)4π对称 .D 关于直线3 x π=对称 5.已知函数(x)sin(x )(x R)2f π =-∈,下面的结论错误的是() .A 函数(x)f 的最小正周期为2π B 函数(x)f 在区间[0,]2π 上是增函数

.C 函数(x)f 的图像关于0x =对称 .D 函数(x)f 是奇函数 6.已知点(,2)6P π -是函数(x)sin(x )m(0,||)2f π ω?ω?=++><的图像的一个对称中心, 且点P 到改图像的对称轴的距离的最小值为2π ,则() .A 函数(x)f 的最小正周期为π B (x)f 的值域为[0,4] .C (x)f 的初相.3π ?= .D (x)f 在区间4[,2]3 ππ上倒掉递增 7.已知以原点O 为圆心的单位圆上有一质点P ,它从初始位置01P (2开始,按逆时针方向以角速度1/s rad 做圆周运动,则点P 的坐标y 关于时间t 的函数关系为() .sin(t ),t 03A y π =+≥ .sin(t ),t 06B y π =+≥ .cos(t ),t 03C y π=+≥ .cos(t ),t 06 D y π=+≥ 二、填空题 8.若将函数tan(x )(0)4y π ωω=+>向右平移6π 个单位,所得图像与函数tan(x ) 6y π ω=+的图像重合,则ω的最小值为______ 9.函数52sin(4)23 y x π=-+的图像与x 轴的各个交点中,距离原点最近的一点的坐标是______ 10.点此强度I(A)随时间t(s)变化的函数 I A*sin()(A 0,0)4t π ωω=+>≠的图像如下图所示,则当1t 50 s = 时,电流强度是______A

发展心理学习题(附答案)

发展心理学练习题及答案 (一)单选 1、第二反抗期发生在()。 A.3、4岁 B.小学阶段 C.青春期 D.青年期 2、个体发展心理学的研究对象是()。 A.人生全过程各个年龄阶段的心理发展特点 B.人生全过程各个年龄阶段的认知发展特点 C.从动物到人的心理变化 D.从幼儿到成人的心理变化 3、童年期的年龄范围是()。 A.3~6岁 B.7~12岁 C.13~15岁 D.16~18岁 4、()是第一个提出青春期理论的心理学家。 A.班杜拉 B.米德 C.皮亚杰 D.霍尔 5、在柯尔伯格的道德发展理论中,普遍道德原则的定向阶段的特征是()。 A. 对成人或原则采取服从的态度,以免受到惩罚 B. 开始从维护社会秩序的角度来思考什么行为是正确 C. 认为除了法律以外,还有诸如生命的价值、全人类的正义更高的道德原则 D. 认识到法律不再是死板的、一成不变的条文 6、自我意识上午第二次飞跃发生在()。 A.幼儿期 B.青春期 C.青年期 D.更年期 7、艾里克森认为青少年期良好的人格特征是()。 A.诚实品质 B.爱的品质 C.关心品质 D.智慧、贤明品质 8、中年人的工作满意度()。 A.达到一生中的最低谷 B.达到一生中的最高峰 C.和青年期相比没有什么特点 D.起伏变化较大 9、老年丧失期观认为()。 A. 心理发展是可以逆转的]

B. 心理发展的影响因素是多方面的 C. 老年期的心理机能不断衰退 D. 老年期的心理机能的衰退也可以叫做“发展” 10、童年期游戏是()。 A.互动游戏 B.实物游戏 C.规则游戏 D.象征性游戏 11.个体自我意识产生的标志是()。 A. 能使用代名词“我”称呼自己 B. 第一信号系统的建立 C. 形象思维的建立 D. 逻辑思维的建立 12.维果茨基提出的“最近发展区”概念说明()。 A. 儿童思维最近的发展水平 B. 儿童心理机能的内化 C. 遗传素质为心理发展提供可能性 D. 教育对心理发展的促进作用 13.在童年期和少年期,孩子们的游戏以()为主。 A. 象征性游戏 B. 亲子互动游戏 C. 规则性游戏 D. 实物游戏 14.()以认知发展为指标来划分心理发展阶段。 A. 艾里克森 B. 皮亚杰 C. 柏曼 D. 柯尔伯格 15.根据米勒斯的研究,80岁老年人的记忆测试T分数大约是20岁的()。 A. 1/2 B. 1/3 C. 1/4 D. 1/5 16.中年期自我意识发展相对稳定,按照荣格的说法,这一时期的特点是()。 A. 内倾性 B. 外倾性 C. 社会性 D. 停滞性 17.第二反抗期的反抗主要指向()。 A. 自身 B. 同伴 C. 老师 D. 父母 18、青春期男女同学之间关系的变化模式为()。 A.先公开、后隐蔽 B.先隐蔽、后公开 C.先疏远、后接近 D.先接近、后疏远 19、处于自律道德判断阶段的儿童的特征主要是()。

最近发展区

最近发展区 最近发展区理论”,认为学生的发展有两种水平:一种是学生的现有水平,指独立活动时所能达到的解决问题的水平;另一种是学生可能的发展水平,也就是通过教学所获得的潜力。两者之间的差异就是最近发展区。教学应着眼于学生的最近发展区,为学生提供带有难度的内容,调动学生的积极性,发挥其潜能,超越其最近发展区而达到下一发展阶段的水平,然后在此基础上进行下一个发展区的发展。 基本信息 ?中文名称 最近发展区 ?提出者 维果斯基 ?第一种观点 “无关论” ?第二种观点 “同一论” ?第三种观点 “折中论” ?作用 指导、激励、帮助学生全面发展 目录

1 基本含义 2 分歧意见 3 其他扩展 4 实践意义 1 基本含义 2 分歧意见 3 其他扩展 4 实践意义 +1 1 基本含义编辑本段 维果斯基的“最近发展区理论”,认为学生的发展有两种水平:一种是学生的现有水平,指独立活动时所能达到的解决问题的水平;另一种是学生可能的发展水平,也就是通过教学所获得的潜力。两者之间的差异就是最近发展区。教学应着眼于学生的最近发展区,为学生提供带有难度的内容,调动学生的积极性,发挥其潜能,超越其最近发展区而达到下一发展阶段的水平,然后在此 基础上进行下一个发展区的发展。最近发展区 2 分歧意见编辑本段

维果斯基提出“最近发展区”这一概念之前,人们在认识教学与儿童发展之间的关系上,存在着很大的分歧。这种分歧主要表现为以下三种不同的意见:第一种观点是“无关论”,即认为教学与儿童发展是两个不同性质、基本各不相干的过程。教学既不会推动儿童的发展,也不会改变儿童发展的方向,最多只是利用儿童智力发展的成果。这也就是说,教学最多尽量考虑儿童现有的发展水平,努力使教学的难度、进度与儿童现有的智力水平相当就可以了。这一观点的代表人物是皮亚杰。 这一观点有其合理性,亦有其客观事实根据。教学的确需要首先考虑儿童现在已经达到的发展水平,但把发展作为教学的前提,在教学中仅仅考虑儿童已经达到的发展水平,抹杀教学可以发挥的积极作用,也是不符合现实情况的。因为受过教育和没有受过教育的人,其认知发展不可否认地存在明显差异。维果斯基从其社会——历史——文化理论的基本观点出发,认为儿童的发展绝对不是一个独立的、自发发展的过程,可以说没有教学,没有儿童与社会环境(包括成人与同伴)的交互作用,儿童就无从获得社会生存所需要的高级心智功能。可见,维果斯基首先肯定了教学(典型的外部社会环境形式)对儿童发展的积极促进作用,肯定了“教学是儿童后天的、历史的特征之发展过程中内在必需和普遍的因素”。 第二种观点是“同一论”,即认为教学与儿童发展是同一个过程。有教学的地方就有儿童的发展,并且对儿童来说,所谓发展,即是“各种习惯的积累”,学会在外界刺激和正确反应之间建立起联结。这种观点的典型是以华生和桑代克为代表的行为主义学派。

SNMP学习

最近在研究SNMP,因为想在一台交换机上设置一个SNMP的代理,来监控交换机的一些参数,这里我就假设我要监控交换机的某个端口的数据量。 现在说说本人对SNMP的一些看法,当然还有一些问题想和关注过SNMP的朋友一起讨论一下,毕竟自己也是个菜鸟。 先谈一下对SNMP的看法: SNMP是个很古老的协议,其协议本身并不是很复杂顾名思义,简单网络管理协议。但它也有不简单的地方,那就是MIB库这个东西。这个东西我认为是对被管理对象的一个描述,描述的内容包括类型,名称(也就是OID)等等。转用一个看到过的网站上对MIB比较好的定义。MIB是对设备中各个被管理的对象(Managed Objects)做了一个名字(OID)、数据类型、总体逻辑结构的定义,设备会根据它里面的MIB(或是标准的MIBII,或是企业自己的私有的MIB库),构建一个被管理对象的逻辑数据库,这个数据库里有这些OID及其对应的具体的值(如网友所说的cpu利用率、端口速度等指标的具体值),网管依靠SNMP协议,通过代理的配合工作查询此数据库,找到需要的值,从而达到对设备的监控和管理工作。接下来想问的就是关于SNMP上的一些问题: 1.如果我想在一台交换机上开发一个SNMP代理,那肯定要创建一个私有的MIB库。那是不是就意味着我必须申请一个私有节点?然后在这个节点下来定义我的简单变量和表,那如何去申请这个节点? 2.第二个问题就是关于MIB库和交换机上参数值的问题,交换机上的代理接受到管理站上的get请求后通过MIB库找到那个参数的节点,比如是.1. 3.6.1. 4.1.5000.3。问题来了,那个节点上的值是怎么样传递给MIB的?有些网友说是数据库,那MIB,数据库和交换机上的值是怎么联系到一起的呢? 大部分教科书上关于MIB的入门概念纯粹是扯淡的,事实上单看SNMP协议本身是很简单的,你向他发送“get 1.3.1.1.2.1”,他就根据这个OID给你返回对应的值,其实OID和Web的URL、注册表里键的路径“HKLM\LocalMachine\...\...”是一回事,无非就是数据的分层表达方式而已。SNMP协议本身跟MIB毫不相关,你要是有兴趣用最底层的Socket编程也可以写出一个简单的代理,无非就是根据收到的OID返回对应的数据罢了 至于MIB,只是委员会规范的一些常用OID的标准而已,比如规定这一堆OID描述的是系统的基本信息,那就取名叫RFC1213吧,OID不是以点号分层的吗,这一大堆OID合起来看就是一个树结构了,就和很多工具里看到的一样了。至于MIB的格式,是便于用工具查看或者生成程序框架用的。 那OID对应的数据是放在哪里的呢?如果自己定义一个MIB,肯定是一个键值,一个value值,这样一对一的放置。比如说1.3.1.1.4.0是对应于计算机名(PC100003231)的,我一个GET“1.3.1.1.4.0”过去,那么我就可以在返回值中得到“PC100003231”这么个字符串,但是我不知道MIB存放的方法是怎么样的,我在MIB文件里面只能看出计算机名对应的OID 的树状结构啊。 mib文件只是一个定义这个库是怎样的这样的一个东西啊 就像数据库的脚本 mib文件是用来建库的,怎么存那更简单了,自己实现一个库不就存下去了 至于第一个问题,mib树中的结点是需要申请的,一般公司申请后是放在private结点下,后面的子树就可以自己想怎么搞就怎么搞了怎么申请其实在网上一查就知道了,我那时候

Jess功能扩展函数加载方法及应用

一一收稿日期:2014-10-17 基金项目:2010年度甘肃省属高校基本科研业务费专项资金资 助 往复式压缩机状态监测及RCM 技术研究 (甘财教[2010]176);流程工业企业级仿真及优化技术平台(2007AA04Z191) 作者简介:陈宏希(1970),男,陕西岐山人,2002年毕业于兰州大学信息科学与工程学院,硕士,副教授,主要研究方向为图像处理,模式识别,专家系统三 Jess 功能扩展函数加载方法及应用 陈宏希 (兰州石化职业技术学院电子电气工程系,兰州730060) 一一摘要:Jess 功能函数的扩展是使用Java 语言实现Userfunction 接口来完成的三实现该接口的Java 类的构造函数有默认或空参数的,也有带参数的三针对load -function 命令不能向Jess 中加载带参数构造函数的Java 类,且在加载多个默认或空参数构造函数的Java 类时略显冗繁的问题,提出无论实现Userfunction 接口的Java 类是何种构造函数,都可通过先期实现Jess 提供的Userpack-age 接口,再使用命令load -package 来完成Jess 功能扩展函数的加载,这为Jess 功能扩展函数提供了通用的二一次性整体加载的高效方法三该方法被应用在楼宇温度控制仿真系统的应用开发中三 关键词:Jess ;Java ;构造函数;功能扩展函数;加载 中图分类号:TP312一一文献标志码:A一一文章编号:1000-0682(2015)02-0108-04Methods and application of installing Jess extending functions into Jess CHEN Hongxi (Department of Electric &Electronic Engineering ,Lanzhou Petrochemical College of Vocational Technology ,Lanzhou 730060,China ) Abstract :The Java class which implements the Jess Userfunction interface can extend Jess function. Some of these classes require constructor arguments,although the others don t require.If the method which installing the Java class into Jess is the Jess function call of load-function,then the Java class which it requires constructor arguments will not be installed into Jess.At the same time,it will be tire- some when many Java class installed into Jess by calling the Jess function load-function,even if these Ja-va classes don t require constructor arguments.In order to solve this problem,this paper proposes a uni-versal method which can install the Java classes into Jess.This method is composed of two parts:the first is implement the Jess interface of load-package,the second is calling Jess function load-package.This method can install the Java classes together into Jess one at a time.This method is also applied in a building temperature control simulated system. Key words :Jess;Java;constructor;extending function;install 0一引言 构造函数是类在创建对象时对对象进行初始化的;若构造函数含有参数,同一个类就可以创建初始状态或初始值不同的多个对象[1]三使用Java 语言实现Jess 对外提供的Userfunction 接口,可以扩展Jess 的功能函数三扩展的功能函数可以在Jess 命令 行提示符下,或者在Eclipse 开发环境中,使用Jess 命令load-function 进行加载三此种加载方式仅适用于实现Userfunction 接口的类中构造函数是默认构造函数,或者构造函数是空参数的情形[2-3]三当一个实现了Userfunction 接口的Java 类含有带参数的构造函数时,使用load-function 装载该类进入Jess 就行不通;另外,即使是默认构造函数或空参数构造函数的Java 类,当需要加载的Jess 功能扩展函数数量较多时,使用load-function 命令逐一进行加载,此做法固然可行,但效率不高且略显冗繁三针对此问题,该文提出通过使用Rete 类对象的addUserfunc-tion 方法,首先实现Jess 提供的Userpackage 接口,最后使用Jess 命令load-package 将多个Jess 功能扩展函数一次性整体加载进Jess 的方法,且无论实现接口Userfunction 的Java 类中构造函数是何种形 四 801四工业仪表与自动化装置一一一一一一一一一一一一一一一一2015年第2期

在小学语文教学中“最近发展区”的应用(仅供借鉴)

在小学语文教学中“最近发展区”的应用 一、“最近发展区”理论及其蕴含的教学思想 最近发展区是苏联心理学家维果茨基提出的一个概念。他的研究表明:教育对儿童的发展能起到主导作用和促进作用,但必须注意学生有两种发展水平:一是学生现有的发展水平,指由一定的已经完成的系统所形成的儿童心理机能的水平;二是儿童即将达到的发展水平。维果茨基把两种水平之间的差异称之为“最近发展区”(Zone of Proximate Development)。它表现为“在有指导的情况下,凭借成人的帮助所达到的解决问题的水平与在独立活动中所达到的解决问题的水平之间的差异”。[1] 可以说,正是有待发展的正处于未完成状态的心智功能是最能敏感地接受教育的影响,因此也是最有效的施加影响的发展区。而教学正是把学生思维“最近发展区”转化为“现有水平”的过程,该过程是螺旋式发展的结构。在新的现有水平的基础上,又出现新的思维潜在水平并形成新的思维“最近发展区”。于是教学又从新的潜在水平开始……这种循环往复、不断转化和思维发展区层次逐步递进的过程,就是学生不断积累知识和推进自己思考能力发展的过程。教师应该利用新的教学模式,帮助学生不断地突破“最近发展区”。[2]故此,课程也应当着眼于学生的最近发展区去选择课程内容,实现新的发展,从而创造出又一个新的“最近发展区”,然后再着眼于这个新的发展区去选择课程内容。 支架式教学是以维果茨基的“最近发展区”理论为基础的一种新的建构主义教学模式,它是指通过支架(教师设置的问题或者情境)把管理学习的任务逐渐由教师转移给学生自己,最后撤去支架。教师提供的支架不会使任务本身更容易,但它可以使学习者借助支架完成任务,用维果茨基的话说,就是“将外部知识内化并转变为意识控制的工具。” 二、“最近发展区”理论在小学语文教学中的应用 (一)明确最近发展区,创造可教学时刻 如果教师在教育过程中只是利用学生现有的知识水平,那么这样的教学是保守的、落后的,教育过程就不可能成为学生发展的源泉,学生的发展就会受到限制和阻碍,影响其积极性和创造性。当然如若超越了“可能达到的水平”,学生

SNMP_MIB功能开发步骤_liujun

SNMP MIB 功能开发详细步骤 一、定义MIB库文件: 可使用adventnet 工具包下的mibedit工具来定义私有MIB库文件。 二、在linux环境下安装net-snmp 。安装过程如下: 1、解压源码包: tar –zxvf net-snmp-5.6.1.1.tar.gz 2、进入解压后的文件目录: cd net-snmp-5.6.1.1 3、执行文件目录下的configure可执行文件,如果想指定程序包的安装路径,那 么您首先建立相应的文件夹来存放安装信息,您可以写成./configure – prefix=/您指定的路径名。参数—prefix用来告诉系统安装信息存放的路径, 如果您没有指定路径,直接执行./configure,那么程序包都会安装在系统默 认的目录下,通常为:/usr/local下。例如: ./configure --prefix=/usr/local/snmp //配置指定安装目录,安装过程会 询问您以下的信息: 注意:以下问题似乎不怎么重要,那好像仅仅是官方想了解使用本软件方的信 息,可以直接回车而不用回答,系统会采用默认信息,其中日志文件默认安装 在/var/log/snmpd.log.数据存贮目录默认存放在/var/net-snmp下。 default version of-snmp-version(3): 3(在这里版本通常有三种形式: 1,2c,3) Systemcontact information(配置该设备的联系信息): heaven(也可以是 邮箱地址) System location (该系统设备的地理位置):BEIJING P.R China Location to write logfile (日志文件位置): /var/log/snmpd.log Location to Write persistent(数据存储目录): /var/net-snmp 4、#make 编译源码包文件,通常只需要执行make命令,系统会根据Makefile层层进行 编译,第一次编译需要的时间比较长. 如果make 成功的话,那么紧接着安装 程序了,这一步一般不会出现错误. #make install 5、完成以上步骤后net-snmp的开发环境就搭建好了。如果不在PC上使用SNMP 服务的话是不需要再进一步配置的。 三、生成MIB 源文件(C格式): 1、首先需要介绍一下MIB库和C源文件的转换工具命令: Net-snmp安装包提供了mib2c工具,用户可使用该工具将MIB库文件转换 成C源码格式。命令:MIBS=”+param1” mib2c param2 其中param1 代表需要被转换的MIB库文件,param2代表希望转换该MIB库文件下的哪 一个节点相关数据。下面以AERODEV-MIB.txt中的portTrunk功能节点为 例来介绍整个转换过程。

tcl库函数(合集)

目 录75总结...................................................................54分析函数................................................................33命令生成和删除函数及结果处理函数...........................................22解释器的生成和删除及TCL 脚本的求值函数......................................21初始化函数.. (11) 9TCL 库函数的最新情况....................................................108字符串操作函数.........................................................97Hash 表操作函数..........................................................76访问TCL 变量的函数.......................................................

TCL库函数介绍(一) 关键词:TCL 摘要:本文旨在推广TCL的使用,通过分类介绍TCL的库函数的用法,让用户了解怎样利用这些库函数去编写TCL扩展命令。 为了让用户能方便地扩展TCL命令,TCL为用户提供了大量的库函数供用户使用,满足用户各方面的需要。用户可以在用C\C++语言编写扩展的TCL命令过程或函数时,调用这些库函数。要真正理解这些库函数的用法,最佳途径是参照一些例子,并实际使用。在我的一篇文档《TCL的使用》中有一些这些函数的使用的例子。下面分类对TCL的库函数进行介绍。 1初始化函数 这组函数用于用户初始化应用。 1.Tcl_Init函数 原型: int Tcl_Init (Tcl_Interp *interp) 参数interp是一个指向TCL解释器的指针。Tcl_Init函数只作一些简单的初始化工作,没多大的用处。不过,用户一般需要提供自己的初始化函数,原型与Tcl_Init一样,在这个函数中,要作应用的初始化工作,如注册自己的TCL扩展命令,生成自己需要的数据对象等。这个函数必须在生成TCL解释器后才能调用。生成TCL解释器可以调用Tcl_CreateInterp函数,另外Tcl_Main函数中也会自动生成TCL解释器。 2.Tcl_Main函数 原型:void Tcl_Main (int argc, char **argv,Tcl_AppInitProc *appInitProc) 如果用到这个函数的话,应该在你的C\C++程序的main函数中调用,它的前两个参数和main函数的两个参数一样,第三个参数是一个函数指针,指向一个初始化函数,其原型和Tcl_Init一样。如果程序没有任何命令行参数,Tcl_Main调用appInitProc初始化函数,并启动一个TCL的命令解释循环,建立一个交互环境,等待你输入TCL命令和脚本并解释执行。如果程序有命令行参数,那它先调用appInitProc函数作一些初始化工作,然后把第一个命令行参数作为TCL脚本文件名,并求值返回,其余参数不予理会。 2解释器的生成和删除及TCL脚本的求值函数 这组函数提供生成和删除TCL解释器及对TCL脚本进行求值的功能。每一个TCL应用,都必须拥有至少一个TCL解释器,事实上几乎所有的TCL库函数都有一个指向TCL解释器的指针的参数。每一个扩展的TCL命令都和特定的TCL解释器相关联,只有在对该命令进行了注册的TCL解释器中,这个命令才是有效的,才能被解释执行。 1.Tcl_CreateInterp函数 原型:Tcl_Interp *Tcl_CreateInterp(void)

最近发展区理论

最近发展区理论 在对以往的理论的批判的基础之上,维果斯基提出了自己的关于教学与发展的重要思想:最近发展区(简称ZPD),其定义为“实际的发展水平与潜在的发展水平之间的差距。前者由独立解决问题的能力而定;后者则是指在成人的指导下或是与更有能力的同伴使用时,能够解决问题的能力。最近发展区是指在恰当的教学条件下,学生可能达到的学习量。这在很大程度上是测验学生发展的准备度或在特定领域内的智力水平,可将之看做智力概念的一种不同说法。 “最近发展区理论”的基本观点是:在确定发展与教学的可能关系时,要使教育对学生的发展起主导和促进作用,就必须确立学生发展的两种水平。一是其已经达到的发展水平,表现为学生能够独立解决问题的智力水平;二是他可能达到的发展水平,但要借成人的帮助,在集体活动中,通过摹仿,才能达到解决问题的水平。维果斯基特别指出:“我们至少应该确定儿童发展水平的两种水平,如果不了解这两种水平,我们将不可能在每一个具体情况下,在儿童发展进程与他受教学可能性之间找到正确的关系”。维果斯基将学生在指导下借助成人的帮助所能达到解决问题的水平与在独立活动中所达到的解决问题的水平之间的差异称之为“最近发展区”。 在最近发展区,教师和学习者(成人/儿童、指导者/被指导者、样本/观察者、专家/新手、教师/学徒)同时完成一个任务,这个任务的难度使学习者无法独立完成。最近发展区反映出了马克思主义的集体行动的观点,即主张那些有更多知识和更熟练技能的人,与那些懂得的较少的人分享知识与技能,从而共同完成任务。 在最近发展区里,当教师和学生共享文化工具时,就促成了认知的发展,当学习者将这种由文化作中介的互动进行内化时,认知的发展就产生了。在最近发展区的教学活动中,需要大量有人指导的参与活动;然而学生既不是从这种交互作用中被动地获得文化知识,也不一定必须要自动化地或精确地进行反应。学习者对社会互动有自己的理解,并通过将这些理解与自己在具体情境中的经验整合起来,从而构建出自己的思想。根据格式塔的学说,学习常常是偶然发生的,而不是反映为一个知识逐渐增加的过程。

ObjectSNMP 常用MIB数据对象描述文档

ObjectSNMP SNMP MIB数据服务描述文档 本文档由智和信通网管软件研发中心提供 https://www.wendangku.net/doc/ea3377824.html,

目录 一、前言 (3) 二、系统类MIB描述 (3) 1. SNMP Agent系统信息(MibSystem) (3) 2. 系统IP地址信息(MibIPAddrEntry) (4) 3. SNMP Agent统计信息(MibSNMP) (4) 三、IP网络类MIB描述 (5) 1. 网络接口/端口信息(MibIfEntry) (5) 2. 网络接口流量和数据包信息(MibIfEntry) (5) 3. IP层流量和输入输出统计信息(MibIP) (5) 4. 路由表信息(MibIPRouterEntry) (6) 5. TCP连接资源和统计信息(MibTCPConnEntry) (6) 6. UDP监听信息(MibUDPEntry) (6) 7. IP-MAC关联表(IpAdEntAddr) (6) 四、硬件设施类MIB描述 (7) 1. 硬件设施和工作状态(MibDeviceEntry) (7) 2. 存储系统状态(MibDiskAndMemoEntry) (7) 3. CPU负载信息(MibProcessorEntry) (7) 五、软件类MIB描述 (8) 1. 软件进程状态信息(MibSoftwareRunEntry) (8) 2. 已安装的软件信息(MibSoftwareInstallEntry) (8) 六、Java类MIB描述 (8) 1. Java服务器基本信息(MibJvmOS) (8) 2. JVM基本信息(MibJvmRuntime) (9) 3. Java内存和堆栈状态(MibJvmMemory) (9) 4. Java线程和资源消耗情况(MibJvmThreading) (9) 七、交换机MIB描述 (10) 1. 交换机端口基本信息(Dot1dBasePortEntry) (10) 2. 交换机转发MAC地址和状态(Dot1dTpFdbEntry) (10)

拓展---函数图像解题技巧

《函数及其图象》解题技巧 【考点聚焦】 函数的本质特征是变化与对应,它是表示、处理数量关系以及变化规律的有效工具.作为刻画变量变化规律的工具,函数的各种形式体现了“函数知识”与“函数思想”的统一.“函数”除了包括函数的概念、正比例函数、一次函数、反比例函数及二次函数等具体知识外,其自身还蕴含着方程与不等式的知识. 函数是初中数学的核心内容、重要的基础知识.它与数学其它知识有着更为广泛的联系,不仅有着极为广泛的应用,而且也是发展同学们符号感的有效载体. 在历年的学业考试中,函数一直是命题的“重头戏”,所考题型无所不包,同时不断与其它数学知识相互渗透,题量不一定是最多的,但综合程度一定是最高的. 【热点透视】 热点1:通过设计确定函数关系型问题考查函数三种表达形式及其之间的关系 【例1】(1)点(24),在一次函数2y kx =+的图象上,则k =_________. (2)若反比例函数k y x =的图象经过点(12)-,,则该函数的解析式为_____. 【分析】(1)将点(24),代入2y kx =+.(2)将点的坐标直接代入可以求出k 值. 【解】(1)1k =;(2)2y x =-. 【小结】直接考查同学们利用函数图象确定函数解析式技能的掌握情况.题目叙述简明、要求简单明了,较好地落实了对这个知识点的考查. 热点2:重视对函数图象及性质的考查 【例2】(1)均匀地向一个如图1所示的容器中注水,最后把容器注满,在注水过程中水面高度h 随时间t 变化的函数图象大致是( ) (2)星期天,小王去朋友家借书,图2是他离家的距离y (千米)与时间x (分钟)的函数图象,根据图象信息,下列说法正确的是( ) (A)小王去时的速度大于回家的速度 (B)小王在朋友家停留了10分钟 (C)小王去时所花的时间少于回家所花的时间 (D)小王去时走上坡路,回家时走下坡路

最近发展区与老师教学设计的关系是什么

最近发展区与老师教学设计的关系是什么?如何利用幼儿最近发展区设计一个语言活动? 幼儿最近发展区是老师教学设计的基础。心理学家维果斯基的“最近发展区”理论,他认为幼儿的发展有两种水平:一种是幼儿的现有水平,指独立活动时所能达到的解决问题的水平;另一种是幼儿可能的发展水平,也就是通过教学所获得的潜力。两者之间的差异就是最近发展区。教学应着眼于幼儿的最近发展区,为幼儿提供带有难度的内容,调动幼儿的积极性,发挥其潜能,超越其最近发展区而达到下一发展阶段的水平,然后在此基础上进行下一个发展区的发展。教师设计活动时要充分考虑幼儿的自身水平,切记过高,幼儿怎样努力都无法达到。或设计过低,幼儿活动时失去挑战乐趣,从而对活动失去兴趣! 如何利用幼儿最近发展区设计一个语言活动: 我们应根据幼儿语言发展的实际水平、年龄特点、兴趣需要等,创设一个能使他们想说、敢说、喜欢说、有机会说并能积极应答的环境。设置符合幼儿“最近发展区”的问题情境,既要把各教学环节与教学要求设置成问题情境展示给幼儿,又要根据幼儿的认知规律和情感发展规律,把教学目标的要求分解成若干细小的目标,分散到各个具体的活动中,使教学目标得以实现。例如: 小班语言活动设计:小蚂蚁与西瓜船 【设计意图】吃西瓜对于小班幼儿来说,是经常体验的事情,但是吃剩的西瓜皮,能干些什么呢?鉴于小班幼儿的形象思维特点,以

小蚂蚁与西瓜皮为主线,增加了活动的趣味性并让活动内容层层展开。幼儿在这一活动中,通过看看、说说、玩玩的多种感官体验,体现了创新思维的灵活性和多变性。 【活动目标】 1.引导幼儿围绕西瓜皮展开想象,培养观察、想象和语言表达能力。 2.提高运用多种方法解决问题的能力,拓展思维及想象空间。 【活动准备】 课件:西瓜皮、西瓜皮当伞、西瓜皮当小船、西瓜皮当房子、西瓜皮当水缸 幼儿用材料:牙签、积木、橡皮泥、即时贴、瓶盖、毛线绳等、吃剩的西瓜皮若干 【活动过程】 一、导入活动 故事法导入(看课件) (在一个夏天的中午,草地上躺着一块西瓜皮。)这是什么?(西瓜皮)它是什么形状、什么颜色的?(半球形、绿色的) 二、(继续看课件)这个时候,谁来了?(小蚂蚁) 小蚂蚁高高兴兴地跳进西瓜皮里,大声叫起来:“哦,我可以用它干好多好多事情了!”谁能猜一猜,小蚂蚁可以用西瓜皮干什么呢?(互相说、个别说) 三、小蚂蚁是怎么做的呢?(看课件)

SNMP+MIB完整手册

SNMP MIB完整手册 https://www.wendangku.net/doc/ea3377824.html,/art/201007/209214.htm SNMP MIB是SNMP协议软件中主要的一个模块?那么MIB的主要功能就是管理信息库?那么一些常用的代码编辑,我们在前面的文章也有一些涉及?但是不少朋友还是对于SNMP MIB不理解?为此,我们整理了下面的文章帮助大家来学习这部分内容? 最近要做一些服务器和设备的监控, 自带的cacti模板已不能满足需求, 经过一天调试, 目前已实现了bind9 mysql bind等数据流量的分析(其实也就是用脚本取数据,最后用rrdtool 画图出来), 但学习的过程中, 发现不大了解SNMP MIB概念, google了一下,下面的文章应该能解答一部分与我有同样问题的朋友们(我简单进行了排版整理) SNMP协议详解 简单网络管理协议(SNMP:Simple Network Management Protocol)是由互联网工程任务组(IETF:Internet Engineering Task Force )定义的一套网络管理协议?该协议基于简单网关监视协议(SGMP:Simple Gateway Monitor Protocol)?利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态?修改网络设备配置?接收网络事件警告等?虽然SNMP开始是面向基于IP的网络管理,但作为一个工业标准也被成功用于电话网络管理? 1. SNMP基本原理 SNMP采用了Client/Server模型的特殊形式:代理/管理站模型?对网络的管理与维护是通过管理工作站与SNMP代理间的交互工作完成的?每个SNMP从代理负责回答SNMP管理工作站(主代理)关于SNMP MIB定义信息的各种查询?下图是NMS公司网络产品中SNMP 协议的实现模型?

tslib触动精灵基础扩展库使用手册

@miniknife?2017-09-21 16:38?字数?29341?阅读?111853
TSLib 触动精灵基础扩展库使用手册
开发手册
Windows 平台按 Ctrl + F 打开快捷搜索 Mac 平台按 command + F 打开快捷搜索
※右侧文本列表可以找到全部手册
目录
TSLib 触动精灵基础扩展库使用手册
o
目录
o
简介
o
学习前的准备
越狱及 root 常识
Lua 基础简明教程
脚本开发取色技巧
小白学触动零基础视频教程
o
触动精灵开发者指南
触动产品功能对比
如何查看更多文档
o
函数扩展库下载
使用须知
函数:TSVersions 获取扩展库版本号
o
点击滑动类
函数:tap 点击
函数:randomTap 随机点击

函数:moveTo 滑动
函数:moveTowards 角度滑动
函数:moveZoomOut 捏合
函数:moveZoomIn 放大滑动
函数:moveCircleCenter 圆心滑动
函数:moveCirclePonits 圆弧滑动
o
颜色判断类
函数:intToRgb 十六进制转 RGB
函数:rgbToInt RGB 转十六进制
函数:isColor 单点比色
函数:multiColor 多点比色
函数:multiColTap 多点比色点击
函数:findMultiColorInRegionFuzzyByTable 点阵找色
o
开发调试类
函数:log 日志
o
文件操作类
函数:isFileExist 判断文件
函数:readFile 读文件返回表
函数:readFileString 读文件返回字符串
函数:writeFile 保存表到文件
函数:writeFileString 保存字符串到文件
函数:delFile 删除文件
o
应用信息类
函数:getAppName 获取应用名称
函数:getUserApp 获取已安装 ipa 应用列表
o
数据操作类
函数:strSplit 分割字符串
函数:httpGet 获取网页数据
函数:httpPost 提交网页数据
函数:getNetIP 获取外网 IP
函数:inputStr 输入字符串
函数:getStrNum 获取字符串数
函数:getRndNum 获取随机数
函数:snapAndSave 截图保存到相册
函数:deepCopyTable 复制表
o
系统类模块
函数:luaExit 退出脚本执行
函数:getRender 获取屏幕的 render 值
函数:isDay 日期判断
o
clear 清理类模块
函数:clearAllPhotos 清空相册
函数:clearAllKeyChains 清空钥匙串
函数:clearIDFAV 清理 IDFAV
函数:clearPasteboard 清空剪贴板

相关文档