dautkom / php.docsis

PHP 库,用于 Docsis 2.0 有线调制解调器和 CMTS

dev-master 2016-08-16 09:57 UTC

This package is auto-updated.

Last update: 2024-08-29 03:36:12 UTC


README

PHP 库,用于 Docsis 2.0 有线调制解调器和 CMTS

需求

  • PHP 7.0 或更高版本
  • php_snmp 扩展
  • dautkom/netsnmp 软件包

许可协议

版权所有 (c) 2016 Olegs Capligins 和相应的贡献者,根据 MIT 许可协议。

使用方法

以下示例涵盖了基本用法。请考虑包含必要的类和依赖项。

CMTS 的基本用法

<?php 

// Second argument with snmp configuration is optional and can be partial
$cmts = (new dautkom\docsis\Cmts())->connect('10.0.0.10', ['public']);

// Fetch necessary data
echo $cmts->getContact();
echo $cmts->getLocation();
echo $cmts->getName();
echo $cmts->getSysDescr();
echo $cmts->getUptime();

// Look for all available upstreams and modulation profiles
$ups = $cmts->upstream->getUpstreams();
$mpr = $cmts->upstream->getModulationProfiles()

// Fetch necessary data from 11th upstream ID
echo $cmts->upstream->getType(11);
echo $cmts->upstream->getWidth(11);
echo $cmts->upstream->getModulationProfile(11);
echo $cmts->upstream->getFrequency(11);
echo $cmts->upstream->getAlias(11);

// List all cable modems and modems from particular upstream ID
$all = $cmts->modems->getAll();
$upm = $cmts->modems->getByUpstreamIndex(11);

// Fetch downstream data
echo $cmts->downstream->getModulation();
echo $cmts->downstream->getWidth();
echo $cmts->downstream->getFrequency();
echo $cmts->downstream->getPowerLevel();

有线调制解调器的基本用法

<?php 

/** @var \dautkom\docsis\modem\motorola\Common $modem */
$modem = (new dautkom\docsis\Modem())->connect('172.16.16.70', ['public', 'private']);

// Fetch common data
echo $modem->getSysDescr();
echo $modem->getUptime();
echo $modem->getConfig();
echo $modem->getSerialNumber();
echo $modem->getStandby();

// Fetch downstream data
echo $modem->downstream->getChannelId();
echo $modem->downstream->getFrequency();
echo $modem->downstream->getMicroreflections();
echo $modem->downstream->getPowerLevel();
echo $modem->downstream->getSNR();

// Fetch upstream data
echo $modem->upstream->getChannelId();
echo $modem->upstream->getPowerLevel();
echo $modem->upstream->getFrequency();
echo "\n";

// Fetch RF (radiofrequency) data
echo $modem->rf->getD2Mode();
echo $modem->rf->getCMLostSyncAmount();
echo $modem->rf->getCMRangingAbortAmount();
echo $modem->rf->getCMResetAmount();
$errors = $modem->rf->getErrors();

// Fetch IP interface data
$data   = $modem->ipif->getDataFlow();
$errors = $modem->ipif->getErrors();
$ports  = $modem->ipif->getPortState();
echo $modem->ipif->getTFTPAccessAttempts();

// Fetch FDB table from cable modem
$fdb = $modem->fdb->getFdb();