
客戶背景
智配通的跨境集運倉有一條自動分揀線:包裹上皮帶、經讀碼站拍照讀碼、由滾輪分揀模組推進對應格口。原本控制這條線的是設備廠商交付的程式,出問題只能等廠商、想改流程也改不了;崴米先接了雲端與現場之間的面單列印中介機,再往下把分揀線本身的控制程式整套重寫。
遇到的問題
廠商程式沒有原始碼文件,皮帶、分揀機、相機各走一套通訊協定卻沒有規格書;現場塞包、讀碼失敗、格口滿了都沒有紀錄可查,也沒有畫面可以看線上狀況。要換掉它,第一關就是把協定弄清楚,第二關是不能停線——切換失敗要在幾分鐘內退回舊系統。
我們怎麼做
先把 71 萬行現場通訊日誌逐訊號逆推,寫成協定規格與時序,再用 Rust 重寫控制程式:皮帶線與分揀機走 TCP、讀碼站相機拍的照片經 FTP 傳回當收件證據、面單交給印表機列印,格口由面單列印中介機決定。沒有實機也能開發——內建回放模擬器把四萬件歷史資料按原時序重播,皮帶、分揀機、相機、中介機全部用假裝置頂替,程式在辦公室就跑過整條流程。
畫面用 Tauri 做成桌面程式,同一份網頁介面也能在現場電腦的瀏覽器與手機遙控頁開:即時看板顯示裝置連線、件數與延遲分佈;每一件包裹都有六段里程碑與訊號時間軸,出問題點進去就知道卡在哪;讀不到碼、查無訂單、回覆太晚的件自動走預設口,在異常口清單補碼改派;格口對照、印表機、光電檢查都在畫面上設定。工控機是 Ubuntu 20.04,缺的系統套件自行編譯整包隨程式發布;切換與回退各有一份步驟,兩分鐘內可退回舊系統。
完成成果
2026 年 9 月完成移植並發版,模擬器驗證 40,870 件回放不當機、記憶體與工作數平穩;現場切換由切換腳本一鍵完成,並保留回退路徑。上線後仍依現場作業持續調整——格口配置、尾碼迴避、讀碼異常照片回顧、關轉單號重播都是切換後依現場需求追加的版本。作品畫面已做模糊處理,不公開實際介面細節。



