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