
将风速计与 Raspberry Pi 一起使用
如果您想使用 Raspberry Pi 测量风速, 这是您的文档! 您可能正在考虑建立一个气象站,这是一个重要的问题, 真? 我们将使用一个脚本和一个特定的风速计,并且我们将非常快速地设置它. 除了, 正如你已经了解我的那样, 我会将测量结果导出到 MySQL 数据库,然后使用 Grafana 进行可视化!
有两个选项, 或者你用 Kinder 鸡蛋手动制作一个风速计,然后编写一个告诉你风速的脚本, 或 45 欧元 您购买 一个 Eltako 风速计,通过一个已经校准过的简单 Python 脚本,您将以精确的方式获得观看速度.
GPIO 连接超级简单, 风速计具有 2 电缆, 一个我们将连接到地,另一个连接到 Pin 3 (或 GPIO02), 哪根电缆在哪里并不重要. 我们假设我们有一个安装了 Raspbian 并启用了 GPIO 的 Raspberry Pi (sudo raspi-config…).
我们卸载 这个很酷的脚本 作者:来自 GitHub 的 Patrick Rudolph. 我们试图执行它… 和简单或什么?
现在每个人都可以按照自己的需要对其进行修改, 如果您想将米/秒转换为公里/小时并将结果放入 MySQL 数据库, 我们将在 Around the Line 中添加 60 类似:
[源代码]
…
viento_kmph = actual_windspeed_msec * 3.6 # 将米/秒转换为公里/小时
打印 viento_kmph
如果返回 == 30: # 所以每个 30 他把他放在BD的几秒钟
返回 = 0
db = MySQLdb.connect(“DIRECCION_IP_MYSQL”,“用户”,“密码”,“BASE_DATOS”)
游标 = db.cursor()
cursor.execute 命令(“”“插入风 (速度) 值 (%s) """,( viento_kmph))
db.commit 文件()
还:
圆 = 圆 + 1
…[/源代码]
不要忘记添加 'import MySQLdb’ 加载 Python MySQL 模块 (sudo apt-get install python-mysqldb(如果您没有安装它们)). 而每个 30 秒将速度放入我们 MySQL 数据库的 wind 表中, 这是一个非常愚蠢的板子,带有 2 领域, 一个用于速度,一个用于自动完成的日期, 如果需要,这将是在同一示例中创建表的代码:
[源代码]创建 TABLE 'wind' (
'speed' FLOAT NOT NULL,
'created_at' 时间戳 NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
COLLATE='latin1_swedish_ci’
引擎=InnoDB
ROW_FORMAT=紧凑
;
[/源代码]
在 Grafana, 在 Dashboard 中, 如果我们创建一个 Graph Panel, 我们选择针对数据库的 MySQL 连接作为 Data Source,并添加一个简单的 Query 来绘制风, 然后,我们或多或少地根据自己的喜好调整图表, 如果他指导你, 此图的 Query:
[源代码]SELECT velocidad 作为值, “速度" 作为公制, UNIX_TIMESTAMP(created_at) 作为 time_sec FROM viento WHERE $__timeFilter(created_at) 按 time_sec ASC 订购[/源代码]
井, 希望你喜欢, 我们将一点一点地在 Raspberry Pi 中放置更多传感器来设置气象站或任何我们想要的东西, 去!