0

我正在寻找有关如何实现以下目标的建议/指导:

我安装了一个电路并连接到 Arduino,我可以使用 Python 和 pySerial 模块轻松地从中检索数据。它允许我确定模拟输入随时间变化的值。

目前我将该数据存储到一个文件中,带有时间戳和相应的值,我很想听听关于如何将这些数据“共享”到网络服务器并“播放”它的意见和想法。

是否可以通过 AJAX 请求将值“流式传输”到转储文件中并同时从中检索数据,或者我应该查看事件驱动的 Web 服务器,如“Tornado”、“Twisted”......

我有点迷失在这里。只是为了记录,我对最终输出的 PHP 和 JavaScript 很满意,我只是不知道如何不断地“流式传输”我需要的数据。

提前致谢。

4

1 回答 1

1

如果您不打算过多地更新 Ardunio 设备,那么让 Python 组件继续通过串行端口收集数据并以易于被可以分发的服务使用的方式发布它是有意义的。以更有效且可能更灵活的方式获取信息。

例如

  1. 从串口读取数据并将消息发布到消息队列中。然后可以由任何其他组件读取消息队列,然后可以将数据分发给其他应用程序/客户端。
  2. 对可以处理每个更新并分发给其他应用程序/客户端的服务器进行 Web 调用。
  3. 您可以使用Pusher(我为之工作)之类的东西并调用 REST API 以将每条消息传递给任何连接的客户端。虽然这是分发数据的好方法,但即使没有客户端在监听,您也会发布数据,因此我认为您最好先将数据发送到 Web 服务器等组件。

假设您选择 1 或 2,然后您可以使用实时 Web 解决方案将数据分发给任意数量的客户端。您可以在此处使用 Pusher,也可以使用自托管解决方案。

所以,我看到的数据流是:

Ardunio -> 小型 Python 应用程序 -> 队列(或对 Web 服务器的 HTTP 请求) -> 实时 Web 技术 -> 许多客户端

于 2011-11-20T17:57:49.410 回答