博客/工程

如何与普罗米修斯和格拉夫娜云一起监控酵母酵头

2022年6月9日8分钟

两年前,我做了在这个博客上坦白:在冠状病毒封锁期间,我是那些自己做面包的人之一,我甚至自己种了酸面包开胃菜。

就像一个好的酵母酵头-酵母混合物用来使面包膨胀(我喜欢亚瑟王面粉食谱)——随着时间的推移,我对面包制作的热爱只增不减。我也不喜欢监视酸面包开胃菜的进展。

作为Grafana实验室的一名软件开发人员和一个真正好bob电竞频道奇的人,当我第一次了解到可以制作酸面包发酵剂监测系统时,我必须尝试一下。我做这个系统的灵感来自sourd.io它是由克里斯汀·苏努(Christine Sunu)创建的。我非常喜欢这个过程,我把它分享给了Grafana实验室的博客上的每个人,最近我的工作也被推荐了bob电竞频道使杂志。

酸面包监测系统可以帮助你跟踪酸面包发酵剂的温度、湿度和高度。我的酸面包监测装置使用了一个ESP32开发板,它从附着在酸面包罐盖子上的传感器收集数据。为了测量酵母发酵剂的高度,我使用了超声波距离传感器。对于温度和湿度,我使用了DHT11传感器。

在我前面的酵母监视设置中,我使用InfluxDB存储数据,使用Grafana Cloud存储仪表盘。为这篇博客文章和使杂志,我更新了我的设置,现在收集的数据到Grafana米密尔的开放源码时间序列数据库,它存储普罗米修斯的指标Grafana云,信息以漂亮的图形显示在Grafana.在Grafana中,你可以随着时间的推移跟踪你的指标,甚至可以设置提醒,提醒你何时添加开胃菜。

酸面包发酵剂监控:设置

安装软件

首先,安装Arduino IDE在你的电脑上。我使用的是IDE 1.8.10版本,因为新版本会在macOS Monterey上抛出错误。1.8.10版本是Arduino论坛上推荐的解决方案,它对我很有效。

其次,您可能需要安装CP210x USB到UART桥式VCP驱动程序如果你的操作系统不能自动识别USB串行。这个驱动程序基本上可以让您的计算机与ESP32开发板通信。同样,我使用的是macOS Monterey,我必须安装这个驱动程序。

建立一个普罗米修斯数据库

下一件非常重要的事情是建立一个数据库,在那里你将存储传感器的数据。在这个项目中,我们将使用Grafana Cloud。

首先,我们将参观Grafana云注册页面并创建一个新的免费帐户,附带10K指标和用于可视化的Grafana。一旦帐户全部设置好,我们就可以看到带有托管的Grafana和Prometheus实例的门户。

操作完成后,您需要单击发送指标按钮,并创建一个新的API密钥。将API密钥与用户信息保存在一起,因为我们很快将使用它们将数据发送到数据库。

连接传感器到单板

DHT11传感器

DHT11是一种非常基础和廉价的传感器,由两个部分组成——一个湿度传感器和一个热敏电阻。它可以用来测量酵母发酵剂所处的环境。

如果你买了DHT11传感器模块,那么你应该看到3脚或4脚。在4引脚版本中,其中一个引脚将不会被使用。如果你有4针的版本,不用担心——你可能只买了一个传感器。这种情况也发生在我身上,这是一个很容易解决的问题——你只是不使用第三个别针。

我们将按照如下方法连接这些引脚,如图所示:

  • 板上Vcc引脚3.3V
  • 数字引脚到板上32引脚
  • Gnd引脚到板上的Gnd

HC-SR04传感器

HC-SR04超声波传感器提供2厘米- 4米的测量功能,精度约为3mm。这个传感器将用来测量酵母发酵剂离盖子的距离并计算它的上升或下降。HC-SR04有4个引脚连接到ESP32板上,方法如下:

  • 板上Vcc引脚到5V
  • 三角引脚(发送信号)到板上引脚4
  • 回引脚(接收信号)到板上引脚5
  • Gnd引脚到板上的Gnd

编制酵母发酵剂监控系统

接下来需要编写并上传一个程序,该程序将从传感器检索数据并将其发送到与普罗米修斯兼容的数据库。用microrousb电缆将ESP32板(带有连接的传感器)连接到计算机。

设置Arduino IDE以支持您的ESP32板

