Pimoroni Weather HAT库
项目描述
Weather HAT Python库及示例
Weather HAT是将气候和环境传感器连接到Raspberry Pi的整洁一站式解决方案。它有一个明亮的1.54英寸LCD屏幕和四个按钮作为输入。板载传感器可以测量温度、湿度、压力和光。RJ11连接器可以轻松地连接风速和雨量传感器。它与任何带有40引脚头部的Raspberry Pi兼容。
购买地点
安装
我们建议使用Raspberry Pi OS Bookworm或更高版本的操作系统。它需要Python ≥3.7。
完整安装(推荐)
我们已经创建了一个简单的安装脚本,它可以安装所有预置件,并以最少的努力使Weather HAT启动并运行。要运行它,请在您的Raspberry Pi桌面上打开终端,您可以在菜单->附件->终端中找到它,如下所示
在新的终端窗口中,输入以下命令(检查是否有错别字)并遵循屏幕上的说明
git clone https://github.com/pimoroni/weatherhat-python
cd weatherhat-python
./install.sh
注意 库将被安装在 "pimoroni" 虚拟环境中,您需要激活它才能运行示例
source ~/.virtualenvs/pimoroni/bin/activate
开发
如果您想贡献,或者喜欢坐在边缘感受最新代码,可以按照以下方式安装开发版本
git clone https://github.com/pimoroni/weatherhat-python
cd weatherhat-python
./install.sh --unstable
从 PyPi 安装稳定库并手动配置
- 设置虚拟环境:
python3 -m venv --system-site-packages $HOME/.virtualenvs/pimoroni
- 切换到虚拟环境:
source ~/.virtualenvs/pimoroni/bin/activate
- 安装库:
pip install weatherhat
在某些情况下,您可能需要使用 sudo
或使用以下命令安装 pip: sudo apt install python3-pip
。
这不会进行任何配置更改,因此您可能还需要启用
- i2c:
sudo raspi-config nonint do_i2c 0
- spi:
sudo raspi-config nonint do_spi 0
您可以运行 sudo raspi-config
或图形化的 Raspberry Pi 配置 UI 来启用接口。
一些示例有额外的依赖项。您可以使用以下命令安装它们
pip install fonts font-manrope pyyaml adafruit-io numpy pillow
您可能还需要安装 libatlas-base-dev
sudo apt install libatlas-base-dev
使用库
导入 weatherhat
模块并创建 WeatherHAT
类的实例。
import weatherhat
sensor = weatherhat.WeatherHAT()
Weather HAT 在您调用 update(interval=5)
时更新传感器。
温度、压力、湿度、光和风向会持续更新。
雨和风速在 interval
期间测量。Weather HAT 会计算雨量计的滴答声和风速表的(半)旋转,每 interval
秒计算一次雨/风,并重置计数以进行下一次通过。
例如,以下代码将每 5 秒更新雨/风速度,而所有其他读数将在需要时更新
import time
import weatherhat
sensor = weatherhat.WeatherHAT()
while True:
sensor.update(interval=5.0)
time.sleep(1.0)
平均读数
Weather HAT 库提供了一套“历史”类,旨在保存一段时间内的读数,并提供访问最小值、最大值和平均值等功能,以及单位转换。
例如,WindSpeedHistory
允许您存储风速读数并在英里/小时或千米/小时中检索它们,此外还可以确定给定时间段内的“阵风”(最大风速)
import time
import weatherhat
from weatherhat.history import WindSpeedHistory
sensor = weatherhat.WeatherHAT()
wind_speed_history = WindSpeedHistory()
while True:
sensor.update(interval=5.0)
if sensor.updated_wind_rain:
wind_speed_history.append(sensor.wind_speed)
print(f"Average wind speed: {wind_speed_history.average_mph()}mph")
print(f"Wind gust: {wind_speed_history.gust_mph()}mph")
time.sleep(1.0)
快速参考
温度
温度读数以摄氏度表示,并从 Weather HAT 的板载 BME280 测量。
设备温度
sensor.device_temperature
设备温度以摄氏度表示。
这是直接从 Weather HAT 板载的 BME280 读取的温度。它没有补偿,并且由于 Pi 的热量,往往比环境温度略高。
补偿(空气)温度
sensor.temperature
温度以摄氏度表示。
这是应用了偏移量后的温度。此偏移量是固定的,并从 sensor.temperature_offset
中获取。
压力
sensor.pressure
压力以百帕表示。
湿度
sensor.humidity
湿度以百分比表示。
相对湿度
sensor.relative_humidity
相对湿度以百分比表示。
相对湿度是空气中的水分含量,已补偿温度,因为较暖的空气可以容纳更多的水分。
它表示为从 0(无水分)到 100(完全饱和)的百分比。
露点
sensor.dewpoint
露点以摄氏度表示。
露点是水在当前湿度下从空气中凝结出来的温度。
光/勒克斯
sensor.lux
光以勒克斯表示。
勒克斯的范围从 0(完全黑暗)到 64,000(全亮度)。
风
风和雨都会定期更新,而不是按需更新。
要检查 update()
调用是否导致新的风/雨测量,请检查
sensor.updated_wind_rain
风向
sensor.wind_direction
风向以度为单位。
风向使用电位计测量,并在内部使用模拟读数。这被转换为度以方便使用,并且会跳转到最近的 45 度增量,0 度表示北。
风速
sensor.wind_speed
风速以米/秒表示。
Weather HAT每半圈都会计数,并使用风速计的周长和系数将其转换为cm/s。
更新频率根据请求的更新间隔而更新。
降雨
sensor.rain
每秒降雨量(毫米)。
Weather HAT在给定的更新周期内计算雨量计的每个“滴答”计数(大约0.28毫米),并将其转换为mm/s。
总降雨量
sensor.rain_total
当前更新周期内的总降雨量(毫米)。
1.0.0
- 重新包装为hatch/pyproject
- 移植到gpiod(Pi 5支持)
0.0.2
- 值现在总是浮点数
- 修复背光引脚
- 修复最新/平均mph
0.0.1
- 初始发布
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源分发
构建分发
weatherhat-1.0.0.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e1bd27ff28a5e0c2da1bee9b16abb70073552f46cce1ba07d8637f3641c9de5a |
|
MD5 | cbdb9c8566a107eaf19534c98a826a8a |
|
BLAKE2b-256 | d0ff1a826cb0168495448412da603a7d2a88e94a2f938910befbed38e2ebd4bb |
weatherhat-1.0.0-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | afb099b1a0ccb54005f9e14d41be31cf18e17cf1f67c04e72e27a4a00b615a91 |
|
MD5 | 2baf57ae13de06e3127ed08f986f64fa |
|
BLAKE2b-256 | 553ac620bbeae58448c39f5db176215b57bcb9933f696f83229c9f9d6de1a7e3 |