给机器人加一路温湿度监测,是很多人入坑后第一个"非必选但真香"的扩展。真到下单那天你会发现,货架上能打的其实就三款:奥松的 DHT22、盛思锐的 SHT31、博世的 BME280。这篇我把三家的官方页逐项点开对过参数和标价(11月4日查),按精度、接口、功耗、价格四个维度横着比一遍,最后给分场景的购买建议,不想看过程的直接拉到底看排序。
先把三款的底细交代清楚
DHT22 是广州奥松电子(Aosong)的老牌型号,电容式湿敏元件加热敏电阻,单总线数字输出。Adafruit 官方商城现在标价 9.95 美元,但页面已经标了"不再补货"(No longer stocked),市面在售的大多是第三方库存。它 3 到 5V 供电,量程 -40 到 80°C、0 到 100%RH,温度精度 ±0.5°C,湿度精度 ±2 到 5%,最快 2 秒才出一个新数据,本体 27×59×13.5mm、4 个引脚,随货附一颗 4.7K 到 10K 的上拉电阻。
这里要提醒一句:DHT22 虽然也是"单根数据线",但它跟 Dallas 一线协议不兼容,多个传感器不能共挂同一根线,每颗都得独占一个数据脚。转换瞬间最大电流 2.5mA,平时不算费电,但它是个"被动问、被动答"的器件,你不读它就闲着。

SHT31 来自瑞士盛思锐(Sensirion),湿度和温度精度的行业标杆之一。芯片本体只有 2.5×2.5×0.9mm,量程 -40 到 125°C、0 到 100%RH,典型湿度精度 ±2%RH,典型温度精度 0.2°C,供电 2.15 到 5.5V 宽压,标准 I2C 接口,地址可选 0x44 或 0x45。Adafruit 的 SHT31-D 扩展板(货号 2857)标价 13.95 美元,从 2017 年起带 PTFE 防尘滤膜,2021 年起升级成 STEMMA QT 免焊接口,接 Qwiic 生态的线就能直接用。
BME280 出自博世(Bosch Sensortec),是三款里唯一"一芯三测"的:温湿度之外还带气压。芯片 2.5×2.5×0.93mm,湿度 ±3%RH,气压 300 到 1100 hPa,温度 -40 到 85°C,供电 VDD 1.71 到 3.6V,I2C 和 SPI 双接口,官方数据 1Hz 刷新下平均电流只要 1.8μA,休眠 0.1μA。Adafruit 的 STEMMA QT 扩展板(货号 2652)标价 14.95 美元,板载 3.3V 稳压和电平转换,官方给的整机指标是温度 ±1.0°C、气压绝对精度 ±1 hPa,当高度计用误差约 ±1 米。

精度这项:SHT31 一骑绝尘,DHT22 温度反而压过 BME280
单看温度精度,排序可能跟很多人直觉相反:SHT31 典型 0.2°C 第一,DHT22 ±0.5°C 第二,BME280 扩展板 ±1.0°C 第三。博世官方产品页确实没把温度精度当主卖点,那颗温度传感器主要用来给气压和湿度做温度补偿,拿它当精密温度计本来就不是它的活。
湿度就完全反过来:SHT31 ±2%RH 稳坐第一,BME280 ±3%RH 居中,DHT22 的容差写在 2% 到 5% 之间,一批里抽到 5% 也不算超规格——做孵化箱、菇房、档案柜这种"湿度就是核心指标"的场景,这个离散度要掂量。
所以精度的结论是:湿度优先选 SHT31;温度上 DHT22 其实不差;BME280 的强项压根不在温湿度本身,而在它多给的那个气压维度。
接口与功耗:单总线和 I2C 是一代差
DHT22 的单总线协议要靠主控端精确计时去解码,时序卡不好就偶发读不出有效值,而且一根线只能带一颗。SHT31 和 BME280 都是标准 I2C,SHT31 地址还能在 0x44 和 0x45 之间切换,BME280 更是 I2C、SPI 双持——想把一串环境传感器排在同一条总线上,这两位才玩得转。
功耗差距更大。BME280 官方数据 1Hz 刷新 1.8μA、休眠 0.1μA,SHT31 芯片平均电流也在 μA 量级,而 DHT22 转换瞬间是 2.5mA,差了三个数量级。做电池供电的野外记录仪,DHT22 能把一块锂电的续航砍到没法看,这不是玄学,是官方数据上白纸黑字的差距。
价格与在售状态:11月4日官方标价
按 11 月 4 日 Adafruit 官方商城页面:DHT22 标 9.95 美元但已标不再补货;SHT31-D 扩展板 13.95 美元;BME280 扩展板 14.95 美元。DHT22 便宜 4 到 5 美元,换来的是精度、接口、功耗三面都落后的方案,而且供应链在收缩。SHT31 和 BME280 只差 1 美元,按功能算 BME280 反而"性价比"更高——前提是你用得上气压。三款官方页均未给国内渠道价,人民币到手价请以当时行情为准。
分场景推荐:我的排序和理由
- 综合排序:SHT31 第一,BME280 第二,DHT22 第三。
- 纯入门、给小车或温室随便记个数、手头只有 Arduino UNO 和杜邦线:DHT22 依然能买,接三根线跑通最小闭环,教程铺天盖地;但它是"够用"而不是"值得",新项目我会直接跳过。
- 孵化箱、菇房、酒窖、档案柜,湿度是核心指标、还要布多个测点:选 SHT31,±2%RH 加双地址,一条总线串三四颗不冲突。
- 气象站、楼层或海拔参考、电池供电的 IoT 节点:选 BME280,1.8μA 的功耗加气压维度,三款里没有替代品。
- 预算卡到极致又想上 I2C:可以看同系列的 SHT30,盛思锐官方定位就是 SHT3x 系列里的低成本版,本文不展开。

最后冷静提示两句。一是 DHT22 的 ±0.5°C 是典型值口径,整批离散加上 2 秒采样间隔,在温度快速变化的场景会露怯;二是三款官方页给的精度都是实验室口径,装进外壳、贴近热源之后实测都会漂,别拿扩展板裸板数据当整机指标。你现在的项目用的是哪款、踩过什么坑,评论区聊聊。


SHT31确实稳,我孵化箱里挂了两颗,跟水银温度计对过,偏差真就在0.3°C以内。
DHT22这波属实是被时代淘汰了,当年人手一颗,现在新项目真没必要再选它。
BME280那个气压当高度计用是真香,上次带着爬楼测了下,误差不到一米。
正好在给温室监测选型,看完直接下单SHT31了,双地址确实方便布点。