博客/工程

流媒体实时传感器数据用MQTT Grafana和Grafana生活

2021年8月12日 4分钟

机器人与自动化的世界内最重复的需求之一是获取和实时可视化数据从传感器和执行器等硬件组件,提供深入了解系统整体行为,帮助诊断任何潜在的问题可能产生的加班。

从历史上看,这需要相当多的定制开发工作等复杂的工具能够流数据到仪表板内典型的分析和可视化工具,包括Grafana。但随着Grafana 8.0的发布,它已成为更容易能流和可视化实时数据使用新的流媒体介绍了API的一部分Grafana生活特性。

(注意:通过“实时”我们的意思是“软实时,“因为由于网络延迟,垃圾收集周期,协议的局限性,等等,消息传递的延迟可能高达几百毫秒)。

在这里我们将看到一个这样的应用程序Grafana全新的流媒体功能的传感器系统的上下文中通过MQTT消息传递协议进行通信,利用Grafana生活流API在一个后端数据源插件。

设置

MQTT是一款轻量级的发布-订阅网络协议,通常用于在TCP / IP通讯设备之间。最初由IBM开发的MQTT协议已经被广泛使用的机器对机器通信带宽有限环境中紧凑的数据传输是一个严格的要求。

Grafana生活是一个集成的即时消息传递引擎内置Grafana介绍的吗v8.0版本。它是基于一个通信在发布-订阅框架WebSocket协议,并允许任何类型的事件数据被推到前台客户端(s)就发生了。

为了演示一个适用的现实场景中,我们使用了一个简单的IMU态度传感板和连接它覆盆子π在MQTT流加速度计和陀螺仪数据。

感应板是基于一个非常的广泛使用,多才多艺,和现成的IMU,BMI160来自博世Sensortec。它是一个紧凑,低功耗,低噪声6个自由度IMU通常是发现在智能手机和可穿戴设备。传感器板是连接到一个覆盆子π/它我²C界面,我们使用Python脚本提取并定期发布的传感器数据Mosquitto MQTT代理π,无论是在本地运行。

为了获取传感器数据流到Grafana实例在一个单独的机器上,我们安装和使用GrafanaMQTT数据源在那台机器插件。(详细的安装流程MQTT数据源插件引用自述在GitHub库。)插件使用一个集成的MQTT客户机订阅MQTT主题和Grafana直播API来发布他们的事件流Grafana生活引擎。数据源配置连接到Mosquitto MQTT代理本地运行在π。

对于我们的仪表板,我们使用了时间序列面板,预览v7.4释放、可视化加速度计和陀螺仪数据分别对所有轴。我们使用新发布的时间轴板来检测运动的三轴。这些可视化可以是非常有用的在系统异常和过度运动或旋转失衡表现在某一轴。此外,这些类型的仪表板可以在维护监督非常重要的复杂的动态系统姿态控制机制来维护稳定和功能。

演示

这是一个现场演示的最终结果是什么样子的。注意时间序列趋势如何应对变化的方向和旋转的三轴感应板,以及有用的国家时间是独立的检测运动在任何轴。

结论

这个简单的应用程序展示了强大的新流API Grafana,特别是再加上所有不同的可视化,因为他们所有的工作与这个功能本身。它打开了大门,各种通信协议和硬件平台为数据流Grafana灵活的基于插件架构。

如果你有兴趣为您自己的应用程序中实现流媒体功能,一定要检查我们的指南开发您自己的流后端数据源插件。


在这一页上
滚动的更多