⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snmpagent.java

📁 关于 RFID 读写器的相关内容
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
	 */
	protected void addNotificationTargets(SnmpTargetMIB targetMIB,
			SnmpNotificationMIB notificationMIB) {
		targetMIB.addDefaultTDomains();

//		targetMIB.addTargetAddress(new OctetString("notification"),
//				TransportDomains.transportDomainUdpIpv4, new OctetString(
//						new UdpAddress("127.0.0.1/162").getValue()), 200, 1,
//				new OctetString("notify"), new OctetString("v2c"),
//				StorageType.permanent);
		targetMIB.addTargetParams(new OctetString("v2c"),
				MessageProcessingModel.MPv2c,
				SecurityModel.SECURITY_MODEL_SNMPv2c,
				new OctetString("public"), SecurityLevel.NOAUTH_NOPRIV,
				StorageType.permanent);
		notificationMIB.addNotifyEntry(new OctetString("default"),
				new OctetString("notify"),
				SnmpNotificationMIB.SnmpNotifyTypeEnum.trap,
				StorageType.permanent);
	}

	/**
	 * Adds initial VACM configuration.
	 * 
	 * @param vacm
	 *            The <code>VacmMIB</code> holding the agent's view
	 *            configuration
	 */
	protected void addViews(VacmMIB vacm) {
		vacm.addGroup(SecurityModel.SECURITY_MODEL_SNMPv1, new OctetString(
				"public"), new OctetString("v1v2group"),
				StorageType.nonVolatile);
		vacm.addGroup(SecurityModel.SECURITY_MODEL_SNMPv2c, new OctetString(
				"public"), new OctetString("v1v2group"),
				StorageType.nonVolatile);
		vacm.addAccess(new OctetString("v1v2group"), new OctetString(),
				SecurityModel.SECURITY_MODEL_ANY, SecurityLevel.NOAUTH_NOPRIV,
				VacmMIB.vacmExactMatch, new OctetString("fullReadView"),
				new OctetString("fullWriteView"), new OctetString(
						"fullNotifyView"), StorageType.nonVolatile);
		vacm.addViewTreeFamily(new OctetString("fullReadView"), new OID("1.3"),
				new OctetString(), VacmMIB.vacmViewIncluded,
				StorageType.nonVolatile);
		vacm.addViewTreeFamily(new OctetString("fullWriteView"),
				new OID("1.3"), new OctetString(), VacmMIB.vacmViewIncluded,
				StorageType.nonVolatile);
		vacm.addViewTreeFamily(new OctetString("fullNotifyView"),
				new OID("1.3"), new OctetString(), VacmMIB.vacmViewIncluded,
				StorageType.nonVolatile);
	}

	/**
	 * Adds all the necessary initial users to the <code>USM</code>.
	 * 
	 * @param usm
	 *            The <code>USM</code> instance used by this agent
	 */
	protected void addUsmUser(USM usm) {
		// Not used.
	}

	/**
	 * Initializes the transport mappings (ports) to be used by the agent.
	 * 
	 * @throws IOException
	 */
	protected void initTransportMappings() throws IOException {
		transportMappings = new TransportMapping[1];
		transportMappings[0] = new DefaultUdpTransportMapping(new UdpAddress(
				address));
	}

	/**
	 * Unregister managed objects from the agent's server.
	 */
	protected void unregisterManagedObjects() {
		ifMib.unregisterMOs(server, null);
		ipMib.unregisterMOs(server, null);
//		snmpTargetMib.unregisterMOs(server, null);
//		snmpv2Mib.unregisterMOs(server, null);
	}

	/**
	 * Adds community to security name mappings needed for SNMPv1 and SNMPv2c.
	 * 
	 * @param communityMIB
	 *            The <code>SnmpCommunityMIB</code> holding coexistence
	 *            configuration for community based security models
	 */
	protected void addCommunities(SnmpCommunityMIB communityMIB) {
		Variable[] com2sec = new Variable[] { new OctetString("public"), // community name
				new OctetString("public"), // security name
				getAgent().getContextEngineID(), // local engine ID
				new OctetString(), // default context name
				new OctetString(), // transport tag
				new Integer32(StorageType.nonVolatile), // storage type
				new Integer32(RowStatus.active) // row status
		};
		MOTableRow row = communityMIB.getSnmpCommunityEntry().createRow(
				new OctetString("public2public").toSubIndex(true), com2sec);
		communityMIB.getSnmpCommunityEntry().addRow(row);
	}

	/**
	 * Register the basic MIB modules at the agent's <code>MOServer</code>.
	 */
	protected void registerSnmpMIBs() {
		epcglobalReaderMib = EpcglobalReaderMib.getInstance();
		ifMib = IfMib.getInstance();
		ipMib = IpMib.getInstance();
//		snmpTargetMib = SnmpTargetMib.getInstance();
//		snmpv2Mib = SNMPv2Mib.getInstance();
		super.registerSnmpMIBs();
	}
	
	/**
	 * Creates the tables for the Epcglobal reader management implementation.
	 */
	private void createEpcGlobalTables() {
		tableCreator.createTable(TableTypeEnum.EPCG_GLOBAL_COUNTERS_TABLE);
		tableCreator.createTable(TableTypeEnum.EPCG_READER_SERVER_TABLE);
		tableCreator.createTable(TableTypeEnum.EPCG_READ_POINT_TABLE);
		tableCreator.createTable(TableTypeEnum.EPCG_ANT_READ_POINT_TABLE);
		tableCreator.createTable(TableTypeEnum.EPCG_IO_PORT_TABLE);
		tableCreator.createTable(TableTypeEnum.EPCG_SOURCE_TABLE);
		tableCreator.createTable(TableTypeEnum.EPCG_NOTIFICATION_CHANNEL_TABLE);
		tableCreator.createTable(TableTypeEnum.EPCG_TRIGGER_TABLE);
		tableCreator.createTable(TableTypeEnum.EPCG_NOTIF_TRIG_TABLE);
		tableCreator.createTable(TableTypeEnum.EPCG_READ_TRIG_TABLE);
		tableCreator.createTable(TableTypeEnum.EPCG_RD_PNT_SRC_TABLE);
		tableCreator.createTable(TableTypeEnum.EPCG_NOTIF_CHAN_SRC_TABLE);
	}
	
	private void createEpcGlobalScalars() {
		
		/*******************************
		 * epcgReaderDeviceInformation *
		 *******************************/
		
		EpcgScalar epcgRdrDevDescription = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_DESCRIPTION, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		try {
			server.register(epcgRdrDevDescription, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevRole = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_ROLE, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		try {
			server.register(epcgRdrDevRole, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevEpc = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_EPC, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		try {
			server.register(epcgRdrDevEpc, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevSerialNumber = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_SERIAL_NUMBER, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		try {
			server.register(epcgRdrDevSerialNumber, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevTimeUtc = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_TIME_UTC, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		try {
			server.register(epcgRdrDevTimeUtc, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevCurrentSource = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_CURRENT_SOURCE, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		try {
			server.register(epcgRdrDevCurrentSource, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevReboot = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_REBOOT, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		try {
			server.register(epcgRdrDevReboot, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevResetStatistics = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_RESET_STATISTICS, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		try {
			server.register(epcgRdrDevResetStatistics, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevResetTimestamp = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_RESET_TIMESTAMP, MOAccessImpl.ACCESS_READ_ONLY, new OctetString(""), readerDevice);
		try {
			server.register(epcgRdrDevResetTimestamp, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevNormalizePowerLevel = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_NORMALIZE_POWER_LEVEL, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		try {
			server.register(epcgRdrDevNormalizePowerLevel, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevNormalizeNoiseLevel = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_NORMALIZE_NOISE_LEVEL, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		try {
			server.register(epcgRdrDevNormalizeNoiseLevel, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		
		/*****************************
		 * epcgReaderDeviceOperation *
		 *****************************/
		
		EpcgScalar epcgRdrDevOperStatus = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATUS, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
		try {
			server.register(epcgRdrDevOperStatus, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevOperStatusPrior = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATUS_PRIOR, MOAccessImpl.ACCESS_FOR_NOTIFY, new Integer32(OperationalStatus.UNKNOWN.toInt()), readerDevice);
		try {
			server.register(epcgRdrDevOperStatusPrior, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevOperStateEnable = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATE_ENABLE, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		try {
			server.register(epcgRdrDevOperStateEnable, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevOperNotifFromState = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_NOTIF_FROM_STATE, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		try {
			server.register(epcgRdrDevOperNotifFromState, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevOperNotifToState = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_NOTIF_TO_STATE, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		try {
			server.register(epcgRdrDevOperNotifToState, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevOperNotifStateLevel = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_NOTIF_STATE_LEVEL, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
		try {
			server.register(epcgRdrDevOperNotifStateLevel, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevOperStateSuppressInterval = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATE_SUPPRESS_INTERVAL, MOAccessImpl.ACCESS_READ_WRITE, new UnsignedInteger32(0), readerDevice);
		try {
			server.register(epcgRdrDevOperStateSuppressInterval, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		EpcgScalar epcgRdrDevOperStateSuppressions = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATE_SUPPRESSIONS, MOAccessImpl.ACCESS_READ_ONLY, new Counter32(0), readerDevice);
		try {
			server.register(epcgRdrDevOperStateSuppressions, null);
		} catch (DuplicateRegistrationException dre) {
			log.debug(dre.getMessage());
		}
		
		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -