【发布时间】:2019-12-12 21:21:08
【问题描述】:
我在 2 个 Python 脚本之间进行通信时遇到了一些问题。 我对 python 和树莓派还很陌生,我已经发现了 多种方法,经过一段时间了解方法转向 出来对我没用。所以花了几个小时后,我认为它会 最好问更有经验的人。
所以我正在做一个项目,我正在使用网页通过多个 Raspberry Pi 控制多台机器。 (每个覆盆子 4 个) 您可以在网页上输入机器以及应该激活机器的时间。 然后,该网页使用机器执行 Python 脚本,并将运行时间作为 raspberry pi 的参数,并在指定的时间内激活机器。 到目前为止,一切都很好。
我还为每个 Raspberry Pi 配备了一个小型 2 行 LCD 屏幕。 此屏幕应每 10 秒左右更改一次,并显示树莓派上的每台机器以及机器仍在运行的时间,然后切换到下一台。
所以在屏幕上显示每件事的脚本是一个无限循环,每 10 秒更改一次,但我不知道我应该如何正确地将新的运行时间放入正在运行的 python 脚本中。
我使用 python 脚本中已有的值来激活机器,所以我想我可以以某种方式将信息从这个脚本发送到无尽的、已经在运行的 LCD 脚本。
但我发现的大多数方法是停止并等待来自其他脚本的信号。但它不会每 10 秒改变一次。
我现在知道的唯一方法是保存到文件并读取其他脚本 xD 中的文件,但这不是很优雅。
感谢我能得到的每一个帮助和建议。
猕猴桃
【问题讨论】:
-
您可以使用数据库(SQLite 是一个简单的基于文件的实用程序,至少使用 Perl,您可以将数据库放入内存中)。您也可以使用共享内存。最简单的形式是保留基于文件的事务,但不是写入磁盘,而是将其写入基于内存的
/dev/shm(在这种情况下我会使用 JSON 文件,因为您可以导出Python 数据结构转为 JSON,然后将 JSON 重新导入回一个数据结构)。就个人而言,我会选择数据库。请注意,共享内存在重新启动时会被清除。
标签: python raspberry-pi