基本上,我正在构建一个面向物联网的应用程序。我创建了一些二进制文件来打开或关闭Raspberry Pi的引脚。我已经使用PHP(在Raspberry Pi上运行)通过执行过去的bash命令来运行这些程序,它完美地运行,如下所示:
exec('sudo /home/pi/Projects/calelec/rpi/on');
但我现在需要做的是不断读取(长轮询)一个API服务,该服务将告诉我的Raspberry pi任何指令,然后执行类似上面命令的操作。
我知道一个cronjob将是这个任务的理想选择(所以我不需要使用PHP部分),但我需要这个延迟为.3秒。
我之前已经读过一个守护进程可以工作,但就此我几乎什么都不知道。所以我只需要指出正确/更好的方向。
答案 0 :(得分:0)
以下是使用bash无限循环的示例:
#!/bin/bash
while :
do
# Write your code below, you can interact with API's using curl
curl http://google.com
sleep 0.3 # You might need to adjust this, if the request takes more time to complete
done
将其另存为test.sh
并授予其可执行权限chmod +x test.sh
并使用./test.sh
您可以点击CTRL+C
此脚本每隔0.3秒向google.com发送一次GET
请求。您可以使用此循环编写自己的curl请求和命令,您希望每0.3秒运行一次。
您可以阅读curl
man page here