Topic 一覽
方向站在 master(你) 的角度。
| 你做的事 | Topic | 用途 |
|---|---|---|
| 訂閱 | connection | 車輛上線/離線。retained,一連上就拿得到最後狀態;斷線由 LWT 遺囑補發 |
| 訂閱 | state | 車輛狀態:位置、電量、driving、operatingMode、errors、safetyState、orderId |
| 發布 | order | 下單(節點-邊圖) |
| 發布 | instantActions | 即時動作 |
本站的 AsyncAPI 規格只收上表這四條——規格裡有的,照著接就會動。
訂單
一則 order 進來之後:
- 所有 released 且帶座標的節點會依序成為車上的任務節點。
nodeId原樣保留。orderId透明帶過,不重新編號——你送什麼,車上與後續回報就是什麼。- 同一個
orderId再送一次會被冪等忽略,既有任務照常執行。QoS 1 的重複投遞因此是安全的。
車上只有一條佇列,沒有跨車協調。要在多台車之間分配任務是車隊層的事。
即時動作
目前受理三個:
actionType | 效果 |
|---|---|
emergencyStop | 車輛進入 E-Stop 並鎖住 |
startPause | 停車並保留當前訂單 |
cancelOrder | 取消進行中的訂單 |
恢復類動作不由上游觸發。 stopPause 與 RESUME 需要車輛現場的授權操作——這是安全
設計,不是遺漏。
訂單裡的裝置動作
目前請不要在 order 的節點上帶裝置 action。 車端會逐個檢查 (裝置, 指令) 是否為已註冊
的能力,只要有一個不認得,整張訂單會被退掉。可用的能力清單與命名方式尚在定案,定案前
唯一安全的動作就是上面那三個即時動作。