跳至主要内容

送出第一則訂單

下面用 mosquitto_pub / mosquitto_sub 走一輪。安裝:apt install mosquitto-clientsbrew 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-001drivingtrue,位置開始變化。

收不到東西時

症狀先查
connection 都沒有broker 位址、憑證 CN 是否在 ACL 白名單、車是否開機
訂單送出去沒反應version 是不是 3.0.x;非 v3 會被整則丟棄且不回報
訂單被退節點是否 released 且有 nodePositionactions 是否留空
同一則送兩次沒有第二次效果這是預期的——orderId 相同即冪等忽略