433红外BLE协议太散?一个ESP32固件全收进MQTT

你是不是也这样,家里传感器越买越乱:门磁走 433MHz ,空调遥控走红外,温湿度计走 BLE ,角落里还有个植物水分计。

每个设备都得配一个专门网关,连各自家的 app 、连各自的云。折腾半天,你就为了在手机上多开一个 App 看个温度。烦不烦?是挺闹心的。

有个叫 OpenMQTTGateway 的开源固件,就是冲着这股乱劲儿来的。它很聪明地不做新协议,而是把这一切统一翻译成 MQTT,然后交给 Home Assistant 一个入口打理。

下文基于项目 README 与官方文档整理,未实机搭过网关;协议支持、特性与步骤照官方说明抄。

问题不在设备多,在协议散到你想哭

先说你为什么会头大。便宜智能家居,尤其是不需要联网的传感器,几乎都走免许可的射频频段: 433MHz 、 315MHz 、 868MHz 。门窗磁、漏水、老鼠夹、温湿度……

这些东西省电又便宜,但它们大多用固定编码,一个厂家一个协议,彼此不认。你说"433 这个频段是不是过时了?"——CNX Software 有篇老文章标题直接就是《 433 MHz 并没有死》,讲的就是这种便宜传感器其实满大街都是。

调红外更麻烦。遥控空调、电视、风扇,用的是红外;你要学会抓码、存码、重放。 BLE 又是另一套——温湿度计、体重秤、植物水分计、 iBeacon ,一个比一个琐碎。

于是你桌面堆满小盒子:一个 RF 桥、一个红外桥、一个 BLE 网关,各插各的电,各连各的云。

那才是真糟心。不是你不会折腾,是这堆"桥"本身就够你搭一张桌子了。有的桥还非得连厂家自己的云,断个网直接熄火,这更让人上火。

OpenMQTTGateway :一个 ESP32 当万能翻译

OpenMQTTGateway 的意思很直白:把上面这些五花八门的技术,塞进同一份固件里,然后统一输出成 MQTT 。这样你就不需要那么多物理网关,一个 ESP32 就够。

它的兼容面大得离谱,从 README 就能看出来:双向上 433/315/868MHz 射频、红外、 BLE 、蓝牙信标,还有一堆具体设备——Mi Flora 、 Mi Jia 、 LYWSD02 、 LYWSD03MMC 、 Mi Scale 、胎压监测、 BBQ 温度计,甚至 LoRa 。

官方能力总览图:多协议汇入 MQTT

社区也很热闹: 4.1k 星、 899 fork 、 1726 个 commit 。项目还孵出了商业产品 Theengs Bridge——一个 BLE 转 MQTT 的网关,带网口和外部天线,能认 100 多种传感器。

项目孵化的 Theengs Bridge 硬件

最关键的一点:它接的不是某一家生态。 MQTT 是通用标准,所以 Home Assistant 、 OpenHAB 、 Node-Red 、 AWS-IoT 全都认。你不被任何一家云绑死。

一堆桥 vs 一个网关

底层还借了个熟人——把 rtl_433 移植到了 ESP32 上( Hackaday 2023 年 1 月报道过),所以 433 设备的解码不是糊弄的。

它能吞下哪些协议,一张单子看明白

我按官方文档给你捋一遍,把"一个网关到底能接啥"这张单子列出来:

一个 ESP32 网关,把杂协议统一成 MQTT
•射频 RF: 433/315/868MHz 双向,桥用的芯片是 CC1101 或 SX127x ,靠 rtl_433 的移植来解码。

•红外 IR:学习、存储、重放遥控码,空调电视风扇都能管。

•BLE:温湿度、体重、植物水分、 iBeacon 信标, Theengs 的 decoder 库认 100 多款设备。

•LoRa:远距离低功耗那套也能接。

•蓝牙 beacon:接近触发、室内定位这类玩法。

双向是重点——不只能收,还能发。你可以从 Home Assistant 发一条 MQTT ,让它去切换一个 433 插座、或重放一段红外编码。收和发都是它一个干。

一句提醒:这些模块不是默认全开的。你得在配置里按需求勾选要编译哪些功能,不同的板子装不同的射频/红外芯片,对应不同的玩法。

想组一个?从 Web 刷机到进 Home Assistant

难点不大了。官方主打的就是"浏览器直接刷",不用装任何软件。按它的 Getting Started 走, 15 分钟内能看到第一条传感器数据。

如果你想要自定义,也可以用 PlatformIO 自己编译——配置放在 platformio.ini 里,功能模块自己勾。

组硬件前,先看你想干嘛,照着挑:要收 RF 就选带 CC1101 或 SX127x 的板子;要红外就配红外收发头;要 BLE 就看是否需要外接天线——Theengs Bridge 那种带外置天线的,范围会比板载天线好上一截。官方有个 boards guide ,对应不同玩法列得很清楚。

搭起来之后, MQTT broker 可以用 Home Assistant 自带的内置 broker ,设备一上报, HA 通过 MQTT 自动发现,几十秒就能出现在你面板上。

OpenMQTTGateway 分层

我的判断

OpenMQTTGateway 最值钱的地方,不是它能接多少协议,而是它把"免云"这件事做成了一个聚合层。你不必给每一个厂商、每一个频段都配一个桥、配一个 App 、配一次云;你只需要一个入口——MQTT ,然后 Home Assistant 收走一切。反正我上次数了下手机里的智能家居 App ,得有四五个,每个都得登一次授权、看一次弹窗,烦得我想直接删。这大概就是这类免云聚合层最打动我的地方。

但别想得太省心。它有代价:得挑对板子和射频芯片、红外得会抓码、 BLE 那些传感器的解码得依赖 Theengs 的库,范围还容易受天线和墙体影响。你要是只想拿一个温湿度计,那直连它的 app 更省事。

说白了,它适合那种"家里已经一堆乱七八糟传感器、想用一个 Home Assistant 全部接管"的人。设备越杂,它的价值越大;设备越少,反而显不出它的好。

嗯,就这么回事。

我反正已经把那块带 SX127x 的板子加入清单了,就等哪天把 433 那批门窗磁一次性收编。当然,也有人会说,我更愿意直接买支持 Matter/Thread 的新设备,一步到位。这话我也认同,可老的那一堆 433 传感器,总得有人收编吧?

#OpenMQTTGateway #ESP32智能家居 #MQTT网关 #433MHz #HomeAssistant免云

发表评论