Skip to content

小米 / Roborock 扫地机 + Valetudo 改装

概念速览

  • Valetudo:开源项目,把米家 / Roborock / Dreame / Viomi 等扫地机的闭源固件替换为基于 Linux + Python 的本地控制
  • 核心收益:摆脱云端依赖、可在 HA 中拿到完整地图、支持自定义分区与禁区
  • 适用机型:Dreame / Roborock S5-S8 / 米家 1T/1S/Pro/Ultra / Viomi / Cecotec

为什么改装?

维度原厂固件Valetudo 改装后
地图导出❌ 仅 App 截图✅ 实时 JSON / PNG
远程控制❌ 强制云端 (延迟 500ms+)✅ 局域网 MQTT (延迟 < 50ms)
自定义分区❌ 仅官方 4 个区✅ 任意多区 + 命名
禁区精度±5 cm±1 cm
OTA 升级厂商推送 (可能变砖)你说了算
隐私视频流强制上传0 上传

适用机型速查

品牌机型改装难度推荐度备注
DreameL10s Ultra / X30 / X40⭐⭐⭐⭐⭐⭐⭐改装最稳,Python 3.11 + MQTT 原生
RoborockS5 / S6 / S7 / S8⭐⭐⭐经典方案,Moddable 固件成熟
RoborockQ7 / Q8 / S8 MaxV⭐⭐⭐⭐⭐新机型部分功能受限
Xiaomi Mi RobotVacuum Mop 1C / 2 Pro⭐⭐⭐⭐性价比高
ViomiS9⭐⭐⭐⭐已有完整方案
CecotecConga 9090⭐⭐⭐西班牙机型

改装流程 (Dreame L10s Ultra 示例)

步骤 1:准备工作

所需物料:
- Dreame L10s Ultra 主机 (全新或二手,¥2,500-4,000)
- 螺丝刀套装 (T8 / T10 / 十字)
- USB-UART 串口模块 (CH340 或 CP2102,¥15)
- 杜邦线 3 根
- Linux / Mac 工作站
- Valetudo 预编译固件 (从 valetudo.cloud 下载)
- SSH 客户端

步骤 2:拆机 + 串口接入

  1. 拆下底部 8 颗螺丝,打开上盖
  2. 找到主板上 4-pin UART 焊点 (TX / RX / GND / 3.3V)
  3. USB-UART 模块连接:UART TX → 模块 RX,UART RX → 模块 TX,GND → GND
  4. 不要接 3.3V —— 主板自带供电

步骤 3:获取 root shell

Terminal window
# Mac / Linux 上监听串口
screen /dev/tty.usbserial-1410 115200
# 或
minicom -D /dev/tty.usbserial-1410 -b 115200

按住扫地机的回充键开机,看到启动日志后立刻按回车打断 autoboot:

U-Boot 2018.05 (Mar 12 2023 - 14:23:01 +0800)
DRAM: 512 MiB
MMC: mmc@7e202000: 0, mmc@7e202200: 1
Hit any key to stop autoboot: 0
=>

进入 U-Boot 命令行后执行:

setenv bootargs "mem=512M root=/dev/mmcblk0p2 rootfstype=ext4 rw console=ttyS0,115200 init=/bin/sh"
boot

进入 root shell 后:

Terminal window
# 1. 备份原厂固件
dd if=/dev/mmcblk0 of=/mnt/backup_factory.img bs=4M
# 2. 刷入 Valetudo
cd /tmp
wget https://github.com/Valetudo/Valetudo/releases/latest/download/valetudo-dreame-l10s-ultra.tar.gz
tar -xzf valetudo-dreame-l10s-ultra.tar.gz
./install.sh
# 3. 设置 root 密码
passwd

步骤 4:恢复云端 (可选)

Valetudo 默认完全离线。如果想保留云端控制 (例如远程启动):

Terminal window
# 在 /etc/valetudo/valetudo.conf 中设置
[cloud]
enabled = true # 允许与原厂 App 通信

Home Assistant 集成

方式 A:Valetudo 原生 MQTT (推荐)

Valetudo 自动发布 MQTT 主题:

