TL;DR InfluxDB、物联网堆栈和 MQTT
作者:Susannah Brodnitz / 产品, 用例
2022 年 9 月 9 日
导航至
物联网 (IoT) 描述了具有传感器和计算能力的设备,这些设备使它们能够收集、交换和处理数据。物联网是一个广泛的类别,包括从智能家居恒温器到工业制造设备的应用。传感器数据是时间序列数据,而物联网是 InfluxDB 的常见用例,因为它能够处理物联网传感器产生的大量数据。InfluxDB 可以通过几种不同的方式融入物联网系统,以帮助公司和开发人员存储和分析传感器数据。
物联网堆栈中的 InfluxDB
物联网堆栈是将物联网设备连接到使用它们收集的数据的应用程序的组件。在这些堆栈中,公司希望存储和计算位置是安全的,并且始终具有网络访问权限。公司可以选择管理自己的基础设施或使用托管云提供商。在物联网领域,通常有许多带有传感器的设备分布在广阔的区域,这些情况有特定的架构需求。
将 InfluxDB 整合到物联网堆栈中的一种方法是在边缘安装它并在那里直接使用它。您也可以在边缘设备上安装 Telegraf 并收集数据,以发送到云端或另一个数据中心进行更集中的计算。使用 Telegraf 的好处之一是它还可以在数据传输过程中转换和丰富数据。规划如何在每个位置使用不同类型的数据,可以让公司和开发人员节省存储空间。例如,在风力涡轮机现场工作的工程师可能希望查看其收集的详细数据,而管理数百个涡轮机的数据科学家可能希望看到摘要显示。InfluxDB 的 边缘数据复制功能旨在自动将边缘 InfluxDB 实例中的数据发送到 InfluxDB Cloud。
将 MQTT 和 InfluxDB 用于物联网
MQTT 是一种具有发布和订阅模型的代理,可实现机器对机器的通信。收集数据的设备可以将其发布到不同的主题,客户端设备可以订阅这些主题。在风力涡轮机的示例中,涡轮机可能会将风速数据发布到一个主题,并将功率数据发布到另一个主题。代理暂时保存数据,以便其他机器可以订阅并接收它,无论它们是其他设备还是计算机。在您的架构中,您可以有许多不同的主题。
InfluxDB 支持通过两种关键方式与 MQTT 协同工作:从代理收集数据并将数据发送回代理。MQTT 代理不断更新新数据,并且不会长时间存储旧数据。InfluxDB 可以订阅主题,以便您可以收集和存储您想要的数据,而代理不会覆盖它。然后,您可以使用 Flux 查询该数据并将其发送回代理。这使机器可以在数据转换后再次从代理访问它,这有助于自动化。
Telegraf 有一个插件,可让您将数据从 MQTT 代理发送到 InfluxDB。如果您在您的架构中有一个可以安装 Telegraf 的服务器,这是一个不错的选择,特别是如果您想在数据传输过程中转换数据。
要了解有关物联网堆栈中 InfluxDB 的更多信息,您可以观看我们关于此主题的视频。
要了解更多关于如何使用 MQTT 和 InfluxDB 的信息,您可以观看此视频。