第3章:核心硬件选型——ESP32/树莓派/Home Assistant 硬件对比,传感器与执行器选型指南

做智能家居,选硬件是第一步,也是最容易踩坑的一步。

我见过太多人,一上来就买最贵的树莓派,结果发现家里就控制个灯和插座,性能严重过剩。也有人贪便宜买了杂牌ESP8266模块,结果WiFi动不动掉线,半夜灯自己亮起来……嗯,那画面挺惊悚的。

这一章,咱们就把主控硬件和传感器执行器聊透。你想想看,选对了硬件,后面写脚本、做自动化,那叫一个顺滑。选错了,天天当运维。

3.1 三大主控平台:ESP32 vs 树莓派 vs Home Assistant

先给个结论:这三者不是替代关系,而是协作关系。我自己的习惯是:Home Assistant做大脑,ESP32做手脚,树莓派当身体。但具体怎么搭,得看你的场景。

维度 ESP32 树莓派 (3B+/4B/5) Home Assistant (OS/Container)
定位 物联网终端/边缘节点 本地服务器/轻量级网关 智能家居核心平台
价格 15-40元 200-600元 免费(硬件成本另算)
功耗 极低(深度睡眠10μA) 中等(5V/2.5A) 取决于运行设备
GPIO数量 16-25个(可扩展) 26-40个 无(依赖外接硬件)
网络能力 WiFi + BLE(原生) WiFi + 蓝牙 + 有线 全协议支持(需硬件)
实时性 高(FreeRTOS) 低(Linux非实时) 中(依赖底层硬件)
典型场景 传感器采集、电机控制、红外发射 运行HA、Node-RED、数据库 自动化编排、场景联动、UI面板

我的建议:如果你只做1-2个设备(比如控制个窗帘、监测个温湿度),ESP32就够了。如果你想搞全屋智能,老老实实上树莓派+Home Assistant。别问我怎么知道的——我第一套系统用ESP32硬扛了8个传感器,结果WiFi信道拥堵,延迟飙到3秒,开个灯像在发报。

3.2 ESP32:为什么它是物联网开发者的心头好?

说白了,ESP32就是为物联网而生的。双核处理器、内置WiFi和蓝牙、价格还不到一杯奶茶钱。我最早用ESP8266,后来换了ESP32,感觉就像从自行车换成了摩托车。

ESP32的核心优势:

  • 双核240MHz处理器:一个核跑通信协议,一个核跑业务逻辑,互不干扰。我在项目中用这个特性,把MQTT和传感器采集分到两个核上,延迟降低了40%。
  • 低功耗模式:深度睡眠电流只有10μA左右。如果你用电池供电,配合定时唤醒,一颗18650电池能撑半年。
  • 丰富的外设接口:ADC、DAC、I2C、SPI、UART、PWM……基本覆盖了所有常见传感器和执行器。
  • Arduino + MicroPython双生态:想快速验证用MicroPython,想榨干性能用Arduino C++。

避坑指南:我曾经买过一批9.9元的ESP32开发板,结果ADC引脚噪声大得离谱,采集光敏电阻的值跳来跳去。后来换了乐鑫官方的ESP32-DevKitC,问题立刻解决。记住:电源滤波和PCB布局直接影响模拟信号质量,别在电源上省钱。

3.3 树莓派:当它作为Home Assistant主机时

树莓派跑Home Assistant,是目前最主流的方案。但这里有个误区:很多人以为树莓派越贵越好。其实对于HA来说,树莓派4B的4GB版本是性价比最高的选择。5代性能强但发热大,还得加散热片和风扇,噪音问题在卧室里很要命。

树莓派在智能家居中的典型用法:

  • 运行Home Assistant OS(官方推荐)
  • 挂载Zigbee2MQTT网关(通过USB连接CC2531或ZBDongle)
  • 本地存储历史数据(SQLite或MariaDB)
  • 运行Node-RED做复杂流程编排

注意:树莓派的SD卡寿命是个大坑。HA会频繁读写日志和数据库,普通SD卡几个月就挂了。我建议用SSD硬盘+USB转SATA线,或者至少用工业级高耐久SD卡(比如三星Pro Endurance)。别问我怎么知道的——我第一块卡在第三个月就变成了只读文件系统,所有自动化全部停摆。

