tvelu77 / php-serial
PHP 8+ 用于访问串口的跨平台便捷类
v1.0
2024-06-21 19:40 UTC
Requires
- php: >=8.0
This package is auto-updated.
Last update: 2024-09-21 20:56:37 UTC
README
这个项目是为了我在工作中遇到的一个项目而创建的,这个Symfony项目需要在Windows的COM端口上与机器通信。经过长时间在网上搜索,我发现PHP-Serial,这是由Xowap制作的。
然而,当我发现该项目不再维护,且pull请求未被接受时,我决定分享一些修复和改进!特别是,一个Windows修复,PHP 8+ 兼容性和更干净的代码(我认为是这样,我不知道,Java更好:P)。
我真的希望这能帮到某人!
当然,我不是主要作者,所有荣誉都归功于Xowap。
示例
<?php include 'PhpSerial.php'; // Let's start the class $serial = new PhpSerial(); // First we must specify the device. This works on both linux and windows (if // your linux serial device is /dev/ttyS0 for COM1, etc) $serial->deviceSet("COM1"); // We can change the baud rate, parity, length, stop bits, flow control $serial->confBaudRate(2400); $serial->confParity("none"); $serial->confCharacterLength(8); $serial->confStopBits(1); $serial->confFlowControl("none"); // Then we need to open it $serial->deviceOpen(); // To write into $serial->sendMessage("Hello !"); // To read $serial->readLine();
项目状态
错误
有很多错误。我知道有。我只是不知道它们是哪些。
平台支持
- Linux:需要测试!
- MacOS:需要测试!
- Windows:它应该可以工作,至少在一个Windows服务器上,它是可以工作的 :)!
关注点
我对这段代码的行为有几个担忧。
- 跨平台一致性。我严重怀疑所有操作在所有平台上都是一样的。
- 自动关闭设备。有一个注册在PHP关闭时的自动关闭函数。这听起来相当荒谬,必须对此做些什么。
- 使用异常。
呼吁贡献
就像所有开源项目一样,我需要人们来满足他们的需求,并将他们的代码贡献回来。
如果你愿意做任何这些事情,请不要犹豫,创建一个问题或pull请求,我会很高兴考虑它:)