wpjscc / io
2.0.1
2019-11-24 17:25 UTC
Requires
- php: >=7.3
- ext-dom: *
- ext-fileinfo: *
This package is not auto-updated.
Last update: 2024-09-14 23:20:39 UTC
README
许可证:MIT许可证
版权:2013-2019 Thomas Weinert thomas@weinert.info
Carica Io 是一组用于非阻塞I/O的实验性PHP类和脚本。它为使用Firmata(Arduino)和GPIO(Raspberry PI)进行硬件控制提供了基本构建块。
基础
该仓库提供了非阻塞I/O所需的API。包括一个简单的事件循环和事件发射器。循环实现未进行性能优化。然而,可以使用适配器来使用ReactPHP或AMPHP。
它包含了一个(不完整的)HTTP服务器,应该足够用于第一步。它支持GET请求和WebSocket连接。
相关项目
+---------------+
| Carica\Chip |
+-------+-------+
^
|
+----------+----------+
| |
+-------+-------+ +--------+-------+
| Carica\GPIO | | Carica\Firmata |
+-------+-------+ +--------+-------+
^ ^
| |
+----------+----------+
|
+-------+-------+
| Carica\Io |
+---------------+
Carica/Io 提供了基于事件编程的类和简单的Web服务器。它定义了硬件控制接口(Pin,ShiftOut等)。Carica/Firmata 是Firmata协议的客户端库,它允许通过串行或网络连接控制Arduino板。Carica/GPIO 使用文件系统或WiringPI库实现Raspberry PI的GPIO。
Carica/Chip 实现了硬件对象的类。例如LED、RGB-LED、伺服器...
用法
您需要从工厂获取循环实例,附加事件并运行它。
$loop = Carica\Io\Event\Loop\Factory::get();
$loop->setInterval(
static function () {
static $i = 0;
echo $i++;
},
1000
);
$loop->run();