valetudo/<robot-id>/MapData # 地图 PNG (base64)
valetudo/<robot-id>/state # 当前状态 (mowing/charging/error)
valetudo/<robot-id>/attributes # 电量、清扫面积、时长

HA 集成:

configuration.yaml
mqtt:
vacuum:
- name: "Dreame L10s"
state_topic: "valetudo/dreame-001/state"
set_position_topic: "valetudo/dreame-001/command"
...

方式 B:Xiaomi MIoT 集成 (改装后仍可用)

  • HA → 添加集成 → Xiaomi MIoT
  • 用 Token 登录 (改装不影响 Token)
  • 设备正常出现,但延迟比 MQTT 略高

方式 C:自定义卡片 (Map 实时显示)

# lovelace 卡片配置
type: picture-entity
entity: vacuum.dreame_l10s
show_name: true
show_state: true
camera_image: camera.dreame_l10s_map

进阶:地图坐标触发

Valetudo 地图坐标系可被 HA 读取,实现”机器人到达厨房桌下时停止”等智能自动化:

# 通过 MQTT 订阅地图数据
- platform: mqtt
topic: "valetudo/dreame-001/MapData"
value_template: "{{ value_json.map }}"
# 解析像素坐标 → 房间坐标 → 触发对应场景

故障排查

📋 复现条件

类别必备可选 / 备注
硬件兼容 Valetudo 的米家 / Roborock / Dreame 机型 · UART 串口工具 (¥30) · CH340 烧录器备用机 (建议)
操作系统macOS / Linux (Windows 需 WSL)Ubuntu 22.04 推荐
软件版本Valetudo 0.9+ · python-miio 0.5+ · MQTT broker 2.xNode-RED (复杂自动化)
网络2.4 GHz Wi-Fi · 电脑与扫地机同网段隔离 VLAN (推荐)
账号米家 App 已绑定 (用于初始 root)后期可解绑云端
时间拆机 30 min · 串口 root 30 min · 刷 Valetudo 30 min · HA 集成 15 min调试 +1 h
难度⭐⭐⭐⭐ 高拆机需要胆量
前置知识Linux 串口 (minicom / picocom) · mqtt 基础HA 基础

⛔ 别这么做 (Anti-patterns)

经验证的坑 —— 跳过 = 至少浪费半天,严重的烧板 / 锁机。

❌ 错误做法💥 后果⚠️ 风险范围
不要在断电前直接拔 Valetudo 改装中的 USB-TTL刷机中途断电 = 变砖。先 dmesg 确认串口没掉再操作。🟡智米扫拖一体 / Roborock S5 Max
不要把米家设备 token 上传到任何第三方云token = 设备控制权,泄漏 = 任何人可远程开门。🔴所有米家 / Aqara 设备
不要在生产 HA 配置里直接编辑 configuration.yaml 后 check_config 不通过就 reload错的 reload 会让 HA 启动失败 → 所有自动化停摆。用 configuration.yaml 备份 + git 版本化。🟢Home Assistant
不要给 Frigate 摄像头内网用 admin/admin 默认密码RTSP / ONVIF 默认账号 = 局域网裸奔。先改密码。🟡海康 / 大华摄像头
不要在 ESPHome 设备上直接 OTA 升级到主版本 (major)主版本常改 NVS 分区。OTA 升级后启动失败 = 拆壳刷机。先 flash USB 一次。🟡ESP32-S3 语音卫星 / 智能开关
不要在智能家居自动化里写死设备 IPDHCP 重启后 IP 变 = 自动化失效。用 hostname / mDNS / 静态租约。🟢Home Assistant / Hubitat
不要在 Matter 设备首次配对时关掉手机蓝牙Matter 配对 = BLE → WiFi handover,全程需要蓝牙。🟢Aqara M3 / Apple Home

🚨 风险总览 (Risk Matrix)

风险等级含义例子
🟢 低改错可回滚 / 几分钟恢复pip 全局装包、DHCP IP 写死
🟡 中需要重新刷机 / 重装 / 1-2 小时恢复装错 ROS 2 版本、没 OTA 升级看版本
🔴 高不可逆 / 烧板 / 安全风险电池反接、micro-ROS 没看门狗、刷机中途断电

参考资料