Python Flask App-向客户端发送/推送实时传感器数据的工具

时间:2018-10-16 11:59:25

标签: flask web-applications system real-time

我知道我要问的问题有点重复。但是,我仍然想问一问,因为我想知道最新的技术,经过几个小时的研究,我有点迷失了。

  

我有一个Raspberry Pi记录实时温度和湿度。现在,我正在编写一个flask应用程序,以将这些数据推送给客户(有权利)可以连续观察而无需刷新仪表板/页面。

要记住,将来会出现多个传感器,那么制作高效系统的最佳选择是什么?我找到的选项:

  • Ajax
  • WebSocket
  • 框架,例如散景或破折号
  • MQTT

请给我您的意见。

1 个答案:

答案 0 :(得分:1)

如果要使用Python编写后端,那么不错的选择是:

服务器:Flask with Sokcet.IO + InfluxDB用于实时数据存储

前端:一些JS框架或纯Js + websocket


UPD (此消息太长,无法发布到评论中):

https://www.smashingmagazine.com/2018/02/sse-websockets-data-flow-http2/

问题是,我并不是说websocket是适用于所有可能情况/问题的正确解决方案,应该在任何地方使用。显然,这取决于您的需求和项目架构。我认为该文章可以帮助您做出选择:如果您的应用程序体系结构需要全双工浏览器-服务器连接-您可以为此使用websocket,这将对您有用,但是如果您的前端需要只有单向数据发送方向-从服务器到浏览器-您可以使用SSE,如有关SSE的文章所述:“我们的主要数据流是从服务器到客户端的,并且这种情况很少从客户端到服务器”。总结起来,您需要考虑您的应用程序体系结构以及如何在浏览器和服务器之间发送数据以选择正确的技术。另外,如果您既不想使用websocket也不想使用SSE,则可以使用ajax从服务器提取数据,这也将对您有用。