我已经建立了一个树莓皮连接到一个LED带,这是从我的手机通过一个节点服务器,我在树莓皮运行控制。它触发一个设置颜色的简单python脚本。你知道吗
我期待着扩展功能,这样我有一个python脚本不断运行,我可以发送颜色给它,它将消耗新的颜色和显示旧的和新的颜色并排。即python脚本可以接收命令和管理状态。你知道吗
我已经研究过是使用简单循环还是deamon,但是我不知道如何连续运行脚本和接收新命令。你知道吗
在节点服务器中保持状态并不断地向基本的python脚本发送大量简单的命令,或者编写一个更复杂的python脚本来接收一些简单的命令并不断地更新灯光,这样更好吗?你知道吗
IIUC,您不一定需要连续运行python脚本。它只需要存储状态,您可以通过将状态写入文件来实现这一点。然后脚本就可以在启动时读取最后一个状态文件,决定从中执行什么操作,执行操作,然后更新状态文件。你知道吗
如果您确实想连续运行脚本,则需要一种接受命令的方法。守护程序接受命令的最简单方法可能是通过signal,您可以使用自定义信号(例如SIGUSR1和SIGUSR2)来发送和接收这些通知。如果您的守护进程只需要接受非常简单的请求,那么这些就足够了。你知道吗
对于需要实际接受消息的更复杂的请求,可以侦听Unix套接字或TCP套接字。标准库中的socket模块可以帮助您实现这一点。如果您想构建一个更复杂的命令服务器,那么您甚至可以考虑运行一个完整的HTTP服务器,尽管在当前的情况下这看起来有些过分。你知道吗
对此没有直截了当的答案。这取决于具体情况,状态有多复杂,你需要改变颜色的频率,你对语言的熟悉程度等等
另一种选择是让Node app调用Python脚本作为子进程,并将任何需要的变量传递给它,您还可以读取Python的output,如下所示:
相关问题 更多 >
编程相关推荐