zigbee_home传感器类型大盘点:12种传感器配置快速参考指南
【免费下载链接】zigbee_homeProject to provide functionality similar to ESPHome but for Zigbee instead of WiFi for nRF52, nRF53 & nRF54L项目地址: https://gitcode.com/gh_mirrors/zi/zigbee_home
如果你正在为 nRF52、nRF53 或 nRF54L 系列芯片寻找一套开箱即用的Zigbee 智能家居传感器解决方案,那么 zigbee_home 绝对值得一看。这个开源项目提供了类似 ESPHome 的使用体验,但把通信协议从 WiFi 换成了功耗更低、更稳定的 Zigbee。本文为你盘点 zigbee_home 目前支持的12 种传感器类型,并附上每种传感器的快速配置参考,帮助新手快速定位自己需要的传感器并完成配置。
上图是一个基于 nRF52840 的 DC 电源开关与电流监测布局示例,展示了传感器与开发板的实际接线方式,完整说明见 examples/board_dc_power_switch/README.md。
一、12种传感器类型总览:一张表看懂
zigbee_home 的传感器配置统一写在项目根目录的zigbee.yaml配置文件中,通过type字段声明传感器类型。全部 12 种类型如下表:
| 类型名称 | 传感器 | 测量内容 | 接口 | 对应 ZCL Cluster |
|---|---|---|---|---|
bme280 | Bosch BME280 | 温度、湿度、气压 | I2C | Temperature / Humidity / Pressure |
bme680 | Bosch BME680 | 温度、湿度、气压、气体 | I2C | 同上 |
scd4x | Sensirion SCD41 | CO₂ 浓度 | I2C | Carbon Dioxide |
dht | Aosong DHT11 / DHT22 / AM2302 | 温度、湿度 | GPIO | Temperature / Humidity |
on_off | 通用开关 | 开/关控制 | GPIO | On/Off |
contact | 门窗传感器 | 开合状态 | GPIO | IAS Zone(接触型) |
ias_zone | 通用入侵报警传感器 | 状态变化 | GPIO | IAS Zone |
rotary_encoder | 旋转编码器 | 旋转步数 | GPIO | Level Control |
power_config | 电池电量监测 | 电压、电量百分比 | ADC | Power Configuration |
soil_moisture_adc | 土壤湿度 | 土壤湿度(0-100%) | ADC | Soil Moisture |
ina2xx | TI INA219 等 | 电流、电压、功率 | I2C | Electrical Measurement |
device_temperature | 芯片内部温度 | 设备温度 | 内置 | Device Temperature |
传感器类型的注册定义位于 types/sensor/known.go,每个传感器的完整实现可以在 sensor/ 目录下找到对应源码。
二、环境类传感器:温湿度、气压与 CO₂
这类传感器是智能家居中最常用的,zigbee_home 一共支持 4 种。
1. BME280 与 BME680:温湿度气压一体传感器 🥇
BME280 是博世出品的经典环境传感器,一颗芯片搞定温度、湿度和气压;BME680 在此基础上增加了气体传感器,可用于空气质量粗略判断。两者都走 I2C 接口,默认地址为0x76。参考 examples/sensor_bme280/zigbee.yaml 的配置:
sensors: - type: bme280 i2c: id: i2c0 addr: 0x762. SCD4x:室内 CO₂ 浓度监测 🌿
SCD4x(如 SCD41)来自 Sensirion,是目前性价比很高的 CO₂ 传感器,适合做空气质量检测设备。它同样通过 I2C 接入,上报到 Zigbee 的 Carbon Dioxide cluster,Home Assistant 可以直接读取。
3. DHT11 / DHT22 / AM2302:低成本温湿度之选
如果你手头有经典的 DHT 系列传感器,zigbee_home 也直接支持(源码见 sensor/aosong/dht.go)。它通过单根 GPIO 引脚通信,适合低成本 DIY 项目,不过精度和响应速度不如 BME 系列。
三、输入与控制类传感器:开关、门磁与旋钮
4. on_off:把普通按键变成 Zigbee 开关 💡
on_off类型适合做智能插座、灯光开关等场景,你可以把它理解为一个受 Home Assistant 控制的"物理开关"。它甚至支持control_button参数,实现设备本地手动开关和云端控制双通道。参考 examples/basic/zigbee.yaml:
sensors: - type: on_off pin: 0.135. contact:最简单的门窗传感器
contact本质上是 IAS Zone 的接触型封装,只需要指定一个按钮引脚即可,参考 examples/contact/zigbee.yaml:
board: buttons: - id: button0 sensors: - type: contact button: button06. ias_zone:通用的入侵报警传感器
ias_zone是 IAS Zone cluster 的通用实现,目前默认作为接触传感器使用,但保留了扩展为更多报警类型的可能性,适合需要自定义报警场景的高级用户。
7. rotary_encoder:旋钮调光、调音量
旋转编码器可以为灯光提供亮度调节(Level Control cluster),也可以用于音量等连续值的控制。它支持resolution(每次上报的脉冲数)和sample_time(采样间隔)等调参项,具体实现见 sensor/base/rotary_encoder.go。
四、监测类传感器:电量、土壤湿度与电流
8. power_config:电池供电设备的电量管家 🔋
做 Zigbee 电池设备时,power_config可以让你把电池电压上报给 Home Assistant,配合battery_rated_voltage、battery_voltage_min_threshold等参数实现电量百分比显示,非常适合温湿度传感器这类电池供电设备。
9. soil_moisture_adc:盆栽植物浇水提醒 🌱
通过 ADC 引脚读取土壤湿度传感器的模拟电压,映射为 0-100% 湿度上报,配置时只需指定adc_pin、min_moisture_mv和max_moisture_mv三个参数。
10. ina2xx:电流电压功率监测
基于 TI INA219 等电流检测芯片,通过 I2C 接入,上报到 Electrical Measurement cluster,适合做智能插座、功率统计类设备。开头图片中的 DC 电源开关示例就是它的典型应用。
11. device_temperature:零外设的设备温度
利用 nRF52 芯片内置温度传感器(CONFIG_NRFX_TEMP)上报设备自身温度,不需要任何外部硬件,做设备过热告警非常方便。
五、从零开始的配置流程:最快上手方法
- 在项目根目录打开
zigbee.yaml,参照官方示例 zigbee.yaml 或 examples/ 目录下的任一模板; - 按上面的表格选择
type,补齐对应的引脚或 I2C 参数; - 按官方文档 docs/sensors/supported_sensors.md 与 docs/using_the_cli/building_the_firmware.md 构建固件并烧录;
- 在 Home Assistant 中添加 Zigbee 设备即可自动发现。
六、总结
以上就是 zigbee_home 目前支持的12 种传感器类型完整盘点。从基础的温湿度、CO₂,到门磁、旋钮、电量与电流监测,覆盖面已经相当齐全,而且全部通过一个zigbee.yaml文件集中管理,配置体验与 ESPHome 一脉相承。选好传感器、对照本文的配置参考,你就能快速构建属于自己的 Zigbee 智能家居设备了。
【免费下载链接】zigbee_homeProject to provide functionality similar to ESPHome but for Zigbee instead of WiFi for nRF52, nRF53 & nRF54L项目地址: https://gitcode.com/gh_mirrors/zi/zigbee_home
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考