零帧起手,集成温湿度/光照/人在/烟雾/红外/433/离线语音
写在前面:本文所有硬件选型、接线、代码都是楼主自己踩坑踩出来的,涉及市电部分请务必断电操作,MQ-2 烟雾传感器只是趋势监测,不能替代 3C 认证的独立式烟感报警器,这句话请先记在心里。

一、事情是这样的
2年多前,楼主听到芮小丹说“脑子越复杂的人,越追求极致的简单”,我悟了,原来是家里的*米温湿度传感器、*米门磁、*米万能遥控、*米光照、*米人体传感器、*米智能灯、*米音箱....他们遍布房间的角落,对,我要把这些弄到一起,因为我穷,脑子总在想着暴富的爽文,他们的乱和偶尔的断线和延迟打扰了我修行。
二、零帧起手
楼主的工作是安全员,就那种整天找人摆pose补资料的工作,0帧起手难度还是挺高的,先后买了13元的电烙铁,8元包邮的焊锡丝,大大小小的洞洞板,各种各样的模块,总之折腾了近一年,浪费了不少血汗钱,终于找到了PCB+贴片的正确道路。
经过近2年的折腾,这玩意成品最终方案如下:
主控: Esp32-S3-WROOM-1-N16R8
温湿度传感器: SHT30
光照度传感器: BH1750
人体存在: LD2410B
烟雾/可燃气体: MQ-2
离线语音: CI1302
433 发射: LT445
红外收发: CHQ0038+IR333A*4
CAN通讯: SN65HVD230DR
电源: TLV62568DBVR
这里面有个大坑差点没爬上来,CAN死活无法通讯:
CAN芯片SN65HVD230DR在某宝上不敢说全是假货,可能99%是假货,我一度怀疑过PCB画错了,嘉立创拉了、电烙铁温度高了、买到假网线了、春节上香虔诚度低了,谁能想到当初这几毛钱一个的芯片能有假的呢,所以买芯片,甭管他几分还是几元,尽量绕开某宝。
谁真谁假三、画板和打样
用 嘉立创 EDA,免费且正版,其他我也没用过,打样当然是用每月2张的免费劵,需要注意的是,涉及到温度传感器,一定要远离热源,PCB会被主控等器件升温,如果不做好热隔离,温度传感器采集的温度不准确,楼主一开始为了追求小巧,设计的圆形pcb,各器件都很紧凑,双面焊接,看起来不错,调试时就卡在温度传感器上,会比室温高10多度甚至20多度,因为这个也差点没抬起来,怀疑过器件、怀疑过焊接、又看见网上说要水培什么的,谁知道呢,没经历过这些。

四、焊接
同志,13元的电烙铁,8元包邮的焊锡丝真不能用,他会让你陷入自我怀疑,吃了几十年的红苕稀饭,现在居然焊不稳几颗芯片,这2年折腾下来,对于工具的选择和配置,有点说法:
必须的焊接工具:电烙铁、热风枪,镊子,加热台感觉没必要,买了没用几次;
必须的调试工具:万用表
必须的辅材:焊锡丝、助焊剂、洗板水、海绵块、高温胶布、吸锡带、吸锡枪
条件允许的话买个电子放大镜,楼主使用手机的微距功能,焊接完后挨个检查一下是必须做的事。
五、编程和烧录
ESPHome 的好处是,你基本不用写代码,写 YAML 就行。但也不要被这句话迷惑了,esphome官网组件包含的器件很有限,最终还是会绕到c语言上,不过好在现在的AI很强大,就这种应用的编程需求,是个人感觉都能拿下。
yaml语言类似这样:
esphome:
name: ceiling-hub
friendly_name: 吸顶中枢
esp32:
board: esp32-s3-devkitc-1
variant: esp32s3
framework:
type: esp-idf # 语音必须用 esp-idf,arduino 带不动
psram:
mode: octal # 必须 octal,quad 会爆音频缓冲
speed: 80MHz
i2c:
sda: GPIO8
scl: GPIO9
scan: true
六,最终效果
所谓一通百通,2年肯定不可能只是捣鼓了这一个传感器,还捣鼓个配套的主控,配合传感器数据来实现房屋灯光、空调、插座等的智能化控制,目前效果是不依赖网络、不依赖蓝牙、不需要任何其他主机(比如homeassistant)的情况下运行,实现的功能有:
1、语音开关空调(长虹空调,通过红外控制),空调温度根据室外温度自动设定;
2、语音控制灯光、插座等;
3、在房间里抽烟的话他会报警,召唤神兽过来及时制止(非常棒);
4、最主要的是清爽了,原来所有乱七八糟的传感器都装进了这一个盒子里面,当然,从此以后网络的好坏与我无关了。

下一步打算把家里卫生间拿来做实验,老登们都体会过的,摇裤都脱了发现热水器温度需要调整的痛苦。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
