michalkortas/sms-gate-api

华为LAN/WAN LTE调制解调器API,用PHP编写

v1.0.0 2022-12-20 09:05 UTC

This package is auto-updated.

Last update: 2024-09-20 12:52:29 UTC


README

API for Huawei LAN/WAN LTE Modems是从原始Python库重写为PHP,您可以使用它简单地发送短信,获取您的互联网使用信息,信号以及其他许多内容

测试于

3G/LTE路由器

  • Huawei B310s-22
  • Huawei B315s-22
  • Huawei B525s-23a
  • Huawei B525s-65a
  • Huawei B715s-23c
  • Huawei B528s
  • Huawei B535-232
  • Huawei B628-265
  • Huawei B818-263
  • Huawei E5186s-22a
  • Huawei E5576-320
  • Huawei E5577Cs-321

3G/LTE USB sticks

(设备必须支持网络模式,即“HiLink”版本,串行模式无法工作)

  • Huawei E3131
  • Huawei E3372
  • Huawei E3531

5G路由器

  • Huawei 5G CPE Pro 2 (H122-373)

(可能也适用于其他华为LTE设备)

不适用于

LTE路由器

  • Huawei B2368-22 (不兼容的固件,需要测试设备!)
  • Huawei B593s-22 (不兼容的固件,需要测试设备!)

安装

composer

$ composer require icetee/huawei-lte-api-php

使用方法

<?php

declare(strict_types=1);

include 'vendor/autoload.php';

use Icetee\HuaweiAPI\Connection;
use Icetee\HuaweiAPI\Options\ConnectionOptions;
use Icetee\HuaweiAPI\Endpoints\Sms;

$connectionOptions = new ConnectionOptions();
$connectionOptions->setUrl('http://192.168.8.1');
$connectionOptions->setUsername('admin');
$connectionOptions->setPassword('YOUR_PASSWORD');

$connection = new Connection($connectionOptions);

$device = new Device($connection);

echo json_encode($device->information());

发送短信

<?php

declare(strict_types=1);

include 'vendor/autoload.php';

use Icetee\HuaweiAPI\Connection;
use Icetee\HuaweiAPI\Enums\ApiResponseEnum;
use Icetee\HuaweiAPI\Options\ConnectionOptions;
use Icetee\HuaweiAPI\Endpoints\Sms;

$connectionOptions = new ConnectionOptions();
$connectionOptions->setUrl('http://192.168.8.1');
$connectionOptions->setUsername('admin');
$connectionOptions->setPassword('admin');

$connection = new Connection($connectionOptions);

$sms = new Sms($connection);

$response = $sms->sendSms(['+48123456789'], 'message');

if ($response->getXmlContent()->__toString() === ApiResponseEnum::OK->value) {
    echo "Success";
} else {
    echo "Error";
}

获取短信列表

<?php

declare(strict_types=1);

include 'vendor/autoload.php';

use Icetee\HuaweiAPI\Connection;
use Icetee\HuaweiAPI\Options\ConnectionOptions;
use Icetee\HuaweiAPI\Endpoints\Sms;

$connectionOptions = new ConnectionOptions();
$connectionOptions->setUrl('http://192.168.8.1');
$connectionOptions->setUsername('admin');
$connectionOptions->setPassword('admin');

$connection = new Connection($connectionOptions);

$sms = new Sms($connection);

$response = $sms->getSmsList();

$inbox = $response->getXmlContent();

var_dump($inbox);

与Docker一起使用(BETA)

注意:它仍在开发中。目前已解决简单调用。DateTime、Enum等复杂参数尚未解决。

Docker的入口点是docker/api.php文件。第一个参数是类的名称。第二个参数是类的对象方法名称。其余的都是方法的参数。

docker run --env HUAWEI_API_PASSWORD=__PASSWORD__ --rm icetee/huawei-lte-api-php:latest Endpoints\Device informations

示例

  • Endpoints\Device informations
  • Config\Device config
  • Endpoints\Sms sendSms 'a[]=+420123456788' "Hello World!"
  • Endpoints\Sms sendSms 'a[]=+420123456788&a[]=+420123456789' "Hello World! Multi phone number."

开发

docker build -f Dockerfile.dev --tag huawei-lte-api-php:latest .
docker run -it --rm -v $(pwd):/app huawei-lte-api-php:latest sh