3.4 传感器选型指南:从入门到进阶

传感器是智能家居的「眼睛」和「耳朵」。选错了传感器,数据不准,自动化就是瞎搞。我按使用频率和重要性排个序:

传感器类型 推荐型号 接口 精度/范围 我的评价
温湿度 DHT22 / SHT30 单总线 / I2C ±0.5°C, ±2%RH DHT22便宜但慢,SHT30快且准
人体红外(PIR) HC-SR501 / AM312 数字输出 3-7米 AM312体积小,适合嵌入
光照 BH1750 I2C 1-65535 lux 数字输出,不用校准
烟雾/燃气 MQ-2 / MQ-7 模拟输出 浓度检测 需要预热,注意漂移
距离/存在 VL53L0X / LD2410 I2C / UART 0-2米 / 0-5米 LD2410是毫米波雷达,能检测微动
空气质量 PMS5003 / CCS811 UART / I2C PM2.5 / TVOC PMS5003是激光散射,精度高

一个实用技巧:温湿度传感器不要紧贴墙壁安装,墙壁温度通常比空气低2-3°C。我刚开始把DHT22贴在墙上,结果数据一直偏低,空调怎么调都不对。后来用一根杜邦线把传感器悬空5cm,数据立刻正常了。

3.5 执行器选型:从继电器到步进电机

执行器是智能家居的「手」和「脚」。选执行器时,一定要考虑负载类型和功率。我见过有人用5V继电器控制220V/2000W的取暖器,结果触点烧结在一起,取暖器再也关不掉了……

常见执行器及选型要点:

  • 继电器模块:控制灯、插座、水泵等交流负载。注意区分5V和3.3V触发,ESP32的GPIO输出是3.3V,有些5V继电器需要加三极管驱动。我习惯用SRD-05VDC-SL-C,稳定可靠。
  • MOS管模块:控制LED灯带、直流电机等直流负载。IRF520或AO3400都行,注意散热。我曾经用IRF520驱动12V/2A的灯带,没加散热片,结果MOS管烫到能煎鸡蛋。
  • 舵机/步进电机:控制窗帘、百叶窗、阀门。舵机用SG90(小扭矩)或MG996R(大扭矩),步进电机用28BYJ-48(便宜但慢)或NEMA17(精度高)。
  • 红外发射管:控制空调、电视等红外设备。用VS1838B接收,用普通红外LED发射。注意载波频率,空调一般是38kHz。

关于驱动电路:ESP32的GPIO输出电流只有12mA左右,直接驱动继电器或电机必烧引脚。一定要加三极管或光耦隔离。我习惯用ULN2003达林顿管阵列,一个芯片能驱动7路,省事又安全。

3.6 实战组合推荐:三套典型方案

根据不同的预算和需求,我给出三套经过验证的方案:

方案 主控 传感器 执行器 适合场景
入门级(200元内) ESP32 + 继电器模块 DHT22 + HC-SR501 2路继电器 控制1-2个灯+监测温湿度
进阶级(500元内) ESP32 + 树莓派3B+ SHT30 + BH1750 + LD2410 4路继电器 + 舵机 全屋灯光+窗帘+存在检测
发烧级(1500元内) 树莓派4B + HA + Zigbee网关 多路传感器 + Zigbee设备 智能开关 + 调光模块 全屋智能+场景联动+语音控制

我个人最推荐进阶级方案。树莓派跑HA做大脑,ESP32做边缘节点采集传感器和控制执行器。这样即使HA挂了,ESP32还能独立运行本地逻辑——说白了就是「大脑宕机了,手脚还能动」。我在项目中就用这个架构,HA重启时灯光和窗帘不会失控,用户体验好很多。

3.7 本章小结

选硬件这事儿,没有绝对的最好,只有最合适。记住三个原则:

  • 主控选型看场景:单点控制用ESP32,全屋智能用树莓派+HA
  • 传感器选型看精度:数字接口优先,模拟接口注意滤波
  • 执行器选型看负载:功率留余量,驱动加隔离

下一章,咱们开始动手搭建开发环境,把ESP32和Home Assistant连起来。到时候你会发现,硬件选对了,后面的路就好走多了。