使用 Raspberry Pi 测量大气压力

如果我们想以廉价的方式了解和监测大气压力… 你怎么能不呢… 这是您的文档! 我们可以使用 Raspberry Pi 和传感器快速完成此操作,该传感器几乎不会超出 2 欧元! 在这篇文章中,我们将看到实现它所需的所有步骤, 也一如既往… 我们将测量值存储在 MySQL 数据库中,然后我们将使用 Grafana 用漂亮的图表可视化这些值!

 

我们将使用一个小型 BMP180 气压传感器, 有了它,我们可以得到温度, 大气压和均匀海拔!

 

BMP180 的 GPIO 连接将非常简单, Raspberry Pi 显然已关闭, 我们从 BMP180 VCC 连接连接到 Pin 1 (3.3v), GND 到 Raspberry Pi Onshore 端口, SCL 到 Pin 5 (GPIO03 系列) 或 SCL1; 最后,SDA 连接将转到 Pin 3 (GPIO02) 或 Pi SDA1.

 

我们知道我们有一个安装了 Raspbian 的功能性 Raspberry Pi, 如果我们没有启用 I2C 连接, 我们必须通过执行

 

“sudo raspi-config” > 我们将 “接口选项”, 我们使 “I2C 接口” 并重新启动 Raspberry Pi.

 

现在,精彩的, 感谢 Matt Hawkins, 我们可以下载它的 Python 脚本并运行它来获取数据!!

[源代码]wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/bme280.py

Python bme280.py[/源代码]

 

正如我们所看到的,此脚本适用于 BME280, 它还将具有湿度传感器, 该脚本完全受支持, 太棒了! 既然我说了, 每个人都必须按照自己的意愿处理数据, 照常, 正如您已经知道的, 我通常做的是使用 cron 创建一个计划任务,该任务执行脚本并将大气压值存储在 MySQL 数据库中, 然后我看到数据 格拉法纳 如您所知,这非常酷! 因此,如果我们将其添加到脚本的末尾,我们将能够将大气压力存储在 DB 中:

[源代码]导入 SYS
导入 MySQLdb
db = MySQLdb.connect(“SERVIDOR_MYSQL”,“用户”,“密码”,“BASE_DE_DATOS”)
游标 = db.cursor()
cursor.execute 命令(“”“插入 presion_atmosferica (压力) 值 (%s) """,( 压力))
db.commit 文件()[/源代码]

 

一如既往, 如果您有兴趣,我将粘贴您所需的文本,以完全按照我所拥有的文本创建表格, 但它没有任何神秘之处, 具有 2 列, 一个用于存储压力,另一个用于日期 (不允许 NULL 时,它会在每次设置 pressure 值时自动完成):

[源代码]创建表 'presion_atmosferica' (
'pressure' 浮点型 NULL 默认 NULL,
'date' 时间戳 NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
COLLATE='latin1_swedish_ci’
引擎=InnoDB
ROW_FORMAT=紧凑
;[/源代码]

 

并在 Grafana 准备就绪, 在我们拥有的 Dashboard 中, 添加图形类型面板并根据您的喜好对其进行自定义非常容易, 花费 5 分钟 Grafana 超级直观, 就我而言,我有一个连接到数据库的 MySQL 连接器,通过这个 Query,我得到了一个很酷的图形:

[源代码]SELECT pressure 作为值, “压力" 作为公制, UNIX_TIMESTAMP(日期) 作为 time_sec FROM presion_atmosferica 其中 $__timeFilter(日期) 按 time_sec ASC 订购[/源代码]

 

准备!!! 我希望你觉得它很有趣! 我们已经监测了大气压力! 非常适合气象站或其他? 成功!

 

推荐文章

作者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 请随时与我联系, 我会尽我所能帮助你, 分享就是生活 ;) . 享受文档!!!

Nakivo 中的新增功能 7.4

28 的 May de 2018