打开Arduino IDE。如果您使用的是ESP32板(而不是Arduino板),则需要添加对EP32板的支持的板定义。去Arduino >首选项然后添加urlhttps://dl.espressif.com/dl/package_esp32_index.json其他Boards Manager url输入。这个开源板定义增加了对ESP32板编程的支持。

然后去工具->单板->单板管理器并添加ESP32单板管理器。

接下来,在工具—>单板,选择ESP32 Pico Kit板。这将告诉Arduino IDE在编译固件映像时使用哪个配置文件和基库,以及如何将其闪到板上。确保在工具—>端口子菜单中,您已经选择了新的COM端口。

添加库

对于这个项目,您将使用以下库:

  • Adafruit的DHT传感器库
  • 作者:Martin Sosic
  • Adafruit统一传感器
  • Arduino制作的ArduinoBearSSL
  • Arduino的ArduinoHttpClient
  • PrometheusArduino的埃德韦尔奇
  • Ed Welch的《lokitransport》
  • Ed Welch的SnappyProto

Sketch ->包含库->库管理器然后安装所有这些。在进行下一步操作之前,请确保已经安装了所有这些工具。

创建程序

你可以从网站下载草图Github.在文件夹中,你会发现两个重要文件:Config.h和sourdough_monitoring_grafana.ino.在第一个文件中,我们有我们的程序。在第二种方法中,我们将存储变量。

文件config.h
添加变量:

  • 您的Wi-Fi名称和密码,以便ESP32连接到您的互联网
  • 您的用户id为GC_PROM_USER
  • 你的API密钥是GC_PROM_PASS

文件sourdough_monitoring_grafana.ino
下面您可以找到程序代码和解释每个部分的注释。

上传并运行酵母监控程序到ESP32

让我们一起努力吧!

点击打开按钮(箭头向上),选择开放,找到你的sourdough_monitor_grafana.ino归档并打开它。

然后去工具—> Serial Monitor打开它。这将允许我们看到来自电路板的调试输出。设置下方的端口速率为115200。

最后,使用上传按钮(箭头指向右)在IDE窗口的顶部栏构建并上传程序到ESP32。

一旦上传完成,我们的串行监视器将显示:

  • 启动和Wi-Fi连接
  • 提交指标的结果

如果一切设置正确,您很快也会在与Prometheus兼容的数据库中看到传入的数据。

在Grafana可视化酵母发酵剂监测数据

现在,当所有的数据都流向普罗米修斯时,是时候在Grafana中可视化它们了。要打开Grafana,只需点击登录在你的Grafana Cloud页面。

接下来,我们将创建仪表板。只要点击创建仪表板添加一个新面板,并选择您的Prometheus数据源。如果您不熟悉Prometheus查询语言,您可以单击指标浏览器并选择您想要的指标。

酵母罐增加监控系统

现在是动手的部分了。这是我如何安装电子在我的罐子,但我相信有一个更好的方法,所以请随意即兴发挥你所拥有的。

从罐子里取出盖子,小心地挖两个洞:一个在盖子的中间,用来装超声波传感器,另一个小一点的在旁边,用来装DHT11。

将超声波传感器放入HC-SR04支架中,并将其粘在盖子顶部。用双面胶带,将DHT11粘在盖子上,使其面向罐子。

用胶枪将ESP32单板小心地粘在HC-SR04支架顶部。确保你只是粘在ESP32板上的延伸部分,而不是板本身。

这就是它的样子!只需将它放在厨房(或任何其他你存放启动器的地方),并将它插入USB充电器。

注意:拍完这张照片后,我添加了一个用切割的塑料瓶做的盖子,以确保酸面包不会因为盖子上的洞而变干。

阅读Grafana仪表盘

Grafana的数据会告诉你更多关于酵母发酵剂生长的环境和发酵剂本身的信息。在你的图表中,你可以看到罐子里的温度和湿度,这可能与房间里的条件不同。温度越高,它生长得越快,你就得经常喂酸面包。

此外,我一直在评估启动器的高度,当启动器的尺寸增加一倍或开始缩小时,我就知道是给料时间了。事实上,我在格拉弗纳设置了警报,当这种情况发生时通知我。

我真的希望你能尝试一下,并让我知道它怎么样了!此外,如果你有一些有趣的物联网想法,我绝对乐意听到。推特给我@ivanahuckova

Grafana云是开始使用度量、日志、跟踪和仪表板的最简单方法。我们对每个用例都有一个慷慨的免费永久层bob体育手机二维码和计划。现在就免费注册