michalkortas / sms-gate-api
华为LAN/WAN LTE调制解调器API,用PHP编写
v1.0.0
2022-12-20 09:05 UTC
Requires
- php: ^8.1
- ext-json: *
- ext-mbstring: *
- ext-xml: *
- guzzlehttp/guzzle: ^7.3
Requires (Dev)
- laminas/laminas-coding-standard: 2.3.x
- phpstan/phpstan: ^0.12.85
- phpunit/phpunit: ^9.5.9
- roave/security-advisories: dev-latest
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