Class Reference - manoaratefy/huawei-e8372-api GitHub Wiki

Basic information

Software version

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'Software version: ' . $modem1->SoftwareVersion();

WebUI version

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'Web UI version: ' . $modem1->WebUIVersion();

Current connect time

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'Connected since: ' . $modem1->CurrentConnectTime()->format('%H:%I:%S');

$modem1->CurrentConnectTime() return a Carbon DateInterval instance.

Current upload volume

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'Current Upload (MB): ' . round(($modem1->CurrentUpload() / pow(1024, 2)), 2);

$modem1->CurrentUpload() return upload volume in Bytes.

Current download volume

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'Current Download (MB): ' . round(($modem1->CurrentDownload() / pow(1024, 2)), 2);

$modem1->CurrentDownload() return download volume in Bytes.

Current upload rate

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'Upload rate (kb/s): ' . round(($modem1->CurrentUploadRate() / pow(1024, 1)), 2);

$modem1->CurrentUploadRate() return upload rate in Bytes.

Current download rate

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'Download rate (kb/s): ' . round(($modem1->CurrentDownloadRate() / pow(1024, 1)), 2);

$modem1->CurrentDownloadRate() return download rate in Bytes.

Total upload volume

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'Total Upload (MB): ' . round(($modem1->TotalUpload() / pow(1024, 2)), 2);

$modem1->TotalUpload() return total upload volume in Bytes.

Total download volume

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'Total Download (MB): ' . round(($modem1->TotalDownload() / pow(1024, 2)), 2);

$modem1->TotalDownload() return total download volume in Bytes.

Total connect time

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'Total connect time: ' . $modem1->TotalConnectTime()->format('%H:%I:%S');

$modem1->TotalConnectTime() return a Carbon DateInterval instance.

2G/3G/4G Network information

Network name

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'PLMN (Full name): ' . $modem1->PLMNFull();
echo 'PLMN (Short name): ' . $modem1->PLMNShort();
echo 'PLMN number: ' . $modem1->PLMNNumeric();

Signal strength

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'Signal strengh: ' . $modem1->SignalStrength() . " / 5";

$modem1->SignalStrength() is from 0 to 5.

Signal strength

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'Network type: ' . $modem1->GSMNetwork();

$modem1->GSMNetwork() return 2G, 3G, 3G+, 4G or GSM Network code from Huawei (if not parsed correctly).

DNS servers

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'Primary DNS server: ' . $modem1->PrimaryDns() . "\n";
echo 'Secondary DNS server: ' . $modem1->SecondaryDns() . "\n";
echo 'Primary IPv6 DNS server: ' . $modem1->PrimaryIPv6Dns() . "\n";
echo 'Secondary IPv6 DNS server: ' . $modem1->SecondaryIPv6Dns();

WLAN clients

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
echo 'Current WLAN clients: ' . $modem1->CurrentWifiUser() . ' / ' . $modem1->TotalWifiUser();

SMS

Send SMS

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
$modem1->smssend('0000000000', 'This is the first SMS sent from my PC using API.');

Load all SMS into MySQL table

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
$dsn = "mysql:host=localhost;dbname=sms";
$user = "root";
$passwd = "**********";

$db = new PDO($dsn, $user, $passwd);

// Find last page
$lastpage = 1;
while(count($modem1->smsread($lastpage, 1)) > 0) {
    $lastpage++;
}

// Get pages from max page to first page

for($page = $lastpage; $page > 1; $page--){
    $messages = $modem1->smsread($page, 1);
    foreach($messages as $message)
    {
        $query = $db->prepare("INSERT INTO sms(source, created_at, message) VALUES " . 
                                        "(:source, :created_at, :message)");
        $query->execute([
            'source'      => $message->Phone,
            'created_at'  => $message->Date,
            'message'     => $message->Content,
        ]);
    }
}

Delete SMS

$modem1 = new Manoaratefy\NetworkTools\Modem('192.168.8.1', 'admin', '************');
$modem1->smsdelete($message->Index);

$message->Index is the message index from the SMS list