DIY 记录 · 进行中

给大金中央空调装一个本地大脑

用一块 ESP32,经室内机之间的 F1/F2 系统总线,把一台外机、四台内机的家用多联机整体接入 Apple HomeKit。不走云、不换线控器,先抓包摸清大金私有协议,再谈控制。这是一份边做边记的实录:结论、成本、工艺和全部工程文件都在这一页。

先说清:为什么是 F1/F2,不是 P1/P2

大金室内机上有两组两线接口,长得像、性质完全不同:

接口是什么能干什么
P1/P2线控器的局部总线一个线控器管一组内机,同组只能同令,不能逐台分开控温
F1/F2贯通全屋的系统传送线(DIII-Net)按组地址寻址,一个模块就能逐台控制全屋内机

目标是「一个模块控全屋」,所以路线锁定 F1/F2。市面上能买到的成品(比如绿米 Aqara 的 VRF 控制器)接的也是这组线,说明书里写得明白:接任意一台内机处即可、要给内机设集控地址。这从侧面印证了路线可行。

查到的硬事实

  • 协议是大金自有的 DIII-Net。官方安装手册只公开系统层:F1/F2 无极性、组地址 1-00~4-15、每组最多 16 台内机、每条线最多 64 组。帧格式、命令字、校验——一概不公开。
  • 全网没有能向 F1/F2 发控制命令的开源实现。最权威的开源项目 P1P2MQTT 也只做到「电气层支持、协议无资料」,仅留有一份 2023 年的未解码抓包。想 DIY,只能自己抓包建映射。
  • 校验算法先被解出来了。一份 2014 年论坛老帖贴出的 51 帧 HBS 原始数据,11 年没人解出校验。我用 CRC-8(LSB 先行、反馈常数 0xD9、初值 0x00)全量拟合,51/51 帧吻合,又和另外两处独立来源的代码与抓包交叉验证一致。F1/F2 是否用同一套校验,等自家抓包验证。
  • 写入没那么简单。从同类 HBS 设备的逆向经验看:从机要先「注册」才被主机认作真控制器,且写入靠状态跃迁触发——这些都会影响抓包时要盯什么。
  • 家用机型官方支持集中控制。大金中国控制手册确认这类家用多联机可直接设 DIII 组地址、接集控设备,无需适配板。

方案架构

空调 F1/F2 总线 → MAX22088 收发板 → ATmega328P(Arduino Uno) → ESP32-S3 → HomeKit

双芯分工:HBS 总线的应答窗口以毫秒计,ATmega 专管总线时序解帧;ESP32-S3 只管 WiFi 和 HomeKit(HomeSpan),互不拖累。固件默认只捕获、不发送(发送开关编译期关闭),先当一台安静的监听器,摸清协议再逐步开放控制。

每台内机先经线控器设好组地址(从 1-00 起顺延),模块才能按组寻址——这是所有集控方案共同的前置条件。

成本账:DIY 和买成品差多少

项目金额说明
PCB 裸板(嘉立创打板 5 片)¥22用开源工程直接下单
全部器件约 ¥150大头是 MAX22088 一颗约 ¥107,其余阻容二极管几十元
Arduino Uno几十元前端载板
锡膏等耗材约 ¥20针筒锡膏一支用很多次
DIY 合计约 ¥200不含自己的工时

两个对照:一开始图省事问了嘉立创全贴片,报价 400 多——比裸板贵近 20 倍,果断改全手焊。成品路线(绿米 VRF 控制器)本体也在 400 上下,但它是 Zigbee 的,进 HomeKit 还要再配它家网关,真实总价更高,且家用 LMX 系列不在其官网兼容名单的点名之列。

顺带一个结论:这块收发板全网没有成品卖,只有开源工程;最接近的成品是国外爱好者邮件订购的组装桥,价格不公开。

这块板

收发板用的是开源作者 scavenrage 的 P1P2 MAX22088 收发板工程(嘉立创 EDA 专业版格式 .epro2),核心是一颗 MAX22088 HBS 收发芯片,外围是总线侧的整流、保护与滤波。BOM 与贴片坐标已从工程文件导出(见附件),31 个器件,位号与坐标一一对应。

P1P2 MAX22088 收发板 PCB 预览

打开方式:.epro2 是嘉立创 EDA 专业版格式,标准版和下单助手都打不开;装专业版(免费)或用网页版专业版导入即可,打开后可一键下单打板。

这块板没有逻辑隔离:接总线调试时,Uno/电脑用充电宝或电池供电的笔记本供电,不要接台式机或接地电源,避免地环路。接线前先断空调空开。

焊接:一台带曲线的加热台搞定贴片

工具是 Miniware MHP50 加热台(自带温控曲线)+维修佬 XGSP50 针筒锡膏(有铅 Sn63/Pb37、熔点 183°C、20–38µm 细粉——0.5mm 脚距的 TQFN 必须用细粉)。曲线照这个填:

升温室温 → 150°C,约 2°C/s(太快会飞溅出锡珠)
保温150–170°C 保持 60–90 秒,活化助焊剂、整板均温,芯片底部焊盘靠这段
回流峰值 235°C,183°C 以上停留 45–60 秒,焊点全亮后再多 5 秒
冷却自然降温,100°C 以下再动板子

顺序:点锡膏 → 摆件(小件先,U1 对好 1 脚)→ 回流 → 烙铁补焊直插件(电解电容、二极管、端子、排针)→ 放大镜查连锡 → 万用表量电源不短路 → 再接 Uno。打板一次 5 片,第一片先空跑曲线练手。

计划:两段走,带止损

阶段做什么
0 备料打板、买料、写固件(已完成:两份固件均已真编译通过)
1 挂机设址前端并到任意内机 F1/F2,逐台线控器设组地址
2 只听不说抓三类包:上电窗口、逐台动作差分、静默基线;先验 CRC 是否同源,专盯「集控设备如何被认出」的注册段
3 决策点帧有规律 → 继续自研;抓 2–3 轮无规律或帧带滚动特征 → 止损,转网关路线
4/5 控制与接入逐项验证发帧控制,最后接 HomeSpan 上 HomeKit

止损的备选路线是官方 DIII-Net 适配器(如 DTA116A51,寄存器全公开)+ ESP32 做 Modbus 客户端——贵一些,但不用逆向协议。

文件附件

工程与固件源自开源社区(scavenrage、P1P2MQTT 等),各自遵循原许可证;本文为个人 DIY 记录。