tomio2480/php-serial
Composer 安装命令:
composer require tomio2480/php-serial
包简介
Cross-platform PHP library for serial port communication with microcontrollers
README 文档
README
PHPでマイコンとのシリアル通信を行うクロスプラットフォームライブラリ。
概要
PySerialやRuby serialportのような使い勝手を提供。 Windows、Mac、Linuxで動作し、Pure PHP実装。
動作環境
- PHP 8.1以上
- Windows、Linux、macOS
インストール
Composerを使用してインストール:
composer require tomio2480/php-serial
特定のバージョンを指定する場合:
composer require tomio2480/php-serial:^1.3
基本的な使い方
<?php require 'vendor/autoload.php'; use PhpSerial\Configuration; use PhpSerial\SerialPort; $config = new Configuration( baudRate: 9600, dataBits: 8, parity: Configuration::PARITY_NONE, stopBits: Configuration::STOP_BITS_1 ); $port = new SerialPort('/dev/ttyUSB0', $config); $port->open(); // データ送信 $port->write("Hello, Arduino!\n"); // データ受信 $response = $port->readLine(timeout: 2000); echo "Received: {$response}\n"; $port->close();
設定例
ボーレート
対応: 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200, 230400
$config = new Configuration(baudRate: 115200);
パリティ
use PhpSerial\Configuration; // パリティなし $config = new Configuration(parity: Configuration::PARITY_NONE); // 奇数パリティ $config = new Configuration(parity: Configuration::PARITY_ODD); // 偶数パリティ $config = new Configuration(parity: Configuration::PARITY_EVEN);
データビット
対応: 5, 6, 7, 8
$config = new Configuration(dataBits: 8);
ストップビット
use PhpSerial\Configuration; $config = new Configuration(stopBits: Configuration::STOP_BITS_1); // または $config = new Configuration(stopBits: Configuration::STOP_BITS_2);
メソッドチェーン
$config = new Configuration(); $config ->setBaudRate(115200) ->setDataBits(8) ->setParity(Configuration::PARITY_NONE) ->setStopBits(Configuration::STOP_BITS_1);
デバイスパス
Windows
$port = new SerialPort('COM3');
重要: Windows環境ではPHP FFI拡張の有効化を強く推奨します
正確で安定したシリアル通信を実現するため、php.iniでFFIを有効にしてください:
extension=ffi ffi.enable=true
FFI無効時はフォールバック実装が使用されますが、データ受信が動作せず送信のみ可能となります。 詳細はdocs/WINDOWS_FFI_SETUP.mdを参照してください。
Linux
$port = new SerialPort('/dev/ttyUSB0'); // または $port = new SerialPort('/dev/ttyACM0');
macOS
$port = new SerialPort('/dev/tty.usbserial');
テスト
環境変数でテスト用デバイスを指定:
# .env.exampleを.envにコピー cp .env.example .env # .envファイルでTEST_SERIAL_PORTを設定 # TEST_SERIAL_PORT=COM3 # テスト実行 composer test
使用例
基本的な使用例はexamples/basic.phpを参照。 複数コマンド送信の例はexamples/advanced.phpを参照。
開発
品質確認
すべての品質チェックを一度に実行:
composer qa
個別チェック:
composer cs:check # PSR-12準拠チェック composer cs:fixer # コードスタイルチェック composer stan # PHPStan静的解析 (レベル8) composer test # テスト実行
詳細はCONTRIBUTING.mdを参照してください。
ライセンス
MIT
tomio2480/php-serial 适用场景与选型建议
tomio2480/php-serial 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 25 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 12 月 01 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「serial」 「arduino」 「communication」 「serialport」 「microcontroller」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 tomio2480/php-serial 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 tomio2480/php-serial 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 tomio2480/php-serial 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP Serial Shipping Container Code Generator
Dispatcher to handle e-mail and instant notifications.
Generate serial number or random string that is very easy.
Package to publish/consume domain events messages from Laravel apps
"Serial number generator for web aplication"
Manage Node resources from PHP
统计信息
- 总下载量: 25
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 23
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-12-01