掃地機器人裡的 Ubuntu:用 Valetudo 實現完全去雲端化的 Linux 自走車
多年前買了小米掃地機器人之後,我一直很好奇它到底在背景偷偷把什麼東西傳回伺服器。為了揭開這個黑盒子,我曾嘗試將電腦偽裝成 SSID 的 Gateway,透過 ARP 欺騙 (ARP spoofing) 的方式攔截封包。雖然成功拿到了數據,但除了目的地之外,封包內容依然處於加密狀態,難以直接解密。
更令人不安的是,這台機器人傳輸封包的頻率極高,它可是一直傳、一直傳,這種「不受控」的感覺實在令人不爽。直到後來,我偶然發現了 Valetudo 方案,這才解決了我的隱私焦慮。
技術核心:在機器人大腦裡植入「寄生蟲」
簡單來說,Valetudo 就像是在掃地機器人的系統裡放了一個寄生蟲。它會攔截原本要送往遠端伺服器的資料,將其導流至機器人內部的本地空間處理,隨後便銷毀與雲端的聯繫。這讓你的掃地機器人徹底脫離雲端監控,變成一台純粹的區網設備。
安裝流程與環境準備
安裝過程其實不算複雜,但對網路環境的要求較高。以下是我的實作筆記:
1. 回復原廠設定
首先,需要將機器人重置:先按下 Home 鍵,接著拿迴紋針戳一下 Reset 鍵後放開。過一陣子,機器人會發出語音提示正在回復原廠設定,大約需要五分鐘的時間。
2. 下載必要程式
- 燒錄工具: 到 valetudo-helper-miioota 下載對應作業系統的執行檔。
- 自定義韌體 (寄生蟲): 在 DustBuilder 找到支援的型號並構建版本。
以我的小米掃地機器人一代為例,我使用了 這個專屬連結。在構建過程中,需要填入個人資訊與 SSH 公鑰(Key),這樣後續才能直接透過終端機遠端登入。
3. 系統環境的坑
在燒錄工具的選擇上,我一開始在 Windows 環境下屢試不爽,推測是防火牆或網路設定干擾。後來改用 Linux (AMD64) 筆電,關閉防火牆與 Tailscale 等網路服務後,一次就成功了。
執行燒錄指令
待機器人重置完成並連上它的臨時 Wi-Fi 後,執行以下指令開始植入:
./valetudo-helper-miioota-linux-x64 install-firmware v11_004018.pkg
不到 10 分鐘,Valetudo 就植入完成了!現在我不僅能使用網頁介面操作,還能直接透過 SSH 登入機器人的後台。
開箱掃地機器人的「內臟」
登入後,我驚訝地發現這台機器的規格相當高規格:
- 作業系統: Ubuntu 14.04.3 LTS (Trusty Tahr)
- 處理器: Allwinner A33 低功耗四核 ARM Cortex-A7
這本質上就是一台 Linux 自走車!這也解釋了為什麼它能記錄這麼多隱私資訊。在未「去雲端化」前,它會上傳以下三類資料:
- 空間隱私: 透過 LDS 雷達掃描出的 2D 點雲圖,包含家具擺設、移動路徑與房間精確尺寸。
- 設備與網路資訊: 定期回報周邊 Wi-Fi SSID 和 MAC 位址,透過「Wi-Fi 指紋定位」即可精確掌握住家經緯度。
- 使用者行為: 清掃規律與偏好模式,這足以推斷家中何時無人。
去雲端化前後對比
當你刷入 Valetudo 後,你實際上是在機器內部建立了一道「數位邊界」。以下是處理前後的差異:
| 資料類型 | 官方韌體 (上傳北京) | Valetudo (Root 後) |
|---|---|---|
| 地圖數據 | 上傳伺服器再回傳手機 | 留在內存,由網頁直接讀取 |
| Wi-Fi 掃描 | 定期回報周邊環境 | 攔截,資料僅存於本地日誌 |
| OTA 更新 | 廠商強制或提示更新 | 徹底關閉,掌握主控權 |
| 通訊加密 | 伺服器持有 Key | 你持有 Token,區網內連線 |
在 /mnt/data/rockrobo/rrlog 看到的資料夾,原本是這些敏感資料上傳前的「暫存區」,現在它們哪裡也去不了了。
進階探索:AI Agent 與移動控制實驗
掌握了這台 Linux 自走車後,我開啟了一個 AI Agent,讓它透過 SSH 在機器人內部到處巡檢,並撰寫 Script 驗證各種溝通方式。這部分的技術細節我也整理在我的專案中:
Roborock V1 Research - GitHub Project
這個專案不僅揭露了軟硬體結構,還包含如何透過 Python、API 與 MQTT 與它溝通。我最近做了一個有趣的實驗:
- 指令發送: 利用 HTTP API 命令機器人移動到指定地點。
- 狀態回饋: 利用 MQTT 即時回報機器人的當前座標。
結合這兩個特性,我已經能寫 Script 讓它走出特定的路徑,像是三角形、甚至正八邊形。相比起自己找材料組裝的自走車,這台機器人的感測器與底盤配備根本超棒。
結語:CP 值極高的開發平台
目前二手市場的小米掃地機器人一代大約只要 1000 元台幣 左右。如果您對 Linux 開發、自動導航或自走車專案有興趣,這絕對是一個物超所值的硬體平台。只要花一點心思刷入 Valetudo,它就不再是隱私外洩的潛在漏洞,而是一個完全受你掌控的強力研究工具。