快捷搜索:

利用Raspberry Pi构建存储和虚拟化时间序列数据

在讨论物联网和与开拓职员的上风时,说起Raspberry Pi很快就会成为该对话的一部分。对付那些不认识的人来说,Raspberry Pi是一款小型谋略机,在小型包装中具有强大年夜的功能。它可以“用于任何你想要的”,并有大年夜量的项目实例展示其多功能性。跟着近来宣布的Raspberry Pi 4 Model B,您可以得到更快的CPU,4K支持和高达4GB的RAM

在物联网情况中,开拓职员可以应用Raspberry Pi作为大年夜规模边缘计划的原型。在这里,我们有兴趣探索若何运行边缘硬件,将光阴序列数据从该硬件推送到TimescaleDB,并在Grafana中设置设置设备摆设摆设该数据的可视化。为了演示这种环境,在本文中,我们将向您展示若何基于Raspberry Pi(“边缘”)和TImescale Cloud(对嘱咐管的TImescaleDB和托管的Grafana)创建物联网系统。

虽然这个演示很小(也便是应用单个Raspberry Pi设备),但实际上您可以应用相同的设置在数千个设备上扩展此演示。

首先,我们将评论争论我们系统的设置。“The Edge”是Raspberry Pi,已连接到光电池传感器。在设备上运行的是一个脚本(photoresister.py),它以5Hz的频率记录光传感器的状态。每个察当作果都发送到TImescaleDB实例(托管在TImescale Cloud上)并以超文本形式记录。Grafana实例(也在Timescale Cloud上托管)连接到数据库以可视化灯值。

可以在此GitHub存储库中找到以下所有代码和具体阐明。

我们必要在Timescale Cloud中创建两件事:TimescaleDB实例(用于存储从设备发送的光传感器读数)和Grafana实例(用于可视化TimescaleDB中的数据)。假如您还没有帐户,请注册 Timescale Cloud(首次应用者可得到300美元的试用积分)。登录并创建一个新的TimescaleDB实例。

几分钟后,数据库实例已启动并可以应用。应用psql(或类似的SQL客户端),连接到数据库并创建架构。

运行TimescaleDB实例并应用模式后,就可以创建一个新的Grafana实例了。

接下来,登录Grafana实例并将TimescaleDB实例设置设置设备摆设摆设为数据源。有了数据源,您就可以创建一个连接到该数据源的Grafana仪表板,并可以显示TimescaleDB中的数据。您可以经由过程导入此处的Grafana仪表板JSON来创建仪表板。

留意:上面的Grafana仪表板JSON假设您已经创建了数据源“Timescale Cloud”,是以请根据必要进行调剂。

我们开始应用Raspbian的标准Raspberry Pi设置。对付我们的光传感器,这些资本将解释若何设置设置设备摆设摆设光电池:光电池概述基础的光电管读数光电管就位后,我们将设置glossyistor.py python脚本。此脚本在设备上运行,该设备将写入聚合传感器读数并将数据批量插入云中的TimescaleDB实例。

留意:作为先决前提(别的还有光电池设置),您必要为Python 安装PostgreSQL数据库适配器

创建一个systemd启动脚本,有助于确保传感器在重启时代从新联机。确保在情况变量中启用TIMESCALEDB_CONNECTION。

您可能还会对下面的文章感兴趣: