manilboudjemai / serial-pulse
使用PHP进行CLI交互的与连接设备进行串行通信的实验性项目。
Requires
- php: >=8.2
- symfony/console: ^7.0
Requires (Dev)
- phpunit/phpunit: ^10
README
此应用程序是一个实验性项目,它利用PHP,一种服务器端语言,通过串行端口建立与连接设备的串行通信。
它提供CLI交互体验,使用户能够配置连接并通过串行端口传输数据。
安装
使用Composer安装库。在项目根目录中运行以下命令:composer require manilboudjemai/serial-pulse
。
功能
CLI交互性
应用程序目前向用户公开一个命令: app:serial-connect
。
此命令启动一个交互过程,允许用户配置并建立连接,同时逐字节向连接的设备发送数据。
如何使用
确保您的环境中已安装PHP 8.2或更高版本。
打开CLI界面,定位到应用程序目录结构的根目录。
运行以下命令以启动应用程序:php vendor/manilboudjemai/serial-pulse/index.php app:serial-connect
。这启动了一个用于配置连接和发送数据的交互过程。
要查看所有可用命令,请使用php vendor/manilboudjemai/serial-pulse/index.php list
。
添加新命令
在vendor/manilboudjemai/serial-pulse/app/command
目录中开发一个新的App\Command
类;例如NewCommand.php
。
通过在应用程序的主入口点vendor/manilboudjemai/serial-pulse/index.php
文件中包含$app->add(new NewCommand());
将新命令类添加到应用程序中。
注意事项
无状态性
由于PHP本身是无状态的,每次发送数据时都需要配置和建立新的连接。计划未来增强以引入一种解决方案,该方案可以在请求之间保留连接配置设置,简化通过串行端口发送数据的过程。
连接配置
确保连接配置与连接设备上设置的配置匹配,包括波特率、数据位、奇偶校验位和停止位,以确保正确的通信。
Windows限制
由于Windows架构和PHP的单线程特性,Windows操作系统不支持全双工通信。欢迎对扩展其他操作系统支持的贡献。
限制
该应用程序目前仅支持Windows操作系统。
用户协议
本软件提供“原样”不附带保证。用户承担其质量和性能的风险。
您可以在GNU通用公共许可证下复制、分发和修改软件。
致谢
本项目利用以下库增强其功能
- symfony/console为用户构建CLI交互体验。
- sebastianbergmann/phpunit确保应用程序的可靠性和质量。