送出第一則訂單
下面用 mosquitto_pub / mosquitto_sub 走一輪。安裝:apt install mosquitto-clients
或 brew install mosquitto。
以下以身分 rotasun / amr-0000、開發期明文 1883 為例。正式部署請改用 mTLS 8883 並帶
你的 client 憑證。
1. 確認車在線
mosquitto_sub -h <broker> -p 1883 -v \
-t 'vda5050/v3/rotasun/amr-0000/connection'
connection 是 retained 的,一訂閱就會收到最後狀態。看到 "connectionState":"ONLINE"
才往下做。
2. 開著狀態訂閱
另開一個終端:
mosquitto_sub -h <broker> -p 1883 \
-t 'vda5050/v3/rotasun/amr-0000/state'
3. 送一則單節點訂單
mosquitto_pub -h <broker> -p 1883 \
-t 'vda5050/v3/rotasun/amr-0000/order' -m '{
"headerId": 1,
"timestamp": "2026-01-01T00:00:00.000Z",
"version": "3.0.0",
"manufacturer": "rotasun",
"serialNumber": "amr-0000",
"orderId": "demo-001",
"orderUpdateId": 0,
"nodes": [
{
"nodeId": "n1",
"sequenceId": 0,
"released": true,
"nodePosition": {"x": 1.0, "y": 2.0, "mapId": "site-1"},
"actions": []
}
],
"edges": []
}'
節點要 released: true 且帶 nodePosition,否則不會成為任務節點。actions 先留空
(原因見 Topic 一覽)。
4. 看它動起來
回到 state 那個終端,orderId 會變成 demo-001,driving 轉 true,位置開始變化。
收不到東西時
| 症狀 | 先查 |
|---|---|
connection 都沒有 | broker 位址、憑證 CN 是否在 ACL 白名單、車是否開機 |
| 訂單送出去沒反應 | version 是不是 3.0.x;非 v3 會被整則丟棄且不回報 |
| 訂單被退 | 節點是否 released 且有 nodePosition;actions 是否留空 |
| 同一則送兩次沒有第二次效果 | 這是預期的——orderId 相同即冪等忽略 |