我们的老师有一个网络服务器,我们可以测试一些东西。我用 Putty 连接到服务器并尝试了以下命令:
echo "i 4 r 255 g 0 b 0." > /dev/ttyACM0
ttyACM0
是将流重定向到串行接口的虚拟文件。此特定命令更改 rgb LED 的颜色。但是相同的命令在 php 中不起作用exec
or shell_exec
:
<?php
// Script saved at /home/STUDENT_NAME/public_html/blink.php
echo shell_exec("echo \"i 4 r 255 g 0 b 0.\" > /dev/ttyACM0"); // Doesn't work
echo shell_exec("echo \"Hello\""); // Returns "Hello"
?>
我知道这一点exec
并且shell_exec
没有被禁用,因为第二次调用shell_exec
有效。我的下一个想法是使用fopen("php://memory", "a");
,但我不知道如何使用这些包装器。所以我的问题:
- 如何正确使用这些包装器?(也许像
"php://memory/dev/ttyACM0"
) - 有更好的解决方案吗?