linux4life798/stagg-net
GitHub: linux4life798/stagg-net
通过ESP32-C6和ESPHome为Fellow Stagg EKG电热水壶添加智能家居功能的开源硬件破解方案。
Stars: 2 | Forks: 0
# 信息
* **警告:+5V DC 引脚与市电输入的火线端之间似乎存在非常低的电阻。**
此外,你可以在线路/主线的火线和 0V DC 之间测得 5V DC 的电势。
至少,你不应将 +5V DC 连接到笔记本电脑的串口转 USB 适配器。
* 内部串口连接器用于可选的 Bluetooth 模块,工作电压为 3.3V,波特率为 9600,无校验位。
* 它似乎有 1 个起始位。
* 它每 3 秒发送某种状态消息。
* [Stagg EKG+ 手册] 提到 `Contains Transmitter - FCC ID: 2AABGBTAC1000`。
* 当我们在 FCC.io 上搜索此 FCC ID 时,https://fcc.io/2AABGBTAC1000,我们会看到 `EnzyTek Technoloy Inc.` 关于 2.4GHz 频段 part 15C 的提及,以及指向 [EnzyTek BTA-C1000-2 数据表/手册] 的链接。
* 从该模块的数据表来看,实际的 Radio MCU 似乎被称为 `CSR CSR1000`。我找到了 [CSR CSR100 数据表]。
* Qualcomm 于 2014 年收购了 CSR (Cambridge Silicon Radio)。
现在有了 [Qualcomm CSR101x 系列]。
* 控制水壶和显示屏的板载 MCU 是一颗 `Cmsemicon CMS80F2618` `2105CNT`
- https://www.changitech.com/uploads/file1/20220722/CMS80F261x_Datasheet_V1.05.pdf
- 尽管芯片标记非常清晰,但 **VCC 和 GND 的引脚定义不匹配**。
* 电路板:MY-EKG-100 Display Panel V1.1 RSJ305 2017-07010,来自 RisingStar.cn
[**Fellow Stagg EKG 水壶 PCB 逆向工程图**](https://docs.google.com/drawings/d/1spSMMTtEVBVaj6GtIikueuyRw0ZZhn-C_dDxf22F0jw/edit?usp=sharing)


# 零件
* UART 连接器
- 4 针 2.54 mm (0.1 英寸)
- 0.5in 宽(母头外侧)
- 0.25in 高
- 0.28in 长
- [Amazon - 10 套 Jst Xh 2.54mm 4 针插头公头连接器带 150mm 软硅胶线 & XH2.54 4P 母头连接器](https://a.co/d/0iIOorKT)
* [SparkFun Qwiic 迷你开发板 - ESP32-C6](https://www.sparkfun.com/sparkfun-qwiic-pocket-development-board-esp32-c6.html)
* [SparkFun 功率计 - ACS37800 (Qwiic)](https://www.sparkfun.com/sparkfun-power-meter-acs37800-qwiic.html)
- 原理图 - https://cdn.sparkfun.com/assets/1/9/f/6/9/Qwiic_Power_Meter-ACS37800_Schematic.pdf
- 数据表 - https://www.allegromicro.com/-/media/files/datasheets/acs37800-datasheet.pdf?sc_lang=en
- 示例用户程序 - https://www.allegromicro.com/-/media/files/demo-boards/user-manuals/asek37800-sample-programmer-user-manual.pdf?sc_lang=en&utm_source=chatgpt.com
* [SparkFun 柔性 Qwiic 线缆 - 200mm](https://www.sparkfun.com/flexible-qwiic-cable-200mm.html)
# 连接
* `VB` (V_BATT) -> `5V`
* `GND` -> GND
* `IO16/TX` -> 水壶 RX (3.3V 参考)
* `IO17/RX` -> 水壶 TX (3.3V 参考)
* `IO18` -> 按钮按下
* `IO19` -> 背光
* `IO2` -> 100nF 电容 (接 GND) + 100kΩ (至 1MΩ) 串联电阻 -> 热敏电阻
*`IO2` 和 `IO3` 兼容 ADC (IO0 - IO6)*
*一个由 100kΩ 和 100nF 组成的 RC 电路时间常数为 10ms。为了安全起见,我们不应以超过每 100ms 一次的频率对 `IO2` 进行 ADC 采样。*
# 参考资料
* https://github.com/levi/stagg-ekg-plus-ha
- https://github.com/levi/stagg-ekg-plus-ha/issues/6
* https://github.com/tlyakhov/fellow-stagg-ekg-plus
# UART 协议
该协议似乎与其他人逆向工程的 BLE 协议相似,但该接口对任何 BLE 数据包均无响应。
我只看到显示模块每 3 秒发送以下数据包。它不会根据目标温度设定点或开关状态而改变。
启动时,它发送以下重置消息。
3 秒心跳包
``` EF 0A 00 EF 0A EF 0A 00 EF 0A EF 0A 00 EF 0A EF 0A 00 EF 0A EF 0A 00 EF 0A EF 0A 00 EF 0A EF 0A 00 EF 0A EF 0A 00 EF 0A EF 0A 00 EF 0A EF 0A 00 EF 0A EF 0A 00 EF 0A ```启动消息包
``` 46 65 6C 6C 6F 77 3A 20 72 65 73 65 74 5F 63 6F 6E 74 72 6F 6C 6C 65 72 0A ``` *其内容拼写为 `Fellow: reset_controller\n`。*标签:DIY, ESP32, ESPHome, Fellow Stagg EKG, Home Assistant, PCB分析, UART, 串口通信, 云资产清单, 嵌入式开发, 开源硬件, 智能家居, 物联网, 电水壶, 硬件改装, 硬件破解, 逆向工程