我有一个带有 Python 脚本的 LAMP Web 服务器,它持续监视串行端口的传入数据。这是家庭自动化系统的一部分(Arduino Yun 和一堆 Pro Mini,每个都带有 nrf24L01+ RF 收发器)。
我的目标是:
- 将传入的数据保存到 MySQL 的适当位置,例如“door open”或“temp = 72F”。我相信 Python 脚本可以处理这个问题。
- 使用服务器发送事件 (SSE) 将新数据推送到客户端浏览器(当客户端连接时)。
我意识到我可以使用 AJAX,但推送数据似乎比轮询更好。问题是我必须以某种方式将 SSE 绑定数据从 python 脚本转移到 PHP,但前提是 SSE PHP 脚本正在运行。此外,我相信每个客户端都会创建一个 SSE PHP 脚本的新实例——因此 python 与 PHP 的比例甚至不会是 1:1。我曾想过让 SSE PHP 监控 MySQL 数据库,但这本质上又回到了轮询,尽管可能是非常高频率的轮询。
或者,我认为 SSE PHP 脚本可以监控串口,但我认为串口数据只能读取一次,因此多个脚本会竞争数据,这也不起作用。
实现将传入数据保存到我的数据集和使用 SSE 作为传输层这两个目标的最佳方法是什么?